Compare commits

...

3 Commits

2 changed files with 86 additions and 9 deletions

View File

@ -0,0 +1,28 @@
{
"settingDefaults": {
"custom_themes": [
{
"name": "Catppuccin Mocha",
"is_dark": true,
"colors": {
"accent-color": "#cba6f7",
"primary-color": "#cba6f7",
"warning-color": "#f38ba8",
"sidebar-color": "#11111b",
"roomlist-background-color": "#181825",
"roomlist-text-color": "#cdd6f4",
"roomlist-text-secondary-color": "#bac2de",
"roomlist-highlights-color": "#313244",
"roomlist-seperator-color": "#6c7086",
"timeline-background-color": "#1e1e2e",
"timeline-text-color": "#cdd6f4",
"timeline-text-secondary-color": "#bac2de",
"timeline-highlights-color": "#181825",
"username-colors": [ "#f2cdcd", "#f5c2e7", "#f38ba8", "#fab387", "#a6e3a1", "#89b4fa", "#f9e2af", "#89dceb" ],
"avatar-background-colors": [ "#f5c2e7", "#a6e3a1", "#89b4fa" ]
}
}
]
},
"showLabsSettings": true
}

View File

@ -1,13 +1,47 @@
#! /bin/sh
# set primary monitor and lower resolution
xrandr --output HDMI-A-0 --mode 2560x1440 --primary --right-of eDP
monitor_internal=eDP
monitor_external=HDMI-A-0
monitor_primary=$monitor_external
# check if we are connected to an second monitor
dock_status=docked
if xrandr | grep "$monitor_external disconnected"; then
dock_status=undocked
monitor_primary=$monitor_internal
fi
# set primary monitor
xrandr --output $monitor_primary --primary
if [[ "$dock_status" = "docked" ]]; then
# lower external monitor resolution and set up positioning
xrandr --output $monitor_external --mode 2560x1440 --right-of $monitor_internal
fi
# start sxhkd
pgrep -x sxhkd > /dev/null || sxhkd &
bspc monitor eDP -d 1 2 3 4 5
bspc monitor HDMI-A-0 -d 6 7 8 9 10
# create/move desktops
# !!!!!!!!!! DISCLAIMER !!!!!!!!!!
# dynamically moving desktops with a config reload is currently still broken,
# however things are configured properly for either one or two monitors on boot
if [[ "$dock_status" = "docked" ]]; then
if [[ "$(bspc query -D -m $monitor_internal | wc -l)" = "10" ]]; then
bspc query -D -m $monitor_internal --names | tail -5 | xargs -rd'\n' -i'{}' bspc desktop {} -m $monitor_external --follow
else
bspc monitor $monitor_internal -d 1 2 3 4 5
bspc monitor $monitor_external -d 6 7 8 9 10
fi
else
if [[ "$(bspc query -D --names | grep -v ghost | wc -l)" = "10" ]]; then
# create ghost desktop so all external desktops can be moved
#bspc monitor $monitor_external -d ghost
bscp query -D -m $monitor_external --names | grep -v ghost | xargs -rd'\n' -i'{}' bspc desktop {} -m $monitor_internal --follow
else
bspc monitor $monitor_internal -d 1 2 3 4 5 6 7 8 9 10
fi
fi
bspc config border_width 4
bspc config window_gap 15
@ -25,11 +59,22 @@ bspc config urgent_border_color \#cba6f7
bspc config presel_feedback_color \#cba6f7
# rules
bspc rule -a discord -o node=@^1:^1:/2 desktop='1' follow=off focus=off
bspc rule -a Element -o node=@^1:^1:/1 desktop='1'
bspc rule -a TelegramDesktop -o node=@^1:^1:/1 desktop='1'
bspc rule -a firefox desktop='6' follow=off
bspc rule -a Claws-mail desktop='7' follow=off
bspc rule -a discord -o node=@^1:^1:/2 desktop=1 follow=off focus=off
bspc rule -a Element -o node=@^1:^1:/1 desktop=1
bspc rule -a TelegramDesktop -o node=@^1:^1:/1 desktop=1
firefox_desktop=6
claws_desktop=7
obsidian_desktop=8
if [[ "$dock_status" = "undocked" ]]; then
firefox_desktop=2
claws_desktop=3
obsidian_desktop=4
fi
bspc rule -a firefox desktop=$firefox_desktop follow=off
bspc rule -a Claws-mail desktop=$claws_desktop follow=off
bspc rule -a obsidian desktop=$obsidian_desktop follow=off
bspc rule -a REAPER desktop='10' follow=off
# floating windows
@ -37,6 +82,7 @@ bspc rule -a Pavucontrol state=floating rectangle=600x800+0+0 center=on
bspc rule -a 1Password state=floating rectangle=1000x900+0+0 center=on
bspc rule -a Org.gnome.Nautilus state=floating rectangle=1200x900+0+0 center=on
bspc rule -a kitty_float state=floating rectangle=1000x700+0+0 center=on
bspc rule -a Popsicle-gtk state=floating rectangle=800x300+0+0 center=on
# startup
picom --experimental-backends &
@ -44,6 +90,8 @@ polybar-msg cmd quit
polybar left &
polybar right &
dunst &
rofi-polkit-agent &
if [ ! -f /tmp/startup.lock ]; then
touch /tmp/startup.lock
@ -54,4 +102,5 @@ if [ ! -f /tmp/startup.lock ]; then
firefox &
claws-mail &
obsidian &
fi