ZaWertun / gtk3-nocsd

A hack to disable gtk+ 3 client side decoration
GNU Lesser General Public License v2.1
53 stars 2 forks source link

Toolbar missing on save-dialog #5

Closed cyberpunkrocker-zero closed 4 years ago

cyberpunkrocker-zero commented 4 years ago

Found another issue on latest version: Cawbird (a twitter client): when right-clicking an image to save it, the save dialog is missing the toolbar, making it impossible to use. The old PCMan version works.

Cawbird 1.1.0-1 GTK3 3.24.21-1 Arch Linux

ZaWertun commented 4 years ago

Got it, I'll check this. I've added code to hide empty GtkHeaderBar - this small change causing all this issues.

ZaWertun commented 4 years ago

Could you post screenshot of this issue?

There is how Cawbird save dialog looks like on my machine: image

gtk3-nocsd built from master branch (commit cea22bbcaabbab13954bdc763e14cc375a2b400e) not affecting save dialog.

cyberpunkrocker-zero commented 4 years ago

On the left is r55.82ff5a0 (i.e. PCMan version), on the right is r71.cea22bb. As you can see, the whole top row is missing. Window manager is Awesome WM, no composite used. r55-r71

ZaWertun commented 4 years ago

Please run cawbird with GTK_DEBUG=interactive: GTK_DEBUG=interactive cawbird and select this toolbar with file name in the inspector (looks like this: изображение). Then show me component tree: изображение

GtkFileChooserDialog is not using GtkHeaderBar so - it can't be broken with last code. Are you sure that you use last code from the git?

Can't reproduce this on my computer.

ZaWertun commented 4 years ago

P.S. I have same versions of GTK3 and Cawbird: gtk3-3.24.21-1.fc32.x86_64, cawbird-1.1.0-2.fc32.x86_64.

ZaWertun commented 4 years ago

I'll try to reproduce this bug in the VM with ArchLinux.

cyberpunkrocker-zero commented 4 years ago

I wasn't sure which version I was supposed to be using while debugging, so this is from version 82ff5a0. As for whether I'm using the latest code, shouldn't 'makepkg -f' force fetching the latest from git? At least the resulting package has 'cea22bb' in the filename. cawbird-debug

ZaWertun commented 4 years ago

Work as intended when installed from git (git clone ... && make ...).

  1. VirtualBox_ArchLinux_04_08_2020_23_05_59
  2. VirtualBox_ArchLinux_04_08_2020_23_07_59

How to install gtk3-nocsd from Aur?

neon64 commented 4 years ago

Can confirm this issue on swaywm (wayland) & Arch Linux, but from doing a git clone and compiling myself (not using the AUR package).

The original PCMan version works fine, as does v3.0.1 from here. But both v3.0.2 and v3.0.3 are broken for me (first time I use the save dialog in Firefox the title/save button shows up, second time fails). So seems to be something between v3.0.1 and v3.02 broke things.

ZaWertun commented 4 years ago

Please describe all steps, especially how do you run the cawbird in the terminal.

If you run just gtk3-nocsd cawbird without supplying LD_PRELOAD / LD_LIBRARY_PATH variables - you still have been using libgtk3-nocsd.so.0 installed from AUR. I.E. you still using old version.

ZaWertun commented 4 years ago

Nah. Just removed this code. Now everything should work as before, check tag v3.0.4. Thanks for feedback btw.

neon64 commented 4 years ago

I don't have a Twitter account, so haven't reproduced it with cawbird specifically, but instead with other apps with a GTK save dialog, such as Firefox and Evince.

This doesn't work:

git checkout v3.0.2
make
env GTK_CSD=0 LD_PRELOAD=/home/[username]/code/gtk3-nocsd2/libgtk3-nocsd.so.0 evince

Can confirm v3.0.4 has fixed it for me!

Thanks for your work on this - gnome apps without csd now fit in really well in my tiling wm setup :)