Package Details: gtk3-nocsd-git 3.0.8+2.r84.20221015.a356bf7-2

Git Clone URL: https://aur.archlinux.org/gtk3-nocsd-git.git (read-only, click to copy)
Package Base: gtk3-nocsd-git
Description: A LD_PRELOAD library to disable gtk+ 3 client side decoration.
Upstream URL: https://github.com/fredldotme/gtk3-nocsd
Licenses: LGPL2.1
Conflicts: gtk3-nocsd
Provides: gtk3-nocsd
Submitter: dreieck
Maintainer: None
Last Packager: dreieck
Votes: 3
Popularity: 0.020340
First Submitted: 2023-07-23 16:24 (UTC)
Last Updated: 2023-07-24 08:57 (UTC)

Pinned Comments

rado84 commented on 2024-03-30 19:01 (UTC)

Dreieck, thati is not entirely... accurate. Some of the gnome apps I use are version 46 (such as gnome-disk-utility) and yet NOCSD works on it like a charm. Others, however, completely ignore the dark themes. I think it's all individual app by app, not general for all apps. GEdit is also v46.2, and NOCSD works there like a charm as well. Besides, you can always downgrade them all to v45, which I did with gnome-system-monitor bc it was all white and completely ignoring the NOCSD library. I'm not talking about forever, just until they make them backwards compatible with GTK3.

dreieck commented on 2023-07-23 16:50 (UTC) (edited on 2023-08-25 07:16 (UTC) by dreieck)

Two notes
Issues with gnome apps

Most or all Gnome-Apps are gtk4 based now. For this this hack of course does not work, and with GTK_CSD=0 makes the client side buttons vanish while still not have the window manager taking them over.

How to activate

In order to automatically preload libgtk3-nocsd.so at X session startup, copy /usr/share/doc/gtk3-nocsd/xinit/30-gtk3-nocsd.sh to /etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh. Otherwise, individual programmes can be run with GTK3 client side decoration disabled by running them as gtk3-nocsd <command> [<command arguments>]. See man 1 gtk3-nocsd.

Latest Comments

« First ‹ Previous 1 2

MarsSeed commented on 2023-07-30 00:13 (UTC)

Now you mention it, I remember that gtk3-nocsd-git did look more 'classic' than gtk3-classic, hehe! But in the end I settled with the latter, as that does not give me any headache with bugs. I've been using it for the past one year and it was a completely smooth ride so far.

I don't have any desktop application / C / C++ etc. developer knowledge, so I cannot help improve that project. I don't know what it would take to reincorporate the original window manager decorations in gtk3-classic.

dreieck commented on 2023-07-29 22:44 (UTC) (edited on 2023-07-30 08:17 (UTC) by dreieck)

Ahoj @MarsSeed,

thank you for mentioning gtk3-classic!

I did not know it until now. Great!

I still want to provide gtk3-nocsd though, because that allows to have gtk3 from official Arch Linux/ Artix Linux repositories installed.

At least "↗ chaotic-aur" has gtk3-classic precompiled.

I have tested gtk3-classic, but it still gives the window menu buttons within the window and does not restore decorations by the window manager (tested with gedit, where gtk3-nocsd-git does restore window decorations.)

Regards!

MarsSeed commented on 2023-07-29 21:29 (UTC)

Hi @dreieck,

I see you have revived this old no-CSD workaround for gtk3.

I've used it earlier on KDE Plasma, but had some issues with it, and it didn't work in some cases.

But there is a more robust successor solution: the lah7/gtk3-classic project. It applies patches on top of the gtk3 code, and tests the build via GitHub Actions.

There are AUR packages for this variant of gtk3:

The upstream project specifically mentions Xfce and MATE desktops as their target use case.

Have you tried this yet? I recommend that you do, if you haven't.

It works without any problems for me on KDE.

It does not eliminate the hamburger menu if an application sticks to it, but it still exposes a standard menu bar if such exists in the app.

The project also welcomes PR's.

dreieck commented on 2023-07-23 16:50 (UTC) (edited on 2023-08-25 07:16 (UTC) by dreieck)

Two notes
Issues with gnome apps

Most or all Gnome-Apps are gtk4 based now. For this this hack of course does not work, and with GTK_CSD=0 makes the client side buttons vanish while still not have the window manager taking them over.

How to activate

In order to automatically preload libgtk3-nocsd.so at X session startup, copy /usr/share/doc/gtk3-nocsd/xinit/30-gtk3-nocsd.sh to /etc/X11/xinit/xinitrc.d/30-gtk3-nocsd.sh. Otherwise, individual programmes can be run with GTK3 client side decoration disabled by running them as gtk3-nocsd <command> [<command arguments>]. See man 1 gtk3-nocsd.

dreieck commented on 2023-07-23 16:49 (UTC)

Adopted the package and switched to a more up to date source.