summaryrefslogtreecommitdiffstats
path: root/src/XMonad/Local/ManageHook.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/XMonad/Local/ManageHook.hs')
-rw-r--r--src/XMonad/Local/ManageHook.hs81
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"