hardpixel / dark-variant

GNOME Shell extension to apply dark window decorations.
GNU General Public License v3.0
12 stars 1 forks source link

Gnome 44 support #5

Open Koitharu opened 1 year ago

Koitharu commented 1 year ago

This extension does not work on Gnome 44 beta (Wayland, haven't tried x11). There are no exceptions, the settings work fine, just no effect. It would be nice if Gnome 44 was supported as well. Thank you

Koitharu commented 1 year ago

I'm not sure that it will be enough. In my case version validation is disabled, extension can be used as usual, but selected applications still have light appearance

Koitharu commented 1 year ago

Снимок экрана от 2023-03-19 07-46-29

Header bar still light, before upgrade to gnome 44 it was working

jonian commented 1 year ago

Hi @Koitharu, the extension uses xprop to set _GTK_THEME_VARIANT to dark. So it only works on x11 or with xwayland apps. You can check if your app is xwayland by running xprop in your terminal and then click on the window you want to enable dark variant.

Koitharu commented 1 year ago

I guess this application is running using xwayland

$ xprop 
_GTK_EDGE_CONSTRAINTS(CARDINAL) = 170
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 1
_MUTTER_NEEDS_FRAME(CARDINAL) = 1
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
_NET_WM_USER_TIME(CARDINAL) = 5176752
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x1, 0x1, 0x0, 0x0
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x51, 0x0, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
XdndAware(ATOM) = BITMAP
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FOCUSED
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: False
        Initial state is Normal State.
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 37, 0
_NET_WM_ICON(CARDINAL) =    Icon (128 x 128):
    (not shown)
    Icon (32 x 32):
    ( redacted )
_NET_WM_PID(CARDINAL) = 2798
WM_CLIENT_MACHINE(STRING) = "archlinux"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS
WM_CLASS(STRING) = "jetbrains-studio", "jetbrains-studio"
WM_CLIENT_LEADER(WINDOW): window id # 0xa0002f
_NET_WM_ICON_NAME(UTF8_STRING) = "Welcome to Android Studio"
WM_ICON_NAME(STRING) = "Welcome to Android Studio"
_NET_WM_NAME(UTF8_STRING) = "Welcome to Android Studio"
WM_NAME(STRING) = "Welcome to Android Studio"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        user specified location: 363, 95
        program specified location: 363, 95
        program specified size: 873 by 679
        program specified minimum size: 800 by 650
        window gravity: NorthWest
Koitharu commented 1 year ago

In x11 session I got the same effect (not working)

BartleyTheShopkeeper commented 1 year ago

I have experienced the same issue as well. image

thedaviddelta commented 1 year ago

It seems GTK3 was dropped in Gnome 44 and now every app uses a GTK4 headerbar. So probably this trick will simply never work again :( For reference: https://github.com/flathub/com.spotify.Client/issues/238 https://github.com/flathub/com.spotify.Client/issues/236 https://discussion.fedoraproject.org/t/spotify-and-visual-studio-code-no-longer-have-dark-title-bars/81239/8 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2655

jonian commented 1 year ago

The support for _GTK_THEME_VARIANT has been removed from mutter 44 and probably won't be added again as you can see at https://gitlab.gnome.org/GNOME/mutter/-/issues/2792.

mudza09 commented 1 year ago

Is there any update regarding this problem, I am using on gnome 45 and it doesn't work. I hope there is good news for this extension

jonian commented 1 year ago

Ηι @mudza09, unfortunately there is no update. I made the extension compatible with gnome 45 in case the issue gets fixed. I will update this issue if there are any good news.