mupdf and llpp return from fullscreen

mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured. What might be happening?

On Fri, Jun 22, 2012 at 8:57 PM, Carsten Mattner
mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured.
What might be happening?
I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.

Manage hooks are only run when a window is first created. Pressing 'f'
will not run them again, so whether you have them or not makes no
difference at that point.
As you suggest below, it is your event hook that is controlling these
windows, and the event hook you wrote below doesn't differentiate
between mupdf, llpp, or any other window; if it sets the appropriate
WM hints, the event hook mucks with it.
~d
Quoting Carsten Mattner
On Fri, Jun 22, 2012 at 8:57 PM, Carsten Mattner
wrote: mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured.
What might be happening?
I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

På Fri, 22 Jun 2012 22:27:12 +0200, skrev Carsten Mattner
On Fri, Jun 22, 2012 at 8:57 PM, Carsten Mattner
wrote: mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured.
What might be happening?
I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.
These are the normal behaviour from this setup, because the event hook doesn't remember whether the window was tiled before fullscreening. In order to get what you seem to want, you should use the XMonad.Layout.Fullscreen module. Note that merely using the fullscreenEventHook from that module isn't enough. This hook merely enables the layout modifiers in the module to work. To get the behaviour you want, add the event hook and the manage hook from the module, and add the fullcsreenFull layout modifier to your layout hook. See also the module documentation[1]. [1]: http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-Fullscreen.html -- Mvh Audun Skaugen

