| @@ -1,8 +1,6 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| nullexec() { | ||||
| 	"$@" &>/dev/null | ||||
| } | ||||
| nullexec() { "$@" &>/dev/null; } | ||||
|  | ||||
| PATH+=":$HOME/.config/alternatives" | ||||
| PATH+=":$HOME/.config/bspwm/bin" | ||||
| @@ -11,44 +9,33 @@ PATH+=":$HOME/.config/bspwm/bin" | ||||
| xsetroot -cursor_name left_ptr | ||||
|  | ||||
| # Global config | ||||
| bspc config focused_sticky_border_color     "#030061" | ||||
| bspc config focused_border_color            "#67748F" | ||||
| bspc config normal_border_color             "#1f1f1f" | ||||
| bspc config urgent_border_color             "#f9f9f9" | ||||
| bspc config window_gap                      "9" | ||||
| bspc config border_width                    '2' | ||||
| bspc config split_ratio                     '0.52' | ||||
| bspc config borderless_monocle              'false' | ||||
| bspc config gapless_monocle                 'false' | ||||
| bspc config focus_by_distance               'true' | ||||
| bspc config ignore_ewmh_focus               'true' | ||||
| bspc config initial_polarity                'second_child' | ||||
| bspc config auto_cancel                     'true' | ||||
| bspc config click_to_focus                  'true' | ||||
| bspc config click_to_focus                  'button1' | ||||
|  | ||||
| # Workspaces and monitors | ||||
| bspc monitor -d                             1 2 3 4 5 6 7 8 9 h | ||||
| bspc monitor -d                             1 2 3 4 5 6 7 8 9 0 q w e r t y h | ||||
|  | ||||
| # Float some bastards | ||||
| bspfloat 1 & | ||||
| #bspfloat 1 & | ||||
|  | ||||
| # Individual padding | ||||
| for d in 1 3; do | ||||
| 	bspset -d "$d" padding 48 | ||||
| done | ||||
|  | ||||
| # Clear the rules before adding any | ||||
| while read -r rule _; do bspc rule -r "$rule"; done < <(bspc rule -l) | ||||
|  | ||||
| # Now add the rules | ||||
| bspc rule -a 'Steam'              state=floating desktop=^8 | ||||
| bspc rule -a 'Firefox:Navigator'  state=tiled desktop=^2 | ||||
| bspc rule -a '*:Hearthstone.exe'  desktop=^5 | ||||
| bspc rule -a '*:Arma 3'           state=fullscreen desktop=^5 | ||||
| bspc rule -a '*'                  state=floating | ||||
| # Rules | ||||
| "$XDG_CONFIG_HOME/bspwm/rules" | ||||
|  | ||||
| # start some services | ||||
| services=( sxhkd dunst ssh-agent ) | ||||
| services=( sxhkd dunst ssh-agent ufwd{,-private,-scn,-fikus} ) | ||||
| for s in "${services[@]}"; do | ||||
| 	if ! service "$s" status; then | ||||
| 		service "$s" start | ||||
| @@ -61,6 +48,4 @@ service moltenbar restart | ||||
| nullexec browser & | ||||
| nullexec telegram & | ||||
| nullexec dropbox & | ||||
|  | ||||
| terminal -e 'ssh-add-all' & | ||||
| terminal -e 'sudo wrkvpn' & | ||||
| nullexec mumble & | ||||
|   | ||||
							
								
								
									
										11
									
								
								homedir/.config/bspwm/rules
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								homedir/.config/bspwm/rules
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| # Clear the rules before adding any | ||||
| while read -r rule _; do bspc rule -r "$rule"; done < <(bspc rule -l) | ||||
|  | ||||
| # Now add the rules | ||||
| bspc rule -a 'firefox'                  desktop=^2 state=tiled | ||||
| bspc rule -a 'steam_app_359320'         desktop=^5 | ||||
| bspc rule -a 'steam_app_397540'         desktop=^5 | ||||
| bspc rule -a 'Steam'                    desktop=^8 | ||||
| bspc rule -a '*'                        state=floating | ||||
| @@ -21,11 +21,14 @@ super + w; {0-9,h,p} | ||||
| super + w; space | ||||
| 	bspc desktop -l next | ||||
|  | ||||
| super + w; l; {b,n,a} | ||||
|    bspc node -l {below,normal,above} | ||||
|  | ||||
| super + w; x | ||||
| 	terminal | ||||
|  | ||||
| super + w; b | ||||
| 	bspc node -s biggest.local | ||||
| 	bspc node -s biggest.local.!hidden.window | ||||
|  | ||||
| super + w; Return | ||||
| 	bspc node @focused:/ -R 90 | ||||
| @@ -33,8 +36,8 @@ super + w; Return | ||||
| super + w; w | ||||
| 	ssm chameleon reload | ||||
|  | ||||
| super + w; c | ||||
| 	win-hd-center 1280x720 | ||||
| super + w; c; {9,7,4,3,2} | ||||
| 	win-hd-center {1920x1080,1280x720,768x480,480x320,400x240} | ||||
|  | ||||
| # Locker | ||||
| super + l; l | ||||
| @@ -43,6 +46,10 @@ super + l; l | ||||
| super + l; {u,s} | ||||
| 	ssm lockd stop | ||||
|  | ||||
| # Notes | ||||
| super + n; n | ||||
| 	dmenu-extras note | ||||
|  | ||||
| # simple hotkeys | ||||
| Print | ||||
| 	snap -f | ||||
| @@ -54,7 +61,7 @@ super + {r,p} | ||||
| 	dmenu-extras -l 9 {run,pass} | ||||
|  | ||||
| super + {j,k} | ||||
| 	bspc node -f {prev,next}.local | ||||
| 	bspc node -f {prev,next}.local.!hidden.window | ||||
|  | ||||
| # mpd | ||||
| super + m; {a,s,n,p} | ||||
| @@ -64,6 +71,16 @@ super + m; {a,s,n,p} | ||||
| super + {comma,period} | ||||
|    amixer -c 0 set PCM 5%{-,+} | ||||
|  | ||||
| super + s; p | ||||
| 	~/bin/sndbrd -p | ||||
|  | ||||
| super + s; s | ||||
| 	~/bin/sndbrd | ||||
|  | ||||
| # Mute mic | ||||
| super + s; m | ||||
| 	pactl set-source-mute jack_in toggle | ||||
|  | ||||
| # Fucking Firefox man | ||||
| control + q | ||||
|    /bin/true | ||||
|   | ||||
| @@ -137,6 +137,7 @@ | ||||
|      | ||||
|     # dmenu path. | ||||
|     dmenu = /home/fbt/bin/dmenu-extras | ||||
|     #dmenu = /usr/bin/dmenu | ||||
|     #dmenu = /usr/bin/rofi -dmenu | ||||
|      | ||||
|     # Browser for opening urls in context menu. | ||||
|   | ||||
| @@ -6,6 +6,7 @@ panels: | ||||
|     height: 14 | ||||
|     gap: 9 | ||||
|     fontspec: '-*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*' | ||||
|     #fontspec: '-*-cozettevector-*-*-*-9-*-*-*-*-*-*-*' | ||||
|     window_name: 'moltenbar' | ||||
|     active_areas: '128' | ||||
|     modules: | ||||
| @@ -14,11 +15,11 @@ panels: | ||||
|       date: date | ||||
|       la: load_average | ||||
|       memory: memory | ||||
|       playing: playing | ||||
|       www: network | ||||
|       xnt: network | ||||
|       warp: network | ||||
|     format: "@{pager}%{FC{bg}}%{BC{bg_focused}}%{F-}  @{taskbar}%{FC{bg_focused}}  %{B-} %{r} %{FC{bg_focused}} %{F-}%{BC{bg_focused}} d( %{F#E87C00}@{playing}%{F-} )b | LA: @{la} | Mem: @{memory}%% | Network: @{www} @{warp} @{xnt} | @{date}  %{B-}" | ||||
|       gpu: gpu | ||||
|     format: "@{pager}%{FC{bg}}%{BC{bg_focused}}%{F-}  @{taskbar}%{FC{bg_focused}}  %{B-} %{r} %{FC{bg_focused}} %{F-}%{BC{bg_focused}} LA: @{la} | Mem: @{memory}%% | GPU: @{gpu}° | Network: @{www} @{warp} @{xnt} | @{date}  %{B-}" | ||||
|     colours: | ||||
|       # #1D2129 | ||||
|       fg: '#f9f9f9' | ||||
| @@ -49,7 +50,7 @@ panels: | ||||
|         hosts: | ||||
|           - de-ber-as20647.anchors.atlas.ripe.net | ||||
|           - nl-ams-as1101.anchors.atlas.ripe.net | ||||
|           - ru-mow-as15835.anchors.atlas.ripe.net | ||||
|           - ru-mow-as47764.anchors.atlas.ripe.net | ||||
|       warp: | ||||
|         hosts: | ||||
|           - malganis.priv | ||||
| @@ -59,7 +60,10 @@ panels: | ||||
|         hosts: | ||||
|           - emerald.zorg.sh | ||||
|           - brilliant.zorg.sh | ||||
|           - ui-server17.prod.zorg.sh | ||||
|           - ui-server30.prod.zorg.sh | ||||
|       memory: | ||||
|         warn_value: 75 | ||||
|         crit_value: 90 | ||||
|       gpu: | ||||
|         temp_warn: 45 | ||||
|         temp_crit: 80 | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| #!/usr/bin/env ssm | ||||
|  | ||||
| service_command = /bin/compton --vsync -f -D 3 -e 1.0 | ||||
| @@ -3,8 +3,6 @@ | ||||
| #service_respawn='true' | ||||
| service_command='/home/fbt/bin/moltenbar' | ||||
|  | ||||
| service_depends_ready=( compton ) | ||||
|  | ||||
| post_start() { | ||||
| 	# Die if the thing didn't start | ||||
| 	timer 5 nullexec xdo id -a moltenbar || return 1 | ||||
|   | ||||
							
								
								
									
										3
									
								
								homedir/.config/ssm/services/openrazer-daemon
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								homedir/.config/ssm/services/openrazer-daemon
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| #!/usr/bin/env ssm | ||||
|  | ||||
| service_command = /usr/bin/openrazer-daemon -F | ||||
							
								
								
									
										3
									
								
								homedir/.config/ssm/services/picom
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								homedir/.config/ssm/services/picom
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| #!/usr/bin/env ssm | ||||
|  | ||||
| service_command = /bin/picom --vsync -f -D 3 -e 1.0 -C -o 0.0 | ||||
| @@ -4,7 +4,9 @@ | ||||
| service_command = '/usr/bin/pulseaudio' \ | ||||
| 	--exit-idle-time=-1 \ | ||||
| 	-L module-jack-sink \ | ||||
| 	-L module-jack-source \ | ||||
| 	-L module-native-protocol-tcp | ||||
| 	-L "module-jack-sink sink_name=jack_sink_01 connect=false" \ | ||||
| 	-L "module-jack-sink sink_name=jack_sink_02 connect=false" \ | ||||
| 	-L "module-jack-source channels=2" \ | ||||
| 	-L "module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" | ||||
|  | ||||
| stop() { "$service_command" -k; } | ||||
|   | ||||
							
								
								
									
										6
									
								
								homedir/.config/ssm/services/stalonetray
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								homedir/.config/ssm/services/stalonetray
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| #!/bin/env ssm | ||||
|  | ||||
| export DISPLAY="${service_name#stalonetray@}" | ||||
|  | ||||
| #service_respawn = 'true' | ||||
| service_command = "/usr/bin/stalonetray" | ||||
							
								
								
									
										1
									
								
								homedir/.config/ssm/services/stalonetray@:0
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								homedir/.config/ssm/services/stalonetray@:0
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| stalonetray | ||||
| @@ -1,5 +1,3 @@ | ||||
| #!/usr/bin/env watchman | ||||
|  | ||||
| service_workdir = "$HOME" | ||||
| service_respawn = always | ||||
| service_command = /usr/bin/sxhkd | ||||
|   | ||||
| @@ -1,4 +1 @@ | ||||
| #!/bin/env watchman | ||||
|  | ||||
| #service_respawn='true' | ||||
| service_command='/usr/bin/syncthing' | ||||
| service_command = /usr/bin/syncthing | ||||
|   | ||||
| @@ -2,6 +2,8 @@ | ||||
|  | ||||
| service_tmpfiles=( "/run/user/$UID/ufwd:dir" ) | ||||
|  | ||||
| export PATH="$HOME/.local/bin:$PATH" | ||||
|  | ||||
| #service_respawn='true' | ||||
| service_command='/usr/bin/ufwd' | ||||
| service_args=( -n -c -- -p ) | ||||
|   | ||||
							
								
								
									
										9
									
								
								homedir/.config/ssm/services/ufwd-fikus
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								homedir/.config/ssm/services/ufwd-fikus
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| #!/usr/bin/env watchman | ||||
|  | ||||
| service_tmpfiles=( "$XDG_RUNTIME_DIR/ufwd-fikus:dir" ) | ||||
|  | ||||
| export UFW_CFG_FILE=$HOME/.config/ufw.d/fikus | ||||
|  | ||||
| #service_respawn='true' | ||||
| service_command='/usr/bin/ufwd' | ||||
| service_args=( -n -c -d $XDG_RUNTIME_DIR/ufwd-fikus ) | ||||
| @@ -6,9 +6,8 @@ service_tmpfiles=( "$XDG_RUNTIME_DIR/scn:dir" ) | ||||
| dirs=( $(find /home/fbt/.local/share/Steam/userdata/22500463/760/remote -name 'screenshots') ) | ||||
| dirs+=( "$XDG_RUNTIME_DIR/scn" ) | ||||
|  | ||||
|  | ||||
| service_command = $HOME/bin/ufwd -c \ | ||||
| service_command = /usr/bin/ufwd -c \ | ||||
| 	$(printf -- '-d %s ' "${dirs[@]}") \ | ||||
| 	-- -R -A "Screenshots; $(date +%Y.%m.%d) [$RANDOM]" | ||||
| 	-- -R -t 'screenshot' -A "Screenshots; $(date +%Y.%m.%d)" | ||||
|  | ||||
| service_cgroup_cleanup = 1 | ||||
|   | ||||
| @@ -26,12 +26,14 @@ | ||||
| #service_stop_signal = 15 | ||||
|  | ||||
| # Enable cgroup-related functions | ||||
| cgroups = 1 | ||||
| #cgroups = 1 | ||||
|  | ||||
| # Refuse to start the service if its cgroup is not empty | ||||
| service_cgroup_exclusive = 1 | ||||
| #service_cgroup_exclusive = 1 | ||||
|  | ||||
| # Wait on all the members of the cgroup to exit when stopping the service. | ||||
| service_cgroup_wait = 1 | ||||
|  | ||||
| service_cgroup_strict = 0 | ||||
|  | ||||
| #logdir = ~/.log | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
|  | ||||
| [options] | ||||
| font = Terminus 10 | ||||
| #font = CozetteVector 9 | ||||
| #allow_bold = false | ||||
| cursor_blink = off | ||||
| cursor_shape = ibeam | ||||
| @@ -16,6 +17,7 @@ audible_bell = true | ||||
|  | ||||
| [hints] | ||||
| font = terminus 10 | ||||
| #font = cozette 10 | ||||
| roundness = 0.0 | ||||
|  | ||||
| [colors] | ||||
|   | ||||
							
								
								
									
										27
									
								
								homedir/.config/termite/current
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								homedir/.config/termite/current
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| [colors] | ||||
| cursor = #d8dee9 | ||||
| cursor_foreground = #2e3440 | ||||
|  | ||||
| foreground = #d8dee9 | ||||
| foreground_bold = #d8dee9 | ||||
| background = #262C36 | ||||
| background = rgba(38, 44, 54, 0.9) | ||||
|  | ||||
| highlight = #4c566a | ||||
|  | ||||
| color0  = #3b4252 | ||||
| color1  = #bf616a | ||||
| color2  = #a3be8c | ||||
| color3  = #ebcb8b | ||||
| color4  = #81a1c1 | ||||
| color5  = #b48ead | ||||
| color6  = #88c0d0 | ||||
| color7  = #e5e9f0 | ||||
| color8  = #4c566a | ||||
| color9  = #bf616a | ||||
| color10 = #a3be8c | ||||
| color11 = #ebcb8b | ||||
| color12 = #81a1c1 | ||||
| color13 = #b48ead | ||||
| color14 = #8fbcbb | ||||
| color15 = #eceff4 | ||||
| @@ -32,7 +32,8 @@ NULLCMD=true | ||||
| READNULLCMD=true | ||||
|  | ||||
| # Locale | ||||
| export LC_ALL='en_US.UTF-8' | ||||
| export LANG='en_IE.UTF-8' | ||||
| export LC_ALL='en_IE.UTF-8' | ||||
|  | ||||
| # dotfiles config | ||||
| dotfiles_dir="$HOME/git/dotfiles" | ||||
|   | ||||
| @@ -49,6 +49,7 @@ setxkbmap -layout "ducky-mini(us),ducky-mini(ru)" \ | ||||
| xmodmap -e 'remove lock = Caps_Lock' \ | ||||
|         -e 'keycode 135 = KP_Insert' \ | ||||
|         -e 'keycode 49 = Escape asciitilde' | ||||
| #xmodmap -e "pointer = 3 2 1" | ||||
|  | ||||
| # Start a dbus session | ||||
| if ! [[ "$DBUS_SESSION_BUS_ADDRESS" ]]; then | ||||
| @@ -61,6 +62,9 @@ export VDPAU_NVIDIA_NO_OVERLAY=1 | ||||
| nvidia-settings -l | ||||
| nvidia-settings -a InitialPixmapPlacement=2 | ||||
|  | ||||
| # Colour temp | ||||
| xsct 6000 | ||||
|  | ||||
| # Custom functions | ||||
| services() { | ||||
| 	for i in "${session_services[@]}"; do | ||||
|   | ||||
		Reference in New Issue
	
	Block a user