-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 16.9 KB
/
content.json
File metadata and controls
1 lines (1 loc) · 16.9 KB
1
{"posts":[{"title":"Hello World","text":"Hello,world! 这是这个网站的第一篇文章","link":"/2026/02/24/hello-world/"},{"title":"Niri使用记录","text":"相关链接:Niri的Github仓库Niri的官方教程noctalia官方文档noctalia的Git仓库 安装:必要的软件包: 1sudo pacman -Syu niri kitty xwayland-satellite xdg-desktop-portal-gtk xdg-desktop-portal-gnome swaybg swayidle dolphin gdm brightnessctl wireplumber grim flameshot breeze wshowkeys-git fcitx5 fcitx5-qt fcitx5-chinese-addons blueman noto-fonts libnotify pipewire pipewire-pulse Kitty:终端模拟器Thunar:文件管理器桌面Shell和字体(这里选择Noctalia): 1yay -S noctalia-shell ttf-jetbrains-mono misans noctalia-shell依赖google-breakpad,而yay默认从Googlesource下载源码,因此国内需要去Github仓库下载并移动到AUR助手缓存文件夹 配置:-启用GNOME登陆管理器:sudo systemctl enable gdm.service编辑Niri的配置文件:这里我用的是Sakimidare的配置文件,并根据喜好改了一部分编辑~/.config/niri/config.kdl: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445// 键盘鼠标触摸板等输入设备相关配置input { keyboard { xkb { layout \"us\" } // 在启动上启用numlock,省略此设置会禁用它。 numlock } touchpad { tap natural-scroll scroll-method \"two-finger\" } mouse { // 设置鼠标移动速度,-1到1之间由慢到快 accel-speed 1 } // niri默认接管电源按钮的功能是sleep,这里禁用以使用关机功能 disable-power-key-handling // 切换mod键:正常使用alt,嵌套窗口内使用Super。 mod-key \"Super\" mod-key-nested \"Alt\"}// 可以在niri实例中运行`niri msg outputs`找到显示器名称。output \"HDMI\" { // 取消注释以禁用此显示器。 off // 默认聚焦在这个显示器 focus-at-startup // 格式为\"<width>x<height>\" 或者 \"<width>x<height>@<refresh rate>\". // 如果省略了刷新率,niri将为分辨率选择最高的刷新率。 mode \"3840x2160@60.000\" // 您可以使用整数或分数量表,例如,比例为150%。 scale 2 // transform允许逆时针旋转显示,有效值为: // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. transform \"normal\" // 输出在所有显示器坐标空间中的位置。未明确配置位置的显示器将放置在所有已放置的显示器右侧。 // position x=1280 y=0}// 如果 eDP-2 没有连接,将会默认聚焦在这个显示器output \"eDP-2\" { // off focus-at-startup mode \"2560x1600@300.000\" transform \"normal\" position x=0 y=0}// 可以使用wev来查询特定的按键对应的XKB名称binds { Alt+Tab { spawn \"niri-switch\"; } // Mod-Shift-/显示重要的热键列表(通常与 Mod-? 相同)。 Mod+Shift+Slash { show-hotkey-overlay; } Mod+D hotkey-overlay-title=\"Open the File Manager\" { spawn \"/usr/bin/dolphin\"; } Mod+L hotkey-overlay-title=\"Lock the Screen: noctalia\" { spawn \"/usr/bin/qs\" \"-c\" \"noctalia-shell\" \"ipc\" \"call\" \"lockScreen\" \"lock\"; } Mod+Return hotkey-overlay-title=\"Open a Terminal\" { spawn \"/usr/bin/kitty\"; } Mod+A hotkey-overlay-title=\"Run an Application\" { spawn \"/usr/bin/qs\" \"-c\" \"noctalia-shell\" \"ipc\" \"call\" \"launcher\" \"toggle\"; } Mod+X hotkey-overlay-title=\"Open a browser: zen\" { spawn \"/usr/bin/google-chrome-stable\"; } // Mod+D hotkey-overlay-title=\"同步切换obs和mpv状态\" { spawn \"/usr/bin/touch\" \"/tmp/obs_mpv_toggle_pause\"; } Mod+K hotkey-overlay-title=\"打开screenkey\" { spawn \"/usr/bin/wshowkeys\" \"-a\" \"right\" \"-a\" \"bottom\" \"-F\" \"ComicShannsMono Nerd Font 30\"; } Mod+Shift+K hotkey-overlay-title=\"关闭screenkey\" { spawn \"/usr/bin/killall\" \"wshowkeys\"; } // 音量控制 allow-when-locked=true 在锁屏时的按键也会生效。这里的wpctl是wireplumber包中附带的 XF86AudioRaiseVolume allow-when-locked=true { spawn-sh \"wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+\"; } XF86AudioLowerVolume allow-when-locked=true { spawn-sh \"wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-\"; } XF86AudioMute allow-when-locked=true { spawn-sh \"wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle\"; } XF86AudioMicMute allow-when-locked=true { spawn-sh \"wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle\"; } // 亮度控制。brightnessctl 有独立的包 XF86MonBrightnessUp allow-when-locked=true { spawn \"brightnessctl\" \"set\" \"+10%\"; } XF86MonBrightnessDown allow-when-locked=true { spawn \"brightnessctl\" \"set\" \"10%-\"; } // 开关overview Mod+Tab repeat=false { toggle-overview; } // 关闭窗口 Mod+Q repeat=false { close-window; } // 窗口焦点切换,位置移动 Mod+Left { focus-column-left; } Mod+Down { focus-window-down; } Mod+Up { focus-window-up; } Mod+Right { focus-column-right; } Mod+N { focus-column-left; } Mod+i { focus-column-right; } Mod+Alt+Left { consume-or-expel-window-left; } Mod+Alt+Right {consume-or-expel-window-right; } // Mod+N { spawn-sh \"niri msg action focus-column-left && niri msg action center-column\"; } // Mod+i { spawn-sh \"niri msg action focus-column-right && niri msg action center-column\"; } Mod+Shift+Left { move-column-left; } Mod+Shift+Down { move-window-down; } Mod+Shift+Up { move-window-up; } Mod+Shift+Right { move-column-right; } Mod+Shift+N { move-column-left; } Mod+Shift+I { move-column-right; } Mod+Home { focus-column-first; } Mod+End { focus-column-last; } Mod+Shift+Home { move-column-to-first; } Mod+Shift+End { move-column-to-last; } // workspace焦点切换,窗口在workspace之间移动 Mod+Page_Down { focus-workspace-down; } Mod+Page_Up { focus-workspace-up; } Mod+Ctrl+Page_Down { move-column-to-workspace-down; } Mod+Ctrl+Page_Up { move-column-to-workspace-up; } // 上下移动整个workspace Mod+Shift+Page_Down { move-workspace-down; } Mod+Shift+Page_Up { move-workspace-up; } // 上下方向共用的窗口、工作空间的焦点切换和位置移动 Mod+E { focus-window-or-workspace-down; } Mod+U { focus-window-or-workspace-up; } Mod+Shift+E { move-window-down-or-to-workspace-down; } Mod+Shift+U { move-window-up-or-to-workspace-up; } // 显示器焦点切换 Mod+Ctrl+Left { focus-monitor-left; } Mod+Ctrl+Down { focus-monitor-down; } Mod+Ctrl+Up { focus-monitor-up; } Mod+Ctrl+Right { focus-monitor-right; } Mod+Ctrl+N { focus-monitor-left; } Mod+Ctrl+E { focus-monitor-down; } Mod+Ctrl+U { focus-monitor-up; } Mod+Ctrl+I { focus-monitor-right; } // 跨显示器移动窗口 Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } Mod+Shift+Ctrl+N { move-column-to-monitor-left; } Mod+Shift+Ctrl+E { move-column-to-monitor-down; } Mod+Shift+Ctrl+U { move-column-to-monitor-up; } Mod+Shift+Ctrl+I { move-column-to-monitor-right; } // 鼠标相关快捷键 Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } Mod+WheelScrollRight { focus-column-right; } Mod+WheelScrollLeft { focus-column-left; } Mod+Ctrl+WheelScrollRight { move-column-right; } Mod+Ctrl+WheelScrollLeft { move-column-left; } Mod+Shift+WheelScrollDown { focus-column-right; } Mod+Shift+WheelScrollUp { focus-column-left; } Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } Mod+TouchpadScrollDown { spawn-sh \"wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+\"; } Mod+TouchpadScrollUp { spawn-sh \"wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-\"; } Mod+1 { focus-workspace 1; } Mod+2 { focus-workspace 2; } Mod+3 { focus-workspace 3; } Mod+4 { focus-workspace 4; } Mod+5 { focus-workspace 5; } Mod+6 { focus-workspace 6; } Mod+7 { focus-workspace 7; } Mod+8 { focus-workspace 8; } Mod+9 { focus-workspace 9; } Mod+0 { focus-workspace 10; } Mod+Shift+1 { move-column-to-workspace 1; } Mod+Shift+2 { move-column-to-workspace 2; } Mod+Shift+3 { move-column-to-workspace 3; } Mod+Shift+4 { move-column-to-workspace 4; } Mod+Shift+5 { move-column-to-workspace 5; } Mod+Shift+6 { move-column-to-workspace 6; } Mod+Shift+7 { move-column-to-workspace 7; } Mod+Shift+8 { move-column-to-workspace 8; } Mod+Shift+9 { move-column-to-workspace 9; } Mod+Shift+0 { move-column-to-workspace 10; } // 最大化和全屏 Mod+W { toggle-windowed-fullscreen; } Mod+F { expand-column-to-available-width; } Mod+Shift+F { fullscreen-window; } // 未最大化的窗口居中 Mod+C { center-column; } Mod+Ctrl+C { center-visible-columns; } // 在layout中预设的宽度和高度之间切换 Mod+R { switch-preset-column-width; } Mod+Shift+R { switch-preset-window-height; } // 改变宽度单位可以有pixels、百分比 Mod+Minus { set-column-width \"-10%\"; } Mod+Equal { set-column-width \"+10%\"; } // 改变高度 Mod+Shift+Minus { set-window-height \"-10%\"; } Mod+Shift+Equal { set-window-height \"+10%\"; } // 切换悬浮窗,改变平铺和悬浮窗焦点 Mod+Shift+Space { toggle-window-floating; } Mod+Space { switch-focus-between-floating-and-tiling; } // 截图 Alt+J { spawn-sh \"grim -g \\\"$(slurp)\\\" - | satty --filename - --output-filename ~/$(date '+%Y%m%d-%H:%M:%S').png\"; } Alt+Shift+J { spawn \"flameshot\" \"gui\"; } Print { screenshot show-pointer=false; } Ctrl+Print { screenshot-screen write-to-disk=true; } Alt+Print { screenshot-window write-to-disk=true; } // 针对虚拟机软件可能需要键盘控制权。allow-inhibiting=false 忽略当前快捷键本身 Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } // 退出niri将显示一个确认对话框,以避免意外退出。 Mod+Shift+Q { quit; } // 关闭显示器。移动鼠标或按下任意按键恢复 Mod+Shift+P { power-off-monitors; }}// 影响窗口的位置和尺寸的设置。layout { // 在逻辑像素中设置Windows周围的缝隙。 gaps 10 background-color \"transparent\" // 存在多个窗口时,未最大化的窗口不自动居中,方便分屏 center-focused-column \"never\" // 只有一个窗口时自动居中显示 always-center-single-column // mod+r在预设之间切换的宽度。 preset-column-widths { proportion 0.5 proportion 0.2444 proportion 0.7556 // 固定设置逻辑像素的宽度精确设置。(受scale影响) // fixed 1920 } preset-window-heights { proportion 0.5 proportion 0.8 proportion 1.0 } // 关闭聚焦框 focus-ring { // off } // 关闭边框 border { off }}// 覆盖由niri启动的进程的环境变量environment { QT_QPA_PLATFORMTHEME \"qt5ct\" ALL_PROXY \"http://127.0.0.1:7890\" LANG \"zh_CN.UTF-8\" LC_CTYPE \"zh_CN.UTF-8\" LC_NUMERIC \"zh_CN.UTF-8\" LC_TIME \"zh_CN.UTF-8\" LC_COLLATE \"zh_CN.UTF-8\" LC_MONETARY \"zh_CN.UTF-8\" LC_MESSAGES \"zh_CN.UTF-8\" LC_PAPER \"zh_CN.UTF-8\" LC_NAME \"zh_CN.UTF-8\" LC_ADDRESS \"zh_CN.UTF-8\" LC_TELEPHONE \"zh_CN.UTF-8\" LC_MEASUREMENT \"zh_CN.UTF-8\" LC_IDENTIFICATION \"zh_CN.UTF-8\" LC_ALL null // XDG_DATA_DIRS \"$HOME/.local/share\" \"$XDG_DATA_DIRS\" // GTK_IM_MODULE \"fcitx\" QT_IM_MODULE \"fcitx\" // https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#Sway XMODIFIERS \"@im=fcitx\" QT_IM_MODULES \"wayland;fcitx\" GTK_IM_MODULE null SDL_IM_MODULE null GLFW_IM_MODULE null}spawn-at-startup \"niri-switch-daemon\"// 启动niri时自动启动的软件spawn-at-startup \"/usr/bin/fcitx5\"spawn-at-startup \"~/.cargo/bin/soteria\"spawn-at-startup \"qs\" \"-c\" \"noctalia-shell\"// 要运行shell命令(带有变量,管道等),请使用spawn-sh-at-at-startup:hotkey-overlay { // 跳过“重要的热键”弹出窗口。 skip-at-startup}// 设置截图保存的路径,null将会禁止保存到磁盘screenshot-path \"~/Pictures/ScreenShot/%Y-%m-%d %H-%M-%S.png\"// 忽略软件自带的装饰(例如标题栏)prefer-no-csd// 指定光标的主题和大小,打字时隐藏光标cursor { // xcursor-theme \"Dracula-cursors\" xcursor-theme \"breeze\" xcursor-size 24 hide-when-typing}// 使用`niri msg windows`查看Title和App ID等信息window-rule { open-on-output \"eDP-2\" // default-window-height { proportion 0.9; } // default-floating-position x=100 y=200 relative-to=\"bottom-left\" // default-column-width { proportion 0.7556; } geometry-corner-radius 20 clip-to-geometry true border { // off on width 4 active-gradient from=\"#bd93f9\" to=\"#94b9fa\" angle=135 inactive-color \"#505050\" urgent-color \"#9b0000\" // active-gradient from=\"#80c8ff\" to=\"#bbddff\" angle=45 // inactive-gradient from=\"#505050\" to=\"#808080\" angle=45 relative-to=\"workspace-view\" // urgent-gradient from=\"#800\" to=\"#a33\" angle=45 } focus-ring{ off } // opacity 0.75}window-rule { open-on-output \"eDP-2\" match app-id=\"scrcpy\" default-column-width { proportion 0.2444; }}window-rule { open-on-output \"eDP-2\" match app-id=r#\"chrome\"# default-column-width { proportion 0.8; } // border { // on // width 4 // active-color \"#61AFEF\" // } // open-focused false}window-rule { match app-id=\"com.gabm.satty\" title=\"satty\" border { on width 2 active-color \"#61AFEF\" }}// `niri msg layers`显示有namespace可以在这里配置waybar透明度layer-rule { match namespace=\"^quickshell-overview$\" place-within-backdrop true // opacity 0.75}// Put swaybg inside the overview backdrop.layer-rule { match namespace=\"^wallpaper$\" place-within-backdrop true}debug { honor-xdg-activation-with-invalid-serial}// 禁用鼠标左上角热脚gestures { hot-corners { // off }}animations { // Uncomment to turn off all animations. // You can also put \"off\" into each individual animation to disable it. // off // Slow down all animations by this factor. Values below 1 speed them up instead. // slowdown 3.0 // Individual animations. workspace-switch { spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001 } window-open { duration-ms 150 curve \"ease-out-expo\" } window-close { duration-ms 150 curve \"ease-out-quad\" } horizontal-view-movement { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } window-movement { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } window-resize { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 } config-notification-open-close { spring damping-ratio=0.6 stiffness=1000 epsilon=0.001 } exit-confirmation-open-close { spring damping-ratio=0.6 stiffness=500 epsilon=0.01 } screenshot-ui-open { duration-ms 200 curve \"ease-out-quad\" } overview-open-close { spring damping-ratio=1.0 stiffness=800 epsilon=0.0001 }} 配置Kitty:编辑~/.config/kitty/kitty.conf: 1234567891011121314151617181920212223242526272829303132333435363738394041424344#鼠标拖尾特效cursor_trail 1# 关闭音效enable_audio_bell no# 水平分割(左右分屏)map Alt+Shift+d launch --location=hsplit# 垂直分割(上下分屏) map Alt+Shift+r launch --location=vsplit# 关闭当前分屏窗口map Alt+Shift+w close_window# 在分屏窗口间切换map Ctrl+Shift+[ previous_window map Ctrl+Shift+] next_window# BEGIN_KITTY_FONTSfont_family family=\"JetBrains Mono\"bold_font autoitalic_font autobold_italic_font autofont_size 14.0# END_KITTY_FONTS# UI 定义scrollback_lines 4096remember_window_size yesinitial_window_width 960initial_window_height 540background_opacity 0.95dynamic_background_opacity yes# 定义 Tab 栏tab_bar_edge bottomtab_bar_margin_width 2.0tab_bar_style separatortab_separator \" | \"# BEGIN_KITTY_THEME# Noctaliainclude current-theme.conf# END_KITTY_THEME 重启后就可以使用Niri了!","link":"/2026/02/26/niri-shi-yong-ji-lu/niri-shi-yong-ji-lu/"}],"tags":[{"name":"Linux","slug":"Linux","link":"/tags/Linux/"}],"categories":[],"pages":[{"title":"about","text":"关于这个网站 这是我的个人博客,使用了Github Pages、Hexo构建,主题是icarus。 内容还没有明确的方向,想到什么就写什么吧。 关于我 没什么好说的, 你可以在Github上找到我。","link":"/about/index.html"},{"title":"404","text":"","link":"/404.html"},{"title":"categories","text":"","link":"/categories/index.html"},{"title":"tags","text":"","link":"/tags/index.html"}]}