From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: David Hedlund Newsgroups: gmane.emacs.devel Subject: Re: https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html Date: Wed, 27 Sep 2023 20:04:06 +0200 Message-ID: References: <19e53542-bfb0-4e48-8845-01fd34d93dbb@beloved.name> <8fc2d2b5-7fc3-401b-9673-8282e8293991@beloved.name> <87ttrgda1q.fsf@dataswamp.org> <33e4b0b1-0eeb-4ac0-97cd-75b1882fead5@beloved.name> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------KCbA85RqHM1BywnDoLvlOK0t" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15017"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 27 20:05:18 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qlYuT-0003aI-LH for ged-emacs-devel@m.gmane-mx.org; Wed, 27 Sep 2023 20:05:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qlYtl-0001Wf-57; Wed, 27 Sep 2023 14:04:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qlYta-0001VM-RB for emacs-devel@gnu.org; Wed, 27 Sep 2023 14:04:23 -0400 Original-Received: from relay8-d.mail.gandi.net ([2001:4b98:dc4:8::228]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qlYtP-0006gl-3q for emacs-devel@gnu.org; Wed, 27 Sep 2023 14:04:22 -0400 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id 2A7391BF206 for ; Wed, 27 Sep 2023 18:04:07 +0000 (UTC) Content-Language: en-US In-Reply-To: X-GND-Sasl: public@beloved.name Received-SPF: pass client-ip=2001:4b98:dc4:8::228; envelope-from=public@beloved.name; helo=relay8-d.mail.gandi.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:311117 Archived-At: This is a multi-part message in MIME format. --------------KCbA85RqHM1BywnDoLvlOK0t Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 9/27/23 05:53, Corwin Brust wrote: > Hi David > > On Tue, Sep 26, 2023 at 3:06 PM David Hedlund wrote: >> >> On 9/26/23 21:11, Emanuel Berg wrote: >> >> David Hedlund wrote: >> >> So my original email suggest a complete solution, is this >> something we can add to a new page, >> https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html >> and then update it with improved solutions in the future? >> > AFAIK the HTML pages representing the online Emacs manual are defined > within the sources for the manual, itself. IOW, to add a "page" for > this would entail creating a new manual section, at which the new page > would appear when new HTML versions of the manual are published, along > with some subsequent release of Emacs (say, the next major version, if > the change was made in the development branch). Thank you! > >> Subject URL was new for me if nothing else :P >> >> Methods to always maximize `emacs` (for example, from Alt+F2 in MATE), without the slightly distracting visual effect when the default frame size is growing to fullscreen. The window will be maximized quickly, like "emacs --maximize". >> > This seems like very helpful information. As a precursor --or even an > alternative-- to proposing a patch to the manual to provide these > examples, what would you think of adding this into the EmacsWiki? I > believe it is not unheard of to link from the manual to EmacsWiki, > thus you could potentially simplify the patch involved by proposing > adding some minimal explanation and a link (rather than > providing/motivating a patch adding -e.g.- a section). As far as I know, the devilspie2/.emacs solution that I figured out, is the /only/ way to make emacs behave like `emacs -mm` right now. Both of them will: * Always run the settings regardless how emacs is opened (e.g. Alt+F2 in MATE) despite that an external program (devilspie2) is used. * The buffer will: ** Expand automatically when emacs opens ** Expand quickly like `emacs -mm` * Like `emacs -mm`, the size of ~/.emacs does not impact the time it takes to expand the buffer. This makes the devilspie2 solution unique, since all solutions at https://www.emacswiki.org/emacs/FullScreen makes the buffer expand slowly. That's why I suggest that we should add my devilspie2/.emacs solution to https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html > >> GNU/Linux - proposed new section:https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html >> >> >> As far as I know, this cannot be done entirely with Emacs LISP for GNU/Linux, but I found a workaround by combining it with devilspie2. >> >> >> I've successfully used this recipe for Trisquel 11: >> >> * Step 1 to quickly maximize the window[1]: Install, configure, and autostart devilspie2 to nearly maximize emacs[1]. Run this in a terminal or as a script: >> >> # Install devilspie2 >> sudo apt-get -y install devilspie2 >> >> # Configure devilspie2 >> mkdir -p ~/.config/devilspie2/ >> >> width="$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)" >> height="$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)" >> >> tee ~/.config/devilspie2/emacs.lua /dev/null << EOF >> if (get_class_instance_name() == "emacs") then >> >> set_window_geometry(0, 0, $width, $height); >> >> end >> EOF >> >> # Autostart devilspie2 >> mkdir -p "$HOME/.config/autostart/" # The directory does not exist by default >> cd "$HOME/.config/autostart/" || exit >> file="devilspie-2.desktop" >> touch "$file" >> desktop-file-edit \ >> --set-name="Devilspie 2" \ >> --set-comment="Perform scripted actions on windows as they are created" \ >> --set-key="Type" --set-value="Application" \ >> --set-key="Exec" --set-value="devilspie2" \ >> --set-key="X-MATE-Autostart-Delay" --set-value="0" \ >> "$file" >> desktop-file-validate "$file" >> >> * Step 2 to quickly maximize the window[1]: Add this to ~/.emacs: (add-to-list 'default-frame-alist '(fullscreen . maximized)) >> * Log out and then log back into your desktop environment >> * Every time you open `emacs`, regardless how you are opening it, it will open the window equally fast as `emacs --maximize` >> >> [1]: Workaround to bug: maximize* commands don't work for Emacs -https://savannah.nongnu.org/bugs/index.php?63979 >> >> >> >> The above steps can of course be rewritten and described for general use to make it useful for any GNU/Linux distro. > Thanks for figuring all this out! > > Corwin > --------------KCbA85RqHM1BywnDoLvlOK0t Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 9/27/23 05:53, Corwin Brust wrote:
Hi David

On Tue, Sep 26, 2023 at 3:06 PM David Hedlund <public@beloved.name> wrote:

On 9/26/23 21:11, Emanuel Berg wrote:

David Hedlund wrote:

So my original email suggest a complete solution, is this
something we can add to a new page,
https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html
and then update it with improved solutions in the future?

AFAIK the HTML pages representing the online Emacs manual are defined
within the sources for the manual, itself.  IOW, to add a "page" for
this would entail creating a new manual section, at which the new page
would appear when new HTML versions of the manual are published, along
with some subsequent release of Emacs (say, the next major version, if
the change was made in the development branch).


Thank you!



Subject URL was new for me if nothing else :P

Methods to always maximize `emacs` (for example, from Alt+F2 in MATE), without the slightly distracting visual effect when the default frame size is growing to fullscreen. The window will be maximized quickly, like "emacs --maximize".

This seems like very helpful information.  As a precursor --or even an
alternative-- to proposing a patch to the manual to provide these
examples, what would you think of adding this into the EmacsWiki?   I
believe it is not unheard of to link from the manual to EmacsWiki,
thus you could potentially simplify the patch involved by proposing
adding some minimal explanation and a link (rather than
providing/motivating a patch adding -e.g.- a section).

As far as I know, the devilspie2/.emacs solution that I figured out, is the only way to make emacs behave like `emacs -mm` right now. Both of them will:

* Always run the settings regardless how emacs is opened (e.g. Alt+F2 in MATE) despite that an external program (devilspie2) is used.

* The buffer will:

** Expand automatically when emacs opens

** Expand quickly like `emacs -mm`

* Like `emacs -mm`, the size of ~/.emacs does not impact the time it takes to expand the buffer.

This makes the devilspie2 solution unique, since all solutions at https://www.emacswiki.org/emacs/FullScreen makes the buffer expand slowly. That's why I suggest that we should add my devilspie2/.emacs solution to https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html



GNU/Linux - proposed new section: https://www.gnu.org/software/emacs/manual/html_node/efaq/Fullscreen-mode-on-GNU-Linux.html


As far as I know, this cannot be done entirely with Emacs LISP for GNU/Linux, but I found a workaround by combining it with devilspie2.


I've successfully used this recipe for Trisquel 11:

* Step 1 to quickly maximize the window[1]: Install, configure, and autostart devilspie2 to nearly maximize emacs[1]. Run this in a terminal or as a script:

# Install devilspie2
sudo apt-get -y install devilspie2

# Configure devilspie2
mkdir -p ~/.config/devilspie2/

width="$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)"
height="$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2)"

tee ~/.config/devilspie2/emacs.lua /dev/null << EOF
if (get_class_instance_name() == "emacs") then

    set_window_geometry(0, 0, $width, $height);

end
EOF

# Autostart devilspie2
mkdir -p "$HOME/.config/autostart/" # The directory does not exist by default
cd "$HOME/.config/autostart/" || exit
file="devilspie-2.desktop"
touch "$file"
desktop-file-edit \
--set-name="Devilspie 2" \
--set-comment="Perform scripted actions on windows as they are created" \
--set-key="Type" --set-value="Application" \
--set-key="Exec" --set-value="devilspie2" \
--set-key="X-MATE-Autostart-Delay" --set-value="0" \
"$file"
desktop-file-validate "$file"

* Step 2 to quickly maximize the window[1]: Add this to ~/.emacs: (add-to-list 'default-frame-alist '(fullscreen . maximized))
* Log out and then log back into your desktop environment
* Every time you open `emacs`, regardless how you are opening it, it will open the window equally fast as `emacs --maximize`

[1]: Workaround to bug: maximize* commands don't work for Emacs - https://savannah.nongnu.org/bugs/index.php?63979



The above steps can of course be rewritten and described for general use to make it useful for any GNU/Linux distro.
Thanks for figuring all this out!

Corwin

--------------KCbA85RqHM1BywnDoLvlOK0t--