# Using a different terminal
## Niri
Change what terminal is spawned in `~/.config/niri/config.kdl`
# Get rid of duplicate status bars
[Instructions](https://niri-wm.github.io/niri/Getting-Started.html#:~:text=The%20default%20niri%20config%20will%20run%20Waybar%2C%20so%20you%20might%20get%20two%20bars%20on%20screen.%20To%20fix%20this%2C%20stop%20Waybar%20with%20pkill%20waybar%20command%2C%20then%20open%20~/.config/niri/config.kdl%20and%20delete%20the%20spawn%2Dat%2Dstartup%20%22waybar%22%20line.):
> The default niri config will run Waybar, so you might get two bars on screen. To fix this, stop Waybar with pkill waybar command, then open ~/.config/niri/config.kdl and delete the spawn-at-startup "waybar" line.
# Changing the app launcher
## Niri
Edit keyboard shortcut in `~/.config/niri/config.kdl` to spawn `dms ipc launcher toggle` (originally `fuzzel`)
# Get Vivaldi to access the GNOME key store
## DMS
Edit the "Vivaldi" app in the launcher and add `--password-store=gnome-libsecret` as extra arguments.
# Turn on Apple-style multi-finger clicking
## Niri
```kdl
input {
touchpad {
click-method "clickfinger"
}
}
```
# Locking when the laptop lid is closed
## DMS
- Turn on "Lock before suspend"
## Niri
- Rebind lock keybinding to `dms ipc lock lock` (originally `swaylock`)
- ```kdl
switch-events {
lid-close { spawn "dms" "ipc" "lock" "lock"; }
}
```
# Make Mullvad VPN not float on launch
1. `niri msg windows` to get the app ID
2. Edit `~/.config/niri/config.kdl`
```kdl
window-rule {
match app-id="^Mullvad VPN
quot;
open-floating false
}
```
# Get Vivaldi to not complain about the key store
1. `cp /var/lib/flatpak/exports/share/applications/com.vivaldi.Vivaldi.desktop ~/.local/share/applications/vivaldi.desktop`
2. Add `--password-store=gnome-libsecret` to the `Exec` lines
3. `xdg-settings set default-web-browser vivaldi.desktop`
# Disable hot corners
## Niri
```kdl
gestures {
hot-corners {
off
}
}
```
# Plug-ins
## DMS
https://danklinux.com/plugins
# Quake console
## Niri
- Launch terminal with a `quake.console` class name, e.g. `ghostty --class=quake.console`
- Set a window rule for `quake.console`:
```kdl
window-rule {
match app-id="^quake.consolequot;
open-floating true
default-floating-position x=0 y=0 relative-to="top"
default-window-height { proportion 0.8; }
default-column-width { proportion 0.8; }
}
```
# Volume buttons
## Niri
```kdl
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -l 1.0"; }
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; }
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
```
# VS Code keychain
https://code.visualstudio.com/docs/configure/settings-sync#_troubleshooting-keychain-issues
1. Test that `--password-store="gnome-libsecret"` works
2. Run the *Preferences: Configure Runtime Arguments* command
3. Add the configuration