@@ -3,6 +3,11 @@
// Check the wiki for a full description of the configuration:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction
hotkey-overlay {
// Skip showing the hotkeys
skip-at-startup
}
// Input device configuration.
// Find the full list of options on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
@@ -24,18 +29,17 @@ input {
// Next sections include libinput settings.
// Omitting settings disables them, or leaves them at their default values.
touchpad {
// off
off
// tap
// dwt
// dwtp
// drag false
// drag-lock
natural-scroll
// natural-scroll
// accel-speed 0.2
// accel-profile "flat"
scroll-method "two-finger"
disabled-on-external-mouse
click-method "clickfinger"
// scroll-method "two-finger"
// disabled-on-external-mouse
}
mouse {
@@ -48,7 +52,6 @@ input {
trackpoint {
// off
// natural-scroll
// accel-speed 0.2
// accel-profile "flat"
@@ -57,18 +60,6 @@ input {
// middle-emulation
}
touch {
// off
map-to-output "eDP-1"
}
tablet {
// off
map-to-output "eDP-1"
// left-handed
// calibration-matrix 1.0 0.0 0.0 0.0 1.0 0.0
}
// Uncomment this to make the mouse warp to the center of newly focused windows.
warp-mouse-to-focus
@@ -78,7 +69,6 @@ input {
// Change the Mod key to Alt
mod-key "Alt"
mod-key-nested "Super"
}
// You can configure outputs by their name, which you can find
@@ -117,35 +107,19 @@ input {
// automatically.
position x=1280 y=0
}
output "HDMI-A-1 " {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "2560x1440@74.924"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
output "Acer Technologies KG272U TP1SA002851C " {
mode "2560x1440"
scale 1
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "90"
position x=0 y=0
}
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840× 2160 output with scale 2.0 will have a logical size of 1920× 1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=0 y=-730
output "ViewSonic Corporation VX2758-Series VVF190100000" {
mode "2560x1440"
scale 1
transform "normal"
position x=1440 y=755
focus-at-startup
}
// Settings that influence how windows are positioned and sized.
@@ -171,14 +145,17 @@ layout {
proportion 0.33333
proportion 0.5
proportion 0.66667
proportion 1.0
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
preset-window-heights {
proportion 0.333333
proportion 0.5
proportion 0.666667
}
// You can change the default width of the new windows.
default-column-width { proportion 0.5; }
@@ -304,17 +281,13 @@ layout {
// See the binds section below for more spawn examples.
// This line starts waybar, a commonly used bar for Wayland compositors.
spawn-at-startup "waybar"
spawn-at-startup "/home/danmac/.config/niri/sway_startup" "/home/danmac/Pictures/Nextcloud/IMG_8826 -Enhanced-NR.jpg"
spawn-at-startup "xwayland-satellite"
spawn-at-startup "xrdb" "/home/danmac/.Xresources"
spawn-at-startup "flatpak" "run" "com.nextcloud.desktopclient.nextcloud"
// spawn-at-startup "waybar"
spawn-at-startup "/home/danmac/.config/niri/sway_startup" "/home/danmac/Pictures/Nextcloud/IMG_8409 -Enhanced-NR.jpg"
// spawn-at-startup "xwayland-satellite"
spawn-at-startup "cosmic-app-library"
environment {
DISPLAY ":0"
XCURSOR_THEME "Pop"
XCURSOR_SIZE "24"
}
// 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.
@@ -348,13 +321,13 @@ animations {
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
window-rule {
// 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=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
// match app-id=r#"^org\.wezfurlong\.wezterm$"#
// default-column-width {}
// }
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
@@ -370,6 +343,39 @@ window-rule {
open-floating true
}
window-rule {
match app-id=r#"org.pulseaudio.pavucontrol"#
default-column-width { proportion 0.333333; }
}
window-rule {
// Zed and Zen should be 66% wide
match app-id="dev.zed.Zed"
match app-id="zen"
default-column-width { proportion 0.66667; }
}
window-rule {
// Solve space property manager
match app-id="solvespace"
default-column-width { proportion 0.75; }
}
window-rule {
// Solve space property manager
match title="Property Browser — SolveSpace"
default-column-width { proportion 0.25; }
}
window-rule {
// Nautilus open file window
match app-id="org.gnome.Nautilus" title="Open Folder"
open-floating true
}
// Example: block out two password managers from screen capture.
// (This example rule is commented out with a "/-" in front.)
/-window-rule {
@@ -406,11 +412,14 @@ binds {
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+T hotkey-overlay-title="Open a Terminal: wezterm" { spawn "wezterm"; }
Mod+D hotkey-overlay-title="Open the COSMIC App Launcher " { spawn "cosmic-app-library"; }
Mod+D hotkey-overlay-title="Run an Application: cosmic-apps " { spawn "cosmic-app-library"; }
Mod+Shift+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
Mod+B hotkey-overlay-title="Open the Default Browser" { spawn "xdg-open" "http://"; }
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock "; }
Mod+X hotkey-overlay-title="Open the Default File Manager" { spawn "xdg-open" "/home/danmac/ "; }
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock" "-f" "-i" "/tmp/blurred_IMG_8618-Enhanced-NR.jpg"; }
// toggle notification panel
Mod+Shift+N hotkey-overlay-title="Toggle notification window" { spawn "swaync-client" "-t"; }
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument in the end.
// Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
@@ -422,6 +431,8 @@ binds {
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
// Open/close the Overview: a zoomed-out view of workspaces and windows.
// You can also move the mouse into the top-left hot corner,
@@ -566,12 +577,21 @@ binds {
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+Ctrl+1 { move-window-to-workspace 1; }
Mod+Ctrl+2 { move-window-to-workspace 2; }
Mod+Ctrl+3 { move-window-to-workspace 3; }
Mod+Ctrl+4 { move-window-to-workspace 4; }
Mod+Ctrl+5 { move-window-to-workspace 5; }
Mod+Ctrl+6 { move-window-to-workspace 6; }
Mod+Ctrl+7 { move-window-to-workspace 7; }
Mod+Ctrl+8 { move-window-to-workspace 8; }
Mod+Ctrl+9 { move-window-to-workspace 9; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
// Switches focus between the current and the previous workspace.
// Mod+Tab { focus-workspace-previous; }
Mod+Tab { 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.
@@ -588,6 +608,7 @@ binds {
Mod+Shift+R { switch-preset-window-height; }
Mod+Ctrl+R { reset-window-height; }
Mod+F { maximize-column; }
Mod+G { reset-window-height; }
Mod+Shift+F { fullscreen-window; }
// Expand the focused column to space not taken up by other fully visible columns.