Commits

uniqx  committed c351fa1

checking my current xmonad settings in

  • Participants

Comments (0)

Files changed (4)

+xmonad-x86_64-linux
+xmonad.hs~
+xmonad.o
+xmonad.hi
+xmonad.errors
+
+apt-get install xscreensaver volti suckless-tools gmrun keepassx vidalia xmobar pidgin
+
+

File startupHook.sh

+#! /bin/sh
+
+start_if_not_running (){
+
+  MYAPP="$1"
+
+  if [ `pidof "$MYAPP"` ]; then
+    echo "$MYAPP already running, will do nothing"
+  else
+    set +e
+    echo "$MYAPP not running, will run it now"
+    ($* > /dev/null 2>&1 || true ) & # continue if an application crashes
+    set -e
+  fi
+
+
+}
+
+
+# tray
+start_if_not_running trayer --edge top --align right --height 18 --widthtype request --SetDockType true --margin 180 --alpha 0 --transparent ture --tint 0
+start_if_not_running /usr/bin/xmobar
+
+# gnome stuff
+start_if_not_running /usr/bin/gnome-keyring-daemon --start --components=secrets
+start_if_not_running /usr/bin/gnome-keyring-daemon --start --components=ssh
+start_if_not_running /usr/bin/gnome-keyring-daemon --start --components=pkcs11
+start_if_not_running /usr/bin/gnome-keyring-daemon --start --components=gpg
+start_if_not_running /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
+start_if_not_running /usr/lib/gnome-settings-daemon/gnome-settings-daemon
+start_if_not_running /usr/lib/gnome-disk-utility/gdu-notification-daemon
+start_if_not_running /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
+start_if_not_running gsettings-data-convert
+start_if_not_running /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
+start_if_not_running /usr/lib/evolution/3.4/evolution-alarm-notify
+
+start_if_not_running start-pulseaudio-x11
+
+start_if_not_running /usr/lib/notification-daemon/notification-daemon
+start_if_not_running bluetooth-applet
+start_if_not_running nm-applet
+start_if_not_running volti # audio mixer applet
+
+start_if_not_running nautilus -n --no-desktop
+
+#start_if_not_running gnome-screensaver
+start_if_not_running xscreensaver -no-splash
+
+
+
+# pidgin
+
+pidgin &
+
+# keepassx
+
+start_if_not_running keepassx
+--
+-- xmonad example config file.
+--
+-- A template showing all available configuration hooks,
+-- and how to override the defaults in your own xmonad.hs conf file.
+--
+-- Normally, you'd only override those defaults you care about.
+--
+ 
+import XMonad
+import System.Exit
+ 
+import qualified XMonad.StackSet as W
+import qualified Data.Map        as M
+
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.ManageHelpers
+import XMonad.Layout.NoBorders
+import XMonad.Layout.Tabbed
+import XMonad.Actions.SpawnOn
+
+
+-- Startup hook
+ 
+-- Perform an arbitrary action each time xmonad starts or is restarted
+-- with mod-q.  Used by, e.g., XMonad.Layout.PerWorkspace to initialize
+-- per-workspace layout choices.
+--
+-- By default, do nothing.
+myStartupHook = do
+  spawn "bash ~/.xmonad/startupHook.sh"
+--  spawn "glxgears"
+
+
+-- The preferred terminal program, which is used in a binding below and by
+-- certain contrib modules.
+--
+-- myTerminal      = "uxterm"
+-- myTerminal      = "mate-terminal"
+myTerminal      = "gnome-terminal"
+ 
+-- Width of the window border in pixels.
+--
+myBorderWidth   = 1
+ 
+-- modMask lets you specify which modkey you want to use. The default
+-- is mod1Mask ("left alt").  You may also consider using mod3Mask
+-- ("right alt"), which does not conflict with emacs keybindings. The
+-- "windows key" is usually mod4Mask.
+--
+myModMask       = mod4Mask
+ 
+-- The mask for the numlock key. Numlock status is "masked" from the
+-- current modifier status, so the keybindings will work with numlock on or
+-- off. You may need to change this on some systems.
+--
+-- You can find the numlock modifier by running "xmodmap" and looking for a
+-- modifier with Num_Lock bound to it:
+--
+-- > $ xmodmap | grep Num
+-- > mod2        Num_Lock (0x4d)
+--
+-- Set numlockMask = 0 if you don't have a numlock key, or want to treat
+-- numlock status separately.
+--
+myNumlockMask   = mod2Mask
+ 
+-- The default number of workspaces (virtual screens) and their names.
+-- By default we use numeric strings, but any string may be used as a
+-- workspace name. The number of workspaces is determined by the length
+-- of this list.
+--
+-- A tagging example:
+--
+-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9]
+--
+-- myWorkspaces    = ["1","2","3","4","5","6","7","8","9"]
+-- myWorkspaces    = ["0","1","2","3","4","5","6","7","8","9"]
+myWorkspaces    = map show [0 .. ( 9 + 12 ) :: Int]
+ 
+-- Border colors for unfocused and focused windows, respectively.
+--
+myNormalBorderColor  = "#dddddd"
+myFocusedBorderColor = "#ff0000"
+ 
+------------------------------------------------------------------------
+-- Key bindings. Add, modify or remove key bindings here.
+--
+myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
+
+    -- lock screen
+    [ ((modMask .|. shiftMask, xK_l     ), spawn "xscreensaver-command -lock")
+    --[ ((modMask .|. shiftMask, xK_l     ), spawn "gnome-screensaver-command -l")
+
+    -- launch nautilus
+    --, ((modMask .|. shiftMask, xK_less  ), spawn "caja --no-desktop")
+    , ((modMask .|. shiftMask, xK_less  ), spawn "nautilus --no-desktop")
+
+    -- launch iceweasle
+    --, ((modMask .|. shiftMask, xK_y     ), spawn "iceweasel")
+
+    -- launch a terminal
+    , ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
+    , ((modMask .|. shiftMask, xK_x     ), spawn $ XMonad.terminal conf)
+ 
+    -- launch dmenu
+    , ((modMask, xK_p ), spawn "exe=`dmenu_path | dmenu -nb \\#000 -nf \\#FFF -sb \\#FFF -sf \\#000`  && eval \"exec $exe\"")
+    , ((modMask, xK_c ), spawn "exe=`dmenu_path | dmenu -nb \\#000 -nf \\#FFF -sb \\#FFF -sf \\#000`  && eval \"exec $exe\"")
+ 
+    -- launch gmrun
+    , ((modMask .|. shiftMask, xK_p     ), spawn "gmrun")
+    --, ((modMask,               xK_F2    ), spawn "gmrun")
+
+    -- close focused window 
+    , ((modMask .|. shiftMask, xK_c     ), kill)
+    --, ((modMask ,              xK_F4    ), kill)
+ 
+     -- Rotate through the available layout algorithms
+    , ((modMask,               xK_space ), sendMessage NextLayout)
+ 
+    --  Reset the layouts on the current workspace to default
+    , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
+ 
+    -- Resize viewed windows to the correct size
+    , ((modMask,               xK_n     ), refresh)
+ 
+    -- Move focus to the next window
+    , ((modMask,               xK_Tab   ), windows W.focusDown)
+    , ((modMask,               xK_j     ), windows W.focusDown)
+ 
+    -- Move focus to the previous window
+    , ((modMask .|. shiftMask, xK_Tab   ), windows W.focusUp  )
+    , ((modMask,               xK_k     ), windows W.focusUp  )
+ 
+    -- Move focus to the master window
+    , ((modMask,               xK_m     ), windows W.focusMaster  )
+ 
+    -- Swap the focused window and the master window
+    , ((modMask,               xK_Return), windows W.swapMaster)
+ 
+    -- Swap the focused window with the next window
+    , ((modMask .|. shiftMask, xK_j     ), windows W.swapDown  )
+ 
+    -- Swap the focused window with the previous window
+    , ((modMask .|. shiftMask, xK_k     ), windows W.swapUp    )
+ 
+    -- Shrink the master area
+    , ((modMask,               xK_h     ), sendMessage Shrink)
+ 
+    -- Expand the master area
+    , ((modMask,               xK_l     ), sendMessage Expand)
+ 
+    -- Push window back into tiling
+    , ((modMask,               xK_t     ), withFocused $ windows . W.sink)
+ 
+    -- Increment the number of windows in the master area
+    , ((modMask              , xK_comma ), sendMessage (IncMasterN 1))
+ 
+    -- Deincrement the number of windows in the master area
+    , ((modMask              , xK_period), sendMessage (IncMasterN (-1)))
+ 
+
+    ,((modMask               , xK_b     ), sendMessage ToggleStruts)
+
+    -- Quit xmonad
+    , ((modMask .|. shiftMask, xK_q     ), io (exitWith ExitSuccess))
+ 
+    -- Restart xmonad
+    , ((modMask              , xK_q     ),
+          broadcastMessage ReleaseResources >> restart "xmonad" True)
+    ]
+    ++
+ 
+    --
+    -- mod-[0..9], Switch to workspace N
+    -- mod-shift-[0..9], Move client to workspace N
+    --
+    --[((m .|. modMask, k), windows $ f i)
+    --    | (i, k) <- zip (XMonad.workspaces conf) [xK_0 .. xK_9]
+    --    , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
+    -- ++
+
+    [((m .|. modMask, k), windows $ f i)
+        | (i, k) <- zip (XMonad.workspaces conf) ([xK_1 .. xK_9] ++ [xK_0] ++ [xK_F1 .. xK_F12])
+        , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
+    ++
+
+    --
+    -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
+    -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
+    --
+    [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f))
+        | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
+        , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
+ 
+ 
+------------------------------------------------------------------------
+-- Mouse bindings: default actions bound to mouse events
+--
+myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
+ 
+    -- mod-button1, Set the window to floating mode and move by dragging
+    [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w))
+ 
+    -- mod-button2, Raise the window to the top of the stack
+    , ((modMask, button2), (\w -> focus w >> windows W.swapMaster))
+ 
+    -- mod-button3, Set the window to floating mode and resize by dragging
+    , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
+ 
+    -- you may also bind events to the mouse scroll wheel (button4 and button5)
+    ]
+ 
+------------------------------------------------------------------------
+-- Layouts:
+ 
+-- You can specify and transform your layouts by modifying these values.
+-- If you change layout bindings be sure to use 'mod-shift-space' after
+-- restarting (with 'mod-q') to reset your layout state to the new
+-- defaults, as xmonad preserves your old layout settings by default.
+--
+-- The available layouts.  Note that each layout is separated by |||,
+-- which denotes layout choice.
+--
+myLayout =  smartBorders $ avoidStruts $ tiled ||| Mirror tiled ||| Full ||| tabbed shrinkText defaultTheme
+  where
+     -- default tiling algorithm partitions the screen into two panes
+     tiled   = Tall nmaster delta ratio
+ 
+     -- The default number of windows in the master pane
+     nmaster = 1
+ 
+     -- Default proportion of screen occupied by master pane
+     ratio   = 1/2
+ 
+     -- Percent of screen to increment by when resizing panes
+     delta   = 3/100
+ 
+------------------------------------------------------------------------
+-- Window rules:
+ 
+-- Execute arbitrary actions and WindowSet manipulations when managing
+-- a new window. You can use this to, for example, always float a
+-- particular program, or have a client always appear on a particular
+-- workspace.
+--
+-- To find the property name associated with a program, use
+-- > xprop | grep WM_CLASS
+-- and click on the client you're interested in.
+--
+-- To match on the WM_NAME, you can use 'title' in the same way that
+-- 'className' and 'resource' are used below.
+--
+myManageHook = composeAll
+    [ className =? "MPlayer"        --> doFloat
+    , className =? "Gimp"           --> doFloat
+    , resource  =? "desktop_window" --> doIgnore
+    , className =? "Gnome-panel" --> doIgnore
+    , resource  =? "kdesktop"       --> doIgnore
+    --, className =? "sun-awt-X11-XFramePeer" --> doFloat
+    , title     =? "sketch_apr03a | Arduino 1.0" --> doFloat
+    , className =? "replicatorg-app-Base" --> doFloat
+    , title =? "Ultimaker v1.0 (ADVISED 5D firmware) - ReplicatorG - 0025" --> doFloat
+    , isFullscreen --> doFullFloat
+    , manageDocks]
+ 
+-- Whether focus follows the mouse pointer.
+myFocusFollowsMouse :: Bool
+myFocusFollowsMouse = True
+ 
+------------------------------------------------------------------------
+-- Status bars and logging
+ 
+-- Perform an arbitrary action on each internal state change or X event.
+-- See the 'DynamicLog' extension for examples.
+--
+-- To emulate dwm's status bar
+--
+-- > logHook = dynamicLogDzen
+--
+myLogHook = return ()
+ 
+------------------------------------------------------------------------
+-- Now run xmonad with all the defaults we set up.
+ 
+-- Run xmonad with the settings you specify. No need to modify this.
+--
+main = xmonad defaults
+ 
+-- A structure containing your configuration settings, overriding
+-- fields in the default config. Any you don't override, will 
+-- use the defaults defined in xmonad/XMonad/Config.hs
+-- 
+-- No need to modify this.
+--
+defaults = defaultConfig {
+      -- simple stuff
+        terminal           = myTerminal,
+        focusFollowsMouse  = myFocusFollowsMouse,
+        borderWidth        = myBorderWidth,
+        modMask            = myModMask,
+    --    numlockMask        = myNumlockMask,
+        workspaces         = myWorkspaces,
+        normalBorderColor  = myNormalBorderColor,
+        focusedBorderColor = myFocusedBorderColor,
+ 
+      -- key bindings
+        keys               = myKeys,
+        mouseBindings      = myMouseBindings,
+ 
+      -- hooks, layouts
+        layoutHook         = myLayout,
+        manageHook         = myManageHook,
+        logHook            = myLogHook,
+        startupHook        = myStartupHook
+    }