momentarylapse/tsunami

gtk4 upgrade

momentarylapse opened this issue · 1 comments

Tsunami is using gtk as the user interface library (well, a thick wrapper called hui "heroic user interface") and I want to upgrade from gtk3 to gtk4.

Why?

  • don't want to depend on an old library
  • looks prettier
  • on Windows, we use vcpkg to manage libraries, which makes using old libraries a pain

What is still missing?
I've already worked through most of the upgrade. Had to change a lot, because they removed some older interfaces. The few remaining (important) things are:

  • drawing areas can't grab focus for keyboard input (arrow keys currently won't move the cursor)
  • keyboard shortcuts involving the ALT key don't work
  • svg icons on buttons don't apply the correct theme color (not crucial but ugly)

Good news, the gtk4 upgrade is finished...

But, I've decided to keep gtk3 as the default. cmake will now check which of these libraries are available and provide a choice when building. I think, that's the best option, since on some desktops environments gtk4 support is still bad. And on the other hand, windows/vcpkg prefers gtk4.

On top of that, while cleaning up, I fixed some minor GUI issues. Also, it forced me to improve the build system.