+
import XMonad
--import XMonad.Config.Gnome
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
-- /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
[ ((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 "firefox -P sfw")
+ , ((modm, xK_4), spawn "firefox -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
, ((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)
, ((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
- -- 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)]]