158 lines
4.9 KiB
Markdown
158 lines
4.9 KiB
Markdown
## Installation
|
||
**Arch Linux**
|
||
```bash
|
||
sudo pacman -S niri
|
||
```
|
||
|
||
To have a better experience install all of the following packages
|
||
```bash
|
||
sudo pacman -S fuzzel mako xdg-desktop-portal-gtk xdg-desktop-portal-gnome swaybg swayidle swaylock xwayland-satellite udiskie hyprlock waybar
|
||
```
|
||
|
||
|
||
## Default Replacements
|
||
Open terminal change from `mod+T` to `mod+Return`
|
||
```bash
|
||
Mod+T hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
|
||
# Changed to
|
||
Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
|
||
```
|
||
|
||
Open application launcher change from `fuzzel` to `rofi-wayland`
|
||
```bash
|
||
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
||
# Changed to
|
||
Mod+D hotkey-overlay-title="Run an Application: rofi" { spawn "~/Scripts/toggle-rofi.sh"; }
|
||
```
|
||
## Setting Changed From Default Values
|
||
|
||
### Input (Desktops)
|
||
```bash
|
||
mouse {
|
||
// off
|
||
// natural-scroll
|
||
// accel-speed 0.2
|
||
accel-profile "flat"
|
||
// scroll-method "no-scroll"
|
||
}
|
||
```
|
||
Set `accel-profile "flat"`
|
||
`accel-speed` can be changed as desired, each mouse value will vary
|
||
|
||
### Input (Laptops)
|
||
```bash
|
||
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"
|
||
}
|
||
```
|
||
Set `accel-profile "flat"` for `mouse` and `touchpad`
|
||
`accel-speed` can be changed as desired, each mouse value will vary
|
||
|
||
### Binds
|
||
```bash
|
||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||
Mod+Shift+Return { spawn "foot" "--app-id" "float"; }
|
||
Mod+Ctrl+Return { spawn "kitty" "--class=floating-kitty"; }
|
||
Mod+Shift+A hotkey-overlay-title="Open btop" { spawn "kitty" "btop"; }
|
||
Mod+Shift+N hotkey-overlay-title="Open Obsidian" { spawn "obsidian"; }
|
||
```
|
||
|
||
### Window Rules
|
||
```bash
|
||
window-rule {
|
||
match app-id="float"
|
||
open-floating true
|
||
}
|
||
```
|
||
|
||
### Layout
|
||
```bash
|
||
layout {
|
||
// Set gaps around windows in logical pixels.
|
||
gaps 10
|
||
```
|
||
Change `gaps 16` to `gaps 10`
|
||
|
||
### Focus-ring
|
||
```bash
|
||
focus-ring {
|
||
// Uncomment this line to disable the focus ring.
|
||
// off
|
||
|
||
// How many logical pixels the ring extends out from the windows.
|
||
width 2
|
||
|
||
// Colors can be set in a variety of ways:
|
||
// - CSS named colors: "red"
|
||
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||
|
||
// Color of the ring on the active monitor.
|
||
// active-color "#7fc8ff"
|
||
active-color "#fe8019"
|
||
|
||
// Color of the ring on inactive monitors.
|
||
//
|
||
// The focus ring only draws around the active window, so the only place
|
||
// where you can see its inactive-color is on other monitors.
|
||
// inactive-color "#505050"
|
||
inactive-color "#7c6f64"
|
||
```
|
||
Change `width 4` to `width 2`
|
||
Change `active-color "#7fc8ff"` to `active-color "fe8019"`
|
||
Change `inactive-color "#505050"` to `inactive-color "#7c6f64"`
|
||
|
||
### Output
|
||
```bash
|
||
/-output "eDP-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 "1920x1080@120.030"
|
||
|
||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||
scale 2
|
||
|
||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||
transform "normal"
|
||
|
||
// 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=1280 y=0
|
||
}
|
||
```
|
||
Settings for `output` would need to be change as per device. I am mostly using `niri` on desktops. To get what resolutions your display can take run `niri msg outputs`
|
||
|
||
## Independent File Configuration
|