i3窗口管理器的一些配置

配置文件位置:~/.config/i3/config。这些行直接复制到配置文件末尾,按Mod+Shift+R重启i3即可。检查快捷键可以用showkey 或者xev 。

锁屏和休眠快捷键

需要安装i3lock ,需要处理图片则还需安装imagemagick ,自动锁屏需要安装xautolock 。

# 只是锁屏
bindsym $mod+l exec i3lock
# 锁屏 + 休眠
bindsym $mod+Shift+s exec "i3lock && systemctl suspend"
# 锁屏带模糊的截图
bindsym $mod+Shift+s exec "scrot /tmp/lockscreen.png && mogrift -scale 50% -gaussian-blur 0x4 -gamma 0.8 -scale 200% /tmp/lockscreen.png && i3lock -i /tmp/lockscreen.png"
# 5 分钟不活动自动锁屏
# 这里用了 kdialog 弹出提示;非 KDE 环境可以用 notify-send
xautolock -time 5 -locker 'scrot /tmp/lockscreen.png && mogrift -scale 50% -gaussian-blur 0x4 -gamma 0.8 -scale 200% /tmp/lockscreen.png && i3lock -i /tmp/lockscreen.png' -notify 5 -notifier 'kdialog --passivepopup \"Screen is to be locked in 5 secs\" 4'
# 如果觉得图片处理延迟太高,可以在锁屏触发以后弹个提示
bindsym $mod+Control+Shift+s exec "scrot /tmp/lockscreen.png && (kdialog --passivepopup '现在您可以安全地关闭计算机了' 5&) && mogrify -scale 50% -gaussian-blur 0x4 -gamma 0.8 -scale 200% /tmp/lockscreen.png && i3lock -i /tmp/lockscreen.png && systemctl suspend"

截屏并复制到剪贴板

需要安装scrot 和xclip 。

# 全屏截图
bindsym --release Print exec "scrot -b -m /tmp/screenshot.png && xclip -selection clipoard -t 'image/png' /tmp/screenshot.png"
# 截取当前窗口
bindsym --release $mod+Print exec "scrot -u -b -m /tmp/screenshot.png && xclip -selection clipoard -t 'image/png' /tmp/screenshot.png"
# 鼠标选择区域
bindsym --release $mod+Shift+Print exec "scrot -s -b -m /tmp/screenshot.png && xclip -selection clipoard -t 'image/png' /tmp/screenshot.png"
# QQ 风格的截屏快捷键
bindsym --release Control+Mod1+A exec "scrot -s -b -m /tmp/screenshot.png && xclip -selection clipoard -t 'image/png' /tmp/screenshot.png"

特殊窗口状态处理

for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [class="TeamViewer"] floating enable
for_window [title="Preference$"] floating enable
for_window [title="Pages Unresponsive"] floating enable
for_window [class="Calise"] floating enable
for_window [class="whatpulse"] floating enable
no_focus [class="fcitx"]

开机启动时设置壁纸和正确的鼠标指针

下面是纯色背景,需要壁纸的话xsetroot 也支持传位图进去。

exec --no-startup-id "xsetroot -cursor_name left_ptr"
exec --no-startup-id "xsetroot -solid '#333333'"

应用显示器颜色配置文件

需要安装Argyll CMS ,因为这个操作需要root权限,可以先事先sudo chmod +s `which dispwin`

exec "dispwin -Sl -v -d1 -c -I path/to/your/icc_profile.icm"

音量控制

提供了两种方法,分别依赖alsamixer 和pulseaudio 。数字1是播放设备ID,可以运行alsamixer 命令按F6查看,或者运行pactl list sinks 。注意PulseAudio可能把音量调到超过100%造成物理损害。

# alsamixer
bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer -c 1 -q sset Master 5%+" 
bindsym XF86AudioLowerVolume exec --no-startup-id "amixer -c 1 -q sset Master 5%-" 
bindsym XF86AudioMute exec --no-startup-id "amixer -c 1 -q sset Master toggle"

# pulseaudio
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 1 +5%"
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 1 -5%"
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute 1 toggle"

亮度控制

不一定有用,视设备而定。

bindsym XF86MonBrightnessUp exec "xbacklight -inc 20" 
bindsym XF86MonBrightnessDown exec "xbacklight -dec 20"

播放器控制

需要安装playerctl 。

bindsym XF86AudioPlay exec "playerctl play" 
bindsym XF86AudioPause exec "playerctl pause" 
bindsym XF86AudioNext exec "playerctl next" 
bindsym XF86AudioPrev exec "playerctl previous"

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据