Generalize and move configs
This commit is contained in:
parent
17f2a16f48
commit
ffb1b6d541
21 changed files with 73 additions and 64 deletions
142
modules/home/wms/sway/rules/default.nix
Normal file
142
modules/home/wms/sway/rules/default.nix
Normal file
|
@ -0,0 +1,142 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
wayland.windowManager.sway.config = {
|
||||
# Assign workspaces to config
|
||||
workspaceOutputAssign = let
|
||||
workspaces1 = [
|
||||
"${config.ws.w0}"
|
||||
"${config.ws.w1}"
|
||||
"${config.ws.w2}"
|
||||
"${config.ws.w3}"
|
||||
"${config.ws.w1a}"
|
||||
"${config.ws.w2a}"
|
||||
"${config.ws.w3a}"
|
||||
];
|
||||
workspaces2 = [
|
||||
"${config.ws.w4}"
|
||||
"${config.ws.w5}"
|
||||
"${config.ws.w6}"
|
||||
"${config.ws.w4a}"
|
||||
"${config.ws.w5a}"
|
||||
];
|
||||
workspaces3 = [
|
||||
"${config.ws.w7}"
|
||||
"${config.ws.w8}"
|
||||
"${config.ws.w9}"
|
||||
"${config.ws.w7a}"
|
||||
"${config.ws.w8a}"
|
||||
];
|
||||
workspaces4 = [
|
||||
"${config.ws.w6a}"
|
||||
"${config.ws.w9a}"
|
||||
];
|
||||
assign = output: workspaces:
|
||||
map (workspace: {
|
||||
inherit workspace;
|
||||
inherit output;
|
||||
})
|
||||
workspaces;
|
||||
in
|
||||
(assign "${config.displays.d1}" workspaces1) ++
|
||||
(assign "${config.displays.d2}" workspaces2) ++
|
||||
(assign "${config.displays.d3}" workspaces3) ++
|
||||
(assign "${config.displays.d4}" workspaces4);
|
||||
|
||||
# Rules
|
||||
defaultWorkspace = config.ws.w1;
|
||||
|
||||
window = {
|
||||
border = config.look.border.int;
|
||||
titlebar = false;
|
||||
commands = [
|
||||
# Scratchpads
|
||||
{
|
||||
criteria = { con_mark = "scratchpad"; };
|
||||
command = ''floating enable, sticky enable, move scratchpad, mark borderless'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "gotop"; };
|
||||
command = ''mark scratchpad'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "music"; };
|
||||
command = ''mark scratchpad'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "sound"; };
|
||||
command = ''mark scratchpad'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "com.github.wwmm.easyeffects"; };
|
||||
command = ''mark scratchpad, opacity 0.9'';
|
||||
}
|
||||
|
||||
# Create a "Scratchpad" for apps I don't want to be seen when launched
|
||||
{
|
||||
criteria = { con_mark = "hiddenaway"; };
|
||||
command = ''move scratchpad'';
|
||||
}
|
||||
|
||||
# Give apps that don't have them borders
|
||||
{
|
||||
criteria = { con_mark = "borderless"; };
|
||||
command = ''border pixel ${config.look.border.string}'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "com.github.wwmm.easyeffects"; };
|
||||
command = ''mark borderless'';
|
||||
}
|
||||
{
|
||||
criteria = { class = "steam"; };
|
||||
command = ''mark borderless'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "swappy"; };
|
||||
command = ''mark borderless'';
|
||||
}
|
||||
{
|
||||
criteria = { app_id = "virt-manager"; };
|
||||
command = ''mark borderless'';
|
||||
}
|
||||
{
|
||||
criteria = { window_role = "pop-up"; };
|
||||
command = ''mark borderless'';
|
||||
}
|
||||
|
||||
# Floating or fullscreen rules
|
||||
{
|
||||
criteria = { app_id = "float"; };
|
||||
command = ''floating enable'';
|
||||
}
|
||||
{
|
||||
criteria = { title = "^GlobalShot"; };
|
||||
command = ''floating enable, fullscreen enable global'';
|
||||
}
|
||||
];
|
||||
};
|
||||
assigns = {
|
||||
# Broconfig.wsers
|
||||
"${config.ws.w1}" = [{ app_id = "MainBrowser"; }];
|
||||
"${config.ws.w1a}" = [{ app_id = "AltBrowser"; }];
|
||||
|
||||
# Communication
|
||||
"${config.ws.w3a}" = [{ class = "zoom"; }];
|
||||
"${config.ws.w7}" = [
|
||||
{ app_id = "MiscBrowser"; }
|
||||
{ app_id = "vesktop"; }
|
||||
{ class = "vesktop"; }
|
||||
];
|
||||
"${config.ws.w8}" = [{ app_id = "org.gnome.Fractal"; }];
|
||||
"${config.ws.w9}" = [{ app_id = "thunderbird"; }];
|
||||
|
||||
# Etc
|
||||
"${config.ws.w2}" = [
|
||||
{ class = "steam"; }
|
||||
{app_id = "heroic";}
|
||||
];
|
||||
"${config.ws.w2a}" = [{ app_id = "looking-glass-client"; }];
|
||||
"${config.ws.w4a}" = [{ app_id = "com.obsproject.Studio"; }];
|
||||
};
|
||||
focus.newWindow = "focus";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue