#!/bin/bash # 颜色定义, 同alacritty主题 color_border='#57606f' color_background='#475569' color_foreground='#d8dee9' color_altbackground='#39404f' color_altforeground='#768bb2' color_accent='#81a1c1' color_black='#3b4252' color_red='#bf616a' color_green='#a3be8c' color_yellow='#ebcb8b' color_blue='#81a1c1' color_magenta='#b48ead' color_cyan='#88c0d0' color_white='#e5e9f0' color_altblack='#4c566a' color_altred='#bf616a' color_altgreen='#a3be8c' color_altyellow='#ebcb8b' color_altblue='#81a1c1' color_altmagenta='#b48ead' color_altcyan='#8fbcbb' color_altwhite='#eceff4' if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi ## 修复java程序打开空白的问题 export _JAVA_AWT_WM_NONREPARENTING=1 # 或者安装wmname后执行下面这句 #wmname LG3D # 设置显示器分辨率 xrandr --output HDMI-2 --auto --right-of HDMI-1 xrandr --output HDMI-1 --mode 1920x1080 --rate 60 # 干掉已经运行的进程 #killall -9 sxhkd picom nm-applet dunst xsettingsd polybar plank xss-lock killall -9 sxhkd xsettingsd # 2个显示器, 左显示器配置4个工作区, 右显示器只配置1个工作区 bspc monitor HDMI-1 -d I II III IV bspc monitor HDMI-2 -d V VI # bspwm 基础配置 bspc config border_width 2 bspc config window_gap 8 bspc config split_ratio 0.52 bspc config focused_border_color "$color_blue" bspc config normal_border_color "$color_border" bspc config active_border_color "$color_border" bspc config presel_feedback_color "$color_border" # 将这2个桌面的布局设为monocle bspc desktop II -l monocle bspc desktop V -l monocle # 工作区跟随鼠标切换 bspc config focus_follows_pointer false # monocle 布局关闭边框、边距 bspc config borderless_monocle true bspc config gapless_monocle true # 工作区只有一个窗口时, 将工作区切为monocle布局 bspc config single_monocle true # kill掉所有的订阅进程 all_sub_pid=$(pgrep -f 'bspc subscribe') if [ "$all_sub_pid" ]; then kill -9 $all_sub_pid fi # 删除已有的规则 bspc rule -r *:* # 默认所有的应用都浮动 bspc rule -a *:* state=floating focus=on follow=on bspc rule -a Plank layer=above # 终端默认设为浮动 # bspc rule -a Alacritty state=floating focus=on follow=on # bspc rule -a Xfce4-terminal state=floating focus=on follow=on # 一些软件, 也设为浮动 # for app_c in Thunar Code Sublime_text Google-chrome Inkscape Gnome-boxes \ # dingtalk_run Crossover TelegramDesktop # do # bspc rule -a "$app_c" state=floating focus=on follow=on # done # bspc rule -a Code state=tiled focus=on follow=on # 设置壁纸 feh --bg-fill --randomize ~/.local/share/backgrounds/ # 修复鼠标状态 xsetroot -cursor_name left_ptr # 设置系统主题 xsettingsd & if [[ ! "$(pidof picom)" ]]; then picom -b --experimental-backends fi # 一些配套服务 if [[ ! "$(pidof xfce-polkit)" ]]; then xfce-polkit & fi if [[ ! "$(pidof polybar)" ]]; then polybar main -r & fi if [[ ! "$(pidof dunst)" ]]; then dunst & fi if [[ ! "$(pidof plank)" ]]; then # 延时5秒再执行 (sleep 5; plank) & fi #if [[ ! "$(pidof nm-applet)" ]]; then # nm-applet & #fi # 启动配套的服务 # 睡眠/休眠时, 自动锁屏 if [[ ! "$(pidof xss-lock)" ]]; then xss-lock --transfer-sleep-lock -- ~/.local/bin/scripts/xlock.sh & fi # 键盘热键 sxhkd & ## 一些已经用systemd启动的服务 # pipewire, mpd, blueman # 每次启动时, 删除该文件 if [ -f ~/.cxoffice/wechat/.eval ]; then rm ~/.cxoffice/wechat/.eval fi # 订阅事件` (sleep 3; ~/.config/bspwm/subscribe.sh) & # 干掉wine应用的阴影 fuck_wine_shadow &