ryonakano / konbucase

A case converting app suitable for coding or typing
GNU General Public License v3.0
10 stars 11 forks source link

GTK 4 / LibAdwaita Port #147

Closed cameronbosch closed 5 months ago

cameronbosch commented 5 months ago

Hello,

I was wondering if I could port Konbucase to GTK 4 with the LibAdwaita UI. I know I'm technically allowed to do so, as it is GPLed (as long as I follow the GPL), but I was wondering if you would welcome this (given it seems this app hasn't really been started to be updated to GTK 4 / Libadwaita yet)?

ryonakano commented 5 months ago

KonbuCase has been ported to GTK 4 already, but not been ported to libadwaita (yet). The reason that it has not been ported to libadwaita is that libadwaita forces Adwaita stylesheet. The app is originally designed for elementary OS and the elementary devs don't accept publishing apps that don't use elementary stylesheet to the AppCenter.

In theory, however, it is now possible not to force Adwaita stylesheet using Granite.init() method. I sent a question to the elementary devs in the Slack that whether an libadwaita app that calls Granite.init() is accepted to AppCenter. If the answer is YES, we can port KonbuCase to libadwaita and make it call Granite.init() if it runs on elementary OS.

ryonakano commented 5 months ago

If the answer is YES, we can port KonbuCase to libadwaita and make it call Granite.init() if it runs on elementary OS.

Update: I got a answer "YES".

cameronbosch commented 5 months ago

Is adding the LibAdwaita support a simple change or do you think this will be more involved? Do you need any help?

ryonakano commented 5 months ago

Thank you for getting interested in! Actually I'm working on this in #148; I reviewed my code by myself, confirmed it works as expected on my Fedora 40 GNOME, and believe everything should be fine, but I'm not perfect. So, I would appreciate it if you would test that branch and works fine.

First, clone this repository and switch to the libadwaita branch. And then, build, install, and run the app through "From Source Code (Flatpak)" section in the README.

The appearance of the app should be little different from the latest stable version if you're using elementary OS or other Linux distributions that use Pantheon desktop environment. However, it should look similar like other libadwaita apps if you're on other desktop environment like GNOME. If not, it's a bug. :bug:

I'd like you to attach the screenshot of the app into this Issue after it launches to make sure it works as expected on your system too.

cameronbosch commented 5 months ago

image

It works! Thank you so much for doing this. (Don't mind the window button controls, that's my DE overriding the close, minimize, and maximize button designs; I'm on KDE Plasma 6.)

cameronbosch commented 5 months ago

Also: image

ryonakano commented 5 months ago

Looks good! I'll merge the PR then :rocket: This change will be out when the next version of KonbuCase is released. Thank you very much for your participation.

In case if you'd like to get things back, you can:

flatpak uninstall com.github.ryonakano.konbucase/x86_64/master
flatpak uninstall io.elementary.Sdk
flatpak uninstall io.elementary.Platform
flatpak remote-delete appcenter