hyprland: add animation option to windowrules module
This commit is contained in:
parent
a0eed0bcc1
commit
11f014919a
3 changed files with 45 additions and 3 deletions
|
|
@ -67,6 +67,7 @@
|
||||||
title = mkRuleOption str "Window title matcher";
|
title = mkRuleOption str "Window title matcher";
|
||||||
initialClass = mkRuleOption str "Initial window class matcher";
|
initialClass = mkRuleOption str "Initial window class matcher";
|
||||||
initialTitle = mkRuleOption str "Initial window title matcher";
|
initialTitle = mkRuleOption str "Initial window title matcher";
|
||||||
|
tag = mkRuleOption str "Window tag matcher";
|
||||||
xwayland = mkRuleOption bool "Match XWayland windows";
|
xwayland = mkRuleOption bool "Match XWayland windows";
|
||||||
floating = mkRuleOption bool "Match floating windows";
|
floating = mkRuleOption bool "Match floating windows";
|
||||||
fullscreen = mkRuleOption bool "Match fullscreen windows";
|
fullscreen = mkRuleOption bool "Match fullscreen windows";
|
||||||
|
|
@ -137,4 +138,3 @@ in {
|
||||||
flatten (map formatWindowRule cfg.windowRules);
|
flatten (map formatWindowRule cfg.windowRules);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -230,6 +230,10 @@
|
||||||
name = "minsize";
|
name = "minsize";
|
||||||
regex = ["${patterns.int} ${patterns.int}"];
|
regex = ["${patterns.int} ${patterns.int}"];
|
||||||
};
|
};
|
||||||
|
animation = mkRegexTarget {
|
||||||
|
name = "animation";
|
||||||
|
regex = ["(slide)( (left|right|up|down|top|bottom))?|(popin)( ([0-9]+%))?"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
// toggleTargets;
|
// toggleTargets;
|
||||||
in {
|
in {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,37 @@
|
||||||
{
|
{osConfig, ...}: let
|
||||||
|
monitor = builtins.elemAt osConfig.ooknet.hardware.monitors 0;
|
||||||
|
|
||||||
|
widthMinusGaps = toString (monitor.width - 23);
|
||||||
|
in {
|
||||||
wayland.windowManager.hyprland.windowRules = [
|
wayland.windowManager.hyprland.windowRules = [
|
||||||
# TODO tag games for immediate
|
# TODO tag games for immediate
|
||||||
|
{
|
||||||
|
matches = {class = "factorio";};
|
||||||
|
rules = ["tag +games"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = {initialTitle = "World of Warcraft";};
|
||||||
|
rules = ["tag +games"];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
matches = {title = "TEKKEN™8";};
|
matches = {title = "TEKKEN™8";};
|
||||||
rules = ["immediate"];
|
rules = ["tag +games"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = {initialTitle = "Dolphin";};
|
||||||
|
rules = ["tag +games" "idleinhibit focus"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = {tag = "games";};
|
||||||
|
rules = ["workspace 6" "immediate"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = {title = "Steam";};
|
||||||
|
rules = ["workspace 5"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = {title = "Steam Settings";};
|
||||||
|
rules = ["float" "size 50%" "center 1"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
matches = {class = "firefox";};
|
matches = {class = "firefox";};
|
||||||
|
|
@ -29,5 +57,15 @@
|
||||||
matches = {title = "^(Open Files)$";};
|
matches = {title = "^(Open Files)$";};
|
||||||
rules = ["center 1" "float" "size 50%"];
|
rules = ["center 1" "float" "size 50%"];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
matches = {initialTitle = "foot-dropdown";};
|
||||||
|
rules = [
|
||||||
|
"monitor 0"
|
||||||
|
"animation slide down"
|
||||||
|
"float"
|
||||||
|
"move 12 46"
|
||||||
|
"size ${widthMinusGaps} 30%"
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue