Difference between revisions of "Xmonad/Config archive/TeXitoi's xmonad.hs"
< Xmonad | Config archive
Jump to navigation
Jump to search
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:XMonad configuration]] |
[[Category:XMonad configuration]] |
||
<haskell> |
<haskell> |
||
− | import XMonad |
+ | import XMonad hiding (Tall) |
+ | import XMonad.Actions.PhysicalScreens |
||
import XMonad.Config.Desktop |
import XMonad.Config.Desktop |
||
import XMonad.Hooks.FadeInactive |
import XMonad.Hooks.FadeInactive |
||
import XMonad.Hooks.SetWMName |
import XMonad.Hooks.SetWMName |
||
import XMonad.Layout.NoBorders |
import XMonad.Layout.NoBorders |
||
− | import |
+ | import XMonad.Layout.HintedTile |
+ | import System.Taffybar.Hooks.PagerHints (pagerHints) |
||
import qualified Data.Map as M |
import qualified Data.Map as M |
||
import qualified XMonad.StackSet as W |
import qualified XMonad.StackSet as W |
||
− | import Data.Bits ((.|.)) |
||
− | main = xmonad desktopConfig { |
+ | main = xmonad $ pagerHints $ desktopConfig { |
modMask = mod4Mask, |
modMask = mod4Mask, |
||
− | terminal = " |
+ | terminal = "gnome-terminal", |
− | keys = \c -> |
+ | keys = \c -> myKeys c `M.union` keys desktopConfig c, |
− | + | startupHook = startupHook desktopConfig >> setWMName "LG3D", |
|
+ | logHook = logHook desktopConfig >> fadeInactiveLogHook 0xcccccccc, |
||
layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full, |
layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full, |
||
manageHook = myManageHook <+> manageHook desktopConfig, |
manageHook = myManageHook <+> manageHook desktopConfig, |
||
workspaces = map show [1..8], |
workspaces = map show [1..8], |
||
focusedBorderColor = "#729fcf", |
focusedBorderColor = "#729fcf", |
||
− | normalBorderColor = "#aaaaaa" |
+ | normalBorderColor = "#aaaaaa", |
+ | borderWidth = 1 |
||
} |
} |
||
− | tiled = |
+ | tiled = HintedTile 1 0.03 0.5 TopLeft Tall |
− | nmaster = 1 |
||
− | ratio = 1/2 |
||
− | delta = 3/100 |
||
− | + | myKeys conf@(XConfig {modMask = modm}) = M.fromList $ |
|
[((modm, xK_semicolon), sendMessage (IncMasterN (-1))), |
[((modm, xK_semicolon), sendMessage (IncMasterN (-1))), |
||
((mod1Mask, xK_Tab), windows W.focusDown), |
((mod1Mask, xK_Tab), windows W.focusDown), |
||
((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp), |
((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp), |
||
+ | ((modm .|. shiftMask, xK_l), spawn "gnome-screensaver-command -l")] |
||
− | ((mod4Mask, xK_i), sendMessage NextLayout)] |
||
++ |
++ |
||
− | [(( |
+ | [((modm .|. mask, key), f sc) |
− | + | | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] |
|
− | + | , (f, mask) <- [(viewScreen, 0), (sendToScreen, shiftMask)]] |
|
+ | ++ |
||
+ | [((modm .|. mask, key), f sc) |
||
+ | | (key, sc) <- zip [xK_a, xK_u, xK_i] [0..] |
||
+ | , (f, mask) <- [(viewScreen, 0), (sendToScreen, shiftMask)]] |
||
+ | ++ |
||
+ | [((m .|. modm, k), windows $ f i) |
||
+ | | (i, k) <- zip (workspaces conf) num |
||
+ | , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] |
||
+ | num = numBepo |
||
− | numbepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a] |
||
+ | --num = numAzerty |
||
− | numazerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0] |
||
+ | numBepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a] |
||
+ | numAzerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0] |
||
− | myManageHook = composeAll |
+ | myManageHook = composeAll $ |
− | + | [className =? "Xfce4-notifyd" --> doIgnore, |
|
− | + | className =? "Xfrun4" --> doFloat, |
|
− | + | className =? "Xfce4-appfinder" --> doFloat, |
|
+ | className =? "mplayer2" --> doFloat] |
||
+ | ++ |
||
+ | [className =? c --> doShift w | (w, cs) <- wcs, c <- cs] |
||
+ | where wcs = [("2", ["Midori", "Firefox", "Iceweasel", "Claws-mail"]), |
||
+ | ("4", ["Gajim"]), |
||
+ | ("5", ["Gmpc"])] |
||
</haskell> |
</haskell> |
||
+ | |||
+ | taffybar.hs |
||
+ | <haskell> |
||
+ | import System.Taffybar |
||
+ | |||
+ | import System.Taffybar.Systray |
||
+ | import System.Taffybar.TaffyPager |
||
+ | import System.Taffybar.SimpleClock |
||
+ | |||
+ | import System.Taffybar.Widgets.PollingBar |
||
+ | import System.Taffybar.Widgets.PollingGraph |
||
+ | import System.Taffybar.Widgets.PollingLabel |
||
+ | |||
+ | import System.Information.Memory |
||
+ | import System.Information.CPU |
||
+ | |||
+ | memCallback = do |
||
+ | mi <- parseMeminfo |
||
+ | return [memoryUsedRatio mi] |
||
+ | |||
+ | cpuCallback = do |
||
+ | (userLoad, systemLoad, totalLoad) <- cpuLoad |
||
+ | return [totalLoad, systemLoad] |
||
+ | |||
+ | main = do |
||
+ | let memCfg = defaultGraphConfig { graphDataColors = [ (0.8, 0.2, 0.2, 1) ] } |
||
+ | cpuCfg = defaultGraphConfig { graphDataColors = [ (0.45, 0.62, 0.81, 1), (1, 0, 1, 0.5) ] } |
||
+ | clock = textClockNew Nothing "%Y-%m-%d %H:%M" 1 |
||
+ | pager = taffyPagerNew defaultPagerConfig |
||
+ | mem = pollingGraphNew memCfg 1 memCallback |
||
+ | cpu = pollingGraphNew cpuCfg 1 cpuCallback |
||
+ | tray = systrayNew |
||
+ | defaultTaffybar defaultTaffybarConfig { startWidgets = [ pager ] |
||
+ | , endWidgets = [ clock, mem, cpu, tray ] |
||
+ | } |
||
+ | </haskell> |
||
+ | |||
+ | taffybar.rs |
||
+ | |||
+ | style "taffybar-default" { |
||
+ | color["black"] = "#000000" |
||
+ | color["white"] = "#ffffff" |
||
+ | color["green"] = "#00ff00" |
||
+ | color["red"] = "#ff0000" |
||
+ | |||
+ | bg[NORMAL] = @black |
||
+ | fg[NORMAL] = @white |
||
+ | text[NORMAL] = @white |
||
+ | fg[PRELIGHT] = @green |
||
+ | bg[PRELIGHT] = @black |
||
+ | } |
||
+ | |||
+ | style "taffybar-active-window" = "taffybar-default" { |
||
+ | fg[NORMAL] = @white |
||
+ | } |
||
+ | |||
+ | style "taffybar-notification-button" = "taffybar-default" { |
||
+ | text[NORMAL] = @red |
||
+ | fg[NORMAL] = @red |
||
+ | } |
||
+ | |||
+ | widget "Taffybar*" style "taffybar-default" |
||
+ | widget "Taffybar*WindowSwitcher*label" style "taffybar-active-window" |
||
+ | widget "*NotificationCloseButton" style "taffybar-notification-button" |
||
+ | |||
+ | .xsession |
||
+ | |||
+ | export PATH=~/.cargo/bin:~/.local/bin:$PATH |
||
+ | ~/.local/bin/bepo |
||
+ | ~/.fehbg |
||
+ | dunst & |
||
+ | gnome-screensaver & |
||
+ | xfce4-power-manager |
||
+ | nm-applet & |
||
+ | pasystray & |
||
+ | xcompmgr & |
||
+ | taffybar & |
||
+ | exec xmonad |
Latest revision as of 14:23, 2 May 2018
import XMonad hiding (Tall)
import XMonad.Actions.PhysicalScreens
import XMonad.Config.Desktop
import XMonad.Hooks.FadeInactive
import XMonad.Hooks.SetWMName
import XMonad.Layout.NoBorders
import XMonad.Layout.HintedTile
import System.Taffybar.Hooks.PagerHints (pagerHints)
import qualified Data.Map as M
import qualified XMonad.StackSet as W
main = xmonad $ pagerHints $ desktopConfig {
modMask = mod4Mask,
terminal = "gnome-terminal",
keys = \c -> myKeys c `M.union` keys desktopConfig c,
startupHook = startupHook desktopConfig >> setWMName "LG3D",
logHook = logHook desktopConfig >> fadeInactiveLogHook 0xcccccccc,
layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full,
manageHook = myManageHook <+> manageHook desktopConfig,
workspaces = map show [1..8],
focusedBorderColor = "#729fcf",
normalBorderColor = "#aaaaaa",
borderWidth = 1
}
tiled = HintedTile 1 0.03 0.5 TopLeft Tall
myKeys conf@(XConfig {modMask = modm}) = M.fromList $
[((modm, xK_semicolon), sendMessage (IncMasterN (-1))),
((mod1Mask, xK_Tab), windows W.focusDown),
((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp),
((modm .|. shiftMask, xK_l), spawn "gnome-screensaver-command -l")]
++
[((modm .|. mask, key), f sc)
| (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
, (f, mask) <- [(viewScreen, 0), (sendToScreen, shiftMask)]]
++
[((modm .|. mask, key), f sc)
| (key, sc) <- zip [xK_a, xK_u, xK_i] [0..]
, (f, mask) <- [(viewScreen, 0), (sendToScreen, shiftMask)]]
++
[((m .|. modm, k), windows $ f i)
| (i, k) <- zip (workspaces conf) num
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
num = numBepo
--num = numAzerty
numBepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a]
numAzerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0]
myManageHook = composeAll $
[className =? "Xfce4-notifyd" --> doIgnore,
className =? "Xfrun4" --> doFloat,
className =? "Xfce4-appfinder" --> doFloat,
className =? "mplayer2" --> doFloat]
++
[className =? c --> doShift w | (w, cs) <- wcs, c <- cs]
where wcs = [("2", ["Midori", "Firefox", "Iceweasel", "Claws-mail"]),
("4", ["Gajim"]),
("5", ["Gmpc"])]
taffybar.hs
import System.Taffybar
import System.Taffybar.Systray
import System.Taffybar.TaffyPager
import System.Taffybar.SimpleClock
import System.Taffybar.Widgets.PollingBar
import System.Taffybar.Widgets.PollingGraph
import System.Taffybar.Widgets.PollingLabel
import System.Information.Memory
import System.Information.CPU
memCallback = do
mi <- parseMeminfo
return [memoryUsedRatio mi]
cpuCallback = do
(userLoad, systemLoad, totalLoad) <- cpuLoad
return [totalLoad, systemLoad]
main = do
let memCfg = defaultGraphConfig { graphDataColors = [ (0.8, 0.2, 0.2, 1) ] }
cpuCfg = defaultGraphConfig { graphDataColors = [ (0.45, 0.62, 0.81, 1), (1, 0, 1, 0.5) ] }
clock = textClockNew Nothing "%Y-%m-%d %H:%M" 1
pager = taffyPagerNew defaultPagerConfig
mem = pollingGraphNew memCfg 1 memCallback
cpu = pollingGraphNew cpuCfg 1 cpuCallback
tray = systrayNew
defaultTaffybar defaultTaffybarConfig { startWidgets = [ pager ]
, endWidgets = [ clock, mem, cpu, tray ]
}
taffybar.rs
style "taffybar-default" { color["black"] = "#000000" color["white"] = "#ffffff" color["green"] = "#00ff00" color["red"] = "#ff0000" bg[NORMAL] = @black fg[NORMAL] = @white text[NORMAL] = @white fg[PRELIGHT] = @green bg[PRELIGHT] = @black } style "taffybar-active-window" = "taffybar-default" { fg[NORMAL] = @white } style "taffybar-notification-button" = "taffybar-default" { text[NORMAL] = @red fg[NORMAL] = @red } widget "Taffybar*" style "taffybar-default" widget "Taffybar*WindowSwitcher*label" style "taffybar-active-window" widget "*NotificationCloseButton" style "taffybar-notification-button"
.xsession
export PATH=~/.cargo/bin:~/.local/bin:$PATH ~/.local/bin/bepo ~/.fehbg dunst & gnome-screensaver & xfce4-power-manager nm-applet & pasystray & xcompmgr & taffybar & exec xmonad