improve polybar and xmonad submap hinting

This commit is contained in:
Leon Kowarschick 2020-03-24 12:53:14 +01:00
parent 8308801130
commit 53e609c1c5
12 changed files with 276 additions and 484 deletions

View file

@ -14,3 +14,5 @@ rofi.color-normal: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd
rofi.color-urgent: argb:031d1f21, #f3f4f5, argb:bc303541, argb:031d1f21, #9575cd rofi.color-urgent: argb:031d1f21, #f3f4f5, argb:bc303541, argb:031d1f21, #9575cd
rofi.color-active: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd rofi.color-active: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd
rofi.font: System San Francisco Display 18 rofi.font: System San Francisco Display 18
dzen.font: -*-fixed-medium-r-s*--12-87-*-*-*-*-iso10???-1

View file

@ -1,429 +0,0 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/example]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
modules-left = xmonad
modules-center = mpd
modules-right = filesystem xbacklight alsa pulseaudio xkeyboard memory cpu wlan eth battery temperature date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 2
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
; Separator in between workspaces
; label-separator = |
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = net1
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp0s3
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/alsa]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <animation-discharging> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-foreground = ${colors.foreground-alt}
animation-discharging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini
[module/xmonad]
type = custom/script
exec = xmonad-log
tail = true

View file

@ -20,7 +20,8 @@
[colors] [colors]
;background = ${xrdb:color0:#222} ;background = ${xrdb:color0:#222}
background = #bb282828 ;background = #bb282828
background = #88282828
;background = #222 ;background = #222
background-alt = #444 background-alt = #444
;foreground = ${xrdb:color7:#222} ;foreground = ${xrdb:color7:#222}
@ -36,13 +37,16 @@ alert = #bd2c40
[bar/main] [bar/main]
width = 100% width = 100%
height = 24 height = 27
radius = 0.0 radius = 0.0
enable-ipc = true enable-ipc = true
padding = 0 padding = 0
;; center centered modules on screen, not between other modules ;; center centered modules on screen, not between other modules
fixed-center = true fixed-center = true
separator = "%{F#aaa}|%{F-}"
separator-padding = 1
background = ${colors.background} background = ${colors.background}
foreground = ${colors.foreground} foreground = ${colors.foreground}
@ -65,8 +69,10 @@ font-0 = fixed:pixelsize=10;1
;font-7 = "JetBrainsMono Nerd Font:size=7" ;font-7 = "JetBrainsMono Nerd Font:size=7"
;font-0 = "JetBrainsMono Nerd Font:fontformat=truetype:size=10;2" ;font-0 = "JetBrainsMono Nerd Font:fontformat=truetype:size=10;2"
;font-0 = "Iosevka Nerd Font:size=10;1" ;font-0 = "Iosevka Nerd Font:size=10;1"
;font-1 = "NotoEmoji:scale=12;1" ;font-1 = "NotoEmoji:scale=10;1"
font-1 = "Symbola:size=12;1" font-1 = "Symbola:size=12;1"
font-2 = FontAwesome5Free:style=Solid:size=10;1
;font-1 = "FontAwesome:fontformat=truetype:size=12;1"
modules-left = xmonad test modules-left = xmonad test
@ -97,8 +103,9 @@ interval = 25
mount-0 = / mount-0 = /
format-mounted = <label-mounted> format-mounted = <label-mounted>
format-mounted-prefix = "disk: " ;format-mounted-prefix = "disk: "
format-mounted-prefix-foreground = ${colors.foreground-alt} ;format-mounted-prefix-foreground = ${colors.foreground-alt}
format-mounted-prefix = "%{F#0fca42}  %{F-} Disk: "
format-mounted-underline = #0fca42 format-mounted-underline = #0fca42
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted label-unmounted = %mountpoint% not mounted
@ -122,17 +129,19 @@ label-song-ellipsis = true
[module/cpu] [module/cpu]
type = internal/cpu type = internal/cpu
interval = 2 interval = 2
format-prefix = "cpu: " ;format-prefix = "cpu: "
format-prefix-foreground = ${colors.foreground-alt} ;format-prefix-foreground = ${colors.foreground-alt}
format-prefix = "%{F#f9a000}  %{F-} CPU: "
format-underline = #f9a000 format-underline = #f9a000
label = %percentage:2%% label = %percentage:2%%
[module/memory] [module/memory]
type = internal/memory type = internal/memory
interval = 2 interval = 2
format-prefix = "mem: " ;format-prefix = "mem: "
format-prefix-foreground = ${colors.foreground-alt} ;format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc format-prefix = "%{F#0a6cf5}  %{F-} Mem: "
format-underline = #0a6cf5
label = %percentage_used%% label = %percentage_used%%
[module/date] [module/date]
@ -143,37 +152,12 @@ date-alt = %d-%m-%Y
time = %H:%M time = %H:%M
time-alt = %H:%M:%S time-alt = %H:%M:%S
;format-prefix =  format-prefix = "%{F#fbff8c}  %{F-}"
;format-prefix-foreground = ${colors.foreground-alt} ;format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5 ;format-underline = #4bffdc
format-underline = #fbff8c
label = %time% | %date% label = %time% | %date%
;[module/pulseaudio]
;type = internal/pulseaudio
;format-volume-prefix = "vol: "
;format-volume-prefix-foreground = ${colors.foreground-alt}
;format-volume-underline = #f0f040
;format-volume = <label-volume>
;label-volume = %percentage%%
;label-volume-foreground = ${root.foreground}
;label-muted = 🔇 muted
;label-muted-foreground = #666
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
pseudo-transparency = true
[global/wm]
margin-top = 5
margin-bottom = 0
[module/xmonad] [module/xmonad]
type = custom/script type = custom/script
exec = xmonad-log exec = xmonad-log
@ -218,10 +202,8 @@ tail = true
[module/spotify] [module/spotify]
type = custom/script type = custom/script
interval = 1 interval = 1
label-font = 7 format = "<label> %{A1:dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous:}%{A-} %{A1:dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next:}%{A-}"
format-font = 7 exec = python ~/.config/polybar/polybar-scripts/spotify_status.py -f '{artist} - {song} {play_pause}'
format = <label> click-left = "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
exec = python ~/.config/polybar/polybar-scripts/spotify_status.py -f '{play_pause} : {artist} - {song} [ {album} ]' exec-if = "pgrep spotify"
format-underline = #1db954 format-underline = #1db954
;; }}}

