manatools / dnfdragora

dnfdragora is a dnf frontend based on libyui abstraction
GNU General Public License v3.0
137 stars 41 forks source link

PlasmaShell replaces the DNF Dragora logo with the Wayland logo in the Task Manager plasmoid. #236

Open RokeJulianLockhart opened 5 months ago

RokeJulianLockhart commented 5 months ago

Might be related to https://github.com/manatools/dnfdragora/issues/169#issuecomment-1058590836.

Reproduction Screencast

Screencast_20240611_154813.webm

Demonstration Screenshot

Screenshot_20240611_155156

anaselli commented 5 months ago

As far as I can say icon path is set here and overwritten by configuration file here. libyui SetApplicationIcon is called here That is pretty hard coded so i cannot say why you see a different icon

RokeJulianLockhart commented 5 months ago

https://github.com/manatools/dnfdragora/issues/236#issuecomment-2161421905

@anaselli, does https://discuss.kde.org/t/bug-generic-wayland-icon-for-many-applications/2468/2?u=rokejulianlockhart provide any actionable information?

anaselli commented 5 months ago

@RokeJulianLockhart I don't know, honestly. Can you tell me where are you testing wayland? I mean Fedora rawhide or... I maybe try to do some tests there and see if i can change anything.

But if it is a matter of libyui QT version call is here while the Gtk one is here if something has to changed there, is a libyui issue. So if you have the clue to do some tests, please go on, any helps is more than welcome :)

RokeJulianLockhart commented 5 months ago

https://github.com/manatools/dnfdragora/issues/236#issuecomment-2163524600

@anaselli, apologies - I should have provided system information with the report. I'm using https://download.fedoraproject.org/pub/fedora/linux/releases/40/Spins/x86_64/iso/Fedora-KDE-Live-x86_64-40-1.14.iso, so the Fedora 40 (so not Rawhide, but a stable release, and non-beta by now) KDE Spin. kcm_about-distro reports:

```YAML Operating System: Fedora Linux 40 KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.8.12-300.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor Memory: 30.5 GiB of RAM Graphics Processor: AMD Radeon RX 5700 Manufacturer: ASRock Product Name: X670E Taichi ```

The sole alternative project using libyui that I know of is YaST, but I can't test DNFDragora and YaST on the same OS installation. Do you know of any other libyui projects?

anaselli commented 5 months ago

our Manatools. ATM an alpha version of manafirewall, and isodumper, you need to have libyui-mga plugins to make them working. I would avoid YAST just because Suse can hack their library to make it working expecially for Qt. We can provide patches though and if that does not break things they are quickly accepted, libyui-Gtk is managed by me for the most but approved by suse people. I think though that a simple libyui use case application in python (maybe using python-manatools) and in c++ (just a dialog with a title and an icon should be enough) should be easy to debug to understand where the problem lays

Merrit commented 2 months ago

In Wayland apps are identified differently than they were on X11. libyui is lacking the methods to set this for Wayland currently.

Qt needs to call QGuiApplication::setDesktopFileName.

GTK needs to call g_set_prgname.

They should be set to the same name as the desktop file, usually the reverse DNS name; eg. org.mageia.dnfdragora in this case, most likely.

We can inspect the window properties on KDE with KWin debug console:

image

image

Relevant fields here would be the desktopFileName, resourceClass and resourceName - which are currently all showing python rather than the DNS identifier on my system. GNOME can do something similar with Looking Glass.