On Sun, Jun 24, 2012 at 10:31 AM, Audun Skaugen
På Fri, 22 Jun 2012 22:27:12 +0200, skrev Carsten Mattner
: On Fri, Jun 22, 2012 at 8:57 PM, Carsten Mattner
wrote: mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured.
What might be happening?
I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.
These are the normal behaviour from this setup, because the event hook doesn't remember whether the window was tiled before fullscreening. In order to get what you seem to want, you should use the XMonad.Layout.Fullscreen module.
Note that merely using the fullscreenEventHook from that module isn't enough. This hook merely enables the layout modifiers in the module to work. To get the behaviour you want, add the event hook and the manage hook from the module, and add the fullcsreenFull layout modifier to your layout hook. See also the module documentation[1].
[1]: http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-Fullscreen.html
I tried to make that works but failed. It seems that both XMonad.Hooks.EwmhDesktops XMonad.Layout.Fullscreen provide the same hooks and that it results in a compile error if I try "eventHook = fullscreenEventHook" `eventHook' is not a (visible) constructor field name handleEventHook might be specific to EwmhDesktops. When I changed the config to not import EwmhDesktops and try to make the suggested config work pressing 'f' to fullscreen in mupdf stopped working. As long as fullscreen'ing works as expected I can remove smartBorders if that helps. It's ok to display a border even with single window workspaces. Thanks for any pointers.

On Sun, Jun 24, 2012 at 4:15 PM, Carsten Mattner < carstenmattner@googlemail.com> wrote:
I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.
Note that merely using the fullscreenEventHook from that module isn't enough. This hook merely enables the layout modifiers in the module to work. To get the behaviour you want, add the event hook and the manage hook from the module, and add the fullcsreenFull layout modifier to your layout hook. See also the module documentation[1].
[1]:
http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-Fullscreen.html
I tried to make that works but failed.
It seems that both XMonad.Hooks.EwmhDesktops XMonad.Layout.Fullscreen provide the same hooks and that it results in a compile error if I try "eventHook = fullscreenEventHook"
This is a bug in the documentation, the field name changed between 0.9 and 0.10 and nobody updated it. It should be handleEventHook, not eventHook. -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

On Sun, Jun 24, 2012 at 11:48 PM, Brandon Allbery
On Sun, Jun 24, 2012 at 4:15 PM, Carsten Mattner
wrote: I'm using handleEventHook = fullscreenEventHook from XMonad.Hooks.EwmhDesktops as otherwise pressing 'f' in mupdf doesn't make it fullscreen. Unsuccessfully tried fullscreenEventHook from XMonad.Layout.Fullscreen.
Note that merely using the fullscreenEventHook from that module isn't enough. This hook merely enables the layout modifiers in the module to work. To get the behaviour you want, add the event hook and the manage hook from the module, and add the fullcsreenFull layout modifier to your layout hook. See also the module documentation[1].
[1]:
http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-Fullscreen.html
I tried to make that works but failed.
It seems that both XMonad.Hooks.EwmhDesktops XMonad.Layout.Fullscreen provide the same hooks and that it results in a compile error if I try "eventHook = fullscreenEventHook"
This is a bug in the documentation, the field name changed between 0.9 and 0.10 and nobody updated it. It should be handleEventHook, not eventHook.
Thanks it builds. The new config doesn't support the 'f' key in mupdf for going fullscreen and mplayer still moves. <snip> import XMonad.Layout.Fullscreen <snip> , manageHook = myManageHook <+> fullscreenManageHook <+> manageDocks <+> manageHook defaultConfig , layoutHook = fullscreenFull $ smartBorders $ layoutHints $ avoidStruts $ layoutHook defaultConfig , handleEventHook = fullscreenEventHook <snip> myManageHook = composeAll [ isFullscreen --> doFullFloat, className =? "MuPDF" --> doFloat, ]

See below for links to the fullscreen code in mupdf. generic code calling winfullscreen(): http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/pdfapp.c;h=d2c28927;hb... X11 winfullscreen(): http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/x11_main.c;h=941afcfa;... This might explain why mupdf works with EwmhDesktops's fullscreen hooks but not Layout.Fullscreen's.

På Tue, 26 Jun 2012 22:48:41 +0200, skrev Carsten Mattner
See below for links to the fullscreen code in mupdf.
generic code calling winfullscreen(): http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/pdfapp.c;h=d2c28927;hb...
X11 winfullscreen(): http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/x11_main.c;h=941afcfa;...
This might explain why mupdf works with EwmhDesktops's fullscreen hooks but not Layout.Fullscreen's.
My bad, I assumed ubuntu had a recent enough version. I'll look at this and see if I what I can do. -- Mvh Audun Skaugen

On Tue, Jun 26, 2012 at 10:57 PM, Audun Skaugen
På Tue, 26 Jun 2012 22:48:41 +0200, skrev Carsten Mattner
: See below for links to the fullscreen code in mupdf.
generic code calling winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/pdfapp.c;h=d2c28927;hb...
X11 winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/x11_main.c;h=941afcfa;...
This might explain why mupdf works with EwmhDesktops's fullscreen hooks but not Layout.Fullscreen's.
My bad, I assumed ubuntu had a recent enough version. I'll look at this and see if I what I can do.
Building the git clone is simple. Get the thirdparty zip and extract it in the tree. After that simply run 'make build=release'. To be clear, EwmhDesktops makes mupdf's fullscreen work. Once Layout.Fullscreen support fullscreening mupdf does it mean that returning from fullscreen should prevent mupdf getting tiled? This is all independent of the mplayer move by border width issue, isn't it? Thanks for the help.

På Tue, 26 Jun 2012 23:04:38 +0200, skrev Carsten Mattner
On Tue, Jun 26, 2012 at 10:57 PM, Audun Skaugen
wrote: På Tue, 26 Jun 2012 22:48:41 +0200, skrev Carsten Mattner
: See below for links to the fullscreen code in mupdf.
generic code calling winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/pdfapp.c;h=d2c28927;hb...
X11 winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/x11_main.c;h=941afcfa;...
This might explain why mupdf works with EwmhDesktops's fullscreen hooks but not Layout.Fullscreen's.
My bad, I assumed ubuntu had a recent enough version. I'll look at this and see if I what I can do.
Building the git clone is simple. Get the thirdparty zip and extract it in the tree. After that simply run 'make build=release'.
To be clear, EwmhDesktops makes mupdf's fullscreen work. Once Layout.Fullscreen support fullscreening mupdf does it mean that returning from fullscreen should prevent mupdf getting tiled?
This is all independent of the mplayer move by border width issue, isn't it?
Thanks for the help.
It was indeed easy to build a newer mupdf, and with this fullscreening works a charm with both ewmhDesktops hook and the Layout.Fullscreen module. Having an app to play with also made wonders. I realize the problem! You were of course trying to fullscreen a floating window. I should have thought of this at once, but this is not supported by the fullscreenFull modifier. To get this behaviour, you also need the fullscreenFloat modifier, which is left out from the default because its implementation is kind of hacky. I'll try to make the documentation be more explicit about this (but not before I come back from holiday ;) I attached a minimalish example config that makes it work, an has your desired behaviour of returning floating fullscreened windows to floating. You are also right about this being independent from the mplayer issue. -- Audun Skaugen

On Tue, Jun 26, 2012 at 11:17 PM, Audun Skaugen
På Tue, 26 Jun 2012 23:04:38 +0200, skrev Carsten Mattner
: On Tue, Jun 26, 2012 at 10:57 PM, Audun Skaugen
wrote: På Tue, 26 Jun 2012 22:48:41 +0200, skrev Carsten Mattner
: See below for links to the fullscreen code in mupdf.
generic code calling winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/pdfapp.c;h=d2c28927;hb...
X11 winfullscreen():
http://git.ghostscript.com/?p=mupdf.git;a=blob;f=apps/x11_main.c;h=941afcfa;...
This might explain why mupdf works with EwmhDesktops's fullscreen hooks but not Layout.Fullscreen's.
My bad, I assumed ubuntu had a recent enough version. I'll look at this and see if I what I can do.
Building the git clone is simple. Get the thirdparty zip and extract it in the tree. After that simply run 'make build=release'.
To be clear, EwmhDesktops makes mupdf's fullscreen work. Once Layout.Fullscreen support fullscreening mupdf does it mean that returning from fullscreen should prevent mupdf getting tiled?
This is all independent of the mplayer move by border width issue, isn't it?
Thanks for the help.
It was indeed easy to build a newer mupdf, and with this fullscreening works a charm with both ewmhDesktops hook and the Layout.Fullscreen module. Having an app to play with also made wonders. I realize the problem!
You were of course trying to fullscreen a floating window. I should have thought of this at once, but this is not supported by the fullscreenFull modifier. To get this behaviour, you also need the fullscreenFloat modifier, which is left out from the default because its implementation is kind of hacky. I'll try to make the documentation be more explicit about this (but not before I come back from holiday ;)
I attached a minimalish example config that makes it work, an has your desired behaviour of returning floating fullscreened windows to floating.
You are also right about this being independent from the mplayer issue.
Thanks that seems to work for mupdf (and llpp). Do you plan to add the missing support to Layout.Fullscreen and remove the need for partially importing EwmhDesktops? I don't even seem to require the isFullscreen --> fullscreenManageHook or doFullFloat rule. I didn't manage to add a doFloat rule for llpp but when I make it manually floating by moving the window with the mouse and go fullscreen and back by holding 'f' pressed it seems to somehow forget the size or not manage to act fast enough because llpp is more heavy on redrawing the window. Does that make any sense? It happens that llpp's window can be made zoomed or or too big on return rom fullscreen if you do it repeatedly by holding 'f' pressed. mupdf doesn't have that problem. This is not as important but maybe it's useful for you.

På Tue, 26 Jun 2012 23:46:13 +0200, skrev Carsten Mattner
Thanks that seems to work for mupdf (and llpp). Do you plan to add the missing support to Layout.Fullscreen and remove the need for partially importing EwmhDesktops?
There is no missing support. You don't need EwmhDesktops to make this module work, although it can be useful for other tasks involving the ewmh protocol.
I don't even seem to require the isFullscreen --> fullscreenManageHook or doFullFloat rule.
The fullscreenManageHook is only for windows that spawn as fullscreen. This is rare, so yes, you rarely need it. The doFullFloat rule should be unnecessary.
I didn't manage to add a doFloat rule for llpp but when I make it manually floating by moving the window with the mouse and go fullscreen and back by holding 'f' pressed it seems to somehow forget the size or not manage to act fast enough because llpp is more heavy on redrawing the window. Does that make any sense? It happens that llpp's window can be made zoomed or or too big on return rom fullscreen if you do it repeatedly by holding 'f' pressed. mupdf doesn't have that problem. This is not as important but maybe it's useful for you.
I'll look at it when I get home again. I'm going on holiday for a week now, so I won't be as responsive. -- Mvh Audun Skaugen

On Wed, Jun 27, 2012 at 7:47 AM, Audun Skaugen
På Tue, 26 Jun 2012 23:46:13 +0200, skrev Carsten Mattner
: Thanks that seems to work for mupdf (and llpp). Do you plan to add the missing support to Layout.Fullscreen and remove the need for partially importing EwmhDesktops?
There is no missing support. You don't need EwmhDesktops to make this module work, although it can be useful for other tasks involving the ewmh protocol.
I was confused because of EwmhDesktops hiding (fullscreenEventHook ) That looked like you were using all but that hook from EwmhDesktops and thereby make mupdf work while using the other hooks from Layout.Fullscreen. Removing that line didn't break mupdf fullscreening
I don't even seem to require the isFullscreen --> fullscreenManageHook or doFullFloat rule.
The fullscreenManageHook is only for windows that spawn as fullscreen. This is rare, so yes, you rarely need it. The doFullFloat rule should be unnecessary.
I had to add back isFullScreen --> doFullFloat to make Adobe Flash fullscreen stop displaying a window border.
I didn't manage to add a doFloat rule for llpp but when I make it manually floating by moving the window with the mouse and go fullscreen and back by holding 'f' pressed it seems to somehow forget the size or not manage to act fast enough because llpp is more heavy on redrawing the window. Does that make any sense? It happens that llpp's window can be made zoomed or or too big on return rom fullscreen if you do it repeatedly by holding 'f' pressed. mupdf doesn't have that problem. This is not as important but maybe it's useful for you.
I'll look at it when I get home again. I'm going on holiday for a week now, so I won't be as responsive.
Thanks Audun.

On Fri, Jun 22, 2012 at 2:57 PM, Carsten Mattner < carstenmattner@googlemail.com> wrote:
mupdf is configured doFloat and with isFullScreen --> doFullFloat and smartBorders it does perfectly go fullscreen. When I press 'f' again to return from fullscreen the previously floating mupdf window gets tiled. Same happens for llpp (mupdf based pdf viewer). No doFloat rule for llpp configured.
This appears to be normal for the Fullscreen layout modifier; it doesn't remember whether a window was floating or tiled when it was fullscreened, and always tiles the window on exiting fullscreen. It would need to be modified to track whether the window was floating or not when fullscreened and restore that status; and it's not clear how to deal with a window that is created fullscreen. -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms
participants (4)
-
Audun Skaugen
-
Brandon Allbery
-
Carsten Mattner
-
wagnerdm@seas.upenn.edu