diff options
| author | Victor Kareh <[email protected]> | 2026-07-09 12:58:25 -0400 |
|---|---|---|
| committer | Luke from DC <[email protected]> | 2026-07-27 23:15:29 +0000 |
| commit | d4564b24febe9006593d768e23f2b74ac1753ef8 (patch) | |
| tree | 0caf03ed1f089e55f31145fcdce9991c2a0992fd | |
| parent | 29c889238c3f5d7c24c37e23167a47acbdbfe660 (diff) | |
| download | mate-panel-d4564b24febe9006593d768e23f2b74ac1753ef8.tar.bz2 mate-panel-d4564b24febe9006593d768e23f2b74ac1753ef8.tar.xz | |
panel: When creating an object, explicitly specify how it's packed
Instead of saying whether it's packed to the end, we pass the real pack
method. This will enable us to add centered objects.
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/8804c8b37
| -rw-r--r-- | mate-panel/drawer.c | 6 | ||||
| -rw-r--r-- | mate-panel/launcher.c | 2 | ||||
| -rw-r--r-- | mate-panel/panel-action-button.c | 3 | ||||
| -rw-r--r-- | mate-panel/panel-applet-frame.c | 3 | ||||
| -rw-r--r-- | mate-panel/panel-layout.c | 1 | ||||
| -rw-r--r-- | mate-panel/panel-menu-bar.c | 3 | ||||
| -rw-r--r-- | mate-panel/panel-menu-button.c | 3 | ||||
| -rw-r--r-- | mate-panel/panel-profile.c | 20 | ||||
| -rw-r--r-- | mate-panel/panel-profile.h | 17 | ||||
| -rw-r--r-- | mate-panel/panel-separator.c | 3 |
10 files changed, 35 insertions, 26 deletions
diff --git a/mate-panel/drawer.c b/mate-panel/drawer.c index 03d6bd5f..de18f809 100644 --- a/mate-panel/drawer.c +++ b/mate-panel/drawer.c @@ -622,7 +622,8 @@ panel_drawer_create (PanelToplevel *toplevel, { char *id; - id = panel_profile_prepare_object (PANEL_OBJECT_DRAWER, toplevel, position, FALSE); + id = panel_profile_prepare_object (PANEL_OBJECT_DRAWER, toplevel, position, + PANEL_OBJECT_PACK_START); panel_drawer_prepare (id, custom_icon, use_custom_icon, tooltip, NULL); @@ -641,7 +642,8 @@ panel_drawer_create_with_id (const char *toplevel_id, char *id; char *attached_toplevel_id = NULL; - id = panel_profile_prepare_object_with_id (PANEL_OBJECT_DRAWER, toplevel_id, position, FALSE); + id = panel_profile_prepare_object_with_id (PANEL_OBJECT_DRAWER, toplevel_id, position, + PANEL_OBJECT_PACK_START); panel_drawer_prepare (id, custom_icon, use_custom_icon, tooltip, &attached_toplevel_id); diff --git a/mate-panel/launcher.c b/mate-panel/launcher.c index 0385ccea..b42e7036 100644 --- a/mate-panel/launcher.c +++ b/mate-panel/launcher.c @@ -1094,7 +1094,7 @@ panel_launcher_create_with_id (const char *toplevel_id, id = panel_profile_prepare_object_with_id (PANEL_OBJECT_LAUNCHER, toplevel_id, position, - FALSE); + PANEL_OBJECT_PACK_START); path = g_strdup_printf ("%s%s/", PANEL_OBJECT_PATH, id); settings = g_settings_new_with_path (PANEL_OBJECT_SCHEMA, path); diff --git a/mate-panel/panel-action-button.c b/mate-panel/panel-action-button.c index 137399f5..56d775c0 100644 --- a/mate-panel/panel-action-button.c +++ b/mate-panel/panel-action-button.c @@ -943,7 +943,8 @@ panel_action_button_create (PanelToplevel *toplevel, char *id; char *path; - id = panel_profile_prepare_object (PANEL_OBJECT_ACTION, toplevel, position, FALSE); + id = panel_profile_prepare_object (PANEL_OBJECT_ACTION, toplevel, position, + PANEL_OBJECT_PACK_START); path = g_strdup_printf (PANEL_OBJECT_PATH "%s/", id); settings = g_settings_new_with_path (PANEL_OBJECT_SCHEMA, path); diff --git a/mate-panel/panel-applet-frame.c b/mate-panel/panel-applet-frame.c index f0b5bfa9..03ad98b0 100644 --- a/mate-panel/panel-applet-frame.c +++ b/mate-panel/panel-applet-frame.c @@ -1073,7 +1073,8 @@ mate_panel_applet_frame_create (PanelToplevel *toplevel, g_return_if_fail (iid != NULL); - id = panel_profile_prepare_object (PANEL_OBJECT_APPLET, toplevel, position, FALSE); + id = panel_profile_prepare_object (PANEL_OBJECT_APPLET, toplevel, position, + PANEL_OBJECT_PACK_START); path = g_strdup_printf (PANEL_OBJECT_PATH "%s/", id); settings = g_settings_new_with_path (PANEL_OBJECT_SCHEMA, path); diff --git a/mate-panel/panel-layout.c b/mate-panel/panel-layout.c index d3bda7de..0846a7e7 100644 --- a/mate-panel/panel-layout.c +++ b/mate-panel/panel-layout.c @@ -80,6 +80,7 @@ static PanelLayoutKeyDefinition panel_layout_toplevel_keys[] = { static PanelLayoutKeyDefinition panel_layout_object_keys[] = { { PANEL_OBJECT_TYPE_KEY, G_TYPE_STRING }, { PANEL_OBJECT_TOPLEVEL_ID_KEY, G_TYPE_STRING }, + { PANEL_OBJECT_PACK_TYPE_KEY, G_TYPE_STRING }, { PANEL_OBJECT_POSITION_KEY, G_TYPE_INT }, { PANEL_OBJECT_PANEL_RIGHT_STICK_KEY, G_TYPE_BOOLEAN }, { PANEL_OBJECT_LOCKED_KEY, G_TYPE_BOOLEAN }, diff --git a/mate-panel/panel-menu-bar.c b/mate-panel/panel-menu-bar.c index f8bbcc2e..02859825 100644 --- a/mate-panel/panel-menu-bar.c +++ b/mate-panel/panel-menu-bar.c @@ -386,7 +386,8 @@ void panel_menu_bar_create(PanelToplevel* toplevel, int position) { char* id; - id = panel_profile_prepare_object(PANEL_OBJECT_MENU_BAR, toplevel, position, FALSE); + id = panel_profile_prepare_object(PANEL_OBJECT_MENU_BAR, toplevel, position, + PANEL_OBJECT_PACK_START); panel_profile_add_to_list(PANEL_GSETTINGS_OBJECTS, id); g_free(id); } diff --git a/mate-panel/panel-menu-button.c b/mate-panel/panel-menu-button.c index e65a99d6..22931c69 100644 --- a/mate-panel/panel-menu-button.c +++ b/mate-panel/panel-menu-button.c @@ -969,7 +969,8 @@ panel_menu_button_create (PanelToplevel *toplevel, const char *scheme; char *id; - id = panel_profile_prepare_object (PANEL_OBJECT_MENU, toplevel, position, FALSE); + id = panel_profile_prepare_object (PANEL_OBJECT_MENU, toplevel, position, + PANEL_OBJECT_PACK_START); path = g_strdup_printf (PANEL_OBJECT_PATH "%s/", id); settings = g_settings_new_with_path (PANEL_OBJECT_SCHEMA, path); diff --git a/mate-panel/panel-profile.c b/mate-panel/panel-profile.c index 08174fe3..8d9de350 100644 --- a/mate-panel/panel-profile.c +++ b/mate-panel/panel-profile.c @@ -1248,10 +1248,10 @@ panel_profile_destroy_toplevel (const char *id) } char * -panel_profile_prepare_object_with_id (PanelObjectType object_type, - const char *toplevel_id, - int position, - gboolean right_stick) +panel_profile_prepare_object_with_id (PanelObjectType object_type, + const char *toplevel_id, + int position, + PanelObjectPackType pack_type) { PanelGSettingsKeyType key_type; char *id; @@ -1268,7 +1268,7 @@ panel_profile_prepare_object_with_id (PanelObjectType object_type, g_settings_set_enum (settings, PANEL_OBJECT_TYPE_KEY, object_type); g_settings_set_string (settings, PANEL_OBJECT_TOPLEVEL_ID_KEY, toplevel_id); g_settings_set_int (settings, PANEL_OBJECT_POSITION_KEY, position); - g_settings_set_boolean (settings, PANEL_OBJECT_PANEL_RIGHT_STICK_KEY, right_stick); + g_settings_set_enum (settings, PANEL_OBJECT_PACK_TYPE_KEY, pack_type); /* Force writing the settings in order to reserve the object ID *now*, * so that a later call to panel_profile_find_new_id() won't find the same @@ -1282,15 +1282,15 @@ panel_profile_prepare_object_with_id (PanelObjectType object_type, } char * -panel_profile_prepare_object (PanelObjectType object_type, - PanelToplevel *toplevel, - int position, - gboolean right_stick) +panel_profile_prepare_object (PanelObjectType object_type, + PanelToplevel *toplevel, + int position, + PanelObjectPackType pack_type) { return panel_profile_prepare_object_with_id (object_type, panel_profile_get_toplevel_id (toplevel), position, - right_stick); + pack_type); } void diff --git a/mate-panel/panel-profile.h b/mate-panel/panel-profile.h index 36d4f217..9f480a15 100644 --- a/mate-panel/panel-profile.h +++ b/mate-panel/panel-profile.h @@ -32,6 +32,7 @@ #include "panel-toplevel.h" #include "panel-enums.h" +#include "panel-enums-gsettings.h" #include "panel-types.h" #include "applet.h" @@ -58,14 +59,14 @@ gboolean panel_profile_id_lists_are_writable (void); void panel_profile_create_toplevel (GdkScreen *screen); PanelToplevel *panel_profile_load_toplevel (const char *toplevel_id); void panel_profile_delete_toplevel (PanelToplevel *toplevel); -char *panel_profile_prepare_object (PanelObjectType object_type, - PanelToplevel *toplevel, - int position, - gboolean right_stick); -char *panel_profile_prepare_object_with_id (PanelObjectType object_type, - const char *toplevel_id, - int position, - gboolean right_stick); +char *panel_profile_prepare_object (PanelObjectType object_type, + PanelToplevel *toplevel, + int position, + PanelObjectPackType pack_type); +char *panel_profile_prepare_object_with_id (PanelObjectType object_type, + const char *toplevel_id, + int position, + PanelObjectPackType pack_type); void panel_profile_delete_object (AppletInfo *applet_info); gboolean panel_profile_key_is_writable (PanelToplevel *toplevel, diff --git a/mate-panel/panel-separator.c b/mate-panel/panel-separator.c index 864d3107..8b9829d9 100644 --- a/mate-panel/panel-separator.c +++ b/mate-panel/panel-separator.c @@ -263,7 +263,8 @@ panel_separator_create (PanelToplevel *toplevel, char *id; id = panel_profile_prepare_object (PANEL_OBJECT_SEPARATOR, - toplevel, position, FALSE); + toplevel, + position, PANEL_OBJECT_PACK_START); panel_profile_add_to_list (PANEL_GSETTINGS_OBJECTS, id); g_free (id); } |
