Age | Commit message (Collapse) | Author | Files | Lines |
|
This reverts commit 38e00280e9d17282717595a05411736a308804c0.
|
|
This reverts commit 7b1b00d5ddffc349ca117843bd0d015e9fb08a89.
|
|
This reverts commit 96c7ebc6dc9e8b8327db04a9570054ee78743353.
|
|
This reverts commit b91376262abb56d95f9ec86993edaa8e9fb2cc1a.
|
|
No need to have pointers to mutables when not needed.
This does not cover everything at all, and is limited to one file for
the moment.
|
|
Mostly found by cppcheck.
|
|
In a prior commit (38e00280e9d17282717595a05411736a308804c0), I added
support to stick applets to the center of the panel, so that no matter the
width of the applet or the panel, the applet would always stay at the
center of the panel. That commit also added an "end-relative" mode, which
is similar to the panel's old "right-stick" feature, except end-relative
mode positions the applet's right edge relative to the panel's right edge,
whereas right-sticking positioned the applet's left edge relative to the
right edge of the panel. The advantage of end-relative positioning is
that the applet can resize without moving itself even further to the right
than the user intended, whereas if positioned so that there is empty space
between the applet and the edge of the panel, right-stuck applets would
change the size of that gap (or close it entirely) when the applet
resized.
Unfortunately, I have since discovered that my original implementation of
the center-stick and end-relative positioning of applets was inadequate.
Some applets can accept any amount of space between a minimum and their
"preferred" size -- if such an applet cannot be allocated its preferred
size (perhaps because panel space is scarce), then the applet will be
allocated as much space as is available, and the applet will "flex" itself
to compensate. Some examples of these "expanding" applets include the
Window List (a component of the wncklet included in this package) and the
MATE Dock Applet (a third-party panel applet from the Ubuntu MATE
project). When writing my original center-stick code, I did not properly
take expanding applets into account, and with my original commit, such
applets were off-center -- usually way off-center since the code seemed to
position such applets based on their minimum size, rather than their
actual allocated size.
This commit adds center-sticking support for expanding applets. It also
works with end-relative expanding applets -- such applets will expand
towards the left, thus keeping their right-relative position intact.
|
|
Conventionally, the applets on a MATE Panel are positioned relative to the
left edge of the panel (if the panel is horizontal) or the top edge (if the
panel is vertical). There has also been some (buggy) support for positioning
of applets relative to the right (or bottom) edge of the panel, so that
applets on the right side of the panel will stay on the right side even if
the user changes screen resolutions or if the panel changes size for some
other reason.
However, many users want to also place applets at or near the center of their
panel(s). There is no such conventional support for positioning applets
relative to the center of the panel, so users have positioned applets near
the center of the panel -- but the position recorded is relative to the left
side of the panel. As such, the applets will almost certainly shift over
to the left or right slightly if the panel is ever resized, and the user will
have to reposition all those centered applets yet again. This is especially
frustrating if the user switches monitors on a regular basis!
This patch radically revamps the MATE Panel's positioning framework, and
deprecates the original "right-stick" feature. To replace the right-stick
feature, this patch instead associates an "edge relativity" setting with
each and every panel applet: An applet can be relative to the start (left/
top), end (right/bottom), or center of the panel. This setting can be
changed using DConf/GSettings, using a custom panel layout file, or even
by simply dragging the applet to the appropriate place on the panel.
(Conventionally, applets are not even right-stuck automatically even when the
user drags the applet over to the far right of the panel!) As a bonus, when
the user drags an applet across the center of the panel, the applet will
temporarily "stick" to the very center of the panel, to allow the user to
very precisely align any applet they wish.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cppcheck --enable=all . 2> err.txt
grep variableScope err.txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Fix scaling of panel widgets, buttons, and the menu bar
*Draw grab handles at the ends of the panel
*Fix size of _almost_ all included applets
*Fix panel snapping coordinates
*Down-scale monitor coordinates to support multi-monitors
Author: Victor Kareh <[email protected]>
Date: Wed Dec 20 14:03:18 2017 -0500
|
|
|
|
Stop panel from collapsing left on adding fish, moving window-list(or other wncklet applet) on otherwise empty panel
Fixes https://github.com/mate-desktop/mate-panel/issues/661
|
|
fixes https://github.com/mate-desktop/mate-panel/issues/504
have to repeat my change from 024f89bc7c8074f753120d9c8ec4bd839745984b
because of fallout from 225702b3c6a609065465c66f0f2739fc1d2184a9
|
|
when changing panel orientation or rotating the screen itself,
panel might keep its old size, so some applets might appear
behind screen edge (until you restart the panel). same thing
might happen when enabling hide buttons.
fixes https://github.com/mate-desktop/mate-panel/issues/552
upstream commit with detailed problem description:
https://git.gnome.org/browse/gnome-panel/commit/?id=fc24d8fa623c4cf841eb5168cb1c250b4a84d4da
upstream commit with the actual fix:
https://git.gnome.org/browse/gnome-panel/commit/?id=4511f4466df0b163906794b4a32196226ccf90f3
yes, it's somewhat messed up there :)
|
|
and require libmate-desktop >= 1.17
WARNING: use GTK+3 build of libmateweather for this build.
that lib is not migrated to GTK+3 only as we will possibly
use libgweather instead of it.
|
|
|
|
|
|
|
|
|
|
Replacing GtkTable with GtkGrid introduced new bug. Warning is -
'Native children wider or taller than 65535 pixels are not supported'.
This is caused by setting panels initial size to G_MAXINT. Changing
initial size to 0 fixes this new bug.
taken from:
https://git.gnome.org/browse/gnome-panel/commit/?id=02ce072
|
|
|
|
|
|
credits and thanks to Joanmarie from orca project
fixes
partially https://github.com/mate-desktop/mate-panel/issues/441
https://github.com/mate-desktop/mate-panel/issues/440
https://github.com/mate-desktop/mate-panel/issues/444
|
|
panel-widget.c move background handling to the panel toplevel in GTK 3.18 and GTK 3.20 builds only, seems to fix the applet crashes on theme changes with a custom background loaded, and in GTK 3.20 also preserves custom backgrounds when GTK themes are changed
|
|
The mate-custom-panel-background style class persists on the panel widget when resetting the panel BG to the system theme. It will overrride the panel system theme and turn the panel transparent with the new applet changes for some reason, so don't run panel_background_apply_css on GTK 3.20 builds. It's not needed to override t.he theme background for a custom background with the new code and GTK 3.20, and mate-panel-menu-bar is already present
|
|
Add back the default background for themes such as Adwaita that do not explicitly support MATE. Tested with custom and system themes in Adwaita and all themes I have. System themes work perfectly, custom themes require restarting panel after any theme change, still need to restart panel after returning to the system theme from a custom theme as well.
|
|
This makes custom backgrounds show on the panel, the menu, the launcher applets
but not yet the tray, the clock button, the trash, or most applets from mate-applets.
Sometimes panel BG not drawn after theme change until panel restarted.
Still, this is a clue-will keep working.
Adding gdk_window_ensure_native (window) was taken from gnome-panel but caused the
default background not to show if the system BG is selected and does not explicitly
set the theme. Also using this brings back the requirement to restart the panel to
fully apply a system BG but progress is being made here.
|
|
|
|
taken from:
https://git.gnome.org/browse/gnome-panel/commit/?id=539ecc4
|
|
gdk_cursor_new_for_display for both GTK versions
|
|
taken from:
https://git.gnome.org/browse/gnome-panel/commit/?id=201f16b
|
|
(libmate-panel-applet files are left alone since there are public
header files used by all panel applets)
|
|
|
|
|
|
|
|
|
|
|