mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-02-07 06:18:59 +00:00
Create config for bspwm, sxhkd, and polybar
This commit is contained in:
parent
9c7f0f36b2
commit
ea2e5e8c91
24
bspwm/bspwmrc
Normal file
24
bspwm/bspwmrc
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Removing all rules at startup to prevent duplicating rules.
|
||||||
|
bspc rule -r "*"
|
||||||
|
|
||||||
|
# Set up the desktops (workspaces) for the monitor
|
||||||
|
bspc monitor -d I II III IV V
|
||||||
|
|
||||||
|
bspc config border_width 5
|
||||||
|
bspc config window_gap 9
|
||||||
|
|
||||||
|
bspc config split_ratio 0.52
|
||||||
|
bspc config borderless_monocle true
|
||||||
|
bspc config gapless_monocle true
|
||||||
|
bspc config focused_border_color "#d59783"
|
||||||
|
bspc config focus_follows_pointer true
|
||||||
|
|
||||||
|
# Rules
|
||||||
|
bspc rule -a code-oss desktop=^2
|
||||||
|
bspc rule -a firefox desktop=^1
|
||||||
|
|
||||||
|
# Startup applications
|
||||||
|
$HOME/.config/polybar/launch.sh
|
||||||
|
exec firefox
|
289
polybar/config
Normal file
289
polybar/config
Normal file
@ -0,0 +1,289 @@
|
|||||||
|
; color format is in ARGB
|
||||||
|
[colors]
|
||||||
|
background = #000000
|
||||||
|
background-alt = #99000000
|
||||||
|
foreground = ${xrdb:color7:#eee}
|
||||||
|
foreground-alt = #aaa
|
||||||
|
primary = #d59783
|
||||||
|
secondary = #E8C4FF
|
||||||
|
tertiary = #A7DAE8
|
||||||
|
alert = #bd2c40
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; The common style between bars
|
||||||
|
[bar-common-style]
|
||||||
|
width = 100%
|
||||||
|
height = 30
|
||||||
|
wm-restack = bspwm
|
||||||
|
fixed-center = false
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
padding = 1
|
||||||
|
|
||||||
|
module-margin = 1
|
||||||
|
|
||||||
|
font-0 = "Iosevka Nerd Font"
|
||||||
|
font-1 = "Fira Code"
|
||||||
|
font-2 = siji:pixelsize=10;1
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 2
|
||||||
|
cursor-click = pointer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module-common-style]
|
||||||
|
format-padding = 1
|
||||||
|
format-background = ${colors.background-alt}
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[bar/fds-bar]
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
inherit = bar-common-style
|
||||||
|
enable-ipc = true
|
||||||
|
modules-left = bspwm
|
||||||
|
modules-right = pulseaudio memory cpu temperature eth date powermenu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[bar/fds-taskbar]
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
inherit = bar-common-style
|
||||||
|
bottom = true
|
||||||
|
modules-right = filesystem
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/conv]
|
||||||
|
type = custom/text
|
||||||
|
content = "terminal"
|
||||||
|
click-left = "tdrop -ma -s dropdown alacritty"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = " %title:0:50:...% "
|
||||||
|
label-layout = %layout%
|
||||||
|
format = <label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
|
||||||
|
mount-0 = /
|
||||||
|
mount-1 = /home
|
||||||
|
|
||||||
|
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %free%
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ${colors.foreground-alt}
|
||||||
|
label-background = ${colors.background-alt}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${colors.background-alt}
|
||||||
|
label-focused-padding = 1
|
||||||
|
|
||||||
|
label-occupied = %index%
|
||||||
|
label-occupied-padding = 1
|
||||||
|
|
||||||
|
label-urgent = %index%!
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
|
||||||
|
label-empty = %index%
|
||||||
|
label-empty-foreground = ${colors.foreground-alt}
|
||||||
|
label-empty-padding = 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[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/cpu]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "CPU "
|
||||||
|
label = %percentage-sum%%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "MEM "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
label = %percentage_used%%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp0s18f2u4
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-underline = #9f78e1
|
||||||
|
format-prefix = "NET "
|
||||||
|
label-connected = %essid%
|
||||||
|
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = %ifname% disconnected
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/network
|
||||||
|
interface = enp4s0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected-prefix = "ETH "
|
||||||
|
format-connected-background = ${colors.background-alt}
|
||||||
|
format-connected-padding = 1
|
||||||
|
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
label-connected = %ifname%
|
||||||
|
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
format-disconnected-background = ${colors.background-alt}
|
||||||
|
format-disconnected-padding = 1
|
||||||
|
label-disconnected = N/A
|
||||||
|
label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
date = "%F"
|
||||||
|
time = %H:%M:%S
|
||||||
|
|
||||||
|
format-prefix = "DATE "
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume-prefix = "VOL "
|
||||||
|
format-volume-foreground = ${colors.foreground-alt}
|
||||||
|
format-volume-background = ${colors.background-alt}
|
||||||
|
format-volume-padding = 1
|
||||||
|
format-volume = <label-volume>
|
||||||
|
label-volume = %percentage%%
|
||||||
|
label-volume-foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
format-muted-prefix = "VOL "
|
||||||
|
format-muted-background = ${colors.background-alt}
|
||||||
|
format-muted-padding = 1
|
||||||
|
format-muted-foreground = ${colors.foreground-alt}
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
inherit = module-common-style
|
||||||
|
type = internal/temperature
|
||||||
|
thermal-zone = 0
|
||||||
|
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon0/temp1_input
|
||||||
|
warn-temperature = 60
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
format-prefix = "TEMP "
|
||||||
|
format-warn = <label-warn>
|
||||||
|
|
||||||
|
label = %temperature-c%
|
||||||
|
label-warn = %temperature-c%
|
||||||
|
label-warn-foreground = ${colors.secondary}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[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]
|
||||||
|
padding-left = 2
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
12
polybar/launch.sh
Normal file
12
polybar/launch.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# Launch bar1 and bar2
|
||||||
|
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log
|
||||||
|
polybar "fds-bar" >>/tmp/polybar1.log 2>&1 &
|
||||||
|
polybar "fds-taskbar" >>/tmp/polybar2log 2>&1 &
|
112
sxhkd/sxhkdrc
Normal file
112
sxhkd/sxhkdrc
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# Basic binds (inspired from the previous i3 config).
|
||||||
|
super + Return
|
||||||
|
$TERMINAL
|
||||||
|
|
||||||
|
# A dropdown terminal.
|
||||||
|
# Requires tmux and tdrop for this to work.
|
||||||
|
super + shift + Return
|
||||||
|
tdrop -ma -w -4 -y "$PANEL_HEIGHT" -s dropterm $TERMINAL
|
||||||
|
|
||||||
|
super + q
|
||||||
|
$TERMINAL -e ranger
|
||||||
|
|
||||||
|
super + t
|
||||||
|
$HOME/bin/toggle-bin screenkey
|
||||||
|
|
||||||
|
# Here is the scriptless version of toggling programs.
|
||||||
|
# kill $(pgrep screenkey --oldest); \
|
||||||
|
if [[ $? != 0 ]]; then screenkey 2>/dev/null; fi
|
||||||
|
|
||||||
|
# Kill the focused window.
|
||||||
|
super + shift + q
|
||||||
|
kill -9 `xdotool getwindowfocus getwindowpid`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Utility keyboard shortcuts.
|
||||||
|
|
||||||
|
# Application launcher.
|
||||||
|
super + d
|
||||||
|
rofi -show drun -sidebar-mode -theme fds-sidebar-dark
|
||||||
|
|
||||||
|
# User action shortcuts.
|
||||||
|
super + F10
|
||||||
|
$HOME/bin/prompt "Proceed to shutdown?" "sudo -A shutdown"
|
||||||
|
|
||||||
|
super + F11
|
||||||
|
$HOME/bin/prompt "Proceed to reboot?" "sudo -A reboot"
|
||||||
|
|
||||||
|
super + F12
|
||||||
|
$HOME/bin/prompt "Exit from X session?" "killall Xorg"
|
||||||
|
|
||||||
|
# Screenshot shortcuts.
|
||||||
|
{_, control +} {_,shift +} Print
|
||||||
|
$HOME/bin/screenshot {_,--select} {_,--delay 3}
|
||||||
|
|
||||||
|
# Screen record shortcuts.
|
||||||
|
{_,shift +} {_,control +} super + Print
|
||||||
|
$HOME/bin/record --output $\{VIDEOS_DIRECTORY:-$HOME/recordings\} {_,--disable-cursor} {_,--follow-mouse}
|
||||||
|
|
||||||
|
# Miscellaneous shortcuts.
|
||||||
|
super + shift + d
|
||||||
|
$HOME/bin/rofi-user-action-menu.sh
|
||||||
|
|
||||||
|
super + shift + m
|
||||||
|
man -k . | rofi -dmenu -p "Select the manual entry" -theme fds-sidebar-dark | awk '{print $1}' | xargs -r man
|
||||||
|
|
||||||
|
# Reloads the Simple X Hotkey Daemon config and Polybar.
|
||||||
|
shift + super + r
|
||||||
|
pkill -USR1 sxhkd && notify-send "SXHKD config has successfully reloaded."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# The usual application suite shortcuts.
|
||||||
|
# I'm separating them according to the keyboard row (in the QWERTY layout anyway).
|
||||||
|
super + a ; {z, x, c, v, b, n}
|
||||||
|
{ zathura, vim, code, inkscape, blender, lmms }
|
||||||
|
|
||||||
|
super + a ; {f}
|
||||||
|
{ firefox }
|
||||||
|
|
||||||
|
super + a ; {t, r}
|
||||||
|
{ thunderbird, thunar }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# bspwm exclusive shortcuts.
|
||||||
|
# Feel free to replace these if you're working with another WM/DE.
|
||||||
|
# Over time, I may replace one of the usual shortcut
|
||||||
|
# with something more generally applied (with `xdotool` for example).
|
||||||
|
|
||||||
|
# Move desktop/node view to the specified desktop.
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
super + z
|
||||||
|
bspc node -t '~floating'
|
||||||
|
|
||||||
|
super + x
|
||||||
|
bspc node -t '~fullscreen'
|
||||||
|
|
||||||
|
super + c
|
||||||
|
bspc node -t '~tiled'
|
||||||
|
|
||||||
|
# Desktop and node movements.
|
||||||
|
super + Tab
|
||||||
|
bspc desktop next --focus
|
||||||
|
|
||||||
|
super + shift + Tab
|
||||||
|
bspc desktop prev --focus
|
||||||
|
|
||||||
|
super + grave
|
||||||
|
bspc desktop last --focus
|
||||||
|
|
||||||
|
super + shift + grave
|
||||||
|
bspc node --to-desktop last
|
||||||
|
|
||||||
|
super + {Up,Down,Left,Right}
|
||||||
|
bspc node {north,south,west,east} --focus
|
||||||
|
|
||||||
|
super + shift {Up,Down,Left,Right}
|
||||||
|
bspc node {north,south,west,east} --swap focused --follow
|
||||||
|
|
Loading…
Reference in New Issue
Block a user