bspwmrc 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/usr/bin/env sh
  2. DISPLAY1="$(bspc query -M --names | awk -F: '{print $1}' | grep 'eDP1\|eDP-1\|VGA-0')"
  3. [[ ! -z "$DISPLAY1" ]] && bspc monitor "$DISPLAY1" -d 1 2 3 4 5 6 7 8 9 && bspc config -m "$DISPLAY1" top_padding 17
  4. [[ -z `pgrep enforce` ]] && ~/.bin/enforce "$DISPLAY1" '^1' &
  5. bspc config border_width 1
  6. bspc config window_gap 3
  7. bspc config split_ratio 0.5
  8. bspc config borderless_monocle false
  9. bspc config single_monocle true
  10. bspc config gapless_monocle false
  11. bspc config focus_follows_pointer true
  12. bspc config focused_border_color "#585858"
  13. bspc config normal_border_color "#12181d"
  14. bspc config active_border_color "#585858"
  15. bspc config presel_feedback_color "#9e9e9e"
  16. bspc config click_to_focus any
  17. bspc config honor_size_hints false
  18. bspc config ignore_ewmh_focus true
  19. # External Rules
  20. bspc config external_rules_command ~/.config/bspwm/external.sh
  21. # Workspaces
  22. bspc rule -a firefox follow=on desktop=^1
  23. bspc rule -a firefoxdeveloperedition follow=on desktop=^1
  24. bspc rule -a Qutebrowser follow=on desktop=^1
  25. bspc rule -a Iceweasel follow=on desktop=^1
  26. bspc rule -a TelegramDesktop follow=on desktop=^2 state=tiled
  27. bspc rule -a Thunderbird follow=on desktop=^3
  28. bspc rule -a Icedove follow=on desktop=^3
  29. bspc rule -a URxvt:ranger follow=on desktop=^4 state=tiled
  30. bspc rule -a *:Ranger follow=on desktop=^4 state=tiled
  31. bspc rule -a JDownloader follow=off desktop=^5
  32. bspc rule -a *:RTorrent follow=off desktop=^5
  33. bspc rule -a Lxappearance follow=on desktop=^6 state=floating
  34. bspc rule -a Anydesk follow=on desktop=^6 state=tiled
  35. bspc rule -a Remmina follow=on desktop=^6 state=tiled
  36. bspc rule -a qt5ct follow=on desktop=^6 state=floating
  37. bspc rule -a URxvt:music follow=on desktop=^7 state=tiled
  38. bspc rule -a *:Ncmpcpp follow=on desktop=^7 state=tiled
  39. bspc rule -a mpv follow=on desktop=^7 state=tiled
  40. bspc rule -a obs follow=on desktop=^7 state=tiled
  41. bspc rule -a cantata follow=on desktop=^7 state=tiled
  42. bspc rule -a Easytag follow=on desktop=^7 state=tiled
  43. bspc rule -a *:libreoffice follow=off desktop=^8 state=tiled
  44. bspc rule -a Soffice follow=off desktop=^8
  45. bspc rule -a Zathura follow=on desktop=^8 state=tiled
  46. bspc rule -a Emacs follow=on desktop=^9 state=tiled
  47. bspc rule -a Remacs follow=on desktop=^9 state=tiled
  48. bspc rule -a Wine follow=off desktop=^6 state=tiled
  49. # Floating apps
  50. bspc rule -a sxiv follow=off state=floating
  51. bspc rule -a URxvt:Terminal follow=off state=floating center=on
  52. bspc rule -a *:Terminal follow=off state=floating center=on
  53. bspc rule -a *:Buscando follow=off state=floating center=on
  54. # Xresources
  55. xrdb ~/.Xresources &
  56. # Wallpaper
  57. [[ -z $(pgrep feh) ]] && feh --bg-fill $HOME/.dots/walls/03.jpg &
  58. # i3lock Fancy
  59. [[ -z $(pgrep xss-lock) ]] && xss-lock -- i3lock-fancy-dualmonitor -p -f 'PragmataPro-Mono-Regular' &
  60. # clipboard
  61. [[ -z $(pgrep clipboard) ]] && ~/.bin/clipboard &
  62. # panel
  63. [[ -z $(pgrep panel) ]] && ~/.bin/panel &
  64. # udiskie
  65. [[ -z $(pgrep udiskie) ]] && udiskie &
  66. # sxhkd
  67. [[ -z $(pgrep sxhkd) ]] && sxhkd &
  68. # xcompmgr
  69. [[ -z $(pgrep xcompmgr) ]] && xcompmgr -c -C -t-5 -l-5 -r4.2 &
  70. #! /bin/sh
  71. window_id=$1
  72. class=$2
  73. instance=$3
  74. #WM_WINDOW_ROLE Rules
  75. role=$(xprop -id $1 | grep WM_WINDOW_ROLE | awk -F '"' '{print $2}')
  76. case "$role" in
  77. quake) #Tilix Quake
  78. echo "state=floating"
  79. echo "border=off"
  80. ;;
  81. pop-up|bubble|task_dialog|Preferences|dialog|menu)
  82. echo "state=floating"
  83. ;;
  84. About|Organizer|Buscando) #Firefox
  85. echo "state=floating"
  86. ;;
  87. esac