From b914af343344e9e8301008aa62e48c6fc534db80 Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Sat, 21 May 2022 03:57:45 +0530 Subject: somehow got lemonbar to at least work --- .config/XMonad/lib/Defaults.hs | 31 +++++++++++++++++++++++++++++++ .config/XMonad/lib/Hooks.hs | 18 +++++++++++++++++- .config/XMonad/lib/Keybindings.hs | 35 +++++++++++++++++------------------ .config/XMonad/lib/git | 0 .config/XMonad/lib/libx11 | 0 .config/XMonad/lib/pkgconf | 12 ++++++++++++ .config/XMonad/lib/xorg-server | 0 .config/XMonad/xmonad.hs | 8 ++++++-- 8 files changed, 83 insertions(+), 21 deletions(-) create mode 100644 .config/XMonad/lib/git create mode 100644 .config/XMonad/lib/libx11 create mode 100644 .config/XMonad/lib/pkgconf create mode 100644 .config/XMonad/lib/xorg-server (limited to '.config') diff --git a/.config/XMonad/lib/Defaults.hs b/.config/XMonad/lib/Defaults.hs index 09b6c4b..15c278c 100644 --- a/.config/XMonad/lib/Defaults.hs +++ b/.config/XMonad/lib/Defaults.hs @@ -5,6 +5,7 @@ import XMonad.Layout.Spacing import XMonad.Layout.Tabbed import XMonad.Actions.GridSelect + myBorder = "#120F23" myBorder' = "#C44CF2" @@ -91,3 +92,33 @@ myGSConfig colorizer = (buildDefaultGSConfig myGSColorizer) } myGridSelect = myGSConfig myGSColorizer + +-- bar config + +bottomBar = "-b" +barDimensions = "1920x28+0+0" +barBackground = "#1E2120" +barForeground = "#FFFFFF" +barFont = "-f 'SauceCodePro:style=Regular:size=12' -f 'Source Han Sans JP:size=11'" + +myLemonbar = "lemonbar " ++ bottomBar ++ " -g " ++ barDimensions ++ " -B '" ++ barBackground ++ "' -F '" ++ barForeground ++ "'" ++ barFont +-- myLemonbar = "cat > ~/lemonb/ffx" + +-- wsVisibleBG = "#ffffff" +-- wsVisibleFG = "#FFFFFF" + +wsVisibleOccupiedBG = "#ff0aa3" +wsVisibleOccupiedFG = "#FFFFFF" + +-- multi monitor only +-- wsVisibleInactiveBG = "#ff0aa3" +-- wsVisibleInactiveFG = "#FFFFFF" + +wsOccupiedBG = "#9b1bed" +wsOccupiedFG = "#FFFFFF" + +wsEmptyBG = "#272526" +wsEmptyFG = "#9d00ff" + +titleBG = "#272526" +titleFG = "#9d00ff" diff --git a/.config/XMonad/lib/Hooks.hs b/.config/XMonad/lib/Hooks.hs index 45eb6e0..99bb530 100644 --- a/.config/XMonad/lib/Hooks.hs +++ b/.config/XMonad/lib/Hooks.hs @@ -13,6 +13,8 @@ import XMonad.Layout.Tabbed import XMonad.Hooks.SetWMName import XMonad.Hooks.ManageDocks +import XMonad.Hooks.ManageHelpers +import XMonad.Hooks.StatusBar.PP import XMonad.Util.SpawnOnce import XMonad.Util.Cursor @@ -21,10 +23,23 @@ import XMonad.Util.NamedScratchpad import Defaults import Scratchpads +myLemonbarPP = def { + ppCurrent = wrap ("%{B" ++ wsVisibleOccupiedBG ++ "}%{F" ++ wsVisibleOccupiedFG ++ "} ") " %{B-}%{F-}" + -- , ppVisibleNoWindows = wrap ("%{B" ++ wsVisibleBG ++ "}%{F" ++ wsVisibleFG ++ "} ") " %{B-}%{F-}" + -- , ppVisibleNoWindows = wrap "" "" + -- , ppVisible = wrap ("%{B" ++ wsVisibleBG ++ "}%{F" ++ wsVisibleFG ++ "} ") " %{B-}%{F-}" + , ppHidden = wrap ("%{B" ++ wsOccupiedBG ++ "}%{F" ++ wsOccupiedFG ++ "} ") " %{B-}%{F-}" + , ppHiddenNoWindows = wrap ("%{B" ++ wsEmptyBG ++ "}%{F" ++ wsEmptyFG ++ "} ") " %{B-}%{F-}" + , ppTitle = wrap ("%{B" ++ titleBG ++ "}%{F" ++ titleFG ++ "} ") " %{B-}%{F-}" + , ppWsSep = "" + , ppSep = "" + , ppOrder = \(ws:_:t:_) -> ["%{l}"++t++"","%{r}"++ws++""] + } + myManageHook = namedScratchpadManageHook myScratchpads <+> manageDocks <+> composeAll [ className =? "discord" --> doShift ( myWorkspaces !! 9 ) - , className =? "vlc" --> doShift ( myWorkspaces !! 6 ) + , isFullscreen --> doFullFloat ] myLayoutHook = avoidStruts $ maximize $ windowNavigation $ smartBorders $ myGap $ @@ -39,3 +54,4 @@ myStartupHook = do spawnOnce "cbatticon" setWMName "LG3D" setDefaultCursor xC_left_ptr + diff --git a/.config/XMonad/lib/Keybindings.hs b/.config/XMonad/lib/Keybindings.hs index 84ebb7c..3a07683 100644 --- a/.config/XMonad/lib/Keybindings.hs +++ b/.config/XMonad/lib/Keybindings.hs @@ -118,26 +118,24 @@ myKeybindings = [ , ((myModMask', xK_k), windows W.focusUp) -- 2D navigation - , ((myModMask, xK_l), sendMessage $ Go R) - , ((myModMask, xK_h), sendMessage $ Go L) - , ((myModMask, xK_k), sendMessage $ Go U) - , ((myModMask, xK_j), sendMessage $ Go D) - + , ((myModMask, xK_l), sendMessage $ Go R) + , ((myModMask, xK_h), sendMessage $ Go L) + , ((myModMask, xK_k), sendMessage $ Go U) + , ((myModMask, xK_j), sendMessage $ Go D) -- swap windows - , ((myModMask .|. shiftMask, xK_l), sendMessage $ WN.Swap R) - , ((myModMask .|. shiftMask, xK_h), sendMessage $ WN.Swap L) - , ((myModMask .|. shiftMask, xK_k), sendMessage $ WN.Swap U) - , ((myModMask .|. shiftMask, xK_j), sendMessage $ WN.Swap D) - + , ((myModMask .|. shiftMask, xK_l), sendMessage $ WN.Swap R) + , ((myModMask .|. shiftMask, xK_h), sendMessage $ WN.Swap L) + , ((myModMask .|. shiftMask, xK_k), sendMessage $ WN.Swap U) + , ((myModMask .|. shiftMask, xK_j), sendMessage $ WN.Swap D) -- resize - , ((myModMask .|. mod1Mask, xK_l), sendMessage $ ExpandTowards R) - , ((myModMask .|. mod1Mask, xK_h), sendMessage $ ExpandTowards L) - , ((myModMask .|. mod1Mask, xK_j), sendMessage $ ExpandTowards D) - , ((myModMask .|. mod1Mask, xK_k), sendMessage $ ExpandTowards U) - , ((myModMask .|. mod1Mask .|. shiftMask, xK_l), sendMessage $ ShrinkFrom R) - , ((myModMask .|. mod1Mask .|. shiftMask, xK_h), sendMessage $ ShrinkFrom L) - , ((myModMask .|. mod1Mask .|. shiftMask, xK_j), sendMessage $ ShrinkFrom D) - , ((myModMask .|. mod1Mask .|. shiftMask, xK_k), sendMessage $ ShrinkFrom U) + , ((myModMask .|. mod1Mask, xK_l), sendMessage $ ExpandTowards R) + , ((myModMask .|. mod1Mask, xK_h), sendMessage $ ExpandTowards L) + , ((myModMask .|. mod1Mask, xK_j), sendMessage $ ExpandTowards D) + , ((myModMask .|. mod1Mask, xK_k), sendMessage $ ExpandTowards U) + , ((myModMask .|. mod1Mask .|. shiftMask, xK_l), sendMessage $ ShrinkFrom R) + , ((myModMask .|. mod1Mask .|. shiftMask, xK_h), sendMessage $ ShrinkFrom L) + , ((myModMask .|. mod1Mask .|. shiftMask, xK_j), sendMessage $ ShrinkFrom D) + , ((myModMask .|. mod1Mask .|. shiftMask, xK_k), sendMessage $ ShrinkFrom U) ] ++ [ -- for extra workspace(s) ((myModMask, key), windows $ W.greedyView ws) @@ -204,6 +202,7 @@ myKeybindingsP = [ , ("M-n m", spawn $ myBrowser ++ " https://myanimelist.net/profile/0ZeroTsu") -- other apps -- TODO: add scrcpy + , ("M-y e", spawn myTextEditor) , ("M-y t", spawn myTorrentClient) , ("M-y S-t", spawn "torbrowser-launcher") , ("M-y i", spawn myBrowser) diff --git a/.config/XMonad/lib/git b/.config/XMonad/lib/git new file mode 100644 index 0000000..e69de29 diff --git a/.config/XMonad/lib/libx11 b/.config/XMonad/lib/libx11 new file mode 100644 index 0000000..e69de29 diff --git a/.config/XMonad/lib/pkgconf b/.config/XMonad/lib/pkgconf new file mode 100644 index 0000000..22112ac --- /dev/null +++ b/.config/XMonad/lib/pkgconf @@ -0,0 +1,12 @@ +:: There are 35 members in group xorg-apps: +:: Repository extra + 1) xorg-bdftopcf 2) xorg-iceauth 3) xorg-mkfontscale 4) xorg-sessreg 5) xorg-setxkbmap 6) xorg-smproxy 7) xorg-x11perf 8) xorg-xauth 9) xorg-xbacklight 10) xorg-xcmsdb 11) xorg-xcursorgen 12) xorg-xdpyinfo 13) xorg-xdriinfo 14) xorg-xev 15) xorg-xgamma 16) xorg-xhost 17) xorg-xinput 18) xorg-xkbcomp 19) xorg-xkbevd 20) xorg-xkbutils 21) xorg-xkill 22) xorg-xlsatoms 23) xorg-xlsclients 24) xorg-xmodmap 25) xorg-xpr 26) xorg-xprop 27) xorg-xrandr 28) xorg-xrdb 29) xorg-xrefresh 30) xorg-xset 31) xorg-xsetroot 32) xorg-xvinfo 33) xorg-xwd 34) xorg-xwininfo 35) xorg-xwud +resolving dependencies... +looking for conflicting packages... + +Packages (41) libxft-2.3.4-1 libxinerama-1.1.4-3 libxrandr-1.5.2-3 libxss-1.2.3-3 xorg-bdftopcf-1.1-2 xorg-iceauth-1.0.9-1 xorg-mkfontscale-1.2.2-1 xorg-sessreg-1.1.2-2 xorg-setxkbmap-1.3.3-1 xorg-smproxy-1.0.6-3 xorg-x11perf-1.6.1-2 xorg-xauth-1.1.2-1 xorg-xbacklight-1.2.3-2 xorg-xcmsdb-1.0.5-3 xorg-xcursorgen-1.0.7-2 xorg-xdpyinfo-1.3.3-4 xorg-xdriinfo-1.0.6-2 xorg-xev-1.2.4-1 xorg-xgamma-1.0.6-3 xorg-xhost-1.0.8-2 xorg-xinit-1.4.1-3 xorg-xinput-1.6.3-2 xorg-xkbcomp-1.4.5-1 xorg-xkbevd-1.1.4-3 xorg-xkbutils-1.0.4-4 xorg-xkill-1.0.5-2 xorg-xlsatoms-1.1.3-2 xorg-xlsclients-1.1.4-2 xorg-xmessage-1.0.5-2 xorg-xmodmap-1.0.10-2 xorg-xpr-1.0.5-2 xorg-xprop-1.2.5-1 xorg-xrandr-1.5.1-2 xorg-xrdb-1.2.1-1 xorg-xrefresh-1.0.6-2 xorg-xset-1.2.4-2 xorg-xsetroot-1.1.2-2 xorg-xvinfo-1.1.4-2 xorg-xwd-1.0.8-1 xorg-xwininfo-1.1.5-2 xorg-xwud-1.0.5-2 + +Total Download Size: 0.01 MiB +Total Installed Size: 1.92 MiB +Net Upgrade Size: 0.03 MiB + diff --git a/.config/XMonad/lib/xorg-server b/.config/XMonad/lib/xorg-server new file mode 100644 index 0000000..e69de29 diff --git a/.config/XMonad/xmonad.hs b/.config/XMonad/xmonad.hs index 45e0c25..6286115 100644 --- a/.config/XMonad/xmonad.hs +++ b/.config/XMonad/xmonad.hs @@ -1,11 +1,15 @@ +import System.IO + import XMonad import XMonad.Layout.Fullscreen import XMonad.Hooks.ManageDocks import XMonad.Hooks.EwmhDesktops +import XMonad.Hooks.StatusBar.PP import XMonad.Util.EZConfig +import XMonad.Util.Run import Keybindings import Defaults @@ -13,7 +17,7 @@ import Hooks main :: IO () main = do - -- lemonBar <- spawnPipe myLemonbar + lemonBar <- spawnPipe myLemonbar xmonad $ ewmh $ docks $ fullscreenSupport def { focusFollowsMouse = True , borderWidth = myBorderWidth @@ -24,7 +28,7 @@ main = do , layoutHook = myLayoutHook , startupHook = myStartupHook , manageHook = myManageHook - -- , logHook = dynamicLogWithPP myLemonbarPP { ppOutput = \x -> hPutStrLn lemonBar x} + , logHook = dynamicLogWithPP myLemonbarPP { ppOutput = \x -> hPutStrLn lemonBar x} } `additionalKeys` myKeybindings `additionalKeysP` myKeybindingsP -- cgit v1.2.3