Age | Commit message (Collapse) | Author | Files | Lines |
|
This commit reverts:
https://github.com/mate-desktop/mate-panel/commit/7b2bc7d9f98c6ba8c2c31bdf9605faadb42a7e0e
And it applies an alternative to fix the deprecated functions:
gdk_screen_get_width
gdk_screen_get_height
|
|
|
|
Stops segfault on adding, removing, adding fish again when built in-process.
Based on https://github.com/GNOME/gnome-panel/commit/66602bab12f55e09b2205b493c7e0e5e9c560911
"This function only makes sense when PANEL_APPLET_IN_PROCESS_FACTORY is
used."
|
|
One portion of https://github.com/GNOME/gnome-panel/commit/0c3844c0e5f1bee5885d2c7aeaa49763e6708f6d got left out
|
|
This is a dummy variable used only to accomodate existing applets
|
|
|
|
Fix for crashes on removing applets similar to
https://bugzilla.gnome.org/show_bug.cgi?id=692610
|
|
Draw the background only on out of process applets. This prevents double-draw of bg w alpha value on in-process applets with GTK 3.14/3/16
Also Fix indent
|
|
Otherwise, some applets such as disk mounter, hardware monitor, cpufreq won't start.
* Fixes all but invest, note that cpufreq needs to be rebuilt against this for the menu to work
* Also fix two new build warnings
|
|
Note that at least some in-process applets will pick up the MatePanelAppletFrameDBus styling, so drag handles should be themed with the MatePanelAppletFrameDBus>MatePanelAppletFrameDBus selector instead
|
|
|
|
... and move private functions from factory to this file. Later
we will have at least one more private function.
Based on https://github.com/GNOME/gnome-panel/commit/c04da8c76ee6f16af44faca2b247df71e98b0a4b
plus one more change as it was added out of order
|
|
1. This will allow panel to exit/stop without crashing when using
in process applets. It was crashing because of following assert:
g_assert (widget->priv->verifying_invariants_count > 0);
2. In process applet will not have extra background. Transparency
should now work as expected. This fixes redrawing of in-process
applet backgrounds with GTK 3.22
based on https://github.com/GNOME/gnome-panel/commit/df4ec78272624660e1e01b7382dac3e1f83cfc4a
|
|
We will use this to get applet widget from factory. This will
allow to bypass GtkPlug/GtkSocket.
Based on https://github.com/GNOME/gnome-panel/commit/408bab094d1fad471b342548dabc58410a3dc327
|
|
This function will be used to get applet widget from factory.
Based on https://github.com/GNOME/gnome-panel/commit/8e1f7ea9f13533ce448cbc485d766fed01029be5
|
|
Return applet process type and generated uid from factory. Process
type will be needed to know if we should create GtkSocket, but uid
will be used to get applet widget.
|
|
Based on
https://github.com/GNOME/gnome-panel/commit/dca3101714da67adc08fc986a6355afada4bde15
and needed for later commits
libpanel-applet: store applets in hash table
Based on
https://github.com/GNOME/gnome-panel/commit/3fe6791d32a415a333bcb7d71d98a6de9929fa27
and needed for later commits
|
|
We are going to create GtkPlug only for out of process applets and
constructor is first place where we will know applet process type
Based on https://github.com/GNOME/gnome-panel/commit/3ed0b1b87ecad205bdaed0ca52e8866bc0666863
|
|
We will need to know this as soon we will create GtkPlug and
GtkSocket only for out of process applets.
based on https://github.com/GNOME/gnome-panel/commit/dafdc5714a6cfc7ebf26fcbd614b48cfc790b954
|
|
This argument makes no sense when introspection is used since, in that
case, the applet will be out-of-process anyway.
Instead, create a panel_applet_factory_setup_in_process() API that is
marked as "skip" for introspection, that is used to setup the factory
for in-process applets.
Based on https://github.com/GNOME/gnome-panel/commit/6ef943dd473ac662dea01645e0ab1f6564361253
|
|
|
|
|
|
This reverts commit cf46fb7f03d6ab0e106fa1cbfbf180fbbb9a5b75.
*Note that this is because the code added was already present in the same function
|
|
Properly initialize pattern, GNOME found this stopped applet crashes on bg change(though not the same crashes we just fixed)
based on
https://github.com/GNOME/gnome-panel/commit/88b9beeb8ab69072fe6912af33c620143d17b0a3
We could return a random value from panel_applet_get_pattern_from_pixmap(), and that was very nasty.
|
|
Avoid cairo function that seemed to be causing crashes related to setting geometry, use code copied from panel-background.c instead
|
|
Themers can use the .vertical and .horizontal style classes to rotate a background on vertical panels the same way scrollbars are themed. Apply these style classes to PanelPlugs too so this can actually be used.
|
|
*Support both url(image file) and gradient image panel backgrounds in the GTK theme.
*Scaling by 1.0/panel dimensions should never have worked, doesn't now. Get the actual image dimensions instead
*Background: disable in PanelPlug features that don't work on panel toplevel
*panel-background: catch error on unsupported image such as -gtk-gradient
An image bg set in the GTK theme needs to be a file or a css gradient as the older -gtk-gradient does not return a valid cairo_pattern_t when read directly
*GTK 3.14,3.16: fix theme bg image render in plugs
PanelPlug rendering is handled differently with GTK 3.14 and 3.16 than later versions. Handle this so all supported image backgrounds in GTK themes render properly in all supported GTK versions
|
|
Transparent panel backgrounds set in GTK themes have not worked since the GTK 3.20 PanelPlug work. This was because NULL in gtk_window_set_background_pattern breaks on alpha values. Force this transparent and the GTK background is properly drawn
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
panel-plug.c Changing the panel background handling (from gnome-panel) for GTK 3.18 requires that the panelplug changes from gnome-panel also be applied or applets can mismatch the panel toplevel when an alpha value is present
|
|
panel-plug-private.h Changing the panel background handling (from gnome-panel) for GTK 3.18 requires that the panelplug changes from gnome-panel also be applied or applets can mismatch the panel toplevel when an alpha value is present
|
|
mate-panel-applet.c Changing the panel background handling (from gnome-panel) for GTK 3.18 requires that the panelplug changes from gnome-panel also be applied or applets can mismatch the panel toplevel when an alpha value is present.
|
|
This fixes also distcheck
|
|
Update makefile and configure.ac to build the new files needed for GTK 3.19 and later builds.
|
|
file panel-plug-private.h used intact from github.com/GNOME/gnome-panel/commit/3115f77b536a7c79c7d43ded0591e2b8f45219c4 "restore custom background on applets
Only included from mate-panel-applet.c when built against GTK 3.19 or later
|
|
New file panel-plug.c used intact from
github.com/GNOME/gnome-panel/commit/3115f77b536a7c79c7d43ded0591e2b8f45219c4 "restore custom background on applets)
Used only in gtk 3.20 builds, though not sure if whole file built but not used when it's header file is not included in anything due to build time
conditionals.
|
|
mate-panel-applet.c
based on
github.com/GNOME/gnome-panel/commit/3115f77b536a7c79c7d43ded0591e2b8f45219c4 "restore custom background on applets)
Reverts and replaces use of gtk_window_ensure_native on applets, uses the panel-plug-private files from gnome panel intact. This way the system theme returns when custom background is deselected w/o having to restart the panel.
These changes kept behind gtk3.20 only build time conditionals. requires if-elif-endif three-way conditionals due to the extent to GTK differences. Doing it this way keeps panel applets from being twice as dark as the panel when an alpha color background is selected
|
|
Use gdk_window_ensure_native to applets when and only when a custom background is selected.
Doing so when the system bg is selected will turn applets clear,
so will not doing so when a custom background is selected.
Keep all this behind if # GTK_CHECK_VERSION (3, 19, 0) so as not to screw up anything
in older GTK versions.
|
|
taken from:
https://git.gnome.org/browse/gnome-panel/commit/?id=f697764
|
|
|
|
taken from:
https://git.gnome.org/browse/gnome-panel/commit/?id=a773c2ef
|
|
|
|
|
|
|