Skip to content
Browse files

farben

  • Loading branch information...
1 parent 06d30c0 commit 6a4992456a56dc29818c326b89d8765397afff63 @TeaMoe committed Jun 15, 2012
Showing with 422 additions and 32 deletions.
  1. +2 −3 bin/tray
  2. +13 −9 bin/xinitrc
  3. +9 −8 xmobar.hs
  4. +16 −12 xmonad.hs
  5. +382 −0 xmonad.hs.orig
View
5 bin/tray
@@ -3,8 +3,7 @@
# Author: Vic Fryzel
# http://github.com/vicfryzel/xmonad-config
-
# This is setup to display on dual 1680x1050 monitors, with the right-side
# monitor as primary. Adjust margin as necessary for other resolutions/setups.
-trayer --edge top --align right --margin 0 --width 120 --widthtype pixel --height 12 \
- --padding 1 --tint 0x000000 --transparent true
+trayer --edge top --align right --margin 0 --width 120 --widthtype pixel --height 17 \
+ --padding 1 --tint 0x000000 --transparent true --alpha 0
View
22 bin/xinitrc
@@ -3,31 +3,35 @@
# Author: Vic Fryzel
# http://github.com/vicfryzel/xmonad-config
-
# Configure PATH so that we can access our scripts below
PATH=$PATH:~/.cabal/bin:~/.xmonad/bin
# Configure X
+xrandr --output HDMI2 --auto --right-of HDMI1
xsetroot -cursor_name left_ptr &
xrdb -merge ~/.Xdefaults &
xscreensaver -no-splash &
-feh --bg-center ~/wallpapers/city.jpeg &
+feh --bg-center ~/Downloads/362109-1680x1050-silver-ubuntu.jpg
# Automatically mount removable media
-thunar --daemon &
+#thunar --daemon &
# Start the system tray
tray &
+dropbox start &
+
+xcompmgr -Cf
+
# Start two terminals
-urxvt &
-urxvt &
+#urxvt &
+#urxvt &
# Start two Chromium windows
-chromium &
-chromium &
+#chromium &
+#chromium &
# Start xchat (IRC client)
-xchat &
+#xchat &
-exec ck-launch-session dbus-launch --sh-syntax --exit-with-session xmonad
+#exec ck-launch-session dbus-launch --sh-syntax --exit-with-session xmonad
View
17 xmobar.hs
@@ -4,22 +4,23 @@
-- This is setup for dual 1920x1080 monitors, with the right monitor as primary
Config {
- font = "xft:Terminus-8",
+ font = "xft:Ubuntu Mono-9",
bgColor = "#000000",
fgColor = "#ffffff",
- position = Top,
+ position = TopW L 94,
lowerOnStart = True,
commands = [
- Run Weather "EDDW" ["-t","<tempC>C <skyCondition>","-L","64","-H","77","-n","#CEFFAC","-h","#FFB6B0","-l","#96CBFE"] 36000,
- Run MultiCpu ["-t","Cpu: <autototal>","-L","30","-H","60","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC","-w","3"] 10,
- Run Memory ["-t","Mem: <usedratio>%","-H","8192","-L","4096","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10,
- Run Swap ["-t","Swap: <usedratio>%","-H","1024","-L","512","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10,
- Run Network "wlan0" ["-t","Net: <rx>, <tx>","-H","200","-L","10","-h","#FFB6B0","-l","#CEFFAC","-n","#FFFFCC"] 10,
+ Run Weather "EDDW" ["-t","<tempC>C <skyCondition>","-L","64","-H","77","-n","#99CC00","-h","#FF4444","-l","#33B5E5"] 36000,
+ Run DiskU [("/", "/: <usedbar>"), ("/home", "/home: <usedbar>")] ["-L", "20", "-H", "50", "-m", "1", "-p", "3","-h","#FF4444","-l","#99CC00","-n","#FFBB33"] 20,
+ Run MultiCpu ["-t","Cpu: <autototal>","-L","32","-H","60","-h","#FF4444","-l","#99CC00","-n","#FFBB33","-w","1"] 10,
+ Run Memory ["-t","Mem: <usedratio>%","-H","8192","-L","4096","-h","#FF4444","-l","#99CC00","-n","#FFBB33"] 10,
+ Run Swap ["-t","Swap: <usedratio>%","-H","1024","-L","512","-h","#FF4444","-l","#99CC00","-n","#FFBB33"] 10,
+ Run Network "eth0" ["-t","Net: <rx>, <tx>","-H","200","-L","10","-h","#FF4444","-l","#99CC00","-n","#FFBB33"] 10,
Run Date "%a %b %_d %H:%M" "date" 10,
Run BatteryP ["BAT0"] ["-t", "<acstatus><watts> (<left>%)", "-L", "10", "-H", "80", "-p", "3", "--", "-O", "<fc=green>On</fc> - ", "-o", "", "-L", "-15", "-H", "-5", "-l", "red", "-m", "blue", "-h", "green", "-c", "charge_full_design"] 600,
Run StdinReader
],
sepChar = "%",
alignSep = "}{",
- template = "%StdinReader% }{ %multicpu% %memory% %swap% %wlan0% <fc=#FFFFCC>%date%</fc> %EDDW% %battery%"
+ template = "%StdinReader% }{ %disku% %multicpu% %memory% %swap% %eth0% <fc=#FFBB33>%date%</fc> %EDDW% %battery%"
}
View
28 xmonad.hs
@@ -9,10 +9,12 @@ import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.SetWMName
+import XMonad.Hooks.ICCCMFocus
import XMonad.Layout.Fullscreen
import XMonad.Layout.NoBorders
import XMonad.Layout.Spiral
import XMonad.Layout.Tabbed
+import XMonad.Layout.Spacing
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import qualified XMonad.StackSet as W
@@ -23,13 +25,13 @@ import qualified Data.Map as M
-- The preferred terminal program, which is used in a binding below and by
-- certain contrib modules.
--
-myTerminal = "/usr/bin/urxvt"
+myTerminal = "/usr/bin/gnome-terminal"
------------------------------------------------------------------------
-- Workspaces
-- The default number of workspaces (virtual screens) and their names.
--
-myWorkspaces = ["1:term","2:web","3:code","4:vm","5:media"] ++ map show [6..9]
+myWorkspaces = ["1:code","2:term","3:code","4:vm","5:media","6","7:web"] ++ map show [8..9]
------------------------------------------------------------------------
-- Window rules
@@ -70,7 +72,7 @@ myManageHook = composeAll
-- which denotes layout choice.
--
myLayout = avoidStruts (
- Tall 1 (3/100) (1/2) |||
+ spacing 5 $ Tall 1 (3/100) (1/2) |||
Mirror (Tall 1 (3/100) (1/2)) |||
tabbed shrinkText tabConfig |||
Full |||
@@ -81,8 +83,8 @@ myLayout = avoidStruts (
-- Colors and borders
-- Currently based on the ir_black theme.
--
-myNormalBorderColor = "#7c7c7c"
-myFocusedBorderColor = "#ffb6b0"
+myNormalBorderColor = "#000000"
+myFocusedBorderColor = "#33b5e5"
-- Colors for text and backgrounds of each tab when in "Tabbed" layout.
tabConfig = defaultTheme {
@@ -101,7 +103,7 @@ xmobarTitleColor = "#FFB6B0"
xmobarCurrentWorkspaceColor = "#CEFFAC"
-- Width of the window border in pixels.
-myBorderWidth = 1
+myBorderWidth = 2
------------------------------------------------------------------------
-- Key bindings
@@ -314,12 +316,14 @@ myStartupHook = return ()
main = do
xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmonad/xmobar.hs"
xmonad $ defaults {
- logHook = dynamicLogWithPP $ xmobarPP {
- ppOutput = hPutStrLn xmproc
- , ppTitle = xmobarColor xmobarTitleColor "" . shorten 100
- , ppCurrent = xmobarColor xmobarCurrentWorkspaceColor ""
- , ppSep = " "}
- , manageHook = manageDocks <+> myManageHook
+ logHook = takeTopFocus >> dynamicLogWithPP xmobarPP
+ {
+ ppOutput = hPutStrLn xmproc
+ , ppTitle = xmobarColor xmobarTitleColor "" . shorten 100
+ , ppCurrent = xmobarColor xmobarCurrentWorkspaceColor ""
+ , ppSep = " "
+ }
+ , manageHook = manageDocks <+> myManageHook
, startupHook = setWMName "LG3D"
}
View
382 xmonad.hs.orig
@@ -0,0 +1,382 @@
+-- xmonad config used by Vic Fryzel
+-- Author: Vic Fryzel
+-- http://github.com/vicfryzel/xmonad-config
+
+import System.IO
+import System.Exit
+import XMonad
+import XMonad.Hooks.DynamicLog
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.ManageHelpers
+import XMonad.Hooks.SetWMName
+import XMonad.Layout.NoBorders
+import XMonad.Layout.Spiral
+import XMonad.Layout.Tabbed
+import XMonad.Util.Run(spawnPipe)
+import XMonad.Util.EZConfig(additionalKeys)
+import qualified XMonad.StackSet as W
+import qualified Data.Map as M
+
+------------------------------------------------------------------------
+-- Terminal
+-- The preferred terminal program, which is used in a binding below and by
+-- certain contrib modules.
+--
+myTerminal = "/usr/bin/urxvt"
+
+------------------------------------------------------------------------
+-- Workspaces
+-- The default number of workspaces (virtual screens) and their names.
+--
+myWorkspaces = ["1:term","2:web","3:code","4:vm","5:media"] ++ map show [6..9]
+
+------------------------------------------------------------------------
+-- 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 =? "Chromium" --> doShift "2:web"
+ , resource =? "desktop_window" --> doIgnore
+ , className =? "Galculator" --> doFloat
+ , className =? "Gimp" --> doFloat
+ , className =? "Google-chrome" --> doShift "2:web"
+ , resource =? "gpicview" --> doFloat
+ , resource =? "kdesktop" --> doIgnore
+ , className =? "MPlayer" --> doFloat
+ , resource =? "skype" --> doFloat
+ , className =? "VirtualBox" --> doShift "4:vm"
+ , className =? "Xchat" --> doShift "5:media"
+ , isFullscreen --> (doF W.focusDown <+> doFullFloat)]
+
+------------------------------------------------------------------------
+-- 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 = avoidStruts (
+ tiled |||
+ Mirror tiled |||
+ tabbed shrinkText tabConfig |||
+ Full |||
+ spiral (6/7))
+ 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
+
+------------------------------------------------------------------------
+-- Colors and borders
+-- Currently based on the ir_black theme.
+--
+myNormalBorderColor = "#7c7c7c"
+myFocusedBorderColor = "#ffb6b0"
+
+-- Colors for text and backgrounds of each tab when in "Tabbed" layout.
+tabConfig = defaultTheme {
+ activeBorderColor = "#7C7C7C",
+ activeTextColor = "#CEFFAC",
+ activeColor = "#000000",
+ inactiveBorderColor = "#7C7C7C",
+ inactiveTextColor = "#EEEEEE",
+ inactiveColor = "#000000"
+}
+
+-- Color of current window title in xmobar.
+xmobarTitleColor = "#FFB6B0"
+
+-- Color of current workspace in xmobar.
+xmobarCurrentWorkspaceColor = "#CEFFAC"
+
+-- Width of the window border in pixels.
+myBorderWidth = 1
+
+------------------------------------------------------------------------
+-- Key bindings
+--
+-- 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 = mod1Mask
+<<<<<<< HEAD
+
+=======
+
+-- 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
+
+>>>>>>> parent of 3570104... Updating config to work in xmonad 0.10. Adding a true fullscreen layout ideal for games or distraction-free work.
+myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
+ ----------------------------------------------------------------------
+ -- Custom key bindings
+ --
+
+ -- Start a terminal. Terminal to start is specified by myTerminal variable.
+ [ ((modMask .|. shiftMask, xK_Return),
+ spawn $ XMonad.terminal conf)
+
+ -- Lock the screen using xscreensaver.
+ , ((modMask .|. controlMask, xK_l),
+ spawn "xscreensaver-command -lock")
+
+ -- Launch dmenu via yeganesh.
+ -- Use this to launch programs without a key binding.
+ , ((modMask, xK_p),
+ spawn "exe=`dmenu_run | yeganesh` && eval \"exec $exe\"")
+
+ -- Take a screenshot in select mode.
+ -- After pressing this key binding, click a window, or draw a rectangle with
+ -- the mouse.
+ , ((modMask .|. shiftMask, xK_p),
+ spawn "select-screenshot")
+
+ -- Take full screenshot in multi-head mode.
+ -- That is, take a screenshot of everything you see.
+ , ((modMask .|. controlMask .|. shiftMask, xK_p),
+ spawn "screenshot")
+
+ -- Mute volume.
+ , ((0, 0x1008FF12),
+ spawn "amixer -q set Front toggle")
+
+ -- Decrease volume.
+ , ((0, 0x1008FF11),
+ spawn "amixer -q set Front 10%-")
+
+ -- Increase volume.
+ , ((0, 0x1008FF13),
+ spawn "amixer -q set Front 10%+")
+
+ -- Audio previous.
+ , ((0, 0x1008FF16),
+ spawn "")
+
+ -- Play/pause.
+ , ((0, 0x1008FF14),
+ spawn "")
+
+ -- Audio next.
+ , ((0, 0x1008FF17),
+ spawn "")
+
+ -- Eject CD tray.
+ , ((0, 0x1008FF2C),
+ spawn "eject -T")
+
+ --------------------------------------------------------------------
+ -- "Standard" xmonad key bindings
+ --
+
+ -- Close focused window.
+ , ((modMask .|. shiftMask, xK_c),
+ kill)
+
+ -- Cycle 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)
+
+ -- Move focus to the next window.
+ , ((modMask, xK_j),
+ windows W.focusDown)
+
+ -- Move focus to the previous window.
+ , ((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))
+
+ -- Decrement the number of windows in the master area.
+ , ((modMask, xK_period),
+ sendMessage (IncMasterN (-1)))
+
+ -- Toggle the status bar gap.
+ -- TODO: update this binding with avoidStruts, ((modMask, xK_b),
+
+ -- Quit xmonad.
+ , ((modMask .|. shiftMask, xK_q),
+ io (exitWith ExitSuccess))
+
+ -- Restart xmonad.
+ , ((modMask, xK_q),
+ restart "xmonad" True)
+ ]
+ ++
+
+ -- mod-[1..9], Switch to workspace N
+ -- mod-shift-[1..9], Move client to workspace N
+ [((m .|. modMask, k), windows $ f i)
+ | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
+ , (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
+--
+-- Focus rules
+-- True if your focus should follow your mouse cursor.
+myFocusFollowsMouse :: Bool
+myFocusFollowsMouse = True
+
+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)
+ ]
+
+------------------------------------------------------------------------
+-- 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
+--
+
+------------------------------------------------------------------------
+-- 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 = return ()
+
+------------------------------------------------------------------------
+-- Run xmonad with all the defaults we set up.
+--
+main = do
+ xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmonad/xmobar.hs"
+ xmonad $ defaults {
+ logHook = dynamicLogWithPP $ xmobarPP {
+ ppOutput = hPutStrLn xmproc
+ , ppTitle = xmobarColor xmobarTitleColor "" . shorten 100
+ , ppCurrent = xmobarColor xmobarCurrentWorkspaceColor ""
+ , ppSep = " "}
+ , manageHook = manageDocks <+> myManageHook
+ , startupHook = setWMName "LG3D"
+ }
+
+------------------------------------------------------------------------
+-- Combine it all together
+-- 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 = smartBorders $ myLayout,
+ manageHook = myManageHook,
+ startupHook = myStartupHook
+}

0 comments on commit 6a49924

Please sign in to comment.
Something went wrong with that request. Please try again.