emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#13426: closed (Frame parameter fullscreen and maxi


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#13426: closed (Frame parameter fullscreen and maximized)
Date: Sun, 11 Jan 2015 21:03:03 +0000

Your message dated Sun, 11 Jan 2015 22:57:18 +0200
with message-id <address@hidden>
and subject line Re: bug#13426: Frame parameter fullscreen and maximized
has caused the debbugs.gnu.org bug report #13426,
regarding Frame parameter fullscreen and maximized
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
13426: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13426
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Frame parameter fullscreen and maximized Date: Sun, 13 Jan 2013 12:16:23 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu)
There are two problems discovered at
http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00203.html

1. On non-GTK builds when the Gnome system key M-f10 maximizes the frame,
   Emacs doesn't reflect this change in the frame parameter `fullscreen'.

   The test case that demonstrates this problem:

   1. emacs -Q
   2. Eval (frame-parameter nil 'fullscreen) => nil
   3. Maximize the frame using Gnome system keys.
   4. Eval (frame-parameter nil 'fullscreen) => nil
   5. Maximize the frame using `M-x toggle-frame-maximized RET'
   6. Eval (frame-parameter nil 'fullscreen) => 'maximized

   Running xprop on the maximized frame outputs:
   _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, 
_NET_WM_STATE_MAXIMIZED_HORZ

2. On GTK builds there is another problem: evaluating

   (set-frame-parameter nil 'fullscreen 'fullscreen)

   modifies the frame parameter `fullscreen' to `fullboth',
   not to `fullscreen' as requested.  In this case xprop outputs:
   _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN

   Second call of (set-frame-parameter nil 'fullscreen 'fullscreen)
   modifies the frame parameter `fullscreen' from `fullboth' to `fullscreen'.

   So to go to `fullscreen' requires two calls of
   (set-frame-parameter nil 'fullscreen 'fullscreen)

   Maybe the second problem could be fixed with a patch like below where
   `toggle-frame-fullscreen' checks for `fullboth' as an alias for `fullscreen':

=== modified file 'lisp/frame.el'
--- lisp/frame.el       2013-01-03 00:36:36 +0000
+++ lisp/frame.el       2013-01-13 10:13:09 +0000
@@ -1666,7 +1666,7 @@ (defun toggle-frame-maximized ()
 after disabling fullscreen mode.
 See also `toggle-frame-fullscreen'."
   (interactive)
-  (if (eq (frame-parameter nil 'fullscreen) 'fullscreen)
+  (if (memq (frame-parameter nil 'fullscreen) '(fullscreen fullboth))
       (modify-frame-parameters
        nil
        `((maximized
@@ -1690,10 +1690,10 @@ (defun toggle-frame-fullscreen ()
   (modify-frame-parameters
    nil
    `((maximized
-      . ,(unless (eq (frame-parameter nil 'fullscreen) 'fullscreen)
+      . ,(unless (memq (frame-parameter nil 'fullscreen) '(fullscreen 
fullboth))
           (frame-parameter nil 'fullscreen)))
      (fullscreen
-      . ,(if (eq (frame-parameter nil 'fullscreen) 'fullscreen)
+      . ,(if (memq (frame-parameter nil 'fullscreen) '(fullscreen fullboth))
             (if (eq (frame-parameter nil 'maximized) 'maximized)
                 'maximized)
           'fullscreen)))))




--- End Message ---
--- Begin Message --- Subject: Re: bug#13426: Frame parameter fullscreen and maximized Date: Sun, 11 Jan 2015 22:57:18 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (x86_64-pc-linux-gnu)
> Are these issues still valid?  There have been lots of changes in this
> area.

Both issues are fixed.

However, now I see another related problem: having this code in ~/.emacs,

  (add-hook 'after-init-hook
            (lambda ()
              (toggle-frame-maximized))
            t)

I get a maximized frame visually, but internally with unmaximized dimensions,
i.e. mouse avoidance moves the mouse pointer to the middle of the frame instead
of the edges (because it uses frame dimensions from unmaximized frame), etc.
This is a recent bug that breaks frame dimensions after desktop frame restore.
If you already know about this problem, could you please point me to the
existing bug report, or should I create a new one?


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]