tons of misc updates
[distro-setup] / subdir_files / .xmonad / xmonad.hs
index b9c9e64a44516ef0a8642fc22ee9c6306ba7ea98..28298108f0acf900a2daa62a59824b7316c33a16 100644 (file)
@@ -1,3 +1,4 @@
+
 import XMonad
 --import XMonad.Config.Gnome
 
@@ -17,6 +18,7 @@ import XMonad.Config.Desktop
 import XMonad.Hooks.EwmhDesktops
 import XMonad.Config.Xfce
 import XMonad.Hooks.ManageDocks
+import XMonad.Layout.NoFrillsDecoration
 
 import qualified XMonad.StackSet as W
 import qualified Data.Map        as M
@@ -28,13 +30,15 @@ import XMonad.Hooks.SetWMName
 
 -- /usr/share/xmonad/xmonad.hs on fedora has integration with gnome etc. but I
 -- had lots of problems with gnome integration.
+myL = noFrillsDeco shrinkText def (layoutHook def)
 
 main = xmonad $ defaults
+--main = xmonad def { layoutHook = myL } $ defaults
 
 
 defaults = desktopConfig
        {
-         terminal            = "sakura"
+         terminal            = "konsole"
        , borderWidth        = 0
        , modMask            = mod4Mask
        , keys               = myKeys
@@ -80,9 +84,17 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
     [ ((modm, xK_q), io (exitWith ExitSuccess)) -- %! Quit xmonad
 
     , ((modm, xK_2), spawn "pavucontrol")
-    , ((modm, xK_3), spawn "firefox")
-
-    , ((modm, xK_4), spawn "input-setup.sh")
+--    , ((modm, xK_3), spawn "firefox  -no-remote -P sfw")
+--    todo: clicking links in other applications won't open in
+--    a firefox opened with -no-remote, so we have to hardcode a
+--    primary firefox profile here. I'd rather have a command which
+--    sets which is the pimary for opening links. It could alter a file,
+--    and we could launch firefox with a wrapper script which looks at that file.
+    , ((modm, xK_3), spawn "abrowser -P sfw")
+    , ((modm, xK_4), spawn "abrowser -no-remote -P firefox-main-profile")
+
+    , ((modm, xK_5), spawn "/a/exe/input-setup l")
+    , ((modm, xK_1), spawn "/a/exe/input-setup k")
 
     -- we would really want to keep track of which workspace is darkened,
     -- and change things depending on where that workspace is
@@ -101,7 +113,9 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
     , ((modm              , xK_Home     ), sendMessage ToggleStruts)
 
 -- disabled default of cycling windows. instead use traditional stack based alt-tab behavior
-    , ((modm,               xK_g   ), cycleRecentWindows [xK_Super_L,xK_Super_R] xK_g xK_Tab)
+-- todo, this locks up everytyhing, and the only thing that works is
+-- futher cycle key presses until i restart X
+  --  , ((modm,               xK_g   ), cycleRecentWindows [xK_Super_L,xK_Super_R] xK_g xK_Tab)
 
     -- close focused window
     , ((modm , xK_c     ), kill)
@@ -111,10 +125,6 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
     , ((modm, xK_b ), setLayout $ XMonad.layoutHook conf)
 
 
---    todo, this is broken. not sure what it is supposed to do
-    , ((modm,               xK_Tab   ), cycleRecentWindows [xK_Super_L] xK_g xK_Tab)
-
-
     -- todo, make the pointer follow the window for these
 
     -- fedora's order
@@ -190,7 +200,7 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
 
 
 
-    -- open workspace, and send to workspace with same key plus control
+    -- open workspace, and send to workspace with same key plus shift
     [((m .|. modm, k), windows $ f i)
          | (i, k) <- zip (XMonad.workspaces conf) [xK_f, xK_d, xK_s, xK_a, xK_z, xK_grave, xK_7, xK_0]
     , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]