-
Notifications
You must be signed in to change notification settings - Fork 38
Ported to GTK4 #290
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
base: master
Are you sure you want to change the base?
Ported to GTK4 #290
Conversation
Update from upstream
- - Almost everything is broken. - - This is expected
- - This is insane. - - No, how is this even usable - - Well whatever. - - Someone please valgrind because I'm sure there's lots of bad ideas here.
- Some changes to SNI dbusmenu - Getting occassional segfaults in SNI dbusmenu so these need a better read-through before calling it
- - Still inherently broken until dbusmenu-glib reports a type back
- Dock takes entire width but sets itself to click-through on the outside - Switched panel to using CenterBox which does a better job than my implementation - Moved CSS dir loading into base app class
- First attempt at output changes
- Output hot plugging sorted. - - This will need testing by people with more than 1 external monitor to see if there's any unknowns.
- Add an option to animate icons removed from dock - Added to default dock CSS
- Fixed rectangle hints in dock and panel - Fixed volume scrolling
- Fixed changing fill type in background triggering a new image load - Remove GTK interactive debugging
window-list: Set minimize target more reliably
window-list: Set minimize target even more reliably
Hi and thanks for the big PR, very nice to see the update! I am going through the code to familiarize myself with whatever changes you have made, in the meantime I tried to copy the default CSS files and to compare the old and the new wf-panel. There are some very annoying differences which I am not sure how to solve, maybe they depend on the theme? Here is a screenshot, above is current master, below is this branch: Most notably: backgrounds for menu, command and clock seem to not be unset, and there is a dark/black background behind the launchers instead of semi-transparent. Ditto for the ethernet connection. Icons also appear quite different. |
I am also getting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked over the changes, really good work :) My focus was the structure, haven't looked at every single UI call in detail but I assume we will find bugs like that during testing. A few things that I noticed or questions that I have.
- Removed some commented code
- Fixed font config...
Suggestion to fix handling of command line options (we never feed argc/argv to gtk otherwise):
|
This makes it so minimize targets of width <= 0 || height <= 0 are discarded, which fixes unminimize animations after selecting a window-list button on another output.
window-list: Don't send empty minimize targets
- split layout logic to own files - Remove abritrary char-width rule from window list labels - Fixed smooth rearranging of window list
Re-implements the smooth window-list reordering via gtk layoutmanager. The logic is intentionally sparse and missing most features of boxlayout for simplicity sake.
shell-app: set argc/argv when running gtk app
- bump gtk4-layer-shell
Specifically to this : The font string needed to be formatted exactly in the order it expected. This didn't match other CSS font string I'd seen before... I wrote a parser that splits up font strings and pieces it together again in a way this will accept. |
Before, closing a toplevel and unminimizing another would unminimize from the target position before closing the other toplevel. Sending the rectangle hints after removing the button from the Gtk::Box did not work. Instead, we send the rectangle hints from the layout vfunc allocation. This required a lot of refactoring, but now the code is simpler and easier to work with.
window-list: Fix minimize targets after closing a toplevel
Extensive changes to bring the code base up to working on GTK4.
Dependencies:
Material changes overview:
Volume control slider popup stops scroll wheel & swipe events on button, so the popup no longer shows when volume changesfixedicon_size
options have been fed into CSS Styles that are generated & updated from configFont override is removed. The only way I can see to do this now is to set it via CSS. While feeding the data in from the config is possible the way people write this options currently won't work in GTK4Size needs to be in pixels or css sizes like :17px
1.2em
0.9rem
While I was in the area:
Reworked Background, needs sanity check as I'm sure it'll leak memoryI'm sure there's more, and will edit this as and when possible.
I look forward to uncrustify.