mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-12-23 21:12:22 +00:00
improve polybar and xmonad submap hinting
This commit is contained in:
parent
8308801130
commit
53e609c1c5
12 changed files with 276 additions and 484 deletions
|
@ -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-active: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd
|
||||
rofi.font: System San Francisco Display 18
|
||||
|
||||
dzen.font: -*-fixed-medium-r-s*--12-87-*-*-*-*-iso10???-1
|
||||
|
|
|
@ -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
|
|
@ -20,7 +20,8 @@
|
|||
|
||||
[colors]
|
||||
;background = ${xrdb:color0:#222}
|
||||
background = #bb282828
|
||||
;background = #bb282828
|
||||
background = #88282828
|
||||
;background = #222
|
||||
background-alt = #444
|
||||
;foreground = ${xrdb:color7:#222}
|
||||
|
@ -36,13 +37,16 @@ alert = #bd2c40
|
|||
|
||||
[bar/main]
|
||||
width = 100%
|
||||
height = 24
|
||||
height = 27
|
||||
radius = 0.0
|
||||
enable-ipc = true
|
||||
padding = 0
|
||||
;; center centered modules on screen, not between other modules
|
||||
fixed-center = true
|
||||
|
||||
separator = "%{F#aaa}|%{F-}"
|
||||
separator-padding = 1
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
|
@ -65,8 +69,10 @@ font-0 = fixed:pixelsize=10;1
|
|||
;font-7 = "JetBrainsMono Nerd Font:size=7"
|
||||
;font-0 = "JetBrainsMono Nerd Font:fontformat=truetype:size=10;2"
|
||||
;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-2 = FontAwesome5Free:style=Solid:size=10;1
|
||||
;font-1 = "FontAwesome:fontformat=truetype:size=12;1"
|
||||
|
||||
|
||||
modules-left = xmonad test
|
||||
|
@ -97,8 +103,9 @@ interval = 25
|
|||
|
||||
mount-0 = /
|
||||
format-mounted = <label-mounted>
|
||||
format-mounted-prefix = "disk: "
|
||||
format-mounted-prefix-foreground = ${colors.foreground-alt}
|
||||
;format-mounted-prefix = "disk: "
|
||||
;format-mounted-prefix-foreground = ${colors.foreground-alt}
|
||||
format-mounted-prefix = "%{F#0fca42} %{F-} Disk: "
|
||||
format-mounted-underline = #0fca42
|
||||
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
|
@ -122,17 +129,19 @@ label-song-ellipsis = true
|
|||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = "cpu: "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
;format-prefix = "cpu: "
|
||||
;format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix = "%{F#f9a000} %{F-} CPU: "
|
||||
format-underline = #f9a000
|
||||
label = %percentage:2%%
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "mem: "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #4bffdc
|
||||
;format-prefix = "mem: "
|
||||
;format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix = "%{F#0a6cf5} %{F-} Mem: "
|
||||
format-underline = #0a6cf5
|
||||
label = %percentage_used%%
|
||||
|
||||
[module/date]
|
||||
|
@ -143,37 +152,12 @@ date-alt = %d-%m-%Y
|
|||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
;format-prefix =
|
||||
format-prefix = "%{F#fbff8c} %{F-}"
|
||||
;format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #0a6cf5
|
||||
|
||||
;format-underline = #4bffdc
|
||||
format-underline = #fbff8c
|
||||
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]
|
||||
type = custom/script
|
||||
exec = xmonad-log
|
||||
|
@ -218,10 +202,8 @@ tail = true
|
|||
[module/spotify]
|
||||
type = custom/script
|
||||
interval = 1
|
||||
label-font = 7
|
||||
format-font = 7
|
||||
format = <label>
|
||||
exec = python ~/.config/polybar/polybar-scripts/spotify_status.py -f '{play_pause} : {artist} - {song} [ {album} ]'
|
||||
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-}"
|
||||
exec = python ~/.config/polybar/polybar-scripts/spotify_status.py -f '{artist} - {song} {play_pause}'
|
||||
click-left = "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
|
||||
exec-if = "pgrep spotify"
|
||||
format-underline = #1db954
|
||||
|
||||
;; }}}
|
||||
|
|
|
@ -54,7 +54,8 @@ while true; do
|
|||
bytes[past_tx_$interface]=${bytes[now_tx_$interface]}
|
||||
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_bit $down) / Upload: $(print_bit $up)"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -3,6 +3,7 @@
|
|||
-- Imports -------------------------------------------------------- {{{
|
||||
module Config (main) where
|
||||
|
||||
import qualified System.IO as SysIO
|
||||
import qualified Data.Map as M
|
||||
import Data.List (isSuffixOf, isPrefixOf)
|
||||
import qualified Data.Maybe as Maybe
|
||||
|
@ -23,6 +24,7 @@ import XMonad.Config.Desktop
|
|||
import XMonad.Hooks.DynamicLog
|
||||
import XMonad.Hooks.FadeInactive
|
||||
import XMonad.Hooks.ManageDocks
|
||||
import XMonad.Hooks.EwmhDesktops (ewmh)
|
||||
import XMonad.Hooks.SetWMName (setWMName)
|
||||
import XMonad.Layout.Gaps
|
||||
import XMonad.Layout.LayoutCombinators ((|||))
|
||||
|
@ -45,7 +47,7 @@ import XMonad.Util.SpawnOnce (spawnOnce)
|
|||
-- Values -------------------- {{{
|
||||
|
||||
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"
|
||||
myBrowser = "google-chrome-stable"
|
||||
--yBar = "xmobar"
|
||||
|
@ -57,6 +59,7 @@ scratchpads =
|
|||
, NS "ghci" launchGHCI (className =? "scratchpad_ghci") (customFloating $ W.RationalRect 0 0.7 1 0.3)
|
||||
, NS "whatsapp" launchWhatsapp (("WhatsApp" `isSuffixOf`) <$> title) defaultFloating
|
||||
, NS "slack" "slack" (("Slack | " `isPrefixOf`) <$> title) defaultFloating
|
||||
, NS "spotify" "spotify" (appName =? "spotify") defaultFloating
|
||||
]
|
||||
where
|
||||
launchTerminal = myTerminal ++ " --class scratchpad_term"
|
||||
|
@ -147,12 +150,13 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
|
|||
|
||||
-- programs
|
||||
, ("M-p", spawn myLauncher)
|
||||
, ("M-S-p", spawn "rofi -combi-modi drun,window,ssh -show combi")
|
||||
, ("M-S-e", spawn "rofi -show emoji -modi emoji")
|
||||
, ("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 -theme /home/leon/scripts/rofi-scripts/launcher_grid_full_style.rasi")
|
||||
, ("M-b", spawn myBrowser)
|
||||
, ("M-s", spawn $ scriptFile "rofi-search.sh")
|
||||
, ("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)
|
||||
|
||||
] ++ copyToWorkspaceMappings
|
||||
|
@ -168,11 +172,20 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
|
|||
safeSpawn "polybar-msg" ["cmd", "toggle"] -- toggle polybar visibility
|
||||
|
||||
scratchpadSubmap :: X ()
|
||||
scratchpadSubmap = submap $ M.fromList
|
||||
[ ((myModMask, xK_n), namedScratchpadAction scratchpads "terminal")
|
||||
, ((myModMask, xK_h), namedScratchpadAction scratchpads "ghci")
|
||||
, ((myModMask, xK_w), namedScratchpadAction scratchpads "whatsapp")
|
||||
, ((myModMask, xK_s), namedScratchpadAction scratchpads "slack") ]
|
||||
scratchpadSubmap = describedSubmap
|
||||
[ ((myModMask, xK_n), "<M-n> terminal", namedScratchpadAction scratchpads "terminal")
|
||||
, ((myModMask, xK_h), "<M-h> ghci", namedScratchpadAction scratchpads "ghci")
|
||||
, ((myModMask, xK_w), "<M-w> whatsapp", namedScratchpadAction scratchpads "whatsapp")
|
||||
, ((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 ())]
|
||||
|
@ -182,6 +195,20 @@ myKeys = [ ("M-C-k", sendMessage MirrorExpand >> sendMessage ShrinkSlave
|
|||
, ("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 commands = do
|
||||
selection <- Dmenu.menuMapArgs "rofi" ["-dmenu", "-i"] $ M.fromList commands -- -i -> case-insensitive
|
||||
|
@ -210,7 +237,7 @@ main = do
|
|||
[D.nameAllowReplacement, D.nameReplaceExisting, D.nameDoNotQueue]
|
||||
|
||||
-- $ ewmh (kills IntelliJ)
|
||||
xmonad $ desktopConfig
|
||||
xmonad $ ewmh $ desktopConfig
|
||||
{ terminal = myTerminal
|
||||
, modMask = myModMask
|
||||
, borderWidth = 1
|
||||
|
|
Binary file not shown.
7
files/scripts/findWindowInfo.sh
Executable file
7
files/scripts/findWindowInfo.sh
Executable 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+"$@"}
|
10
files/scripts/rofi-scripts/colorschemes/gruvbox.rasi
Normal file
10
files/scripts/rofi-scripts/colorschemes/gruvbox.rasi
Normal file
|
@ -0,0 +1,10 @@
|
|||
* {
|
||||
accent: #83a598;
|
||||
/*background: #282828;*/
|
||||
background: #282828dd;
|
||||
background-light: #303030dd;
|
||||
foreground: #ebdbb2;
|
||||
on: #44ad4d;
|
||||
off: #fb4934;
|
||||
}
|
||||
|
95
files/scripts/rofi-scripts/launcher_grid_full_style.rasi
Normal file
95
files/scripts/rofi-scripts/launcher_grid_full_style.rasi
Normal 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;
|
||||
}
|
96
files/scripts/rofi-scripts/launcher_grid_style.rasi
Normal file
96
files/scripts/rofi-scripts/launcher_grid_style.rasi
Normal 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;
|
||||
}
|
1
files/scripts/rofi-scripts/links.md
Normal file
1
files/scripts/rofi-scripts/links.md
Normal file
|
@ -0,0 +1 @@
|
|||
https://github.com/adi1090x/rofi
|
Loading…
Reference in a new issue