Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this still developed? #68

Open
tio-trom opened this issue Oct 13, 2021 · 18 comments
Open

Is this still developed? #68

tio-trom opened this issue Oct 13, 2021 · 18 comments

Comments

@tio-trom
Copy link

I see the lat commit was almost 6 years ago. I was wondering if this is a reliable package. Cheers!

@ndnihil
Copy link

ndnihil commented Oct 13, 2021

I still use it daily. What further development do you feel is necessary?

@tio-trom
Copy link
Author

I wanted to make sure that it is no abandoned. I would like to implement it to our tromjaro.com distribution by default. So we will test it a lot with many applications to make sure it works and maybe help debug.

@ndnihil
Copy link

ndnihil commented Oct 13, 2021

I don't know the author(s) so I have no idea if it has been abandoned or is just in a state of not needing further attention. I can say that it still functions as intended in 2021 though. Debian has it in Bookworm/12/testing, and Arch appears to be active with it as well.

https://packages.debian.org/testing/gtk3-nocsd

https://aur.archlinux.org/packages/gtk3-nocsd-git/

@Monsterovich
Copy link

#63

@jelabarre59
Copy link

Actually, now there DOES seem to be a problem with gtk3-nocsd, at least in Fedora 37. I built the library for this on a F37 install (Cinnamon & MATE desktops installed, and the dev libraries listed as needed). I put the library in the usual /use/lib64 location, but as soon as I try to add it to the LD_PRELOAD path, I get a Segmentation Fault.

I suspect the GNOME folks broke something in GTK to keep this from running (it might upset their sensibilities if someone decided to have actual color and texture in their interface).

What would be nice is a replacement library that 1: forcibly adds back titlebars to GTK+ 2: intercepts those CSD abominations and extracts the components back to separate menubar & tiitlebar. A utility to convert old Metacity themes to gtk.css would be useful too.

@ndnihil
Copy link

ndnihil commented Jan 23, 2023

Might want to check your selinux logs. It will trip up LD_PRELOAD in some situations, and a quick google shows that selinux is enabled on Fedora 37 by default.

@jelabarre59
Copy link

jelabarre59 commented Jan 23, 2023

nothing in any selinux logs, and abrt shows pretty much the same information ("libgtk3-nocsd.so.0 killed by SIGSEGV").

in "exploitable" it says:

Likely crash reason: Jump to an invalid address
Exploitable rating (0-9 scale): 6

@ndnihil
Copy link

ndnihil commented Jan 23, 2023

If you're in a position/disposition to disable SEL and try again, I'd be interested to know if there is any change.

@jelabarre59
Copy link

I tried this with both "SELINUX=disabled" in /etc/sysconfig/selinux as well as booting with "selinux=0" on the grub command line (both settings at the same time, to make sure selinux was completely disabled). Still the same error.

I wonder if this could be tied in with the GTK3-classic project (it acts as a replacement GTK3 library to restore functionality removed in the main GTK3 libraries). https://github.com/lah7/gtk3-classic

@jelabarre59
Copy link

there was the problem. ended up with a semi-colon rather than a colon in the "export LD_PRELOAD=$LD_PRELOAD:/usr/lib64/libgtk3-nocsd.so.0" line in .bashrc. A really hard thing to see when viewing it.

@sulincix
Copy link

I am writing alternative and libX11 based solution.

https://gitlab.com/sulincix/xnocsd

@Monsterovich
Copy link

I am writing alternative and libX11 based solution.

https://gitlab.com/sulincix/xnocsd

It won't look normal because the window close buttons in the CSD will still be displayed. libgtk-nocsd tries to remove them in some way. The only good option is to patch the GTK library. Because python applications using GTK will not be affected by LD_PRELOAD.

@jelabarre59
Copy link

Alternatively we need to migrate non-Gnome desktops, etc off of GTK and over to CTK. Then it's a simple matter of undoing all the damage Gnome has done.

@NintendoManiac64
Copy link

NintendoManiac64 commented Nov 1, 2024

Having only discovered gtk3-nocsd in the last month, all I'm interested in is restoring Fitts' Law (which exists in GTK2 applications but not GTK3 nor GTK4; my personal pet theory is that GNOME defaulting to having the panel at the top means they don't notice the issue).

However, modern versions of the likes of Firefox (or derivatives like LibreWolf) manually made their headings and tab bars actually obey Fitts' Law on distros that have the panel at the bottom of the screen (which is my preference), so having gtk3-nocsd installed actually breaks Fitts' Law for such programs. This demonstrates how nowadays there's a need for a sort of "exceptions list" functionality where the user can configure when and where gtk3-nocsd shouldn't get applied.

@Monsterovich
Copy link

Having only discovered gtk3-nocsd in the last month, all I'm interested in is restoring Fitts' Law (which exists in GTK2 applications but not GTK3 nor GTK4; my personal pet theory is that GNOME defaulting to having the panel at the top means they don't notice the issue).

However, modern versions of the likes of Firefox (or derivatives like LibreWolf) manually made their headings and tab bars actually obey Fitts' Law on distros that have the panel at the bottom of the screen (which is my preference), so having gtk3-nocsd installed actually breaks Fitts' Law for such programs. This demonstrates how nowadays there's a need for a sort of "exceptions list" functionality where the user can configure when and where gtk3-nocsd shouldn't get applied.

This library is mostly dead, I suggest using gtk3-classic.

@jelabarre59
Copy link

Even better would be to migrate all our non-GNOME programs and desktops (the ones based on GTK+) over to CTK, then we could remove all the intentional breakage Gnome put into GTK+.

@Monsterovich
Copy link

Even better would be to migrate all our non-GNOME programs and desktops (the ones based on GTK+) over to CTK, then we could remove all the intentional breakage Gnome put into GTK+.

I agree, it's long overdue to make a GTK2/3 fork and port all DE to it: Xfce, Mate, Cinammon, and apps too. Let GNOME developers perish continue to live in their own universe.

The first thing to do is to make CSD an optional feature and somehow try to optimize running applications over the network ssh -X. Maybe even take patches from gtk3-classic.

@jelabarre59
Copy link

I agree, it's long overdue to make a GTK2/3 fork and port all DE to it: Xfce, Mate, Cinammon, and apps too. Let GNOME developers perish continue to live in their own universe.

There already is a fork, https://github.com/cafe-desktop/ctk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants