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"; | ||||
|       initialClass = mkRuleOption str "Initial window class matcher"; | ||||
|       initialTitle = mkRuleOption str "Initial window title matcher"; | ||||
|       tag = mkRuleOption str "Window tag matcher"; | ||||
|       xwayland = mkRuleOption bool "Match XWayland windows"; | ||||
|       floating = mkRuleOption bool "Match floating windows"; | ||||
|       fullscreen = mkRuleOption bool "Match fullscreen windows"; | ||||
|  | @ -137,4 +138,3 @@ in { | |||
|       flatten (map formatWindowRule cfg.windowRules); | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -230,6 +230,10 @@ | |||
|         name = "minsize"; | ||||
|         regex = ["${patterns.int} ${patterns.int}"]; | ||||
|       }; | ||||
|       animation = mkRegexTarget { | ||||
|         name = "animation"; | ||||
|         regex = ["(slide)( (left|right|up|down|top|bottom))?|(popin)( ([0-9]+%))?"]; | ||||
|       }; | ||||
|     } | ||||
|     // toggleTargets; | ||||
| 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 = [ | ||||
|     # TODO tag games for immediate | ||||
|     { | ||||
|       matches = {class = "factorio";}; | ||||
|       rules = ["tag +games"]; | ||||
|     } | ||||
|     { | ||||
|       matches = {initialTitle = "World of Warcraft";}; | ||||
|       rules = ["tag +games"]; | ||||
|     } | ||||
|     { | ||||
|       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";}; | ||||
|  | @ -29,5 +57,15 @@ | |||
|       matches = {title = "^(Open Files)$";}; | ||||
|       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