From e89a712c9ae7b09d339b5a1aa6e755b047cbeec5 Mon Sep 17 00:00:00 2001
From: Myned <dev@bjork.tech>
Date: Sat, 15 Feb 2025 15:53:39 -0600
Subject: [PATCH] ghostty: fix window class not taking effect

Signed-off-by: Myned <dev@bjork.tech>
---
 options/custom/desktops/hyprland/binds.nix | 7 +++++--
 options/custom/desktops/hyprland/rules.nix | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/options/custom/desktops/hyprland/binds.nix b/options/custom/desktops/hyprland/binds.nix
index c02d51e..c799e31 100644
--- a/options/custom/desktops/hyprland/binds.nix
+++ b/options/custom/desktops/hyprland/binds.nix
@@ -61,10 +61,13 @@ in {
           "${toggle}"
           "--focus"
           "--type class"
-          "--expression '^dropdown$'"
+            "--expression '^.*dropdown$'"
           "--workspace special:dropdown"
           "--"
-          "${ghostty} --class=dropdown"
+
+            #!! Must be valid GTK class
+            # https://github.com/ghostty-org/ghostty/issues/3336
+            "${ghostty} --class=gtk.dropdown"
         ];
 
         pip-switch = with config.custom;
diff --git a/options/custom/desktops/hyprland/rules.nix b/options/custom/desktops/hyprland/rules.nix
index 2f87d77..ec24ddd 100644
--- a/options/custom/desktops/hyprland/rules.nix
+++ b/options/custom/desktops/hyprland/rules.nix
@@ -191,7 +191,7 @@ in {
           ];
 
           dropdown = rules: [
-            (class "dropdown" rules)
+            (class ".*dropdown" rules)
           ];
 
           editor = rules: [