Skip to content

Instantly share code, notes, and snippets.

@skrrp
Created August 21, 2019 15:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skrrp/9b575d40328155f010ae0e297a40c8e2 to your computer and use it in GitHub Desktop.
Save skrrp/9b575d40328155f010ae0e297a40c8e2 to your computer and use it in GitHub Desktop.
Xmonad
Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
, lowerOnStart = False
, overrideRedirect = False
, hideOnStart = False
, persistent = True
, borderColor = "black"
, border = TopB
, bgColor = "black"
, fgColor = "grey"
, position = TopW L 100
, commands = [ Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run Date "%Y-%m-%d %H:%M" "date" 10
, Run BatteryP ["BAT0"]
["-t", "<acstatus><watts> (<left>%)",
"-L", "10", "-H", "80", "-p", "3",
"--", "-O", "<fc=green>On</fc> - ", "-i", "",
"-L", "-15", "-H", "-5",
"-l", "red", "-m", "blue", "-h", "green"]
600
, Run StdinReader
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ %cpu% | %memory% | %battery% | <fc=#00ff9a>%date%</fc> "
}
-- Modules
import XMonad
import XMonad.Layout
import XMonad.Layout.IM
import XMonad.Layout.Gaps
import XMonad.Layout.Named
import XMonad.Layout.Tabbed
import XMonad.Layout.OneBig
import XMonad.Layout.Reflect
import XMonad.Layout.MosaicAlt
import XMonad.Layout.NoFrillsDecoration
import XMonad.Layout.SimplestFloat
import XMonad.Layout.NoBorders
import XMonad.Layout.ResizableTile
import XMonad.Layout.MultiToggle
import XMonad.Layout.MultiToggle.Instances
import XMonad.Layout.PerWorkspace
import XMonad.Layout.Minimize
import XMonad.Layout.Maximize
import XMonad.Layout.ToggleLayouts
import XMonad.Layout.MagicFocus
import XMonad.Layout.WindowNavigation
import XMonad.Layout.WindowSwitcherDecoration
import XMonad.Layout.DraggingVisualizer
import XMonad.Layout.LayoutBuilder
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.DynamicHooks
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.UrgencyHook
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.SetWMName
import XMonad.Hooks.ManageHelpers
import XMonad.Prompt
import XMonad.Prompt.Shell
import XMonad.Prompt.XMonad
import XMonad.Prompt.Man
import XMonad.Util.Timer
import XMonad.Util.Cursor
import XMonad.Util.Loggers
import XMonad.Util.Run
import XMonad.Util.Scratchpad
import XMonad.Util.NamedScratchpad
import XMonad.Actions.CycleWS
import XMonad.Actions.ShowText
import XMonad.Actions.GridSelect
import XMonad.Actions.MouseResize
import XMonad.Actions.FloatKeys
import Data.Monoid
import Data.List
import System.Exit
import System.IO
import Control.Concurrent
import Graphics.X11.ExtraTypes.XF86
import Graphics.X11.Xinerama
import Control.Applicative
import Control.Exception as E
import qualified XMonad.StackSet as W
import qualified Data.Map as M
import qualified XMonad.Actions.FlexibleResize as Flex
import qualified XMonad.Util.ExtensibleState as XS
-- system imports
--import Control.Monad
--import Control.Monad.Trans
--import Data.Bits ((.|.))
--import Data.Map (fromList)
--import Data.Monoid
--import Data.Ratio
--import GHC.Real
--import System.Exit
-- xmonad core
--import XMonad
--import XMonad.StackSet hiding (workspaces)
-- xmonad contrib
--import XMonad.Actions.SpawnOn
--import XMonad.Actions.Warp
--import XMonad.Hooks.DynamicLog
--import XMonad.Hooks.ManageDocks
--import XMonad.Hooks.ManageHelpers
--import XMonad.Hooks.SetWMName
--import XMonad.Layout.Grid
--import XMonad.Layout.IndependentScreens
--import XMonad.Layout.Magnifier
--import XMonad.Layout.NoBorders
--import XMonad.Util.Dzen
import XMonad.Util.EZConfig
--import XMonad.Util.Run
--import XMonad.Util.XSelection
bright = "#00ff00"
dark = "#13294e"
main = do
xmproc <- spawnPipe "xmobar"
-- nScreens <- countScreens
xmonad $ docks defaultConfig {
borderWidth = 1,
terminal = "xfce4-terminal",
normalBorderColor = dark,
focusedBorderColor = bright,
manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50
}
} `additionalKeys`
[ ((mod1Mask .|. shiftMask, xK_l), spawn "slock")
, ((mod1Mask .|. shiftMask, xK_f), spawn "thunar")
]
-- Colors, fonts and paths
dzenFont = "-*-montecarlo-medium-r-normal-*-11-*-*-*-*-*-*-*"
colorBlack = "#020202" --Background
colorBlackAlt = "#1c1c1c" --Black Xdefaults
colorGray = "#444444" --Gray
colorGrayAlt = "#101010" --Gray dark
colorGrayAlt2 = "#404040"
colorGrayAlt3 = "#252525"
colorWhite = "#a9a6af" --Foreground
colorWhiteAlt = "#9d9d9d" --White dark
colorWhiteAlt2 = "#b5b3b3"
colorWhiteAlt3 = "#707070"
colorMagenta = "#8e82a2"
colorBlue = "#44aacc"
colorBlueAlt = "#3955c4"
colorRed = "#f7a16e"
colorRedAlt = "#e0105f"
colorGreen = "#66ff66"
colorGreenAlt = "#558965"
boxLeftIcon = "/home/nnoell/.icons/xbm_icons/subtle/boxleft.xbm" --left icon of dzen boxes
boxLeftIcon2 = "/home/nnoell/.icons/xbm_icons/subtle/boxleft2.xbm" --left icon2 of dzen boxes
boxRightIcon = "/home/nnoell/.icons/xbm_icons/subtle/boxright.xbm" --right icon of dzen boxes
xDefRes = 1366 --no longer used
yDefRes = 768 --no longer used
panelHeight = 16 --height of top and bottom panels
boxHeight = 14 --height of dzen logger box
topPanelSepPos = 950 --left-right alignment pos of top panel
botPanelSepPos = 450 --left-right alignment pos of bottom panel
-- Title theme
myTitleTheme :: Theme
myTitleTheme = defaultTheme
{ fontName = dzenFont
, inactiveBorderColor = colorGrayAlt2
, inactiveColor = colorGrayAlt3
, inactiveTextColor = colorWhiteAlt3
, activeBorderColor = colorGrayAlt2
, activeColor = colorGrayAlt2
, activeTextColor = colorWhiteAlt2
, urgentBorderColor = colorGray
, urgentTextColor = colorGreen
, decoHeight = 14
}
-- Prompt theme
myXPConfig :: XPConfig
myXPConfig = defaultXPConfig
{ font = dzenFont
, bgColor = colorBlack
, fgColor = colorWhite
, bgHLight = colorBlue
, fgHLight = colorBlack
, borderColor = colorGrayAlt
, promptBorderWidth = 1
, height = panelHeight
, position = Top
, historySize = 100
, historyFilter = deleteConsecutive
, autoComplete = Nothing
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment