linux窗口管理器使用聊天,Linux轻量级平铺窗口管理器Bspwm使用经验

Linux经典桌面

Linux下有许多优秀的桌面环境,比如轻量的XFCE,美观的KDE和GNOME等。并且这些桌面一些功能菜单也可以做到类似Windows一些布局。

平铺桌面

但是,我从Windows转头Linux后,就喜欢用Linux独有的操作习惯,而不是在Linux上模仿美化成Windows的样子,所以我从最初的XFCE桌面切换到了平铺桌面i3wm,使用了一段时间后,发现真心可以让键盘最大化的使用起来。作为一个习惯用键盘多过鼠标的人而言,这无疑让我坚定 了平铺桌面及键盘的操作方式。i3wm的快键键可以自定义成类似Vim的操作方式,大大节省了肌肉记忆,可以让喜欢vim操作的人马上可以上手这个平铺桌面。

入坑Bspwm

我是一个喜欢折腾的人,在入坑平铺窗口管理器后,我就去搜索引擎上查找不同的平铺管理器之间的对比了。在期间我就发现了Bspwm,网上评价它是一个入门门槛稍高的管理器。我一想不折腾不死心,马上入坑。

下载地址

Bspwm介绍

bspwm是一个平铺窗口管理器,它将窗口表示为完整二叉树的叶子。

它仅响应X事件以及它在专用套接字上接收的消息。

bspc是一个在bspwm的socket 上写消息的程序。

bspwm不处理任何键盘或指针输入:需要第三方程序(例如sxhkd)才能将键盘和指针事件转换为bspc调用。

概述的体系结构如下:

PROCESS SOCKET

sxhkd --------> bspc bspwm

常用功能

这些配置最初都是参考自官方配置。

Bspwm的快键键需要依赖sxhkd,所以默认配置文件地址我放在.config/sxhkd/sxhkdrc下,

sxhkdrc配置项

命令

功能

描述

super + Return

urxvt

打开urxvt

super + @space

dmenu_run

打开dmenu

super + d

rofi -show run

运行rofi

super + ctrl + alt + b

blurlock

模糊锁屏

super + ctrl +alt + p

$HOME/.config/bspwm/scripts/touchpad.sh

运行脚本(禁用触摸板)

super + Escape

pkill -USR1 -x sxhkd

杀死sxhkd

super + alt + Escape

bspc quit

退出bspc

super + {_,shift + }w

bspc node -{c,k}

结束/杀死窗口

super + m

bspc desktop -l next

在平铺和单窗口间切换

super + y

bspc node newest.marked.local -n newest.!automatic.local

将标记的节点窗口移动到预选择的窗口上

super + g

bspc node -s biggest.local

切换到当前视图节点最大的窗口

super + {t,shift + t,s,f}

bspc node -t {tiled,pseudo_tiled,floating,fullscreen}

切换平铺/居中平铺/悬浮/窗口最大化状态

super + ctrl + {m,x,y,z}

bspc node -g {marked,locked,sticky,private}

节点标记/锁定/便签/私有

super + {_,shift + }{h,j,k,l}

bspc node -{f,s} {west,south,north,east}

移动节点焦点

super + {p,b,comma,period}

bspc node -f @{parent,brother,first,second}

选择父类节点,兄弟节点

super + {_,shift + }c

bspc node -f {next,prev}.local

前后节点切换

super + bracket{left,right}

bspc desktop -f {prev,next}.local

前后桌面切换

super + {grave,Tab}

bspc {node,desktop} -f last

切换上次切点/窗口

super + {o,i}

bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on

切换最老/最新的节点

super + {_,shift + }{1-9,0}

bspc {desktop -f,node -d} '^{1-9,10}'

切换窗口

super + ctrl + {h,j,k,l}

bspc node -p {west,south,north,east}

预选则节点区域

super + ctrl + {1-9}

bspc node -o 0.{1-9}

根据数字比例预选则节点区域

super + ctrl + space

bspc node -p cancel

取消预选则当前焦点节点区域

super + ctrl + shift + space

bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel

取消预选则窗口的节点区域

super + alt + {h,j,k,l}

bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}

扩大范围

ksuper + alt + shift + {h,j,k,l}

bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}

缩小节点大小

super + ctrl + alt +{h,j,k,l}

bspc node -v {-20 0,0 20,0 -20,20 0}

移动悬浮窗口

bspwmrc配置项

配置文件目录地址为.config/bspwm/bspwmrc

#! /bin/sh

#LAUNCHERS

$HOME/.config/bspwm/autostart.sh

#bspc monitor -d I II III IV V VI VII VIII IX X

bspc monitor eDP-1 -d I II III IV V

bspc monitor HDMI-2 -d VI VII VIII IX X

#bspc monitor eDP-1 -s HDMI-2

#for monitor in $(bspc query -M); do

# bspc monitor $monitor -d I II III IV V VI VII VIII IX X

#done

bspc config border_width 2

bspc config window_gap 12

bspc config split_ratio 0.52

bspc config borderless_monocle true

bspc config gapless_monocle true

bspc rule -a Gimp desktop='^8' state=floating follow=on

bspc rule -a Chromium desktop='^2'

#bspc rule -a jetbrains-idea desktop='^3'

bspc rule -a jetbrains-datagrip desktop='^3'

#bspc rule -a "VirtualBox Manager" desktop='^10'

bspc rule -a rdesktop desktop='^3'

bspc rule -a mplayer2 state=floating

bspc rule -a Kupfer.py focus=on

bspc rule -a Screenkey manage=off

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值