
目前使用的配置.config.zip,sddm.zip
参考:
https://cascade.moe/posts/hyprland-configure/
https://stormckey.github.io/blog/arch-linux--hyprland-%E5%AE%89%E8%A3%85%E5%85%A8%E6%B5%81%E7%A8%8B/
https://github.com/MaxVerevkin/wl-gammarelay-rs
https://www.cnblogs.com/Masquer/p/13920104.html
安装 Hyprland
sudo pacman -S hyprlandHyprland 配置文件位置为:~/.config/hypr/hyprland.conf
如果这个文件不存在的话,创建这个文件并将样例配置文件的内容复制到这个文件当中。在这之后重启
通常不需要对Nvidia显卡进行额外配置,如果遇到问题,请参考官方wiki
安装登陆管理器
登陆管理器可以让你在进入系统时显示图形界面而不是命令行
可以在Wiki中挑选适合你的登陆管理器
这里仅对我使用的SDDM作介绍
安装SDDM
sudo pacman -S sddm主题配置:
在github中直接搜索sddm或者hyprland可以找到很多主题
通常会告诉你安装方法
在/usr/share/sddm/themes/ 中复制你的主题
在/etc/sddm.conf 中设置主题
配置 Hyprland
Hyprland 配置文件大多数配置在保存后能够及时重载,不需要进行重启
默认使用Super+M退出Hyprland
基本的
默认hyprland使用的终端是kitty
sudo pacman -S kittyctrl+Q即可启动
文件管理器推荐使用Thunar
sudo pacman -S thunar可在hyprland中配置ctrl+E启动
显示器
显示器设置主要关于显示器的分辨率、位置与缩放比例。
显示器设置的格式如下:
monitor = monitor_name, resolution, position, scale你可以通过指令 hyprctl monitors 来列出所有可用的显示器。
在这里,我的配置如下:
monitor=,1920x1080@60,auto,1输入
这一部分主要与键盘、鼠标和触摸板的配置有关。通常来讲默认配置也能够正常使用。
input {
kb_layout = us # 键盘布局
follow_mouse = 1 # 窗口焦点是否随光标移动
touchpad {
natural_scroll = no # 触摸板自然滚动
}
sensitivity = 0 # 鼠标灵敏度
accel_profile = flat # 鼠标加速的配置方案, flat 为禁用鼠标加速
}总体设置
这一部分主要与窗口的布局与窗口边框的设置有关。
general {
gaps_in = 6 # 窗口之间的间隙大小
gaps_out = 12 # 窗口与显示器边缘的间隙大小
border_size = 2 # 窗口边框的宽度
col.active_border = rgba(cceeffbb) # 活动窗口的边框颜色
col.inactive_border = rgba(595959aa) # 非活动窗口的边框颜色
layout = dwindle # 窗口布局
}窗口装饰
这一部分主要和窗口的圆角、毛玻璃、投影等效果有关。
decoration {
rounding = 12 # 圆角大小
blur = yes # 模糊效果是否启用
blur_size = 5 # 模糊半径
blur_passes = 1 # 模糊过滤次数
blur_new_optimizations = on # 模糊优化,通常保持打开
drop_shadow = yes # 窗口投影是否启用
shadow_range = 4 # 投影大小
shadow_render_power = 3 # 投影强度,不过我不太明白这是什么意思
col.shadow = rgba(1a1a1aee) # 投影颜色
}动画
这一部分主要和窗口的过渡动画有关。
animations {
enabled = yes # 是否启用动画
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 # 自定义的贝塞尔曲线
animation = windowsMove, 1, 7, myBezier # 窗口移动动画
animation = windowsIn, 1, 3, default, popin 90% # 窗口打开动画
animation = windowsOut, 1, 3, default, popin 90% # 窗口关闭动画
animation = border, 1, 2, default # 边框颜色动画
animation = fade, 1, 3, default # 窗口各种 Fade 效果(打开、关闭、阴影、活动与非活动窗口切换)的动画
animation = workspaces, 1, 3, default # 工作区切换动画
}
动画的格式如下:
animation = action, on_off, speed, curve, style
animation = action, on_off, speed, curve
action: 动画名称,这些动作可以在动画树中找到。on_off: 是否启用动画。speed: 动画持续的时间,以分秒(100 毫秒)计数。curve: 动画使用的贝塞尔曲线名称。style: 动画的风格(例如可以对窗口使用fade和popin两种风格),这个选项是可选的。
按键绑定
这里是一部分的按键绑定。
$mainMod = SUPER
bind = $mainMod, C, killactive, # 关闭活动窗口
bind = $mainMod, T, exec, alacritty # 打开终端模拟器 Alacritty
bind = $mainMod, M, exit, # 退出 Hyprland
bind = $mainMod, E, exec, nautilus # 打开文件管理器 Nautilus
bind = $mainMod, V, togglefloating, # 切换窗口浮动
bind = $mainMod, R, exec, tofi-drun | xargs hyprctl dispatch exec -- # 打开 tofi 应用启动器
bind = $mainMod, P, pseudo, # dwindle # 切换伪 tiling 模式,伪 tiling 模式的窗口保持它们浮动时的大小
bind = $mainMod, J, togglesplit, # dwindle # 切换窗口分割方向
...
$mainMod 键在此设置为了 SUPER,即 Super 键。通常取消 Windows 键即为 Super 键。
还有一部分关于工作区和窗口移动的按键绑定配置,在此不再展示。
Waybar
Waybar 为 Wayland 提供了一个高度可定制的状态栏。
$ sudo pacman -S waybar在hyprland.conf中加入自启动
exec-once = waybar配置 Waybar
Waybar 拥有两个主要的配置文件,它们分别是:
~/.config/waybar/config: 一个 JSON 文件,配置 Waybar 显示的内容等。~/.config/waybar/style.css: 一个 CSS 文件,配置 Waybar 的样式。
Waybar 的内容配置大体如下:
{
"layer": "top", // 显示的层,top 为最顶层
"position": "top", // 在屏幕的哪边显示,top 为顶部
"height": 40, // 高度
"spacing": 6, // 各 module 之间的距离
// 左边的 modules
"modules-left": ["wlr/workspaces", "hyprland/window"],
// 正中间的 modules
"modules-center": [],
// 最右边的 modules
"modules-right": ["tray", "network", "pulseaudio", "memory", "cpu", "clock"],
// module 各自的配置等
"wlr/workspaces": {
// ...
}
// ...
}
module 各自的配置详见 Waybar GitHub Wiki。
Waybar 的样式配置是通过一个 CSS 文件来实现的。关于 Waybar 样式的配置详见 Styling - Waybar GitHub Wiki。
可以在hyprland.conf中绑定按键来实现自动隐藏,按键唤出
bindt = , ALT_L, exec, pkill -SIGUSR1 waybar
bindrt = ALT, ALT_L, exec, pkill -SIGUSR1 waybar设置 Waybar 自启动
向 Hyprland 的配置文件中加入这一行:
exec-once = waybar重启 Hyprland 即可看到 Waybar。如果等不及重启,也可以直接执行 waybar 来启动 Waybar。
mako
mako 是一个为 Wayland 打造的轻量级的通知 Daemon。尽管 mako 非常轻量级,但却依然有许多可以配置的地方。
配置 mako
mako 的配置文件位于 ~/.config/mako/config,内容大致如下:
sort=-time ; 排序方式
layer=overlay ; 显示层级
background-color=#2e34407f ; 背景颜色
width=420 ; 通知宽度
height=120 ; 通知高度
border-size=3 ; 边框宽度
border-color=#99c0d0 ; 边框颜色
border-radius=12 ; 圆角半径
icons=0 ; 是否启用图标
max-icon-size=64 ; 图标大小
default-timeout=5000 ; 超时时间
ignore-timeout=0 ; 忽略超时时间
font="Noto Sans CJK SC" 14 ; 字体
margin=12 ; 通知的外边距
padding=12,20 ; 通知的内边距
[urgency=low] ; 低紧急度
border-color=#cccccc
[urgency=normal] ; 正常紧急度
border-color=#99c0d0
[urgency=critical] ; 高紧急度
border-color=#bf616a
default-timeout=0注意
以上的配置仅仅作为展示使用,不是一个有效的配置文件,因为其包含了注释。
在修改配置文件之后,用 makoctl 来重载配置文件:
$ makoctl reload在hyprland.conf中加入自启动
exec-once = mako发送通知
你可以通过 notify-send 指令来发送一个通知,以此观察修改配置文件之后的效果。
$ notify-send 'Hello world!' 'This is an example notification.' -u normal应用启动器
在HyprlandWiki中挑选适合你的应用启动器,这是推荐wofi
wofi是一个简单但快速的应用启动器。和 mako 一样,尽管十分简单,但同样也有许多可以配置的地方。
配置 wofi
去Github上寻找别人弄好的配置文件
配置文件十分简洁,一看就懂
按键绑定/剪切板
可以用wofi启动剪切板,窗口
这是启动剪切板
sudo pacman -S cliphistexec-once = wl-paste --watch cliphist store
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy常规来说
bind = $mainMod, R, exec, wofi --show drun就可以显示应用
可以写一个脚本显示窗口来快速切换
#!/usr/bin/env fish
set win_addr NULL
set win_addr (hyprctl clients -j|jq -r '.[] | select(.title != "") | "\(.address)[窗口] [位于工作区:\(.workspace.id)] \(.title) @\(.class)"'|wofi --show dmenu,drun -i -M fuzzy |cut -f1 -d\[|head -1)
#-i 不考虑大小写; -M fuzzy 模糊搜索
if echo $win_addr | grep ^0x 1>/dev/null
hyprctl dispatch focuswindow address:"$win_addr"
end然后绑定按键就可以显示窗口了
bind = $mainMod, R, exec, 脚本路径此脚本需要使用fish
sudo pacman -S fishfish可以很大程度上提升命令行体验
可以将fish作为默认shell:
echo $SHELL
cat /etc/shells
chsh -s /usr/bin/fish输入法
推荐使用fcitx5
sudo pacman -S fcitx5-im fcitx5-chinese-addons
fcitx5 --replace -d启动 fcitx5-configtool,去掉 only show current languages,滑到底双击 pinyin,apply
不出意外此时 ctrl+space 就可以切换到输入法了
在hyprland.conf中加入自启动
exec-once = fcitx5 -d亮度与色温
亮度调整程序推荐使用wl-gammarelay-rs
如果aur安装软件使用的是yay的话
yay wl-gammarelay-rs添加至Waybar
在~/.config/waybar/config中添加
"custom/wl-gammarelay-temperature": {
"format": "{} ",
"exec": "wl-gammarelay-rs watch {t}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n +100",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateTemperature n -100"
},
"custom/wl-gammarelay-brightness": {
"format": "{}% ",
"exec": "wl-gammarelay-rs watch {bp}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d +0.02",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateBrightness d -0.02"
}
"custom/wl-gammarelay-gamma": {
"format": "{}% γ",
"exec": "wl-gammarelay-rs watch {g}",
"on-scroll-up": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d +0.02",
"on-scroll-down": "busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay UpdateGamma d -0.02"
}并在"modules-right"或"modules-center","modules-left"中添加"custom/wl-gammarelay-gamma","custom/wl-gammarelay-brightness","custom/wl-gammarelay-temperature"
添加顺序即为在Waybar上的顺序
在style.css中找葫芦画瓢写出亮度色温的背景颜色之类,注意custom/wl-gammarelay-******在这里要换成custom-wl-gammarelay-******
锁屏
推荐使用hyprlock
sudo pacman -S hyprlock同样地,在github中找主题然后套用
壁纸
hyprpaper
sudo pacman -S hyprpaper在~/.config/hypr/hyprpaper.conf中修改壁纸路径
在hyprland.conf中加入自启动
exec-once = hyprpaper代理
可以使用clash-verge-rev
yay clash-verge-rev浏览器安装插件SwitchyOmega可以切换代理
命令行可以右键waybar中的托盘或在设置中复制环境变量然后直接输入在命令行