summaryrefslogtreecommitdiff
path: root/mate-panel/panel.c
AgeCommit message (Collapse)AuthorFilesLines
2022-06-01Add "center-stick" capability applets on the panelThe Squash1-6/+6
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.
2021-12-20Use dashes for applet-[added|removed|move], back-change, size-changerbuj1-5/+5
2021-12-20Remove unnecessary cast in g_signal_connect* callrbuj1-13/+8
2021-12-19Use dashes instead of underscores in signal namesrbuj1-4/+4
2021-12-11Use a blank line at mostrbuj1-2/+0
2021-06-22update copyright to 2021raveit651-0/+1
2020-08-08Handle locked down settings better when dropping an image URIColomban Wendling1-15/+52
Don't propose actions that will fail anyway, and create a launcher automatically if it's the only option. However, still ask for setting the background to still avoid unintentional changes.
2020-08-04Ask the user what to do when receiving an image dropColomban Wendling1-2/+104
Instead of unconditionally setting the panel's background when an image file URI gets dropped on a panel, ask the user whether to create a launcher for that URI (like for non-image URIs) or to use the image as the panel's background. A number of users have seen their panel's background changed unexpectedly due to unwanted drop of an image file over the panel, sometimes seeing this as a panel's bug. Also, this behavior is inconsistent with dropping a URI pointing to any other type of file, where it would create a launcher for it. Consequently, and as setting the panel's background doesn't seem like a so common task it ought to be super fast, ask the user what to do when receiving an image URI drop.
2020-08-04Create launchers when dropping multiple image URIsColomban Wendling1-2/+4
It doesn't make any sense to set the panel's background several times if we get multiple image URIs dropped, so don't consider multi-URI drops as candidate for setting the background, and handle those like other non-image URIs.
2019-07-05Remove trailing whitespacesLaurent Napias1-15/+15
2019-06-21Rename panel-multiscreen files panel-multimonitorWilliam Wold1-1/+0
2019-03-10Wayland support for panel.cWilliam Wold1-0/+9
2018-09-12panel: avoid a criticalRui Caridade1-1/+1
g_file_query_info can return NULL. Use g_clear_object to make sure we don't try to unref NULL pointer. Origin commit: https://github.com/GNOME/gnome-panel/commit/73fa9808f24ee6a95e12a8558d6b1f6513b78693#diff-5f461c83a31d7792b939f3a1be40c512
2018-07-04panel-context-menu: replace deprecated gtk_menu_popupraveit651-1/+1
2018-04-09avoid gtk_dialog_add_buttons with stock idsPablo Barciela1-4/+9
2018-01-31require GTK+ 3.22 and GLib 2.50monsta1-5/+0
2018-01-25avoid deprecated GtkStockPablo Barciela1-2/+2
2016-11-21move to GTK+3 (>= 3.14), drop GTK+2 code and --with-gtk build optionmonsta1-17/+0
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.
2016-03-25Gtk3.18/3.20-move background handling toplevel lukefromdc1-1/+6
panel.c
2016-02-21fix some warningsSorokin Alexei1-0/+4
2016-01-05rename mate-panel-*.{c|h} -> panel-*.{c|h} for consistencymonsta1-1/+1
(libmate-panel-applet files are left alone since there are public header files used by all panel applets)
2015-07-14Replace GtkObject with GObject also for Gtk+ 2infirit1-4/+0
2015-07-14Drop gdkkeysyms-compat usage in Gtk+3infirit1-2/+1
The new GDK_KEY_ keys are also in Gtk+2.
2015-01-14Set Cancel as default action when deleting a panel/drawerGilles G1-1/+1
Closes https://github.com/mate-desktop/mate-panel/pull/268
2014-10-13Fix segfault: gtk_get_current_event can return nullDenis Gorodnichev1-2/+5
fix segfault when gtk_get_current_event return null fix memory leak: gtk_get_current_event return value must be freed Closes https://github.com/mate-desktop/mate-panel/pull/243
2013-11-29Panel background improvements for GTK3Stefano Karapetsas1-0/+11
2013-10-26mate-panel: Add GTK3 supportStefano Karapetsas1-0/+1
2013-08-06Merge branch 'master' of github.com:mate-desktop/mate-panelStefano Karapetsas1-1/+1
2013-08-06Improve GTK3 supportStefano Karapetsas1-0/+8
2013-08-02Correct 2 typo's in panel.cinfirit1-1/+1
2013-08-01Replace ghelp: with help: for user-guideinfirit1-2/+2
2013-07-12Use yelp-tools instead of mate-doc-utilsStefano Karapetsas1-0/+1
2012-10-11migrate mate-panel to gsettingsStefano Karapetsas1-7/+5
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+1403