diff options
-rwxr-xr-x | scripts/date_left | 3 | ||||
-rwxr-xr-x | scripts/date_right | 3 | ||||
-rwxr-xr-x | scripts/hehe | 3 | ||||
-rw-r--r-- | xmobar.hs | 21 | ||||
-rw-r--r-- | xmonad.hs | 160 |
5 files changed, 121 insertions, 69 deletions
diff --git a/scripts/date_left b/scripts/date_left new file mode 100755 index 0000000..1c24ff6 --- /dev/null +++ b/scripts/date_left @@ -0,0 +1,3 @@ +#!/bin/bash + +notify-send " " "$(ncal -bh)" diff --git a/scripts/date_right b/scripts/date_right new file mode 100755 index 0000000..b211ac9 --- /dev/null +++ b/scripts/date_right @@ -0,0 +1,3 @@ +#!/bin/bash + +notify-send " " "$(ncal -bh -3)" diff --git a/scripts/hehe b/scripts/hehe new file mode 100755 index 0000000..3c37b29 --- /dev/null +++ b/scripts/hehe @@ -0,0 +1,3 @@ +#!/bin/bash + +ssh eye scripts/i3blocks/mympdinfo | sed -E 's#<.*>(.*)</span>#\1#' @@ -1,5 +1,4 @@ -Config { font = "-misc-fixed-*-*-*-*-12-*-*-*-*-*-*-*" ---Config { font = "xfg:Noto Sans" +Config { font = "xft:Liberation Mono:size=9:bold:antialias=true" , additionalFonts = [] , borderColor = "black" , border = TopB @@ -17,7 +16,7 @@ Config { font = "-misc-fixed-*-*-*-*-12-*-*-*-*-*-*-*" , iconRoot = "." , allDesktops = True , overrideRedirect = True - , commands = [ Run Weather "LGTS" ["-t","Thess: <tempC>C, rh <rh>%", + , commands = [ Run Weather "LGTS" ["-t","<skyCondition> <tempC>°C, rh <rh>%", "-L","15","-H","25", "--normal","green", "--high","red", @@ -28,21 +27,25 @@ Config { font = "-misc-fixed-*-*-*-*-12-*-*-*-*-*-*-*" "--normal","green","--high","red"] 10 , Run Cpu ["-L","3","-H","50", "--normal","green","--high","red"] 10 - , Run Battery ["-t","[<watts>]<leftbar>[<left>%]"] 30 + , Run MultiCoreTemp ["-t","<avg>°C","-L","60","-H","80","-l","green","-n","yellow","-h","red"] 50 + , Run Battery ["-t","BAT:(<watts>)[<left>%]", + "-L", "10", "-H", "80", "-p", "3", + "-a", "notify-send -u critical 'Battery running out!!'"] 30 , Run Memory ["-t","Mem: <usedratio>% <usedbar>"] 10 --- , Run Com "uname" ["-s","-r"] "" 36000 + , Run Alsa "default" "Master" [] , Run Date "%a %b %_d %Y %H:%M:%S" "date" 10 , Run Kbd [("us", "US"), ("gr", "GR")] - , Run StdinReader + , Run UnsafeStdinReader ] , sepChar = "%" , alignSep = "}{" - , template = "%StdinReader% }{ \ + , template = "%UnsafeStdinReader% }{ \ \<fc=#ab68bb>%/home/grm/.config/i3blocks/scripts/thevpn%</fc> %wlo1% - %eth0% | \ - \%cpu% | \ + \%cpu% %multicoretemp% | \ \%/home/grm/.config/i3blocks/scripts/mumu% | \ \%memory% | \ \%LGTS% | \ \%battery% | \ - \<fc=#ee9a00>%date%</fc> [ %kbd% ]" + \<action=`pavucontrol`>%alsa:default:Master%</action> | \ + \<action=`/home/grm/.xmonad/scripts/date_left`><action=`/home/grm/.xmonad/scripts/date_right` button=3><fc=#ee9a00>%date%</fc></action></action> [%kbd%]" } @@ -1,5 +1,6 @@ import XMonad import XMonad.Config.Desktop +import XMonad.Hooks.EwmhDesktops import System.Exit @@ -14,6 +15,8 @@ import XMonad.Util.SpawnOnce import XMonad.Util.WorkspaceCompare import XMonad.Hooks.ManageDocks +import XMonad.ManageHook +import XMonad.Util.NamedScratchpad import XMonad.Layout.Grid import XMonad.Layout.CenteredMaster @@ -23,33 +26,54 @@ import XMonad.Layout.MosaicAlt import XMonad.Layout.Tabbed import XMonad.Layout.ResizableTile - import XMonad.Layout.SubLayouts import XMonad.Layout.WindowNavigation +import XMonad.Layout.NoBorders + +import XMonad.Layout.Named +import XMonad.Layout.Dwindle as DWIN +import XMonad.Layout.BinarySpacePartition as BSP + +import XMonad.Layout.MultiToggle +import XMonad.Layout.MultiToggle.Instances + +import XMonad.Layout.Spacing import XMonad.Prompt import XMonad.Prompt.Shell import XMonad.Prompt.XMonad -myPP = def { ppCurrent = xmobarColor "#1ABC9C" "" . wrap "[" "]" - , ppTitle = xmobarColor "#1ABC9C" "" . shorten 60 - , ppVisible = wrap "(" ")" - , ppUrgent = xmobarColor "red" "yellow" - -- , ppSort = getSortByXineramaPhysicalRule def - } +import XMonad.Hooks.InsertPosition + +-- xmobarEscape = concatMap doubleLts +-- where doubleLts '<' = "<<" +-- doubleLts x = [x] + +-- myWorkspaces :: [String] +-- myWorkspaces = clickable . (map xmobarEscape) $ ["1","2","3","4","5","6","7","8","9"] +-- where +-- clickable l = [ "<action=xdotool key Super_L+" ++ show (n) ++ ">" ++ ws ++ "</action>" | +-- (i,ws) <- zip [1..9] l, +-- let n = i ] + +scratchpads = [ + NS "tmux" ("urxvt -name tmux -e tmux") (resource =? "tmux") + (customFloating $ W.RationalRect (1/6) (1/6) (2/3) (2/3)) + ] main = do - h <- spawnPipe "xmobar ~/.xmonad/xmobar.hs" - xmonad $ desktopConfig - { terminal = "urxvt" + h <- spawnPipe "~/.cabal/bin/xmobar ~/.xmonad/xmobar.hs" + xmonad $ ewmh $ docks def + { terminal = "urxvt-server-client" , modMask = mod4Mask , startupHook = startup , layoutHook = myLayout +-- , workspaces = ["1","2","3","4","5"] +-- , XMonad.workspaces = myWorkspaces -- , keys = \c -> mykeys c `M.union` keys def c , keys = mykeys - , manageHook = myManageHook <+> manageDocks <+> manageHook def - , logHook = dynamicLogWithPP myPP - { ppOutput = hPutStrLn h } + , manageHook = insertPosition Below Newer <+> myManageHook <+> manageDocks <+> namedScratchpadManageHook scratchpads <+> manageHook def + , logHook = dynamicLogWithPP . namedScratchpadFilterOutWorkspacePP $ myPP h } where mykeys (XConfig {modMask = modm}) = @@ -60,84 +84,75 @@ main = do , ((modm , xK_j), spawn "jira-issue-nude.sh") , ((modm .|. controlMask, xK_x), shellPrompt def) , ((modm .|. shiftMask , xK_x), xmonadPrompt def) - , ((modm, xK_x), sendMessage MirrorShrink) - , ((modm, xK_s), sendMessage MirrorExpand) - + , ((modm , xK_x), sendMessage MirrorShrink) + , ((modm , xK_s), sendMessage MirrorExpand) + , ((modm , xK_f), sendMessage $ Toggle NBFULL) + , ((modm , xK_g), toggleWindowSpacingEnabled) + -- , ((modm .|. shiftMask, xK_g), incWindowSpacing 2) + -- , ((modm .|. controlMask, xK_g), decWindowSpacing 2) + -- ; button + , ((modm , 0x3B), namedScratchpadAction scratchpads "tmux") + -- menu button + -- , ((0 , 0xFF67), namedScratchpadAction scratchpads "tmux") + , ((0 , 0x1008FF11), spawn "amixer -D pulse -q sset Master 2%-") + , ((0 , 0x1008FF13), spawn "amixer -D pulse -q sset Master 2%+") + , ((0 , 0x1008FF12), spawn "amixer set -D pulse Master toggle") + , ((modm, xK_Return), spawn "urxvt-server-client") -- launch dmenu , ((modm, xK_d ), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"") - -- launch gmrun , ((modm .|. shiftMask, xK_p ), spawn "gmrun") - - -- close focused window + -- close focused window , ((modm .|. shiftMask, xK_q ), kill) - -- Rotate through the available layout algorithms , ((modm, xK_w ), sendMessage NextLayout) - - -- Reset the layouts on the current workspace to default - --, ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook def) - - -- Resize viewed windows to the correct size + -- Reset the layouts on the current workspace to default + --, ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook def) + -- Resize viewed windows to the correct size --, ((modm, xK_n ), refresh) - -- Move focus to the next window , ((modm, xK_Tab ), windows W.focusDown) - -- Move focus to the next window , ((modm, xK_e ), windows W.focusDown) - -- Move focus to the previous window , ((modm, xK_a ), windows W.focusUp ) - -- Move focus to the master window , ((modm, xK_m ), windows W.focusMaster ) - -- Swap the focused window and the master window , ((modm .|. shiftMask, xK_Return), windows W.swapMaster) - -- Swap the focused window with the next window , ((modm .|. shiftMask, xK_e ), windows W.swapDown ) - -- Swap the focused window with the previous window , ((modm .|. shiftMask, xK_a ), windows W.swapUp ) - -- Shrink the master area , ((modm, xK_h ), sendMessage Shrink) - -- Expand the master area , ((modm, xK_l ), sendMessage Expand) - -- Push window back into tiling , ((modm, xK_t ), withFocused $ windows . W.sink) - -- Increment the number of windows in the master area , ((modm , xK_comma ), sendMessage (IncMasterN 1)) - -- Deincrement the number of windows in the master area , ((modm , xK_period), sendMessage (IncMasterN (-1))) - -- toggle the status bar gap (used with avoidStruts from Hooks.ManageDocks) -- , ((modm , xK_b ), sendMessage ToggleStruts) - -- Quit xmonad , ((modm .|. shiftMask, xK_z ), io (exitWith ExitSuccess)) - -- Restart xmonad , ((modm , xK_z ), restart "xmonad" True) ] ++ - [((modm .|. controlMask, xK_h), sendMessage $ pullGroup L) - , ((modm .|. controlMask, xK_l), sendMessage $ pullGroup R) - , ((modm .|. controlMask, xK_k), sendMessage $ pullGroup U) - , ((modm .|. controlMask, xK_j), sendMessage $ pullGroup D) - , ((modm .|. controlMask, xK_m), withFocused (sendMessage . MergeAll)) - , ((modm .|. controlMask, xK_u), withFocused (sendMessage . UnMerge)) - , ((modm .|. controlMask, xK_period), onGroup W.focusUp') - , ((modm .|. controlMask, xK_comma), onGroup W.focusDown')] + [ ((modm .|. controlMask, xK_h) , sendMessage $ pullGroup L) + , ((modm .|. controlMask, xK_l) , sendMessage $ pullGroup R) + , ((modm .|. controlMask, xK_k) , sendMessage $ pullGroup U) + , ((modm .|. controlMask, xK_j) , sendMessage $ pullGroup D) + , ((modm .|. controlMask, xK_m) , withFocused (sendMessage . MergeAll)) + , ((modm .|. controlMask, xK_u) , withFocused (sendMessage . UnMerge)) + , ((modm .|. controlMask, xK_period) , onGroup W.focusUp') + , ((modm .|. controlMask, xK_comma) , onGroup W.focusDown') ] ++ @@ -147,7 +162,8 @@ main = do -- [((m .|. modm, k), windows $ f i) | (i, k) <- zip (XMonad.workspaces def) [xK_1 .. xK_9] - , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] + , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] + -- ++ -- -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 @@ -157,26 +173,50 @@ main = do -- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] -- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] -background = "feh --recursive --randomize --bg-scale /usr/share/backgrounds" +background = "feh --recursive --randomize --bg-scale ~/Pictures/wallpapers" startup :: X () startup = do - spawn "xrandr --output Virtual1 --primary --mode 1440x900 --pos 0x0 --rotate normal --output Virtual2 --off --output Virtual3 --off --output Virtual4 --off --output Virtual5 --off --output Virtual6 --off --output Virtual7 --off --output Virtual8 --off" - spawn background - spawn "setxkbmap -model pc104 -layout us,gr -variant qwerty -option grp:win_space_toggle,ctrl:nocaps,grp_led:scroll" - spawnOnce "trayer --edge top --align left --SetDockType true --SetPartialStrut true --expand true --transparent true --alpha 0 --tint 0x000000 --height 16 --width 5" + spawnOnce "xrandr --output Virtual1 --primary --mode 1440x900 --pos 0x0 --rotate normal --output Virtual2 --off --output Virtual3 --off --output Virtual4 --off --output Virtual5 --off --output Virtual6 --off --output Virtual7 --off --output Virtual8 --off" + spawnOnce "trayer --edge top --align left --SetDockType true --SetPartialStrut true --expand true --transparent true --alpha 0 --tint 0x000000 --height 18 --width 5" spawnOnce "nm-applet" spawnOnce "dunst" spawnOnce "blueman-applet" + -- + spawn background + spawn "compton" + spawn "xsetroot -cursor_name dot" + spawn "setxkbmap -model pc104 -layout us,gr -variant qwerty -option grp:win_space_toggle,ctrl:nocaps,grp_led:scroll" --- myLayout = tiled ||| Mirror tiled ||| Full ||| Grid ||| dragPane Vertical 0.1 0.5 myLayout = - avoidStruts ( windowNavigation $ - subTabbed $ - MosaicAlt M.empty ||| + mkToggle (NBFULL ?? EOT) $ + avoidStruts + ( spacingRaw False (Border 10 10 10 10) False (Border 10 10 10 10) True $ + noBorders ( windowNavigation $ subTabbed $ + emptyBSP ||| ResizableTall 1 (5/100) (1/2) [] ||| - Full ||| - Tall 1 (5/100) (1/2) ) + -- MosaicAlt M.empty ||| + named "Dwindle" (Dwindle R DWIN.CW 1.5 1.1) + ) + ||| noBorders Full + ) + +myPP h1 = def { ppCurrent = xmobarColor "#1ABC9C" "" . wrap "[" "]" + , ppTitle = xmobarColor "#1ABC9C" "" . shorten 60 + , ppVisible = wrap "(" ")" + , ppUrgent = xmobarColor "red" "yellow" + , ppSep = " : " + , ppWsSep = " " + , ppLayout = (\x -> case x of + "Spacing Tabbed Dwindle" -> "@" + "Spacing Tabbed ResizableTall" -> "|||" + "Spacing Tabbed BSP" -> "|\\|" + "Spacing Tabbed MosaicAlt" -> "|+|" + "Spacing Full" -> "|=|" + _ -> x + ) + , ppOutput = hPutStrLn h1 + } myManageHook = composeAll . concat $ [ [ className =? "xlnch" --> doCenterFloat ] ] |