niri: add window rules
Signed-off-by: Myned <dev@bjork.tech>
This commit is contained in:
parent
21c0dafd2c
commit
5b9c31a907
1 changed files with 151 additions and 13 deletions
|
@ -13,8 +13,19 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${config.custom.username} = {
|
home-manager.users.${config.custom.username} = {
|
||||||
# https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
# https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
|
||||||
programs.niri.settings.window-rules = [
|
programs.niri.settings = {
|
||||||
|
# HACK: Name workspaces after index to use open-on-workspace rule
|
||||||
|
workspaces = {
|
||||||
|
"1" = {};
|
||||||
|
"2" = {};
|
||||||
|
"3" = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
window-rules = [
|
||||||
|
### Defaults
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# Global
|
||||||
geometry-corner-radius = let
|
geometry-corner-radius = let
|
||||||
radius = config.custom.rounding + 0.0; # Convert to float
|
radius = config.custom.rounding + 0.0; # Convert to float
|
||||||
in {
|
in {
|
||||||
|
@ -26,7 +37,134 @@ in {
|
||||||
|
|
||||||
clip-to-geometry = true;
|
clip-to-geometry = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Startup
|
||||||
|
#?? <= 60 secs after niri launches
|
||||||
|
matches = [{at-startup = true;}];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Android
|
||||||
|
matches = [{app-id = "^[Ww]aydroid.*$";}];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Browsers
|
||||||
|
matches = [
|
||||||
|
{app-id = "^brave-browser$";}
|
||||||
|
{app-id = "^chromium-browser$";}
|
||||||
|
{app-id = "^firefox.*$";}
|
||||||
|
{app-id = "^google-chrome$";}
|
||||||
|
{app-id = "^vivaldi.*$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "2";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Chats
|
||||||
|
matches = [
|
||||||
|
{app-id = "^cinny$";}
|
||||||
|
{app-id = "^discord$";}
|
||||||
|
{app-id = "^Element$";}
|
||||||
|
{app-id = "^org\.telegram\.desktop$";}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Dropdown terminal
|
||||||
|
matches = [{app-id = "^dropdown$";}];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Editors
|
||||||
|
matches = [
|
||||||
|
{app-id = "^codium$";}
|
||||||
|
{app-id = "^obsidian$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "2";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Files
|
||||||
|
matches = [{app-id = "^org\.gnome\.Nautilus$";}];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Games
|
||||||
|
matches = [
|
||||||
|
{app-id = "^.*\.(exe|x86_64)$";}
|
||||||
|
{app-id = "^moe\.launcher\..+$";}
|
||||||
|
{app-id = "^net\.retrodeck\.retrodeck$";}
|
||||||
|
{app-id = "^steam_app_.+$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "1";
|
||||||
|
variable-refresh-rate = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Media
|
||||||
|
matches = [
|
||||||
|
{app-id = "^org\.gnome\.Loupe$";}
|
||||||
|
{app-id = "^Spotify$";}
|
||||||
|
{app-id = "^totem$";}
|
||||||
|
{app-id = "^YouTube Music$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "3";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Office
|
||||||
|
matches = [
|
||||||
|
{app-id = "^draw\.io$";}
|
||||||
|
{app-id = "^libreoffice$";}
|
||||||
|
{app-id = "^ONLYOFFICE Desktop Editors$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "2";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# PiP
|
||||||
|
matches = [{title = "^Picture.in.[Pp]icture$";}];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Terminals
|
||||||
|
matches = [
|
||||||
|
{app-id = "^foot$";}
|
||||||
|
{app-id = "^kitty$";}
|
||||||
|
{app-id = "^org\.wezfurlong\.wezterm$";}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Vaults
|
||||||
|
matches = [
|
||||||
|
{app-id = "^1Password$";}
|
||||||
|
{app-id = "^Bitwarden$";}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# Virtual machines
|
||||||
|
matches = [
|
||||||
|
{app-id = "^(sdl-|wl|x)freerdp$";}
|
||||||
|
{app-id = "^looking-glass-client$";}
|
||||||
|
{app-id = "^org\.remmina\.Remmina$";}
|
||||||
|
{app-id = "^virt-manager$";}
|
||||||
|
];
|
||||||
|
|
||||||
|
open-on-workspace = "1";
|
||||||
|
}
|
||||||
|
|
||||||
|
### Overrides
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue