diff options
author | Michal Minář <miminar@redhat.com> | 2016-08-06 16:13:16 +0200 |
---|---|---|
committer | Michal Minář <miminar@redhat.com> | 2016-08-06 16:14:10 +0200 |
commit | 09dbc0984ce8a78bbe36b248bfa26e7cffccaaf4 (patch) | |
tree | 976561e32fdabdc7801ac3104bebfbb6eb16a371 | |
parent | c787e154247614489ece175acd7860a8d6d3d95e (diff) | |
download | xminad-09dbc0984ce8a78bbe36b248bfa26e7cffccaaf4.tar.gz xminad-09dbc0984ce8a78bbe36b248bfa26e7cffccaaf4.tar.xz xminad-09dbc0984ce8a78bbe36b248bfa26e7cffccaaf4.zip |
topic space cleanup
Added tmuxSpawn action for launching tmuxinator projects.
-rw-r--r-- | src/XMonad/Local/Actions.hs | 5 | ||||
-rw-r--r-- | src/XMonad/Local/Keys.hs | 2 | ||||
-rw-r--r-- | src/XMonad/Local/TopicSpace.hs | 86 |
3 files changed, 55 insertions, 38 deletions
diff --git a/src/XMonad/Local/Actions.hs b/src/XMonad/Local/Actions.hs index 2688341..4bc8d7b 100644 --- a/src/XMonad/Local/Actions.hs +++ b/src/XMonad/Local/Actions.hs @@ -33,12 +33,15 @@ spawnShellIn dir command = do t <- asks (terminal . config) spawn $ cmd' t where - run (Just c) = " -e '" ++ c ++ "'" + run (Just c) = " " ++ c run Nothing = "" cmd' t | dir == "" = t ++ run command | otherwise = "cd " ++ dir ++ " && " ++ t ++ run command +spawnTmux :: String -> X() +spawnTmux project = spawnShell $ Just ("tmux -c 'tmuxinator " ++ project ++ "'") + killWindowPID :: Signal -> Window -> X() killWindowPID s w = do pid <- WP.getProp32s "_NET_WM_PID" w diff --git a/src/XMonad/Local/Keys.hs b/src/XMonad/Local/Keys.hs index 6965be6..f746933 100644 --- a/src/XMonad/Local/Keys.hs +++ b/src/XMonad/Local/Keys.hs @@ -69,7 +69,7 @@ emacsKeys = \conf -> map prefix (keysMissingPrefix conf) ++ unprefixedKeys -- need to be prefixed with modifier genericKeys :: XConfig l -> [(String, X())] genericKeys conf = [ - -- Applications + -- Applications (";", Local.spawnShell Nothing) , ("S-;", Local.spawnExplorer) , ("S-.", namedScratchpadAction namedScratchpads "guake") diff --git a/src/XMonad/Local/TopicSpace.hs b/src/XMonad/Local/TopicSpace.hs index cc44d4d..f80629e 100644 --- a/src/XMonad/Local/TopicSpace.hs +++ b/src/XMonad/Local/TopicSpace.hs @@ -12,33 +12,57 @@ import qualified XMonad.Actions.TopicSpace as TS import XMonad.Local.Actions import XMonad.Local.Config +tmuxProjects :: [WorkspaceId] +tmuxProjects = + [ "distribution" + , "docker" + , "openshift" + , "osdocs" + , "rcs" + , "xminad" + ] + topicDirs :: M.Map WorkspaceId String topicDirs = M.fromList $ - [ ("dashboard" , "~") - , ("xmonad" , "~/wsp/my/xminad") - , ("xminad" , "~/wsp/my/xminad") - , ("video" , "~/Videos") + [ ("distribution", "~/wsp/rh/distribution") + , ("docker" , "~/wsp/rh/docker") , ("docs" , "~/Documents/doc") - , ("pdf" , "~/Documents") - , ("graphics" , "~") - , ("gimp" , "~") - , ("hwdata" , "~/wsp/rh/hwdata") - , ("hdparm" , "~/fedora-scm/hdparm") - , ("scripts" , "~/wsp/rh/openlmi-scripts") - , ("tools" , "~/wsp/rh/openlmi-tools") - , ("rhel" , "~/rhel-scm") + , ("drive" , "~/gdrive") , ("fedora" , "~/fedora-scm") - , ("docker" , "~/wsp/rh/docker") - , ("distribution", "~/wsp/rh/distribution") - , ("openshift" , "~/wsp/rh/openshift-origin") - , ("osdocs" , "~/wsp/rh/openshift-docs") + , ("hdparm" , "~/fedora-scm/hdparm") + , ("hwdata" , "~/wsp/rh/hwdata") , ("k8s" , "~/wsp/rh/kubernetes") - , ("drive" , "~/gdrive") , ("mymoney" , "~/Documents/my-money") - ] ++ map (\w -> (w, "~")) - [ "music", "p2p", "gimp", "graphics" - , "web", "remote", "earth", "bank", "admin", "ebook" - , "ciV", "scrum", "BG", "witcher", "calendar", "incognito"] + , ("openshift" , "~/wsp/rh/openshift-origin") + , ("osdocs" , "~/wsp/rh/openshift-docs") + , ("pdf" , "~/Documents") + , ("rcs" , "~/.rcs") + , ("rhel" , "~/rhel-scm") + , ("scripts" , "~/wsp/rh/openlmi-scripts") + , ("tools" , "~/wsp/rh/openlmi-tools") + , ("video" , "~/Videos") + , ("xminad" , "~/wsp/my/xminad") + , ("xmonad" , "~/wsp/my/xminad") + ] ++ map (\w -> (w, "~")) homeScoped + where + homeScoped = + [ "admin" + , "bank" + , "BG" + , "calendar" + , "ciV" + , "earth" + , "ebook" + , "gimp" + , "graphics" + , "incognito" + , "music" + , "p2p" + , "remote" + , "scrum" + , "web" + , "witcher" + ] topicConfig :: TS.TopicConfig topicConfig = TS.def @@ -68,18 +92,6 @@ topicConfig = TS.def , ("hdparm", spawnShell Nothing >> spawnShellIn "~/fedora-scm/hdparm" Nothing >> spawnShellIn "~/rhel-scm/hdparm" Nothing) - , ("docker", - spawnShellIn "~/wsp/go/docker" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/docker" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/docker" (Just "bash --rcfile .bashrc")) - , ("openshift", - spawnShellIn "~/wsp/go/openshift" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/openshift" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/openshift" (Just "bash --rcfile .bashrc")) - , ("distribution", - spawnShellIn "~/wsp/go/distribution" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/distribution" (Just "bash --rcfile .bashrc") >> - spawnShellIn "~/wsp/go/distribution" (Just "bash --rcfile .bashrc")) , ("k8s", spawnShellIn "~/wsp/go/kubernetes" (Just "bash --rcfile .bashrc") >> spawnShellIn "~/wsp/go/kubernetes" (Just "bash --rcfile .bashrc") >> @@ -98,9 +110,11 @@ topicConfig = TS.def " --auth-server-whitelist=*.redhat.com") >> spawn (browser ++ " --profile-directory=Default" ++ " --app-id=ejjicmeblgpmajnghnpcppodonldlgfn")) - , ("mymoney", spawn "kmymoney") - ] ++ map (\w -> (w, spawnShell Nothing >> spawnShell Nothing)) - [ "osdocs", "xmonad", "xminad", "remote", "devel", "admin" ] + , ("mymoney", spawn "kmymoney")] + ++ map (\w -> (w, spawnShell Nothing >> spawnShell Nothing)) + [ "remote", "devel", "admin" ] + ++ map (\w -> (w, spawnTmux w)) tmuxProjects + , TS.defaultTopicAction = const $ return () , TS.defaultTopic = "dashboard" } |