View file

@ -54,7 +54,8 @@ while true; do
bytes[past_tx_$interface]=${bytes[now_tx_$interface]} bytes[past_tx_$interface]=${bytes[now_tx_$interface]}
done done
echo "D: $(print_bytes $down) U: $(print_bytes $up)" echo "%{F#f00}  %{F-}$(print_bytes $down) %{F#0f0}  %{F-}$(print_bytes $up)"
#echo "D: $(print_bytes $down) U: $(print_bytes $up)"
#echo "Download: $(print_bytes $down) / Upload: $(print_bytes $up)" #echo "Download: $(print_bytes $down) / Upload: $(print_bytes $up)"
# echo "Download: $(print_bit $down) / Upload: $(print_bit $up)" # echo "Download: $(print_bit $down) / Upload: $(print_bit $up)"

View file

@ -3,6 +3,7 @@
-- Imports -------------------------------------------------------- {{{ -- Imports -------------------------------------------------------- {{{
module Config (main) where module Config (main) where
import qualified System.IO as SysIO
import qualified Data.Map as M import qualified Data.Map as M
import Data.List (isSuffixOf, isPrefixOf) import Data.List (isSuffixOf, isPrefixOf)
import qualified Data.Maybe as Maybe import qualified Data.Maybe as Maybe
@ -23,6 +24,7 @@ import XMonad.Config.Desktop
import XMonad.Hooks.DynamicLog import XMonad.Hooks.DynamicLog
import XMonad.Hooks.FadeInactive import XMonad.Hooks.FadeInactive
import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageDocks
import XMonad.Hooks.EwmhDesktops (ewmh)
import XMonad.Hooks.SetWMName (setWMName) import XMonad.Hooks.SetWMName (setWMName)
import XMonad.Layout.Gaps import XMonad.Layout.Gaps
import XMonad.Layout.LayoutCombinators ((|||)) import XMonad.Layout.LayoutCombinators ((|||))
@ -45,7 +47,7 @@ import XMonad.Util.SpawnOnce (spawnOnce)
-- Values -------------------- {{{ -- Values -------------------- {{{
myModMask = mod4Mask myModMask = mod4Mask
myLauncher = "rofi -show run" myLauncher = "rofi -show run -theme /home/leon/scripts/rofi-scripts/launcher_grid_full_style.rasi"
myTerminal = "kitty --single-instance" myTerminal = "kitty --single-instance"
myBrowser = "google-chrome-stable" myBrowser = "google-chrome-stable"
--yBar = "xmobar" --yBar = "xmobar"
@ -57,6 +59,7 @@ scratchpads =
, NS "ghci" launchGHCI (className =? "scratchpad_ghci") (customFloating $ W.RationalRect 0 0.7 1 0.3) , NS "ghci" launchGHCI (className =? "scratchpad_ghci") (customFloating $ W.RationalRect 0 0.7 1 0.3)
, NS "whatsapp" launchWhatsapp (("WhatsApp" `isSuffixOf`) <$> title) defaultFloating , NS "whatsapp" launchWhatsapp (("WhatsApp" `isSuffixOf`) <$> title) defaultFloating
, NS "slack" "slack" (("Slack | " `isPrefixOf`) <$> title) defaultFloating , NS "slack" "slack" (("Slack | " `isPrefixOf`) <$> title) defaultFloating
, NS "spotify" "spotify" (appName =? "spotify") defaultFloating
] ]
where where
launchTerminal = myTerminal ++ " --class scratchpad_term" launchTerminal = myTerminal ++ " --class scratchpad_term"
@ -147,12 +150,13 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
-- programs -- programs
, ("M-p", spawn myLauncher) , ("M-p", spawn myLauncher)
, ("M-S-p", spawn "rofi -combi-modi drun,window,ssh -show combi") , ("M-S-p", spawn "rofi -combi-modi drun,window,ssh -show combi -theme /home/leon/scripts/rofi-scripts/launcher_grid_full_style.rasi")
, ("M-S-e", spawn "rofi -show emoji -modi emoji") , ("M-S-e", spawn "rofi -show emoji -modi emoji -theme /home/leon/scripts/rofi-scripts/launcher_grid_full_style.rasi")
, ("M-b", spawn myBrowser) , ("M-b", spawn myBrowser)
, ("M-s", spawn $ scriptFile "rofi-search.sh") , ("M-s", spawn $ scriptFile "rofi-search.sh")
, ("M-S-s", spawn $ "cat " ++ scriptFile "bookmarks" ++ " | rofi -p open -dmenu | bash") , ("M-S-s", spawn $ "cat " ++ scriptFile "bookmarks" ++ " | rofi -p open -dmenu | bash")
, ("M-n", spawn "echo 'n: terminal, h: ghci, w: WhatsApp, s: slack' | dzen2 -p 1" >> scratchpadSubmap) , ("M-n", scratchpadSubmap)
, ("M-m", mediaSubmap)
, ("M-e", promptExecute specialCommands) , ("M-e", promptExecute specialCommands)
] ++ copyToWorkspaceMappings ] ++ copyToWorkspaceMappings
@ -168,11 +172,20 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
safeSpawn "polybar-msg" ["cmd", "toggle"] -- toggle polybar visibility safeSpawn "polybar-msg" ["cmd", "toggle"] -- toggle polybar visibility
scratchpadSubmap :: X () scratchpadSubmap :: X ()
scratchpadSubmap = submap $ M.fromList scratchpadSubmap = describedSubmap
[ ((myModMask, xK_n), namedScratchpadAction scratchpads "terminal") [ ((myModMask, xK_n), "<M-n> terminal", namedScratchpadAction scratchpads "terminal")
, ((myModMask, xK_h), namedScratchpadAction scratchpads "ghci") , ((myModMask, xK_h), "<M-h> ghci", namedScratchpadAction scratchpads "ghci")
, ((myModMask, xK_w), namedScratchpadAction scratchpads "whatsapp") , ((myModMask, xK_w), "<M-w> whatsapp", namedScratchpadAction scratchpads "whatsapp")
, ((myModMask, xK_s), namedScratchpadAction scratchpads "slack") ] , ((myModMask, xK_s), "<M-s> slack", namedScratchpadAction scratchpads "slack")
, ((myModMask, xK_m), "<M-m> spotify", namedScratchpadAction scratchpads "spotify")
]
mediaSubmap :: X ()
mediaSubmap = describedSubmap
[ ((myModMask, xK_m), "<M-m> play/pause", spawn "playerctl play-pause")
, ((myModMask, xK_l), "<M-l> next", spawn "playerctl next")
, ((myModMask, xK_l), "<M-h> previous", spawn "playerctl previous")
]
specialCommands :: [(String, X ())] specialCommands :: [(String, X ())]
@ -182,6 +195,20 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
, ("screenshot", spawn $ scriptFile "screenshot.sh") , ("screenshot", spawn $ scriptFile "screenshot.sh")
] ]
describedSubmap :: [((KeyMask, KeySym), String, X ())] -> X ()
describedSubmap mappings = showDzen hintText mySubMap
where
mySubMap = submap $ M.fromList $ map (\(k, _, f) -> (k, f)) mappings
descriptions = map (\(_,x,_) -> x) mappings
hintText = "\n" ++ unlines descriptions
showDzen message action = do
let lineCount = show $ length $ lines message
font = "-*-iosevka-medium-r-s*--16-87-*-*-*-*-iso10???-1"
handle <- spawnPipe $ "sleep 1 && dzen2 -e onstart=uncollapse -l " ++ lineCount ++ " -fn '" ++ font ++ "'"
io $ SysIO.hPutStrLn handle message
_ <- action
io $ SysIO.hClose handle
promptExecute :: [(String, X ())] -> X () promptExecute :: [(String, X ())] -> X ()
promptExecute commands = do promptExecute commands = do
selection <- Dmenu.menuMapArgs "rofi" ["-dmenu", "-i"] $ M.fromList commands -- -i -> case-insensitive selection <- Dmenu.menuMapArgs "rofi" ["-dmenu", "-i"] $ M.fromList commands -- -i -> case-insensitive
@ -210,7 +237,7 @@ main = do
[D.nameAllowReplacement, D.nameReplaceExisting, D.nameDoNotQueue] [D.nameAllowReplacement, D.nameReplaceExisting, D.nameDoNotQueue]
-- $ ewmh (kills IntelliJ) -- $ ewmh (kills IntelliJ)
xmonad $ desktopConfig xmonad $ ewmh $ desktopConfig
{ terminal = myTerminal { terminal = myTerminal
, modMask = myModMask , modMask = myModMask
, borderWidth = 1 , borderWidth = 1

Binary file not shown.

View file

@ -0,0 +1,7 @@
#! /bin/sh
exec xprop -notype \
-f WM_NAME 8s ':\n title =\? $0\n' \
-f WM_CLASS 8s ':\n appName =\? $0\n className =\? $1\n' \
-f WM_WINDOW_ROLE 8s ':\n stringProperty "WM_WINDOW_ROLE" =\? $0\n' \
WM_NAME WM_CLASS WM_WINDOW_ROLE \
${1+"$@"}

View file

@ -0,0 +1,10 @@
* {
accent: #83a598;
/*background: #282828;*/
background: #282828dd;
background-light: #303030dd;
foreground: #ebdbb2;
on: #44ad4d;
off: #fb4934;
}

View file

@ -0,0 +1,95 @@
/*
*
* Author : Aditya Shakya (adi1090x)
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Reddit : @adi1090x
*
*/
configuration {
drun-display-format: "{icon} {name}";
display-drun: "Applications";
show-icons: true;
icon-theme: "Papirus";
location: 0;
columns: 3;
fake-transparency: true;
/*fake-transparency: false;*/
hide-scrollbar: true;
bw: 0;
fullscreen: true;
show-icons: true;
terminal: "kitty --single-instance";
sidebar-mode: false;
}
@import "./colorschemes/gruvbox.rasi"
* {
text-font: "Iosevka 14";
inputbar-margin: 3px 3px;
prompt-padding: 15px 20px;
entry-padding: 15px 15px 15px 0px;
list-element-padding: 10px;
list-element-margin: @inputbar-margin;
list-element-border: 0px 0px 0px 5px;
apps-textbox-prompt-colon-padding: 15px -5px 0px 0px;
}
#window {
width: 100%;
height: 100%;
padding: 120px 100px;
}
* {
background-color: @background;
text-color: @foreground;
font: @text-font;
}
inputbar,
prompt,
textbox-prompt-colon,
entry {
background-color: @background-light;
}
#inputbar {
children: [ prompt, textbox-prompt-colon, entry ];
margin: @inputbar-margin;
}
#prompt {
padding: @prompt-padding;
background-color: @accent;
text-color: @background;
}
#textbox-prompt-colon {
expand: false;
str: " :: ";
padding: @apps-textbox-prompt-colon-padding;
}
#entry {
text-color: @accent;
padding: @entry-padding;
}
#element {
padding: @list-element-padding;
margin: @list-element-margin;
border: @list-element-border;
background-color: @background-light;
border-color: @background-light;
}
#element.selected {
background-color: @background-focus;
text-color: @accent;
border-color: @accent;
}

View file

@ -0,0 +1,96 @@
/*
*
* Author : Aditya Shakya (adi1090x)
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Reddit : @adi1090x
*
*/
configuration {
drun-display-format: "{icon} {name}";
display-drun: "Applications";
show-icons: true;
icon-theme: "Papirus";
location: 0;
yoffset: 0;
xoffset: 0;
columns: 2;
fake-transparency: false;
hide-scrollbar: true;
bw: 0;
fullscreen: false;
show-icons: true;
terminal: "termite";
sidebar-mode: false;
}
@import "./colorschemes/gruvbox.rasi"
* {
text-font: "Iosevka 12";
inputbar-margin: 3px 3px;
prompt-padding: 10px 10px;
entry-padding: 10px 0px 10px 0px;
list-element-padding: 10px;
list-element-margin: @inputbar-margin;
list-element-border: 0px 0px 0px 4px;
apps-textbox-prompt-colon-padding: 10px -5px 0px 0px;
}
#window {
width: 50%;
height: 60%;
padding: 40px 40px;
}
* {
background-color: @background;
text-color: @foreground;
font: @text-font;
}
inputbar,
prompt,
textbox-prompt-colon,
entry {
background-color: @background-light;
}
#inputbar {
children: [ prompt, textbox-prompt-colon, entry ];
margin: @inputbar-margin;
}
#prompt {
padding: @prompt-padding;
background-color: @accent;
text-color: @background;
}
#textbox-prompt-colon {
expand: false;
str: " :: ";
padding: @apps-textbox-prompt-colon-padding;
}
#entry {
text-color: @accent;
padding: @entry-padding;
}
#element {
padding: @list-element-padding;
margin: @list-element-margin;
border: @list-element-border;
background-color: @background-light;
border-color: @background-light;
}
#element.selected {
background-color: @background-focus;
text-color: @accent;
border-color: @accent;
}

View file

@ -0,0 +1 @@
https://github.com/adi1090x/rofi