Added options for panel/dock positions and finer autohide configuration#306
Added options for panel/dock positions and finer autohide configuration#306AKArien wants to merge 7 commits intoWayfireWM:masterfrom
Conversation
1cfce45 to
787bdaf
Compare
|
I'm interested in some of the features in this PR, is this suitable for trying out at this moment? |
|
@eaglgenes101 hi, thanks for your interest ! Exception is the "orientation" (pivoting) feature : options for rotated icons in the dock don't look and feel great, because the icons are not perfect squares and the widgets are still laid out as per their original dimensions, leading to a bit of overlap. I also meant to let panel widgets be oriented similarly, but it's even more of a problem there. |
|
In the end, I decided that this functionality isn't exactly what I wanted. That said, having icons on the side dock works well, and I don't recall any bugs I ran into. |
62f92cf to
ddac8a7
Compare
|
Probably not perfect as is, but i’m hoping it won’t be a waste of your time to review :) |
|
@trigg hey there, taking the liberty to ping you to ask how much breaking is ok. |
|
After a quick read through, this looks well thought out. As to the questions:
I've not had a chance yet to run this and see it in action, I intend to soon |
Now using a flowbox. Deletes the css class out_box due to deleting the widget that uses it. Doing so removes some possibilities for styling until WayfireWM#306 is merged, at which point style on out_box could be moved to wf-dock and turning on it’s new span_full_edge option.
297e2e3 to
5d00931
Compare
Now using a flowbox. Deletes the css class out_box due to deleting the widget that uses it. Doing so removes some possibilities for styling until WayfireWM#306 is merged, at which point style on out_box could be moved to wf-dock and turning on it’s new span_full_edge option.
Now using a flowbox. Deletes the css class out_box due to deleting the widget that uses it. Doing so removes some possibilities for styling until WayfireWM#306 is merged, at which point style on out_box could be moved to wf-dock and turning on it’s new span_full_edge option.
Actually, the CenterBox is already doing that it seems… |
The thing is, we don’t, as everything we do assumes LTR. So, probably invert all the alignments and others (thinking of the alignments of the left and right boxes, start and end) if the direction is RTL ? we can get it from the content_box with get_direction. |
6d4e087 to
701df4a
Compare
300988c to
242f8ad
Compare
Unify the options for setting minimum dimensions between panel and dock by handling it in autohide-window. Now cofigured with (section)/minimal_width and (section)/minimal_height. This deprecates the dock/dock_height config option.
Previously were hardcoded values. Can now be configured with (section)/autohide_show_delay and (section)/autohide_hide_delay.
…ght edge Added support for positionning the panel and dock on the left and right edges. Their layout is adapted for the occasion. Some panel widgets do not have an adapted layout for a vertical panel : `network` and `window-list` are because i couldn’t figure out a clean or good way to adapt them. Textual widgets (clock, command-output and arguably both of the previously mentionned widgets) don’t have special adaptations as it is assumed what should be adapted is the formatting for the text they output.
It is now optional for autohide windows to be strecthed across the edge they are attached to (with gtk-layer-shell anchors). Defaults match prior behaviour.
Optional alternative layout for the panel. Pushes the left and right boxes against the center box, and gives the same allocation to left and right boxes, in order to keep the the middle widgets box in the center of the screen. This last part is irrelevant if span_full_edge is on, but still applied.
Adjacent hotspots are put on the opposite edge, as to be continous from the regular hotspot. Configured with (section)/adjacent_edge_hotspot_size. Though not necessary for implementing the new feature, this commit breaks the edge_offset option by renaming it to edge_hotspot_size for clarity.
Directly sets the gtk layer shell margin property on the edge the winodw is attached to. Configured with (section)/edge_margin.
For the panel, most widgets have a layout adaptation for the vertical panel. Exceptions are network and window-list, because i couldn’t figure out a clean or good way to do it are. Textual widgets (clock, command-output and arguably both of the previously mentionned unchanged) don’t have special adaptations, the formatting for the text they output should be adapted to account for it. Maybe it would be a good idea to add examples to the default config file/wiki.
Breaking stuff :
Adresses #259