mirror of
https://gitlab.com/linuxstuff/dotfiles.git
synced 2026-08-15 12:59:28 +02:00
Initial bspwm config
This commit is contained in:
+38
-7
@@ -1,18 +1,49 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
sxhkd &
|
#bspc rule -a Gimp desktop='^8' state=floating follow=on
|
||||||
|
#bspc rule -a Chromium desktop='^2'
|
||||||
|
#bspc rule -a mplayer2 state=floating
|
||||||
|
#bspc rule -a Kupfer.py focus=on
|
||||||
|
#bspc rule -a Screenkey manage=off
|
||||||
|
|
||||||
bspc monitor -d I II III IV V VI VII VIII IX X
|
################################################################################################
|
||||||
|
# BSPWM
|
||||||
|
|
||||||
|
#bspc monitor -d I II III IV V VI VII VIII IX X
|
||||||
|
bspc monitor -d 1 2 3 4 5 6 7 8 9 0
|
||||||
|
|
||||||
bspc config border_width 2
|
bspc config border_width 2
|
||||||
bspc config window_gap 12
|
bspc config window_gap 8
|
||||||
|
|
||||||
bspc config split_ratio 0.52
|
bspc config split_ratio 0.52
|
||||||
bspc config borderless_monocle true
|
bspc config borderless_monocle true
|
||||||
bspc config gapless_monocle true
|
bspc config gapless_monocle true
|
||||||
|
|
||||||
bspc rule -a Gimp desktop='^8' state=floating follow=on
|
|
||||||
bspc rule -a Chromium desktop='^2'
|
|
||||||
bspc rule -a mplayer2 state=floating
|
|
||||||
bspc rule -a Kupfer.py focus=on
|
|
||||||
bspc rule -a Screenkey manage=off
|
bspc rule -a Screenkey manage=off
|
||||||
|
|
||||||
|
sxhkd &
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
# AUTOSTART
|
||||||
|
|
||||||
|
# General
|
||||||
|
setsid sh -c "xmodmap ~/.Xmodmap"
|
||||||
|
|
||||||
|
# display
|
||||||
|
setsid "picom"
|
||||||
|
setsid sh "$HOME/.config/polybar/launch_polybar.sh"
|
||||||
|
setsid sh -c "nitrogen --restore"
|
||||||
|
setsid sh -c "unclutter --timeout 5 --jitter 5 --ignore-scrolling"
|
||||||
|
|
||||||
|
# audio
|
||||||
|
#setsid "sh ~/Userdata/Scripts/Launchers/restart_pulseaudio.sh"
|
||||||
|
setsid "pulseaudio --start"
|
||||||
|
setsid sh -c "pactl unload-module module-role-cork"
|
||||||
|
|
||||||
|
# extra
|
||||||
|
setsid /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
setsid sh -c "rfkill unblock bluetooth"
|
||||||
|
setsid blueberry-tray
|
||||||
|
#setsid onboard
|
||||||
|
setsid nm-applet
|
||||||
|
setsid "nextcloud --background"
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
config##hostname.pc
|
config##hostname.yoga3
|
||||||
@@ -383,4 +383,4 @@ mode "$mode_gaps_outer" {
|
|||||||
################################################
|
################################################
|
||||||
# i3-gaps-rounded
|
# i3-gaps-rounded
|
||||||
|
|
||||||
#border_radius 10
|
#border_radius 10
|
||||||
+27
-2
@@ -23,7 +23,7 @@ foreground-alt = #555
|
|||||||
[bar/yoga3_primary_landscape]
|
[bar/yoga3_primary_landscape]
|
||||||
; not used: songname menu-media xbacklightbuttons
|
; not used: songname menu-media xbacklightbuttons
|
||||||
modules-left = i3touchmenu checkupd ovpn nvpn usbmodem1 usbmodem2 usbmodem3 eth_yoga3 wlan
|
modules-left = i3touchmenu checkupd ovpn nvpn usbmodem1 usbmodem2 usbmodem3 eth_yoga3 wlan
|
||||||
modules-center = xbacklight i3 volume
|
modules-center = xbacklight bspwm volume
|
||||||
modules-right = sensors_cpu_yoga3 memory disk_short_yoga3 battery date
|
modules-right = sensors_cpu_yoga3 memory disk_short_yoga3 battery date
|
||||||
monitor = ${env:MONITOR:eDP1}
|
monitor = ${env:MONITOR:eDP1}
|
||||||
width = 100%
|
width = 100%
|
||||||
@@ -435,7 +435,32 @@ menu-0-1-exec = "xbacklight -inc 10; notify-send 'brightness up'"
|
|||||||
|
|
||||||
[global/wm]
|
[global/wm]
|
||||||
margin-top = 0
|
margin-top = 0
|
||||||
margin-bottom = 5
|
margin-bottom = 0
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
pin-workspaces = true
|
||||||
|
strip-wsnumbers = true
|
||||||
|
index-sort = true
|
||||||
|
enable-click = true
|
||||||
|
enable-scroll = true
|
||||||
|
wrapping-scroll = true
|
||||||
|
reverse-scroll = true
|
||||||
|
fuzzy-match = false
|
||||||
|
format = <label-state><label-mode>
|
||||||
|
label-mode = %mode%
|
||||||
|
label-mode-padding = 1
|
||||||
|
label-focused =%icon%%name%
|
||||||
|
label-focused-underline = #fff
|
||||||
|
label-focused-margin = 2
|
||||||
|
label-unfocused =%icon%%name%
|
||||||
|
label-unfocused-margin = 1
|
||||||
|
label-visible =%icon%%name%
|
||||||
|
label-visible-underline = #fff
|
||||||
|
label-visible-margin = 1
|
||||||
|
label-urgent =!%icon%%name%!
|
||||||
|
label-urgent-padding = 1
|
||||||
|
label-empty =
|
||||||
|
|
||||||
[module/i3]
|
[module/i3]
|
||||||
type = internal/i3
|
type = internal/i3
|
||||||
|
|||||||
+136
-65
@@ -1,121 +1,192 @@
|
|||||||
#
|
################################################################################################
|
||||||
# wm independent hotkeys
|
# SXHKD
|
||||||
#
|
|
||||||
|
|
||||||
# terminal emulator
|
# Restart sxhkd (Apply config)
|
||||||
super + Return
|
super + p
|
||||||
alacritty
|
pkill -USR1 -x sxhkd \
|
||||||
|
&& notify-send Reload
|
||||||
|
|
||||||
# program launcher
|
|
||||||
super + @space
|
|
||||||
dmenu_run
|
|
||||||
|
|
||||||
# make sxhkd reload its configuration files:
|
################################################################################################
|
||||||
super + Escape
|
# BSPWM
|
||||||
pkill -USR1 -x sxhkd
|
|
||||||
|
|
||||||
#
|
# Restart BSPWM
|
||||||
# bspwm hotkeys
|
super + shift + p
|
||||||
#
|
bspc {wm -r}
|
||||||
|
|
||||||
# quit/restart bspwm
|
# Close / Kill focused window
|
||||||
super + alt + {q,r}
|
super + {_,shift} + q
|
||||||
bspc {quit,wm -r}
|
|
||||||
|
|
||||||
# close and kill
|
|
||||||
super + {_,shift + }w
|
|
||||||
bspc node -{c,k}
|
bspc node -{c,k}
|
||||||
|
|
||||||
# alternate between the tiled and monocle layout
|
# Tiled / Monocle layout
|
||||||
super + m
|
super + f
|
||||||
bspc desktop -l next
|
bspc desktop -l next
|
||||||
|
|
||||||
# send the newest marked node to the newest preselected node
|
# Send marked node to preselected node
|
||||||
super + y
|
super + y
|
||||||
bspc node newest.marked.local -n newest.!automatic.local
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
# swap the current node and the biggest node
|
# Swap current and last node
|
||||||
super + g
|
super + g
|
||||||
|
bspc node -s last
|
||||||
|
|
||||||
|
# Swap current and biggest node
|
||||||
|
super + shift + g
|
||||||
bspc node -s biggest
|
bspc node -s biggest
|
||||||
|
|
||||||
#
|
|
||||||
# state/flags
|
|
||||||
#
|
|
||||||
|
|
||||||
# set the window state
|
################################################################################################
|
||||||
super + {t,shift + t,s,f}
|
# BSPWM States / Flags
|
||||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
|
||||||
|
|
||||||
# set the node flags
|
# Window state
|
||||||
super + ctrl + {m,x,y,z}
|
super + shift + f
|
||||||
|
bspc node -t \~floating
|
||||||
|
super + {_,shift} + v
|
||||||
|
bspc node -t \~{fullscreen,tiled}
|
||||||
|
|
||||||
|
# Node flags
|
||||||
|
super + shift + {u,i,o,p}
|
||||||
bspc node -g {marked,locked,sticky,private}
|
bspc node -g {marked,locked,sticky,private}
|
||||||
|
|
||||||
#
|
|
||||||
# focus/swap
|
|
||||||
#
|
|
||||||
|
|
||||||
# focus the node in the given direction
|
################################################################################################
|
||||||
|
# BSPWM Focus / Move
|
||||||
|
|
||||||
|
# Focus / Move node in direction
|
||||||
super + {_,shift + }{h,j,k,l}
|
super + {_,shift + }{h,j,k,l}
|
||||||
bspc node -{f,s} {west,south,north,east}
|
bspc node -{f,s} {west,south,north,east}
|
||||||
|
|
||||||
# focus the node for the given path jump
|
# Focus desktop / Send to desktop
|
||||||
super + {p,b,comma,period}
|
super + {_,shift + }{1-9,0}
|
||||||
bspc node -f @{parent,brother,first,second}
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
# focus the next/previous node in the current desktop
|
# Focus next / previous desktop (Current monitor)
|
||||||
super + {_,shift + }c
|
|
||||||
bspc node -f {next,prev}.local
|
|
||||||
|
|
||||||
# focus the next/previous desktop in the current monitor
|
|
||||||
super + bracket{left,right}
|
super + bracket{left,right}
|
||||||
bspc desktop -f {prev,next}.local
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
# focus the last node/desktop
|
# Focus last / current node
|
||||||
super + {grave,Tab}
|
|
||||||
bspc {node,desktop} -f last
|
|
||||||
|
|
||||||
# focus the older or newer node in the focus history
|
|
||||||
super + {o,i}
|
super + {o,i}
|
||||||
bspc wm -h off; \
|
bspc wm -h off; \
|
||||||
bspc node {older,newer} -f; \
|
bspc node {older,newer} -f; \
|
||||||
bspc wm -h on
|
bspc wm -h on
|
||||||
|
|
||||||
# focus or send to the given desktop
|
|
||||||
super + {_,shift + }{1-9,0}
|
|
||||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
|
||||||
|
|
||||||
#
|
################################################################################################
|
||||||
# preselect
|
# BSPWM Preselect
|
||||||
#
|
|
||||||
|
|
||||||
# preselect the direction
|
# Preselect node in direction
|
||||||
super + ctrl + {h,j,k,l}
|
super + ctrl + {h,j,k,l}
|
||||||
bspc node -p {west,south,north,east}
|
bspc node -p {west,south,north,east}
|
||||||
|
|
||||||
# preselect the ratio
|
# Preselect ratio
|
||||||
super + ctrl + {1-9}
|
super + ctrl + {1-9}
|
||||||
bspc node -o 0.{1-9}
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
# cancel the preselection for the focused node
|
# Deselect focused node
|
||||||
super + ctrl + space
|
super + ctrl + space
|
||||||
bspc node -p cancel
|
bspc node -p cancel
|
||||||
|
|
||||||
# cancel the preselection for the focused desktop
|
# Deselect Desktop
|
||||||
super + ctrl + shift + space
|
super + ctrl + shift + space
|
||||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
#
|
|
||||||
# move/resize
|
|
||||||
#
|
|
||||||
|
|
||||||
# expand a window by moving one of its side outward
|
################################################################################################
|
||||||
|
# BSPWM Move / Resize
|
||||||
|
|
||||||
|
# Expand
|
||||||
super + alt + {h,j,k,l}
|
super + alt + {h,j,k,l}
|
||||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||||
|
|
||||||
# contract a window by moving one of its side inward
|
# Contract
|
||||||
super + alt + shift + {h,j,k,l}
|
super + alt + shift + {h,j,k,l}
|
||||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||||
|
|
||||||
# move a floating window
|
# move a floating window
|
||||||
super + {Left,Down,Up,Right}
|
super + {Left,Down,Up,Right}
|
||||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
# Music
|
||||||
|
|
||||||
|
# Pavucontrol GUI
|
||||||
|
super + m
|
||||||
|
setsid pavucontrol
|
||||||
|
|
||||||
|
# Player control
|
||||||
|
super + slash
|
||||||
|
playerctl play-pause
|
||||||
|
super + period
|
||||||
|
playerctl next
|
||||||
|
super + comma
|
||||||
|
playerctl previous
|
||||||
|
|
||||||
|
# Volume control
|
||||||
|
XF86AudioMute
|
||||||
|
amixer sset 'Master' toggle
|
||||||
|
XF86AudioLowerVolume
|
||||||
|
amixer sset 'Master' 5%-;
|
||||||
|
XF86AudioRaiseVolume
|
||||||
|
amixer sset 'Master' 5%+;
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
# Screen
|
||||||
|
|
||||||
|
# Kill Window on click (xkill)
|
||||||
|
super + ctrl + x
|
||||||
|
xkill
|
||||||
|
super + ctrl + shift + x
|
||||||
|
killall xkill
|
||||||
|
|
||||||
|
# Polybar
|
||||||
|
super + b
|
||||||
|
sh -c 'polybar-msg cmd toggle'
|
||||||
|
super + shift + b
|
||||||
|
setsid sh "$HOME/.config/polybar/launch_polybar.sh"
|
||||||
|
|
||||||
|
# Brightness
|
||||||
|
XF86MonBrightnessUp
|
||||||
|
xbacklight -inc 10
|
||||||
|
XF86MonBrightnessDown
|
||||||
|
xbacklight -dec 10
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################################
|
||||||
|
# Applications
|
||||||
|
|
||||||
|
# Terminal emulator (Alacritty)
|
||||||
|
super + Return
|
||||||
|
alacritty
|
||||||
|
|
||||||
|
# Rofi
|
||||||
|
super + d
|
||||||
|
rofi -show drun -show-icons -icon-theme Adwaita -drun-display-format \{name\} -sort -sort-method fzf
|
||||||
|
super + Tab
|
||||||
|
rofi -show window -show-icons -icon-theme Adwaita -drun-display-format \{name\} -sort -sort-method fzf
|
||||||
|
super + shift + d
|
||||||
|
bwmenu
|
||||||
|
|
||||||
|
# Screenshot (Flameshot)
|
||||||
|
Print
|
||||||
|
flameshot gui
|
||||||
|
super + Print
|
||||||
|
flameshot full
|
||||||
|
|
||||||
|
# Browser (Firefox)
|
||||||
|
super + F2
|
||||||
|
setsid firefox
|
||||||
|
|
||||||
|
# File Manager (Nautilus)
|
||||||
|
super + F3
|
||||||
|
setsid nautilus
|
||||||
|
|
||||||
|
# Chat Programs (Telegram, Whatsapp Web)
|
||||||
|
super + F4
|
||||||
|
setsid telegram-desktop
|
||||||
|
|
||||||
|
super + shift + F4
|
||||||
|
setsid 'firefox -new-window web.whatsapp.com'
|
||||||
|
|||||||
Reference in New Issue
Block a user