Re: Issue 313 in xmonad: Merge contrib's isFullscreen and doFullFloat to core

Comment #4 on issue 313 by alexey@feldgendler.ru: Merge contrib's
isFullscreen and doFullFloat to core
http://code.google.com/p/xmonad/issues/detail?id=313
The isFullscreen implementation in xmonad-contrib didn't work for me at
least with
the two applications I tried (MPlayer and Opera). Then I look at the source
code of
ion3 WM, which used to handle both of them correctly, and saw what it does

Excerpts from codesite-noreply's message of Fri Oct 30 20:01:29 -0600 2009:
Comment #4 on issue 313 by alexey@feldgendler.ru: Merge contrib's isFullscreen and doFullFloat to core http://code.google.com/p/xmonad/issues/detail?id=313
The isFullscreen implementation in xmonad-contrib didn't work for me at least with the two applications I tried (MPlayer and Opera). Then I look at the source code of ion3 WM, which used to handle both of them correctly, and saw what it does http://ion3.sourcearchive.com/documentation/20060107/fullscreen_8c-source.ht... (see clientwin_check_fullscreen_request). I implemented the same in a custom query for XMonad, and it worked.
Here is my query:
myIsFullscreen = do w <- ask fs <- isFullscreen if fs then return fs else liftX $ do p <- getProp32s "_MOTIF_WM_HINTS" w case p of Just (flags:_:decorations:_) -> return ((flags .&. 2) /= 0 && decorations == 0) Nothing -> return False
This adds nice ability to toggle mplayer to/from fullscreen and *tiled mode, so it isn't necessary to float it. Still looking for effects on other apps. So far all I've found is that it doesn't seem to have bad side-effects with apps used so far, but unfortunately VLC and totem still don't get what they are looking for to fullscreen. i.e. this still doesn't solve it for those media players. Also probably change the Nothing case to _ -> return False to catch any possible differences in _MOTIF_WM_HINT list, just in case. regards, -- wmw
participants (2)
-
codesite-noreply@google.com
-
Wirt Wolff