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

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

bug#16430: 24.3.50; When fullscreen is triggered from the window manager


From: Bastien
Subject: bug#16430: 24.3.50; When fullscreen is triggered from the window manager, I can't resize window (via M-x org-export RET)
Date: Tue, 14 Jan 2014 10:50:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

martin rudalics <rudalics@gmx.at> writes:

> This hints at the org buffer having some special character heights in
> it.

Could this be that the Org Export dispatch UI is using
`header-line-format'?

>> What happens is that, when `window--resizable-p' is called with the
>> pixelwise parameter set to `t' (from within `window-resize'), then
>> the delta (as pixel height) is too high
>
> Can you tell me what delta is in both fullscreen versions?

I will give you this info when I have more time.

>> and `window--resizable-p'
>> returns nil -- and window-resize an error.
>
> Apparently `window-resize-no-error' calls `window--resizable-p' with
> PIXELWISE nil yielding t while `window-resize' calls it with PIXELWISE t
> yielding nil.  So rewriting `window-resize-no-error' as
>
>
> (defun window-resize-no-error (window delta &optional horizontal ignore 
> pixelwise)
>   "Resize WINDOW vertically if it is resizable by DELTA lines.
> This function is like `window-resize' but does not signal an
> error when WINDOW cannot be resized.  For the meaning of the
> optional arguments see the documentation of `window-resize'.
>
> Optional argument PIXELWISE non-nil means interpret DELTA as
> pixels."
>   (unless pixelwise
>     (setq delta
>         (if horizontal
>             (* delta (frame-char-width (window-frame window)))
>           (* delta (frame-char-height (window-frame window))))))
>
>   (when (window--resizable-p
>        window delta horizontal ignore nil nil nil t)
>     (window-resize window delta horizontal ignore t)))
>
>
> should fix it.  Maybe I should just wrap this into a `condition-case'
> instead of doing my own checking.

With the defun above, I don't have the error anymore but the window is
not resized, it's just half of the frame.

> BTW what do (frame-pixel-height) and (frame-height) respectively give in
> the two fullscreen versions?

Fullscreen from the window manager: 768
Fullscreen from toggle-frame-fullscreen: 746

(I vaguely remember that the difference of 768-746=22 is the same
difference I had for the deltas... need to double-check.)

-- 
 Bastien





reply via email to

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