add niri config
This commit is contained in:
parent
7c1b64881b
commit
41dee9866a
7 changed files with 495 additions and 3 deletions
|
|
@ -21,6 +21,7 @@ depends = []
|
|||
"configs/mako" = "~/.config/mako"
|
||||
"configs/mise" = "~/.config/mise"
|
||||
"configs/mpv" = "~/.config/mpv"
|
||||
"configs/niri" = "~/.config/niri"
|
||||
"configs/nvim" = "~/.config/nvim"
|
||||
"configs/rofi" = "~/.config/rofi"
|
||||
"configs/swappy" = "~/.config/swappy"
|
||||
|
|
|
|||
|
|
@ -7,3 +7,17 @@ monitorv2 {
|
|||
supports_wide_color = true
|
||||
supports_hdr = true
|
||||
}
|
||||
|
||||
monitorv2 {
|
||||
output = desc:LG Electronics LG ULTRAWIDE 406NTRL99958
|
||||
mode = 3440x1440@159.96
|
||||
position = auto
|
||||
supports_wide_color = 1
|
||||
supports_hdr = 1
|
||||
}
|
||||
|
||||
workspace = 1, monitor:DP-1, persistent:true
|
||||
workspace = 2, monitor:DP-1, persistent:true
|
||||
workspace = 3, monitor:DP-1, persistent:true
|
||||
workspace = 4, monitor:DP-1, persistent:true
|
||||
workspace = 5, monitor:DP-1, persistent:true
|
||||
|
|
|
|||
|
|
@ -72,13 +72,20 @@ general {
|
|||
layout = master
|
||||
}
|
||||
|
||||
# decoration {
|
||||
decoration {
|
||||
# rounding = 2
|
||||
# drop_shadow = true
|
||||
# shadow_range = 4
|
||||
# shadow_render_power = 3
|
||||
# col.shadow = rgba($baseAlphaee)
|
||||
# }
|
||||
blur {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
shadow {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
|
|
@ -118,6 +125,7 @@ misc {
|
|||
|
||||
mouse_move_focuses_monitor = false
|
||||
animate_manual_resizes = false
|
||||
vrr = 0
|
||||
}
|
||||
|
||||
# ── Layouts ───────────────────────────────────────────────────────────
|
||||
|
|
|
|||
437
configs/niri/config.kdl
Normal file
437
configs/niri/config.kdl
Normal file
|
|
@ -0,0 +1,437 @@
|
|||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
layout "latam"
|
||||
options "caps:escape"
|
||||
}
|
||||
// Enable numlock on startup, omitting this setting disables it.
|
||||
numlock
|
||||
}
|
||||
// Next sections include libinput settings.
|
||||
// Omitting settings disables them, or leaves them at their default values.
|
||||
// All commented-out settings here are examples, not defaults.
|
||||
touchpad {
|
||||
// off
|
||||
tap
|
||||
// dwt
|
||||
// dwtp
|
||||
// drag false
|
||||
// drag-lock
|
||||
natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "two-finger"
|
||||
// disabled-on-external-mouse
|
||||
}
|
||||
mouse {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "no-scroll"
|
||||
|
||||
}
|
||||
trackpoint {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "on-button-down"
|
||||
// scroll-button 273
|
||||
// scroll-button-lock
|
||||
// middle-emulation
|
||||
|
||||
}
|
||||
// warp-mouse-to-focus
|
||||
focus-follows-mouse
|
||||
}
|
||||
output "DP-1" {
|
||||
variable-refresh-rate on-demand=true
|
||||
}
|
||||
layout {
|
||||
gaps 10
|
||||
always-center-single-column
|
||||
center-focused-column "never"
|
||||
preset-column-widths {
|
||||
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
}
|
||||
preset-window-heights {
|
||||
|
||||
}
|
||||
default-column-width {
|
||||
|
||||
}
|
||||
focus-ring {
|
||||
// Uncomment this line to disable the focus ring.
|
||||
// off
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
width 2
|
||||
active-color "#7fc8ff"
|
||||
inactive-color "#505050"
|
||||
}
|
||||
}
|
||||
spawn-at-startup "/usr/lib/pam_kwallet_init"
|
||||
spawn-at-startup "udieskiiw"
|
||||
spawn-at-startup "brave"
|
||||
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
|
||||
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
// If the client will specifically ask for CSD, the request will be honored.
|
||||
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||
// prefer-no-csd
|
||||
screenshot-path null
|
||||
animations {
|
||||
// Uncomment to turn off all animations.
|
||||
// off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
// slowdown 3.0
|
||||
|
||||
}
|
||||
window-rule {
|
||||
// This regular expression is intentionally made as specific as possible,
|
||||
// since this is the default config, and we want no false positives.
|
||||
// You can get away with just app-id="wezterm" if you want.
|
||||
match app-id="^org\\.wezfurlong\\.wezterm$"
|
||||
default-column-width {
|
||||
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
match app-id="firefox$" title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
window-rule {
|
||||
match app-id="^org\\.keepassxc\\.KeePassXC$"
|
||||
match app-id="^org\\.gnome\\.World\\.Secrets$"
|
||||
// block-out-from "screen-capture"
|
||||
// Use this instead if you want them visible on third-party screenshot tools.
|
||||
block-out-from "screencast"
|
||||
}
|
||||
window-rule {
|
||||
match app-id="brave-browser"
|
||||
match at-startup=true
|
||||
default-column-width {
|
||||
proportion 0.75
|
||||
}
|
||||
}
|
||||
window-rule {
|
||||
geometry-corner-radius 4
|
||||
clip-to-geometry true
|
||||
}
|
||||
binds {
|
||||
Mod+Shift+Slash {
|
||||
show-hotkey-overlay
|
||||
}
|
||||
Mod+Return hotkey-overlay-title="Open a Terminal: kitty" {
|
||||
spawn "kitty"
|
||||
}
|
||||
Mod+D hotkey-overlay-title="Run an Application: Rofi" {
|
||||
spawn "rofi" "-show" "drun" "-run-command" "uwsm app -- {cmd}"
|
||||
}
|
||||
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"
|
||||
}
|
||||
XF86MonBrightnessUp allow-when-locked=true {
|
||||
spawn "brightnessctl" "--class=backlight" "set" "+10%"
|
||||
}
|
||||
XF86MonBrightnessDown allow-when-locked=true {
|
||||
spawn "brightnessctl" "--class=backlight" "set" "10%-"
|
||||
}
|
||||
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
||||
// You can also move the mouse into the top-left hot corner,
|
||||
// or do a four-finger swipe up on a touchpad.
|
||||
Mod+A repeat=false {
|
||||
toggle-overview
|
||||
}
|
||||
Mod+Shift+Q repeat=false {
|
||||
close-window
|
||||
}
|
||||
Mod+Left {
|
||||
focus-column-left
|
||||
}
|
||||
Mod+Down {
|
||||
focus-window-or-workspace-down
|
||||
}
|
||||
Mod+Up {
|
||||
focus-window-or-workspace-up
|
||||
}
|
||||
Mod+Right {
|
||||
focus-column-right
|
||||
}
|
||||
Mod+H {
|
||||
focus-column-left
|
||||
}
|
||||
Mod+J {
|
||||
focus-window-or-workspace-down
|
||||
}
|
||||
Mod+K {
|
||||
focus-window-or-workspace-up
|
||||
}
|
||||
Mod+L {
|
||||
focus-column-right
|
||||
}
|
||||
Mod+Shift+Left {
|
||||
move-column-left
|
||||
}
|
||||
Mod+Shift+Down {
|
||||
move-window-down-or-to-workspace-down
|
||||
}
|
||||
Mod+Shift+Up {
|
||||
move-window-up-or-to-workspace-up
|
||||
}
|
||||
Mod+Shift+Right {
|
||||
move-column-right
|
||||
}
|
||||
Mod+Shift+H {
|
||||
move-column-left
|
||||
}
|
||||
Mod+Shift+J {
|
||||
move-window-down-or-to-workspace-down
|
||||
}
|
||||
Mod+Shift+K {
|
||||
move-window-up-or-to-workspace-up
|
||||
}
|
||||
Mod+Shift+L {
|
||||
move-column-right
|
||||
}
|
||||
Mod+Home {
|
||||
focus-column-first
|
||||
}
|
||||
Mod+End {
|
||||
focus-column-last
|
||||
}
|
||||
Mod+Ctrl+Home {
|
||||
move-column-to-first
|
||||
}
|
||||
Mod+Ctrl+End {
|
||||
move-column-to-last
|
||||
}
|
||||
Mod+WheelScrollDown cooldown-ms=150 {
|
||||
focus-column-right
|
||||
}
|
||||
Mod+WheelScrollUp cooldown-ms=150 {
|
||||
focus-column-left
|
||||
}
|
||||
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 cooldown-ms=150 {
|
||||
focus-workspace-down
|
||||
}
|
||||
Mod+Shift+WheelScrollUp cooldown-ms=150 {
|
||||
focus-workspace-up
|
||||
}
|
||||
Mod+Ctrl+Shift+WheelScrollDown {
|
||||
move-column-right
|
||||
}
|
||||
Mod+Ctrl+Shift+WheelScrollUp {
|
||||
move-column-left
|
||||
}
|
||||
// Similarly, you can bind touchpad scroll "ticks".
|
||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||
// discrete intervals.
|
||||
// These binds are also affected by touchpad's natural-scroll, so these
|
||||
// example binds are "inverted", since we have natural-scroll enabled for
|
||||
// touchpads by default.
|
||||
// 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+Shift+1 {
|
||||
move-window-to-workspace 1
|
||||
}
|
||||
Mod+Shift+2 {
|
||||
move-window-to-workspace 2
|
||||
}
|
||||
Mod+Shift+3 {
|
||||
move-window-to-workspace 3
|
||||
}
|
||||
Mod+Shift+4 {
|
||||
move-window-to-workspace 4
|
||||
}
|
||||
Mod+Shift+5 {
|
||||
move-window-to-workspace 5
|
||||
}
|
||||
Mod+Shift+6 {
|
||||
move-window-to-workspace 6
|
||||
}
|
||||
Mod+Shift+7 {
|
||||
move-window-to-workspace 7
|
||||
}
|
||||
Mod+Shift+8 {
|
||||
move-window-to-workspace 8
|
||||
}
|
||||
Mod+Shift+9 {
|
||||
move-window-to-workspace 9
|
||||
}
|
||||
// Switches focus between the current and the previous workspace.
|
||||
Mod+Bar {
|
||||
focus-workspace-previous
|
||||
}
|
||||
// The following binds move the focused window in and out of a column.
|
||||
// If the window is alone, they will consume it into the nearby column to the side.
|
||||
// If the window is already in a column, they will expel it out.
|
||||
Mod+BraceLeft {
|
||||
consume-or-expel-window-left
|
||||
}
|
||||
Mod+BraceRight {
|
||||
consume-or-expel-window-right
|
||||
}
|
||||
// Consume one window from the right to the bottom of the focused column.
|
||||
Mod+Comma {
|
||||
consume-window-into-column
|
||||
}
|
||||
// Expel the bottom window from the focused column to the right.
|
||||
Mod+Period {
|
||||
expel-window-from-column
|
||||
}
|
||||
Mod+R {
|
||||
switch-preset-column-width
|
||||
}
|
||||
// Cycling through the presets in reverse order is also possible.
|
||||
// Mod+R { switch-preset-column-width-back; }
|
||||
Mod+Shift+R {
|
||||
switch-preset-window-height
|
||||
}
|
||||
Mod+Ctrl+R {
|
||||
reset-window-height
|
||||
}
|
||||
Mod+F {
|
||||
maximize-column
|
||||
}
|
||||
Mod+Shift+F {
|
||||
fullscreen-window
|
||||
}
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
// Makes the column "fill the rest of the space".
|
||||
Mod+Ctrl+F {
|
||||
expand-column-to-available-width
|
||||
}
|
||||
Mod+C {
|
||||
center-column
|
||||
}
|
||||
// Center all fully visible columns on screen.
|
||||
Mod+Ctrl+C {
|
||||
center-visible-columns
|
||||
}
|
||||
// Finer width adjustments.
|
||||
// This command can also:
|
||||
// * set width in pixels: "1000"
|
||||
// * adjust width in pixels: "-5" or "+5"
|
||||
// * set width as a percentage of screen width: "25%"
|
||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||
Mod+Minus {
|
||||
set-column-width "-10%"
|
||||
}
|
||||
Mod+Plus {
|
||||
set-column-width "+10%"
|
||||
}
|
||||
// Finer height adjustments when in column with other windows.
|
||||
Mod+Shift+Minus {
|
||||
set-window-height "-10%"
|
||||
}
|
||||
Mod+Shift+Equal {
|
||||
set-window-height "+10%"
|
||||
}
|
||||
// Move the focused window between the floating and the tiling layout.
|
||||
Mod+Shift+Space {
|
||||
toggle-window-floating
|
||||
}
|
||||
Mod+Space {
|
||||
switch-focus-between-floating-and-tiling
|
||||
}
|
||||
// Toggle tabbed column display mode.
|
||||
// Windows in this column will appear as vertical tabs,
|
||||
// rather than stacked on top of each other.
|
||||
Mod+W {
|
||||
toggle-column-tabbed-display
|
||||
}
|
||||
Print {
|
||||
screenshot
|
||||
}
|
||||
Shift+Ctrl+Print {
|
||||
screenshot-screen
|
||||
}
|
||||
Shift+Print {
|
||||
screenshot-window
|
||||
}
|
||||
// Applications such as remote-desktop clients and software KVM switches may
|
||||
// request that niri stops processing the keyboard shortcuts defined here
|
||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||
// so a buggy application can't hold your session hostage.
|
||||
//
|
||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||
// which ensures niri always processes them, even when an inhibitor is active.
|
||||
Mod+Escape allow-inhibiting=false {
|
||||
toggle-keyboard-shortcuts-inhibit
|
||||
}
|
||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
Mod+Shift+E {
|
||||
quit
|
||||
}
|
||||
Ctrl+Alt+Delete {
|
||||
quit
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -16,6 +16,7 @@ return {
|
|||
go = { "gofumpt", "goimports_reviser", "golines" },
|
||||
html = { "djlint", "prettierd", stop_after_first = true },
|
||||
kotlin = { "ktlint" },
|
||||
kdl = { "kdlfmt" },
|
||||
htmldjango = { "djlint", stop_after_first = true },
|
||||
javascript = { "biome" },
|
||||
javascriptreact = { "biome" },
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
"margin-left": 10,
|
||||
"margin-right": 10,
|
||||
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-left": ["niri/workspaces", "niri/window"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
|
|
@ -23,6 +23,21 @@
|
|||
],
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"all-outputs": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"9": "",
|
||||
"10": "",
|
||||
"default": ""
|
||||
},
|
||||
"sort-by-number": true,
|
||||
"active-only": false
|
||||
},
|
||||
|
||||
"niri/workspaces": {
|
||||
"all-outputs": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
|
|
@ -38,6 +53,16 @@
|
|||
"sort-by-number": true,
|
||||
"active-only": false
|
||||
},
|
||||
|
||||
"niri/window": {
|
||||
"format": "{app_id}: {title}",
|
||||
"rewrite": {
|
||||
"(.*): (.*)": "$2",
|
||||
"brave-browser: (.*) - Brave": "🌎 $1",
|
||||
"Kitty: (.*)": " $1"
|
||||
}
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "<span color='#8ccf7e'> </span> {percent}% ",
|
||||
"device": "intel_backlight",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@
|
|||
border-radius:5px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 20px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#workspaces button{
|
||||
padding: .25rem .5rem;
|
||||
margin-right: .5rem;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue