-
Notifications
You must be signed in to change notification settings - Fork 113
这部分是一些有用但是被我弃用的东西,以及一些参考。
- pacman常用命令
- timeshift
- ulauncher
- steam子卷
- ibus
- rEFInd
- 用archinstall安装gnome后的一些清理
- TLP相关
- ananicy-cpu资源调用优化
- 更换CachyOS源
- zen浏览器
- 更改tty字体大小
- wayland compositor 剪贴板
- wf-recorder
- 让flatpak应用gtk主题
- 限制amdCPU功耗
- snapper命令行快照回滚
- B站5000粉不到开播
- 字体设置
- tuigreet
- ly显示管理器
- Grub在btrfs文件系统的最佳配置方法
- opencode使用本地ollama或lmstudio模型
- 内存大页1G和2MB切换的问题
- 辨别软件是运行在xwayland还是wayland
- btrfs扩容和缩小
- vim/nvim切换模式时自动切换中文输入法
niri-shorin-fork-git
可以安装pacman的GUI。
sudo pacman -S pamac
常用命令:
- 下载包但不安装
sudo pacman -Sw
- 删除包,同时删除不再被其他包需要的依赖
sudo pacman -Rns
- 查询包
sudo pacman -Ss
- 列出所有已安装的包
sudo pacman -Qe
- 列出所有已安装的依赖
sudo pacman -Qd
- 清理包缓存
sudo pacman -Sc
- 列出孤立依赖包
sudo pacman -Qdt
- 清理孤立依赖包
sudo pacman -Rns $(pacman -Qdtq)
- 无视依赖关系强制删除某个包
sudo pacman -Rdd
sudo pacman -S timeshift
sudo systemctl enable --now cronie.service
自动生成快照启动项
sudo pacman -S grub-btrfs inotify-tools
sudo systemctl enable --now grub-btrfsd.service
修改服务配置
sudo systemctl edit grub-btrfsd.service
[Service]
ExecStart=
ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto
重启服务
sudo systemctl daemon-reload
sudo systemctl restart grub-btrfsd.service
ulauncher是一个启动器,支持模糊搜索,用gtk编写,支持python脚本
yay -S ulauncher
然后设置一个自定义快捷键,命令写ulauncher-toggle,如果使用gnome的rounded corner扩展记得添加ulauncher进黑名单。
ulauncher最好用的是它的扩展功能,安装非常方便。打开设置进extensions页面,点击左侧的discover extensions就可以找到。
我安装的扩展:
flathub manager 可以从ulauncher管理flatpak软件
emoji 可以快捷复制emoji
process murderer可以快捷杀死进程
youtube search快捷从youtube搜索内容
github search快捷从github搜索内容
appimage launcher快捷打开指定目录里的appimage文件(记得在设置里指定存放appimage的路径,需要使用从/开始的绝对路径)
浏览器搜索 ulauncher theme,存放路径在~/.config/ulauncher/user-themes
我不想快照复制steam游戏,因为这会占用大量的硬盘空间,可以创建一个和@home平级的@steamgames子卷让创建@home快照的时候排除steam的游戏。
-
挂载根分区硬盘到/mnt下任意位置
sudo mount --mkdir -o subvolid=5 /dev/nvme1n1p2 /mnt/btrfs_root #记得替换为自己对于的硬盘名称 -
创建@steamgames子卷
sudo btrfs subvolume create /mnt/btrfs_root/@steamgames -
禁用子卷的写时复制
sudo chattr +C /mnt/btrfs_root/@steamgames -
取消挂载
sudo umount /mnt/btrfs_root -
移动并备份现有steamapps文件夹
mv ~/.local/share/Steam/steamapps ~/.local/share/Steam/steamapps.bak -
创建新的steamapps文件夹作为挂载点
mkdir -p ~/.local/share/Steam/steamapps -
配置fstab文件
sudo vim /etc/fstab -
复制粘贴fstab里面根分区的那一行
# /dev/nvme1n1p2 UUID=92a83c41-105d-4983-9536-2492d024bb52 / btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@ 0 0粘贴到底部,把 / 修改为steamapps的路径
/home/shorin/.local/share/Steam/steamapps,把subvol=/@改成subvol=/@steamgames。修改后是这样的:# steamgames subvolume UUID=92a83c41-105d-4983-9536-2492d024bb52 /home/shorin/.local/share/Steam/steamapps btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@steamgames 0 0 -
刷新systemd缓存
sudo systemctl daemon-reload -
手动挂载fstab新条目
sudo mount -a -
修改权限(记得替换成自己的用户名)
sudo chown shorin ~/.local/share/Steam/steamapps/ -
把刚刚备份的文件移回原位
mv ~/.local/share/Steam/steamapps.bak/* ~/.local/share/Steam/steamapps/ -
清理残留
rm -r ~/.local/share/Steam/steamapps.bak
现在创建home目录的快照就不会记录steam的游戏库了。对lutris也可以进行同样的操作。如果被识别成外部设备出现在文档管理器的挂载列表里面,就在fstab的那一连串逗号隔开的参数里添加x-gvfs-hide
参考:Rime - Arch Linux 中文维基 | 可选配置(基础篇) | archlinux 简明指南 | RIME · GitHub
已知问题:amber-ce(后面星火应用商店的部分会用到)里安装的qt应用无法使用ibus输入法
- 安装ibus-rime
sudo pacman -S ibus ibus-rime rime-ice-pinyin-git
yay -S ibus-mozc
ibus是ibus输入法的基本包
ibus-rime是中州韵
rime-ice是雾凇拼音输入法方案,实测比万象拼音方案好用
ibus-mozc是日语输入法
-
在gnome的设置中心 > 键盘 > 添加输入源 > 汉语,里面找到rime添加,如果没有的话登出一次
-
编辑配置文件设置rime的输入法方案为ice雾凇拼音
vim ~/.config/ibus/rime/default.custom.yaml如果没有文件夹的话自己创建。
mkdir ~/.config/ibus/rime/创建文件夹,touch default.custom.yaml创建文件。写入以下内容:patch: # 这里的 rime_ice_suggestion 为雾凇方案的默认预设 __include: rime_ice_suggestion:/默认使用super+空格切换输入法,可以在设置里修改。第一次切换至rime输入法需要等待部署完成。
-
安装扩展自定义ibus
商店搜索extension安装蓝色的扩展管理器,或者用命令安装
flatpak install flathub com.mattjakeman.ExtensionManager安装两个扩展:
-
ibus tweaker
设置里激活“隐藏页按钮”
-
Customize IBus
需要登出一次
设置里,常规页面取消“候选框调页按钮”。主题页面可导入css自定义主题,GitHub - openSUSE/IBus-Theme-Hub: This is the hub for IBus theme that can be used by Customize IBus GNOME Shell Extension.(可被自定义IBus GNOME Shell 扩展使用的IBus主题集合),这个网站有一些预设主题。背景页面可以自定义背景(这个无敌了,什么美化都比不过一张合适的自定义背景)。其他的选项就自己探索吧。
-
- 删除ibus输入法
-
系统设置>键盘 移除输入源
-
删除包
yay -Rns ibus-mozc ibus ibus-rime rime-ice-pinyin-git -
删除残留
sudo rm -rfv ~/.config/ibus /usr/share/rime-data -
登出
sudo pacman -S refind
refind-install
-
启动项记忆
编辑esp里的refind.conf文件
sudo vim /efi/EFI/refind/refind.conf写入
default_selection +,意思是记住启动项选择。也可以"+,vmlinuz"设置优先级。 -
手动启动项
设置
menuentry{}menuentry "Arch Linux" { icon /EFI/refind/icons/os_arch.png volume **************** loader /@/boot/vmlinuz-linux-zen initrd /@/boot/initramfs-linux-zen.img options "root=UUID=54f285eb-8140-48df-81f8-2b03cb976fc0 rw rootflags=subvol=@ zswap.enabled=0 rootfstype=btrfs loglevel=5" enabled }icon设置图标路径,路径从esp的根目录开始而不是从linux的根目录开始。volume设置分区,不能用UUID,要用PARTUUID,使用sudo blkid获取。loader指定内核路径initrd指定initramfs和ucode的路径options ""指定启动项参数enabled表示启用这个entry,disabled是禁用。 -
美化
在/efi/EFI/refind/目录下新建一个themes文件夹
sudo mkdir -p /efi/EFI/refind/themes然后浏览器搜索自己喜欢的
git clone下来放到到刚刚创建的文件夹里然后编辑配置文件
sudo vim /efi/EFI/refind/refind.confinclude themes/**********/theme.conf -
隐藏启动项
可以在refind的引导界面按delete键盘隐藏启动项。
或者编辑配置文件用
dont_scan_dirs=指定要排除的目录。dont_scan_dirs=/@/boot,EFI/****
sudo pacman -R gnome-contacts gnome-maps gnome-music totem gnome-characters gnome-connections evince gnome-logs malcontent gnome-system-monitor gnome-console gnome-tour yelp simple-scan htop sushi gnome-user-docs epiphany
(power-profiles-daemon已经足够了,故弃用)
sudo pacman -S tlp tlp-rdw
yay -S tlpui
设置方法参考官方文档Settings — TLP 1.8.0 documentation
这里给一个现代电脑的通用设置:
processor选项卡中
CPU DRIVER OPMODE
AC active
BAT active
CPU SCALING GOVERNOR
AC schedutil
BAT powersave
CPU ENERGY PERF POLICY
AC balance_performance
BAT power
CPU BOOST
AC on
BAT off
PLATFORM PROFILE
AC balanced
BAT low-power
MEM SLEEP
BAT deep
- 开启服务
sudo systemctl enable --now tlp影响steam下载速度,弃用
yay -S ananicy-cpp cachyos-ananicy-rules-git
sudo systemctl enable --now ananicy-cpp.service
Optimized Repositories | CachyOS
(因严重软件安装异常问题弃用)
如果你渴望极致的性能优化,可以使用CachyOS的源。
ps:谨慎更换cachyos的内核linux-cachyos,内核恐慌(kernel panic)的概率会很大。
-
安装
curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz tar xvf cachyos-repo.tar.xz && cd cachyos-repo sudo ./cachyos-repo.sh -
重启电脑
-
移除
curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz tar xvf cachyos-repo.tar.xz cd cachyos-repo sudo ./cachyos-repo.sh --remove -
重启电脑
yay -S zen-browser zen-browser-i18n-zh-cn
sudo pacman -S terminus-font
ls /usr/share/kbd/consolefonts
sudo setfont ter-v32n
- 永久生效
sudoedit /etc/vconsole.conf
FONT=ter-v32n
sudo systemctl restart systemd-vconsole-setup
yay -S clipse clipse-gui
sudo pacman -S wf-recorder
示例:
wf-recorder -c h264_vaapi -d /dev/dri/renderD128 --audio --file=test.mp4 -F scale_vaapi=format=nv12:out_range=full:out_color_primaries=bt709
flatpak override --user --filesystem=~/.themes
flatpak override --user --filesystem=xdg-config/gtk-4.0
flatpak override --user --env=GTK_THEME=adw-gtk3-dark
ryzenadj
据官方文档说,可能会导致系统异常,但我没遇到过。
-
使用快照进行恢复
`1..0`这里的`1`是要使用的快照的序号。`0`代表当前状态,快照会比对两者之间的差别然后撤销所有的更改。 ``` snapper -c root undochange 1..0 ``` ``` reboot ```
安装这个油猴脚本,然后在直播间开播,获取到推流码之后用obs开播
字体主要分三类:
-
非衬线字体(sans-serif)
主要用于界面文字之类的场景。
-
等宽字体(monospace)
主要用于编程开发、终端之类的场景。
-
衬线字体(serif)
主要用于文书编辑之类的场景。
以下是一个fontconfig的示例,设置了三种字体类型具体使用哪些字体,可以解决大多数字体异常。fontconfig的位置在~/.config/fontconfig/fonts.conf,编辑配置文件后还需要运行fc-cache -fv刷新字体缓存。
PS:这里示例中的serif衬线字体使用的是sans-serif非衬线字体的字体。因为真正用到serif的时候通常会手动选择(比如使用wps进行文档编辑的时候),serif使用sans-serif的字体可以避免某些网站(例如bilibili直播)将本该是非衬线字体的内容显示为衬线字体导致大幅影响阅读体验。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
</match>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Adwaita Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Adwaita Sans</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>JetBrains Mono</family>
<family>JetBrains Maple Mono</family>
<family>Adwaita Mono</family>
</prefer>
</alias>
</fontconfig>
极速,基于greetd的纯tty tui显示管理器(如果进入tuigreet之后还有日志输出会导致tuigreet的tui错位)。
-
安装
sudo pacman -S --noconfirm --needed greetd greetd-tuigreet -
简单配置
sudo vim /etc/greetd/config.toml[terminal] # 绑定到 TTY1 vt = 1 [default_session] # 使用 tuigreet 作为前端 # 自动扫描 /usr/share/wayland-sessions/,支持时间显示、密码星号、记住上次选择 command = "tuigreet --time --user-menu --remember --remember-user-session --asterisks" user = "greeter" -
启用greetd
systemctl enable greetd
-
安装
sudo pacman -S ly -
启用
这里的tty1可以是任意tty
systemctl enable ly@tty1 -
简单配置
有一个很酷的代码雨动画背景可以开。
sudo vim /etc/ly/config.ini其他内容... animation = matrix 其他内容...
原理:grub装进esp,grub.cfg生成在/boot/grub。编辑esp里的grub.cfg让其在启动时读取/boot/grub/grub.cfg。这样/boot/grub/grub.cfg可以被快照回档,esp/grub/grubenv因为在esp的FAT文件系统上,在系统初期也可以被写入。
-
删除链接
如果你的
/boot/grub是指向esp里的grub的链接,请删除后创建真实的目录。sudo rm -rf /boot/grub sudo mkdir -p /boot/grub -
查找根分区的UUID
findmnt / -n -o UUIDfindmnt /列出跟根目录挂载信息-n隐藏标题-o UUID只输出UUID -
编辑存根
sudo vim /efi/grub/grub.cfg手动输入 UUID 有点折磨,可以运行
sudo findmnt / -n -o UUID > /efi/grub/grub.cfg把 UUID 直接覆盖写入 ESP 中的grub.cfg此处的
/efi应为你实际的esp位置。删除所有内容,只需要写以下内容:
# 设置root环境变量为实际的根分区设备 search --fs-uuid --no-floppy --set=root 你的Btrfs分区UUID # 读取根分区中的grub.cfg文件 configfile /@/boot/grub/grub.cfgsearch --fs-uuid <你的Btrfs分区UUID>通过uuid搜索分区。--no-floppy跳过软盘设备。--set=root将搜索到的第一个设备设置为root。root是grub的环境变量之一,默认值是grub所在的设备。我的grub安装在了esp,那root的值就是esp的设备名。我们为了btrfs回档要把grub.cfg存在btrfs文件系统里,所以要手动指定root的值为btrfs文件系统所在的设备。configfile读取配置文件。/@/boot/grub/grub.cfg是配置文件目录,不指定设备的话默认在root环境变量指定的设备上查找此目录。 -
配置快照启动项grub-btrfs
安装了
grub-btrfs快照启动项功能的情况下才需要进行这步的编辑。grub-btrfs.cfg是快照启动项的配置文件。grub寻找此文件时查的目录由prefix变量指定,这个变量代表的是grub的安装位置。我的grub安装在esp,所以prefix的值是/efi/grub,也就是说grub查找快照启动项的配置文件时的完整路径是/efi/grub/grub-btrfs.cfg。但是快照启动项的配置文件默认被生成到/boot/grub/grub-btrfs.cfg而不是/efi/grub/grub-btrfs.cfg,所以我们要修改grub-btrfs的配置文件指定grub在/boot/grub里寻找快照启动项的配置文件。sudo vim /etc/default/grub-btrfs/config找到下面这段内容:
# GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="\${prefix}"改成:
GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="/@/boot/grub"注意,
/@必须是你实际的根子卷。 -
生成
grub.cfgsudo grub-mkconfig -o /boot/grub/grub.cfg
大功告成。现在对启动流程来说至关重要的grub.cfg就在快照的范围里啦,回档的时候引导也会跟着一起回档,除非btrfs文件系统本身坏掉,否则系统99.9%的情况下都不会再挂啦。
vim ~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama-lan": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (LAN)",
"options": {
"baseURL": "http://192.168.0.13:11434/v1",
"apiKey": "ollama"
},
"models": {
"qwen3-coder-next:q4_K_M": {
"name": "Qwen3 Coder Next"
}
}
},
"lmstudio-lan": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (LAN)",
"options": {
"baseURL": "http://192.168.0.13:1234/v1"
},
"models": {
"qwen3-coder-next": {
"name": "Qwen3 Coder Next"
}
}
}
}
}
内存大页的默认目录位置是/dev/hugepages,这个挂载点是在系统初始化的时候自动挂载上的,默认单页大小是2MB,可以通过启动参数调整默认的页大小。
default_hugepagesz=1G hugepagesz=1G hugepages=16
default_hugepagesz=1G设置没有指定内存大页大小时的默认大小
hugepagesz=1G在开机时初始化1GB内存大页的管理机制
hugepages=16是需要的内存大页的数量
问题在于/dev/hugepages不可能同时是2MB又是1GB,所以需要自定义内存大页目录,将2M和1G分别存储在不同的目录,做到同时使用。
编辑/etc/fstab
hugetlbfs_2M /dev/hugepages_2M hugetlbfs pagesize=2M,mode=1777 0 0
hugetlbfs_1G /dev/hugepages_1G hugetlbfs pagesize=1G,mode=1777 0 0
hugetlbfs_2M只是一个名字;/dev/hugepages_2M挂载点;hugetlbfs指定文件系统是内存大页;pagesize=2M指定大页大小;mode=1777权限,
这样就同时存在1G和2M的内存大页系统,可以同时申请,同时使用。/dev/hugepages由系统管理,我们只动自己自定义的,于是避免了切换时会产生的各种问题。
/sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages是操作1G大页数量的接口。把1048576改成2048就是操作2M大页数量的接口。和sysfs这个关键词有关,我没学过Linux,不懂。
可以使用xorg-xeyes或者xorg-xlsclients。
用xeyes的话,打开之后在窗口移动鼠标,如果眼睛在动就是xwayland,不动就是wayland。
用xlsclients的话,在输出列表里的就是xwayland,不在的就是wayland。
扩容可以在系统运行的时候进行
在进行扩容和缩容操作之前要先明确一个概念:块设备。lsblk -p列出的每一个/dev开头的分区都是一个块设备,文件系统只认块设备,不看这个块设备是在你的硬盘1上还是在硬盘2上又或者在你的移动U盘上。
分两种情况:调整大小(resize)和添加(add)
-
resize
如果是单个硬盘上的连续空间,使用此方法(单个硬盘但是空间不连续,可以使用gparted移动分区)。
原理是先调整物理分区大小,再调整btrfs文件系统大小。
-
cfdisk调整物理分区大小
sudo cfdisk /dev/nvme0n1/dev/nvme0n1替换为你实际的块设备名称
选中
更改尺寸 resize扩容分区(直接回车会自动合并连续的空闲空间);然后选择写入 Write,输入yes,回车保存更改;退出 Quit退出cfdisk。 -
调整btrfs文件系统大小
btrfs命令由btrfs-progs提供sudo btrfs filesystem resize max /filesystem resize调整文件系统大小max /将根目录所在文件系统扩容至最大物理硬盘空间 -
确认
df -h /通过大小一那列可以看到扩容成功。
-
减少硬盘空间
缩小的话只需要将过程反过来,先缩小文件系统大小再缩小分区大小。
先用
df -h /确认可用空间;然后用btrfs调整大小:sudo btrfs filesystem resize -10G /resize -10G /将文件系统缩小了10G这里还可以指定缩小到多少G,例如缩小到50G就是
resize 50 /现在用
df -h /就可以看到大小变小了,记住这个数值后用cfdisk的resize功能缩小分区大小就行。
-
-
add
如果是多个硬盘上的块设备,使用此方法(未分配空间需要先新建为块设备)。
原理是将新的块设备加入当前文件系统,btrfs文件系统会智能在多个块设备之间存储数据。
-
添加块设备
sudo btrfs device add /dev/vda2 //dev/vda2替换为你实际用来扩容的新块设备名称device add /dev/vda2 /添加/dev/vda2到根目录所在文件系统 -
确认
df -h /可以看到空间已经变大。
btrfs filesystem show /可以看到该文件系统下有多个块设备。
-
减少硬盘空间
把新增的块设备移除即可(要确保移除之后的剩余空间足够存下两个块设备上已有的数据):
sudo btrfs device remove /dev/vda2 /现在再用
btrfs filesystem show /,输出结果里就没有那个设备了。
-
-
swap分区(交换分区)
跨多个设备的文件系统不能使用交换文件,如果你配置了交换文件的话必须更换为交换分区,方法如下:
-
删除swapfile
swapoff命令关闭现有的交换文件,然后编辑/etc/fstab删除交换文件的自动挂载,再用rm命令删除交换文件。 -
腾出空间
用上面缩容的方法腾出一块空间用作交换分区。
-
格式化
使用
cfdisk把腾出的空间新建为块设备,type选择Linux Swap。然后用mkswap命令格式化。 -
启用和自动挂载
使用swapon命令现在启用交换分区。然后使用lsblk -f获取swap分区的UUID;编辑/etc/fstab加上如下内容:UUID=你的swap分区的UUID none swap defaults 0 0
-
-
在跨设备的情况下缩容
sudo btrfs filesystem show /示例输出:
Label: none uuid: 7f989f8d-d2ce-4c91-9cf3-db687089ce4e Total devices 2 FS bytes used 629.31GiB devid 1 size 879.00GiB used 514.02GiB path /dev/nvme0n1p2 devid 2 size 931.51GiB used 486.00GiB path /dev/nvme1n1记录自己要缩小的硬盘的
devid,在上面的示例输出中我想要缩容的/dev/nvme0n1的devid是1。用
devid指定设备,其他的就和单设备缩容差不多了:sudo btrfs filesystem resize 1:-75G / cfdisk /dev/nvme0n1 > resize > 879G > write > yes > exit sudo btrfs filesystem resize 1:max / # 我前面预留了一些空间,所以这里再max一次补全
-
vim
在
.vimrc写入" === fcitx5 状态切换与恢复 === let g:fcitx_state = 1 autocmd InsertLeave * let g:fcitx_state = system("fcitx5-remote")[0] | call job_start("fcitx5-remote -c") autocmd InsertEnter * if g:fcitx_state == '2' | call job_start("fcitx5-remote -o") | endif autocmd VimEnter * call job_start("fcitx5-remote -c") -
在
~/.config/nvim/init.lua写入-- fcitx5 状态切换与恢复 local fcitx_st = "" vim.api.nvim_create_autocmd("InsertLeave", { callback = function() fcitx_st = vim.fn.system("fcitx5-remote"); vim.fn.jobstart("fcitx5-remote -c") end }) vim.api.nvim_create_autocmd("InsertEnter", { callback = function() if fcitx_st:match("2") then vim.fn.jobstart("fcitx5-remote -o") end end }) vim.api.nvim_create_autocmd("VimEnter", { callback = function() vim.fn.jobstart("fcitx5-remote -c") end })
这是我的niri分支。
新增了以下几个功能:
-
晃动鼠标放大
cursor { shake-to-enlarge { //off grow grow-speed 0.01 threshold 2000 hold-duration-ms 1500 zoom-factor 5 } } -
屏幕放大
magnifier { // off zoom-factor 3 //track-cursor false //scale-cursor false } binds{ Mod+Alt+WheelScrollUp { adjust-magnifier-zoom 0.2; } Mod+Alt+WheelScrollDown { adjust-magnifier-zoom -0.2; } Mod+Shift+Z { toggle-magnifier; } } -
网格概览
grid-overview { gap 16 padding { left 64 right 64 top 48 bottom 48 } grid-all-monitors true } binds { Mod hotkey-overlay-title="切换网格总览界面 toggle grid overview" repeat=false { toggle-grid-overview; } } -
截图支持stdout
niri msg action screenshot --stdout -
支持单独给mod键绑定功能
Mod hotkey-overlay-title="切换网格总览界面 toggle grid overview" repeat=false { toggle-grid-overview; } -
热角
gesture { hot-corners { bottom-left { grid-overview } } } -
窗口规则
window-rule { match is-floating=true ignore-grid-overview true } -
grid和overview打开后中键直接关闭窗口。
-
grid和overview中hjkl切换聚焦,聚焦窗口在边缘时依旧往边缘切换聚焦会切换工作区。