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

Cursor isn't inherited #31

Open
aljustiet opened this issue Nov 1, 2024 · 29 comments
Open

Cursor isn't inherited #31

aljustiet opened this issue Nov 1, 2024 · 29 comments

Comments

@aljustiet
Copy link

Environment variables are inherited, but the cursor is still Adwaita.

1.mp4

OS: Hyprland/Arch

@ivan-hc
Copy link
Owner

ivan-hc commented Nov 2, 2024

Have you got the same issue also with the stable release (I see you use the GIT version)?

@aljustiet
Copy link
Author

Have you got the same issue also with the stable release (I see you use the GIT version)?

It has the cursor theme I want, but it doesn't respect the XCUSOR_SIZE variable. I think that the xwayland issue

@ivan-hc
Copy link
Owner

ivan-hc commented Nov 4, 2024

Try to extract the AppImage...

./*AppImage --appimage-extract

...and edit the AppRun script. Then and see if you can reach the desired result

cd ./squashfs-root
./AppRun

maybe you need to add a variable or to --bind-mount a specific directory.

@aljustiet
Copy link
Author

Try to extract the AppImage...

./*AppImage --appimage-extract

...and edit the AppRun script. Then and see if you can reach the desired result

cd ./squashfs-root
./AppRun

maybe you need to add a variable or to --bind-mount a specific directory.

/usr/share/icons directory?

@aljustiet
Copy link
Author

❯ ./AppRun --bind-mount /usr/share/icons
Unknown option --bind-mount

@ivan-hc
Copy link
Owner

ivan-hc commented Nov 22, 2024

the change must be done inside the AppRun, you should edit the script, follow the syntax inside the script and retry, for example

		--bind-try /media /media \
		--bind-try /mnt /mnt \
		--bind-try /opt /opt \
 		--bind-try /run/media /run/media \
		--bind-try /usr/lib/locale /usr/lib/locale \
		--bind-try /usr/share/fonts /usr/share/fonts \
		--bind-try /usr/share/themes /usr/share/themes \
		--bind-try /var /var \
		"

become

		--bind-try /media /media \
		--bind-try /mnt /mnt \
		--bind-try /opt /opt \
 		--bind-try /run/media /run/media \
		--bind-try /usr/lib/locale /usr/lib/locale \
		--bind-try /usr/share/fonts /usr/share/fonts \
		--bind-try /usr/share/themes /usr/share/themes \
		--bind-try /var /var \
		--bind-try /usr/share/icons /usr/share/icons \
		"

@aljustiet
Copy link
Author

I tried to modify the AppRun script and run it, but the cursor is still Adwaita; the cursor I set is not inherited.

GIMP AppRun log ❯ ./AppRun GEGL-Message: 12:58:53.315: Module '/usr/lib/gegl-0.4/ff-save.so' load error: libavcodec.so.58: cannot open shared object file: No such file or directory GEGL-Message: 12:58:53.315: Module '/usr/lib/gegl-0.4/ff-load.so' load error: libavcodec.so.58: cannot open shared object file: No such file or directory Application icon missing: /usr/share/icons/hicolor/64x64/apps/gimp.png (Failed to open file “/usr/share/icons/hicolor/64x64/apps/gimp.png”: No such file or directory) Application icon missing: /usr/share/icons/hicolor/scalable/apps/gimp.svg (Failed to open file “/usr/share/icons/hicolor/scalable/apps/gimp.svg”: No such file or directory) gimp_font_factory_load_names: 3 unsupported fonts were ignored. Set the GIMP_DEBUG_FONTS environment variable for a listing. GIMP-Warning: Module '/usr/lib/gimp/3.0/modules/libcontroller-linux-input.so' load error: libgudev-1.0.so.0: cannot open shared object file: No such file or directory

set device 'Wayland Pointer' to mode: disabled
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/test-file-plug-ins/test-file-plug-ins.py", line 28, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/spyro-plus/spyro-plus.py", line 19, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/python-eval/python-eval.py", line 20, in
gi.require_version('Babl', '0.1')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/python-console/python-console.py", line 20, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/palette-to-gradient/palette-to-gradient.py", line 17, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/palette-sort/palette-sort.py", line 28, in
gi.require_version('Babl', '0.1')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/palette-offset/palette-offset.py", line 17, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/histogram-export/histogram-export.py", line 43, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/gradients-save-as-css/gradients-save-as-css.py", line 26, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/foggify/foggify.py", line 18, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-xpm/file-xpm: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-ps/file-ps: error while loading shared libraries: libijs-0.35.so: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/file-openraster/file-openraster.py", line 17, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-mng/file-mng: error while loading shared libraries: libmng.so.2: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-jpegxl/file-jpegxl: error while loading shared libraries: libjxl.so.0.11: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-heif/file-heif: error while loading shared libraries: libheif.so.1: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
/usr/lib/gimp/3.0/plug-ins/file-aa/file-aa: error while loading shared libraries: libaa.so.1: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/plug-ins/colorxhtml/colorxhtml.py", line 25, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
gjs: error while loading shared libraries: libmozjs-128.so: cannot open shared object file: No such file or directory
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF
pip_system_certs: ERROR: could not register module: No module named 'wrapt'
Traceback (most recent call last):
File "/usr/lib/gimp/3.0/extensions/org.gimp.
extension.goat-exercises/goat-exercise-py3.py", line 17, in
gi.require_version('Gimp', '3.0')
^^^^^^^^^^^^^^^^^^
AttributeError: module 'gi' has no attribute 'require_version'
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF

(gimp-3.0:239994): Gdk-WARNING **: 12:58:55.631: Server is missing xdg_foreign support
gimp_widget_set_handle_on_mapped: gdk_wayland_window_export_handle() failed. It will not be possible to set windows in other processes as transient to this display shell.

(gimp-3.0:239994): Gdk-WARNING **: 12:58:55.631: Server is missing xdg_foreign support
gimp_widget_set_handle_on_mapped: gdk_wayland_window_export_handle() failed. It will not be possible to set windows in other processes as transient to this display shell.

(gimp-3.0:239994): Gdk-CRITICAL **: 12:58:56.900: gdk_wayland_window_unexport_handle: assertion 'impl->display_server.xdg_exported' failed
set device 'Wayland Finger Scrolling' to mode: disabled

(gimp-3.0:239994): Gdk-WARNING **: 12:59:36.492: Server is missing xdg_foreign support
gimp_widget_set_handle_on_mapped: gdk_wayland_window_export_handle() failed. It will not be possible to set windows in other processes as transient to this display shell.

@ivan-hc
Copy link
Owner

ivan-hc commented Nov 22, 2024

I have no idea.

@Samueru-sama can you help?

@Samueru-sama
Copy link
Contributor

I have no idea.

Seems GIMP will release an official appimage soon anyway.

@aljustiet
Copy link
Author

aljustiet commented Jan 8, 2025

Seems that, the cursor should be set using gsettings. In flatpak I can do that by opening the app in interactive shell and running these gsetting commands:

gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Classic
gsettings set org.gnome.desktop.interface cursor-size 32

Is it possible to do the same thing for gimp-git AppImage?

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 8, 2025

Seems that, the cursor should be set using gsettings. In flatpak I can do that by opening the app in interactive shell and running these gsetting commands:

gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Classic
gsettings set org.gnome.desktop.interface cursor-size 32

Is it possible to do the same thing for gimp-git AppImage?

what have you done to solve the issue in the AppImage?

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 22, 2025

hi, I updated the Stable AppImage yesterday... does the cursor working as you expect now?

@aljustiet
Copy link
Author

hi, I updated the Stable AppImage yesterday... does the cursor working as you expect now?

Right now, I'm trying to replace the keyboard on thinkpad t14s gen 3. I'll send the results after replacing.

@aljustiet
Copy link
Author

hi, I updated the Stable AppImage yesterday... does the cursor working as you expect now?

hi, I updated the Stable AppImage yesterday... does the cursor working as you expect now?

gimp properly inherits cursor, but gimp-git doesn't. I'm on Wayland, so I use the latest version of Gimp to get the Wayland features/fixes as soon as they arrive.

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 25, 2025

As expected, in fact I only have updated gimp stable to Archimage 4.3, that only bundles strictly needed dependencies. I've not updated yet the other two (dev and git).

I can't guarantee for dev, but for git I'll try my best tomorrow.

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 25, 2025

@ivan-hc
Copy link
Owner

ivan-hc commented Jan 31, 2025

@aljustiet any news?

@aljustiet
Copy link
Author

@aljustiet any news?

The cursor hasn't changed and has become tiny.

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 2, 2025

Well, yesterday I noticed in Handbrake that alternative themes are not inherited too ivan-hc/Handbrake-appimage#2 maybe the issue is related.

Has we have done there, you should provide a log using LD_DEBUG=libs and LD_DEBUG=files, maybe we may know more about this strange behaviour.

@aljustiet
Copy link
Author

aljustiet commented Feb 2, 2025

Well, yesterday I noticed in Handbrake that alternative themes are not inherited too ivan-hc/Handbrake-appimage#2 maybe the issue is related.

Has we have done there, you should provide a log using LD_DEBUG=libs and LD_DEBUG=files, maybe we may know more about this strange behaviour.

The logs are very long. It doesn't fit to my terminal output limit

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 2, 2025

The logs are very long. It doesn't fit to my terminal output limit

LD_DEBUG=libs gimp-git > loglibs.txt
LD_DEBUG=files gimp-git > logfiles.txt

@aljustiet
Copy link
Author

The logs are very long. It doesn't fit to my terminal output limit

LD_DEBUG=libs gimp-git > loglibs.txt
LD_DEBUG=files gimp-git > logfiles.txt

logfiles.txt
loglibs.txt

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 3, 2025

These are the errors I found

/home/aljustiet/.profile: line 9: wal: command not found

the above is related to a command that is not included in the AppImage... I don't think its the case, since it is an obsolete package https://github.com/dylanaraps/wal also available on the AUR, but no more updated since 2017 https://aur.archlinux.org/packages/wal-git

    417620:	file=/usr/lib/gimp/3.0/modules/libdisplay-filter-high-contrast.so [0];  destroying link map
set device 'Wayland Pointer' to mode: disabled

I suppose you are using Wayland... I would like to do a test, but I have not Wayland (or better, I have xfce4.20, but the wayland support is experimental... that means it still sucks, I tested it... I lasted two minutes, then switched back to x11).

Btw it is interesting that the error talks about a Pointer. Maybe the solution is there.


(gimp:417620): Gdk-WARNING **: 09:10:31.784: Server is missing xdg_foreign support
gimp_widget_set_handle_on_mapped: gdk_wayland_window_export_handle() failed. It will not be possible to set windows in other processes as transient to this display shell.

(gimp:417620): Gdk-WARNING **: 09:10:31.784: Server is missing xdg_foreign support
gimp_widget_set_handle_on_mapped: gdk_wayland_window_export_handle() failed. It will not be possible to set windows in other processes as transient to this display shell.

(gimp:417620): Gdk-CRITICAL **: 09:10:33.342: gdk_wayland_window_unexport_handle: assertion 'impl->display_server.xdg_exported_v2 || impl->display_server.xdg_exported_v1' failed

Still another wayland-related issue.


Well, the second one is the more interesting among the three.

On your side I would start investigate if the issue appears with other themes.

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 3, 2025

About wayland support, I just checked... and the gimp-git appimage has more libraries than gimp stable... the additional ones are related to some gstreamer process, I'm not sure, they ave "gst" in the name. But for all the rest, they are the same.

Among differences for other files, well... there is an xml file only for gimp stable

Image

...but if it was in the /usr/share/gimp directory in stable, same should be for the git version.

Among pictures for icon themes, there are only 4 files for gimp-git, the first 4 on top

Image

...but I don't think it is a relevant info.


Anyway, the issue seems to be related to Wayland support for custom themes.

Again, do the test with another theme... and maybe repeat the test into a X11 session.

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 3, 2025

Also, is your icon theme installed system-wide?

Maybe try to symlink the "cursors" directory of your theme in $HOME/.icons/default and see if something changes.

@aljustiet
Copy link
Author

About wayland support, I just checked... and the gimp-git appimage has more libraries than gimp stable... the additional ones are related to some gstreamer process, I'm not sure, they ave "gst" in the name. But for all the rest, they are the same.

Among differences for other files, well... there is an xml file only for gimp stable

Image

...but if it was in the /usr/share/gimp directory in stable, same should be for the git version.

Among pictures for icon themes, there are only 4 files for gimp-git, the first 4 on top

Image

...but I don't think it is a relevant info.

Anyway, the issue seems to be related to Wayland support for custom themes.

Again, do the test with another theme... and maybe repeat the test into a X11 session.

I tried to launch it with dwm/X, and it properly inherited bibata cursor there.

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 4, 2025

I tried to launch it with dwm/X, and it properly inherited bibata cursor there.

sorry, I've not understand... does it work with X11?

@aljustiet
Copy link
Author

I tried to launch it with dwm/X, and it properly inherited bibata cursor there.

sorry, I've not understand... does it work with X11?

Right.

@ivan-hc
Copy link
Owner

ivan-hc commented Feb 4, 2025

So the issue shous up only when you run the appimage in a wayland session, isn't it?

If so, I don't really know how to help. You should compile the archimage script into a dedicated directory and test what are the files missing, for example by copying the archlinux/.junest/usr/lib directory in place of the gimp-git.AppDir/.junest/usr/lib counterpart to see if the issue disappears.

I can't do much. Note that gimp-git is also an experimental software, so many new features that are in gimp stable are different from the ones in gimp-git.

Maybe all libadwaita/gtk4 related libraris need to be included. I'm not sure.

Please, follow the instructions on the README of this repo https://github.com/ivan-hc/ArchImage and perform your tests.

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

3 participants