FedoraQt / QAdwaitaDecorations

Qt decoration plugin implementing Adwaita-like client-side decorations
GNU Lesser General Public License v2.1
66 stars 6 forks source link

It is using different icons for the three buttons than the rest of the system #15

Closed HubKing closed 9 months ago

HubKing commented 9 months ago

XWayland and Gnome Wayland apps: image

QT6 apps with QAdwaitaDecorations: image

By default QT6 apps have small and ugly buttons. I installed QAdwaitaDecorations, and the title bar now looks more like the rest of the system, but the problem is that it seems to be using different icons for the three buttons. To me, it looks like the Breeze icon set that is the default of KDE. Can I make it use the system icon set, in my case EPapirus-Dark?

grulja commented 9 months ago

Uuups, looks I've implemented wrong button icons, following Breeze and not Adwaita. I'm fixing it now trying to actually use the system theme icon so it works also in your case.

grulja commented 9 months ago

Any chance you can try https://github.com/FedoraQt/QAdwaitaDecorations/pull/16?

HubKing commented 9 months ago

I tried to compile it as the instruction, but at make && make install, I got

[ 20%] Automatic MOC for target qadwaitadecorations
[ 20%] Built target qadwaitadecorations_autogen
[ 40%] Building CXX object src/CMakeFiles/qadwaitadecorations.dir/qadwaitadecorations_autogen/mocs_compilation.cpp.o
In file included from /home/user/Downloads/QAdwaitaDecorations-use-qicon/build/src/qadwaitadecorations_autogen/EWIEGA46WW/moc_qadwaitadecorations.cpp:10,
                 from /home/user/Downloads/QAdwaitaDecorations-use-qicon/build/src/qadwaitadecorations_autogen/mocs_compilation.cpp:2:
/home/user/Downloads/QAdwaitaDecorations-use-qicon/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:59:22: error: ‘MarginsType’ has not been declared
   59 |     QMargins margins(MarginsType marginsType = Full) const override;
      |                      ^~~~~~~~~~~
/home/user/Downloads/QAdwaitaDecorations-use-qicon/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:59:14: error: ‘QMargins QAdwaitaDecorations::margins(int) const’ marked ‘override’, but does not override
   59 |     QMargins margins(MarginsType marginsType = Full) const override;
      |              ^~~~~~~
/home/user/Downloads/QAdwaitaDecorations-use-qicon/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:59:48: error: ‘Full’ was not declared in this scope
   59 |     QMargins margins(MarginsType marginsType = Full) const override;
      |                                                ^~~~
make[2]: *** [src/CMakeFiles/qadwaitadecorations.dir/build.make:76: src/CMakeFiles/qadwaitadecorations.dir/qadwaitadecorations_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: src/CMakeFiles/qadwaitadecorations.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
grulja commented 9 months ago

Use -DUSE_QT6=true cmake option to build it against Qt6. Also get the latest version of that patch I pushed now, it fixes it for Papirus theme, which was using slightly different svg format.

HubKing commented 9 months ago

I don't know how to build QT app. I had used the AUR git package. For this, I followed the instruction on the front page as it is:

mkdir build
cd build
cmake [OPTIONS] [-DUSE_QT6=true] ..
make && make install

Is this correct?

grulja commented 9 months ago

Run:

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DUSE_QT6=true
make -j8
sudo make install
HubKing commented 9 months ago

Seems to be working

image

Now that I want to uninstall this and switch back to the AUR git package so that it can be automatically updated. How to remove all the stuff created/installed by your instruction above?

grulja commented 9 months ago

In the same directory run sudo make uninstall.

grulja commented 9 months ago

In the same directory run sudo make uninstall.

Looks this is not working. Anyway, you can see where it installed the plugin and it's just one file, you can remove it. If it's in the same location where your AUR installs it, it will overwrite it so there shouldn't be a need to remove it.