mirror of
https://github.com/alrayyes/dotfiles/
synced 2023-11-14 15:56:30 +00:00
141 lines
3.5 KiB
Fish
141 lines
3.5 KiB
Fish
#!/usr/bin/env fish
|
|
|
|
###---Start app if not running already---###
|
|
function start_if_not_running
|
|
set PROCESS_NAME $argv[1]
|
|
|
|
|
|
if [ (pgrep -u (id -u) -x "$PROCESS_NAME" | wc -l) -lt 1 ]
|
|
if.chassisType -q $argv[1]
|
|
eval "$argv[1] &"
|
|
end
|
|
end
|
|
end
|
|
|
|
###---Start app in alacritty if not running already---###
|
|
function start_shell_if_not_running
|
|
if [ (pgrep -u (id -u) -x $argv[1] | wc -l) -lt 1 ]
|
|
if.chassisType -q $argv[1]
|
|
eval "alacritty --class $argv[1],$argv[1] -e $argv[1] &"
|
|
end
|
|
end
|
|
end
|
|
|
|
###---Load xresources---###
|
|
xrdb -load ~/.config/X11/xresources
|
|
|
|
###---Flush rules---###
|
|
bspc rule -r "*"
|
|
|
|
###---Sxhkd---###
|
|
set -U SXHKD_SHELL sh
|
|
sxhkd &
|
|
|
|
###---Keyboard---###
|
|
setxkbmap -option caps:escape
|
|
|
|
###---Monitors---###
|
|
{{- if eq .chassisType "desktop" }}
|
|
bspc monitor DP-3 -d 2 3 4 5 6 7 8 9 0
|
|
bspc monitor DP-2 -d 1
|
|
xrandr --output DP-3 --primary --mode 3840x2160 --rotate normal --output DP-2 --mode 2560x1440 --pos 0x0 --rotate left
|
|
{{ else }}
|
|
bspc monitor -d 1 2 3 4 5 6 7 8 9 0
|
|
{{- end }}
|
|
|
|
###---Polybar---###
|
|
# Terminate already running bar instances
|
|
killall -q polybar
|
|
|
|
# Wait until the processes have been shut down
|
|
while pgrep -u (id -u) -x polybar >/dev/null
|
|
sleep 1
|
|
end
|
|
{{- if eq .chassisType "desktop" }}
|
|
polybar-monitor1 &
|
|
polybar-monitor2 &
|
|
{{ else }}
|
|
polybar framework-top &
|
|
polybar framework-bottom &
|
|
{{- end }}
|
|
|
|
###---Wallpaper & opacity---###
|
|
{{- if eq .chassisType "desktop" }}
|
|
xwallpaper --output DP-2 --zoom ~/.cache/wall2.png --output DP-3 --zoom ~/.cache/wall1.png &
|
|
{{ else }}
|
|
xwallpaper --output eDP-1 --zoom ~/.cache/wall1.png &
|
|
{{- end }}
|
|
wal -n -R
|
|
picom -b
|
|
|
|
###---Global Settings---###
|
|
. ~/.cache/wal/colors.fish
|
|
bspc config normal_border_color "$color1"
|
|
bspc config active_border_color "$color2"
|
|
bspc config focused_border_color "$color15"
|
|
bspc config presel_feedback_color "$color1"
|
|
|
|
bspc config automatic_scheme alternate
|
|
bspc config initial_polarity second_child
|
|
|
|
###---Desktop Settings----###
|
|
bspc config border_width 2
|
|
bspc config window_gap 4
|
|
|
|
###---Rules---###
|
|
bspc rule -a "Syncthing GTK" state=floating
|
|
bspc rule -a Gimp state=floating follow=on
|
|
|
|
bspc rule -a float state=floating
|
|
bspc rule -a fullscreen state=fullscreen
|
|
|
|
bspc rule -a Emacs state=tiled
|
|
bspc rule -a Zathura state=tiled
|
|
|
|
bspc rule -a firefox desktop='^1'
|
|
bspc rule -a Brave-browser desktop='^1'
|
|
bspc rule -a bashtop desktop='^2'
|
|
bspc rule -a Slack='^3'
|
|
bspc rule -a Element desktop='^3'
|
|
bspc rule -a weechat desktop='^3'
|
|
bspc rule -a castero desktop='^4'
|
|
bspc rule -a Spt desktop='^4'
|
|
bspc rule -a jetbrains-webstorm desktop='^8'
|
|
bspc rule -a Emacs desktop='^9'
|
|
|
|
bspc rule -a scratchpad sticky=on state=floating
|
|
bspc rule -a scratchmacs sticky=on state=floating
|
|
|
|
###---Autostart---###
|
|
start_if_not_running dunst
|
|
start_if_not_running unclutter
|
|
start_if_not_running xbanish
|
|
start_if_not_running nm-applet
|
|
start_if_not_running pasystray
|
|
start_if_not_running redshift-gtk
|
|
start_if_not_running syncthing-gtk
|
|
start_if_not_running caffeine
|
|
start_if_not_running clipmenud
|
|
|
|
start_if_not_running firefox
|
|
start_if_not_running emacs
|
|
start_if_not_running element-desktop
|
|
start_if_not_running element-desktop-nightly
|
|
start_if_not_running gpodder
|
|
{{- if eq .chassisType "desktop" }}start_if_not_running slack{{ end }}
|
|
|
|
pkill -f cleanfullscreen
|
|
~/.local/bin/cleanfullscreen &
|
|
|
|
###---System lock---###
|
|
pkill -f xss-lock
|
|
xset s 300 5
|
|
env XSECURELOCK_FONT="Hack Nerd Font" xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock &
|
|
|
|
###---Misc---###
|
|
# Needed for Jetbrains products to work
|
|
wmname LG3D &
|
|
|
|
# Enable bspswallow
|
|
pidof bspswallow || bash bspswallow &
|