diff options
Diffstat (limited to 'src/XMonad/Local/ManageHook.hs')
-rw-r--r-- | src/XMonad/Local/ManageHook.hs | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/src/XMonad/Local/ManageHook.hs b/src/XMonad/Local/ManageHook.hs index fbabd10..b3a7df9 100644 --- a/src/XMonad/Local/ManageHook.hs +++ b/src/XMonad/Local/ManageHook.hs @@ -1,4 +1,6 @@ -module XMonad.Local.ManageHook (manageHook) where +module XMonad.Local.ManageHook ( + manageHook + ) where import Data.List import XMonad hiding (manageHook) @@ -8,20 +10,23 @@ import XMonad.Util.NamedScratchpad as NS import qualified XMonad.StackSet as W -- local modules ************************************************************** +import XMonad.Local.Config import XMonad.Local.NamedScratchpad import XMonad.Local.Workspaces -{- note: earlier hooks override later ones -} +{- note: earlier hooks have higher priority -} manageHook :: ManageHook -manageHook = composeOne (concat - [ --[manageHook myBaseConfig] - [checkDock -?> doIgnore] +manageHook = composeAll + [ composeOne [NS.query c -?> hook c | c <- namedScratchpads] + , composeOne (concat + [ [checkDock -?> doIgnore] + , [(className =? "google-chrome" <&&> + appName =? tabsOutlinerAppName) -?> doTOFloat] , [className =? c -?> doIgnore | c <- myCIgnores] , [className =? "Wine" -?> doFloat ] , [isFullscreen -?> doMaster <+> doFullFloat] , [transience] , [isDialog -?> doMaster <+> doCenterFloat] - , [fmap ("Preferences" `isInfixOf`) title -?> doMaster <+> doCenterFloat] , [(className =? "Gimp" <&&> c) -?> h | (c, h) <- gimpManage] , [( className =? "Qjackctl" @@ -29,7 +34,6 @@ manageHook = composeOne (concat -?> doMaster <+> doFloat] , [(className =? "Dia" <&&> role =? "toolbox_window") -?> doMaster <+> doFloat] - , [ className =? c <&&> title =? t -?> doMaster <+> doFloat | (c, t) <- myCTFloats ] , [className =? c -?> doMaster <+> doCenterFloat | c <- myCCenterFloats] @@ -39,47 +43,46 @@ manageHook = composeOne (concat , [title =? t -?> doMaster <+> doFloat | t <- myTFloats ] , [className =? "BaldursGate" -?> doMyShift "BG" <+> doMaster] , [className =? "witcher.exe" -?> doMyShift "witcher" <+> doMaster] - , [NS.query c -?> hook c | c <- namedScratchpads]]) - --, [className =? "dzen" -?> transparency 0.4]]) - <+> - composeOne (concat - [ [className =? "Dia" -?> doMyShift "dia"] - , [className =? c -?> doMyShift "chat" | c <- myChatClients ] + ]) + , composeOne (concat + [ [className =? "Dia" -?> doMyShift "dia"] + , [className =? c -?> doMyShift "chat" | c <- myChatClients ] , [(className =? "Google-chrome" <&&> title =? "Hangouts") -?> doMyShift "chat"] - , [className =? c -?> doMyShift "web" | c <- myWebBrowsers ] - , [title =? "ncmpcpp" -?> doMyShift "music" ] - , [className =? c -?> doMyShift "music" | c <- myMusicPlayers ] - , [className =? c -?> doMyShift "video" | c <- myVideoPlayers ] - , [className =? "Evince" -?> doMyShift "pdf" ] - , [className =? "Atril" -?> doMyShift "pdf" ] - , [className =? "Thunderbird" -?> doMyShift "mail"] - , [className =? "California" -?> doMyShift "calendar"] - , [className =? "Gimp" -?> doMyShift "gimp"] - , [className =? "Virt-manager" -?> doMyShift "virt"] - , [className =? "VirtualBox" -?> doMyShift "vbox"] - , [className =? "Deluge" -?> doMyShift "p2p"] - , [className =? "Calibre" -?> doMyShift "ebook"] - , [className =? "Squeak" -?> doMyShift "squeak"] - , [className =? "Civ5XP" -?> doMyShift "ciV"] + , [className =? c -?> doMyShift "web" | c <- myWebBrowsers ] + , [title =? "ncmpcpp" -?> doMyShift "music" ] + , [className =? c -?> doMyShift "music" | c <- myMusicPlayers ] + , [className =? c -?> doMyShift "video" | c <- myVideoPlayers ] + , [className =? "Evince" -?> doMyShift "pdf"] + , [className =? "Atril" -?> doMyShift "pdf"] + , [className =? "Thunderbird" -?> doMyShift "mail"] + , [className =? "California" -?> doMyShift "calendar"] + , [className =? "Gimp" -?> doMyShift "gimp"] + , [className =? "Virt-manager" -?> doMyShift "virt"] + , [className =? "VirtualBox" -?> doMyShift "vbox"] + , [className =? "Deluge" -?> doMyShift "p2p"] + , [className =? "Calibre" -?> doMyShift "ebook"] + , [className =? "Squeak" -?> doMyShift "squeak"] + , [className =? "Civ5XP" -?> doMyShift "ciV"] , [className =? "Googleearth-bin" -?> doMyShift "earth"] -- see http://xmonad.org/xmonad-docs/xmonad-contrib/src/XMonad-Hooks-XPropManage.html#xPropManageHook ]) + ] where doMaster = doF W.shiftMaster doMyShift :: WorkspaceId -> ManageHook doMyShift wsp = do liftX (newWorkspace wsp) doF $ W.greedyView wsp . W.shift wsp + doTOFloat = doRectFloat $ tabsOutlinerFloatRect myTFloats = [ "VLC (XVideo output)" - , "DownThemAll! - Make Your Selection" - , "Add Downloads" - , "Add URL(s)" - , "Run Application" - ] + , "DownThemAll! - Make Your Selection" + , "Add Downloads" + , "Add URL(s)" + , "Run Application" + ] myCIgnores = [ "Xfce4-notifyd" ] - myCFloats = [ -- "Gnome-panel" - "Close session" + myCFloats = [ "Close session" , "MPlayer" , "Wine" , "Galculator" @@ -89,8 +92,7 @@ manageHook = composeOne (concat , ("processing-app-Base", "Preferences") , ("Thunar", "File Operation Progress") ] - myCCenterFloats = [ -- "Gnome-tweak-tool" - "Xfce4-notes" + myCCenterFloats = [ "Xfce4-notes" , "Gcolor2" , "Gcr-prompter" , "Xfce4-appfinder" @@ -102,10 +104,7 @@ manageHook = composeOne (concat , "Alarm-clock-applet" ] myChatClients = ["Pidgin", "Xchat", "Skype", "Empathy", "Hexchat"] - myWebBrowsers = [ -- "Firefox" - "Chromium-browser" - , "Google-chrome" - ] + myWebBrowsers = [] myMusicPlayers = ["ncmpcpp", "Sonata", "Rhythmbox", "Gmpc"] myVideoPlayers = ["MPlayer", "Vlc", "Smplayer"] gimpManage = [ ( role =? "gimp-toolbox" <||> role =? "gimp-image-window" |