summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
10 dayspanel: Remove functions that are no longer used with the pack modelzone-positioningVictor Kareh4-96/+1
These functions were part of the old pixel position model and nothing calls them now that we use pack model for positioning.
10 dayspanel: Update default layout files to use pack-type and pack-indexVictor Kareh6-68/+67
Replace position and panel-right-stick with pack-type and pack-index in all default layout files. Left-side applets use pack-type=start (the default, so it's omitted), right-side applets use pack-type=end. Center zone is empty by default.
10 daysdata: update pack-index descriptionVictor Kareh1-1/+1
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/6278658de
10 dayspanel: Update positions of objects after removal of an objectVictor Kareh1-0/+2
When an object is removed, this obviously changes the layout inside a PanelWidget, so we have to update the positions of all objects. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/f63d91d16
10 dayspanel: Implement push move for panel objectsVictor Kareh1-66/+103
We simply move all objects before/after us in our pack to the next pack. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/533581210
10 dayspanel: "Compress" indexes on end of dragVictor Kareh1-0/+46
To make sure the pack indexes never grow forever, recompute them on the end of a drag, starting from 0. This way, we always keep a 0:n range of indexes, instead of x:x+n with a moving x. While it could be argued it should not be needed, it's much simpler than specifically handling some cases where we have to explicitly decrease all indexes, like when moving an object which is moved to another panel, or removing an object from the panel. This is not an action that is urgent to do (since "uncompressed" indexes don't harm in any way), so the end of a drag is a good enough place to call that. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/2256381b6
10 dayspanel: Implement switch move for panel objectsVictor Kareh1-299/+173
A few points that are worth noticing: - now, when we start a drag, we always consider the drag to be started from the center of the object. This makes it easier to know whether the drag offset means we should move or not. - after we move an object, we have to recompute the positions of the objects on the panel, in pixel size. Else, we won't know how much space there is between two packs, which breaks moving between packs. This uses code that was previously in size_allocate() - most of the decision on whether a switch move is needed is rather simple to understand; it's just a matter of getting the additions/substractions right :-) Note: the code for push move is not yet updated. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/ed1054799
10 dayspanel: Remove free-move mode for moving objectsVictor Kareh2-75/+0
With the new packed model, free-move does not make any sense: we don't want to move an object to an arbitrary spot; we're only interested in switching/pushing to move an object from one pack to another pack (switching if it's the first/last one, pushing which also push other objects), or inside a specific pack (switching). Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/1652218bb
10 dayspanel: Fix addition of objects with the new packed modelVictor Kareh9-8/+114
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/cb29d47f5
10 dayspanel: Add a center pack type for objectsVictor Kareh2-7/+54
Woo. Of course, moving/adding objects is still a bad idea. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/51757603d
11 dayspanel: Move to a model where panel objects are all packedVictor Kareh24-102/+346
Instead of positioning objects on specific positions on panels, we pack them all either at the start or the end. This simplifies things a lot, and helps keep clean panels. Note that adding/moving objects is broken right now. For backward compatibility the old position key is still read and used as a fallback. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/6db6be277
11 dayspanel: Pass the pack style of objects when adding applet to PanelWidgetVictor Kareh20-81/+127
PanelWidget will soon learn how to use this. This commit is much larger than upstream because gnome-panel had a single object loader for all components, but mate-panel loads the pack type from gsettings everywhere. Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/9480f4458
11 dayspanel: When creating an object, explicitly specify how it's packedVictor Kareh10-26/+35
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
11 dayspanel: Change panel-right-stick (boolean) key to pack-type (enum) in object ↵Victor Kareh3-4/+15
schema This will make it easier to add a way to center objects later on. We'll have a pack-index key soon. Backported from: - https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/446ff991d - https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/f42b54636
2026-06-04panel-applet-frame-dbus: fix crash when applet is removed during background ↵HEADmasterMichael Mestnik1-1/+9
update Cancel any pending background operation when the applet frame is destroyed, and avoid accessing the frame in the callback if the operation was cancelled or failed. Fixes #1557
2026-05-28wncklet: link against libX11 for window preview thumbnailsVictor Kareh1-0/+5
The window-list preview code uses XGetWindowAttributes and XGetWindowProperty to capture window decorations, but the wncklet Makefile was missing the X11 linker flags, causing a build failure. Fixes #1561
2026-05-27window-list: fix HiDPI scaling for preview thumbnailsVictor Kareh1-15/+17
Account for cairo device scale factor when scaling the captured pixbuf to the thumbnail surface, so the entire window content is shown on HiDPI displays.
2026-05-27window-list: always capture fresh pixels for preview thumbnailsVictor Kareh1-7/+12
Use gdk_pixbuf_get_from_window instead of gdk_cairo_set_source_window to avoid stale window content in preview thumbnails.
2026-05-27window-list: show window decorations in preview thumbnailsVictor Kareh1-3/+60
Capture the window manager frame instead of the client window so that preview thumbnails include title bars and borders. Use _NET_FRAME_EXTENTS to strip invisible resize borders from the captured frame.
2026-05-20applet clock: fix proportional fonts by font-feature tabular numbers2387skju1-0/+10
Fixes #1338: The clock-time was jumping (and also the rest of the panel), due to different width of the digits. The font must support this feature, otherwise this fix will not work: Example: Font "Cantarell" OK ; Font "Quicksand" still buggy.
2026-05-19clock: fix memory leaks in EDS event list handlingVictor Kareh1-0/+4
The calendar popup was not freeing the list of events returned by the calendar client after populating the appointment and task views. This caused unbounded memory growth every time the popup was opened.
2026-05-05remove empty po fileEvelyne Harlé1-1/+0
2026-05-05add translation coverage badgeEvelyne Harlé1-0/+2
2026-05-05update pot filesEvelyne Harlé10-4629/+407
remove transifex configuration remove "es_ES" as it is the same as "es" and prevent weblate usage prevent po updates when generating pot files (weblate does that for us)
2026-04-02fish: Fix alternating animation during April FoolsVictor Kareh1-1/+1
During April Fools in the morning, Wanda the fish is expected to show up upside down, with dirty-looking water, as though dead. However, because of the hour comparison, it ends up alternating between the standard animation and the dead fish.
2026-03-31fix memory leaksmbkma2-0/+20
2026-03-12fix memleaksmbkma1-1/+6
2026-03-11Use gint64 to track UNIX timestampsBernhard M. Wiedemann1-1/+1
to make it work after the year 2038 See https://en.wikipedia.org/wiki/Year_2038_problem This patch was done while reviewing potential year-2038 issues in openSUSE.
2026-01-20clock: Add DBus 'activate' callbackVictor Kareh1-0/+19
This allows users to open the clock/calendar popup through DBus, which means we could configure a keybinding for it.
2026-01-20libmate-panel-applet: Bump library version to 2:0:0Victor Kareh1-1/+1
2026-01-20libmate-panel-applet: Register 'Activate' DBus methodVictor Kareh2-0/+32
This in turn emits an 'activate' signal that any applet can connect to and perform whatever action it means to activate in that applet. This allows users to control certain applet functionalities through DBus, like registering new keybindings, or integrating them with other software.
2025-12-05wl-window-list: ensure same behavior with and without show desktop applet in ↵lukefromdc1-2/+15
panel *Note that in the wayland panel the show desktop applet works by using an invocation of the window list backend to send a signal to every window to mimimize or unminimize *This however causes every added button to be counted twice when the show desktop applet is also used *Detect the show desktop applet, and only divide the number of window list buttons by 2 when it is present
2025-10-30wncklet: fix preview window positioning for right & downAndrzej Szombierski1-2/+2
The monitor origin needs to be taken into account.
2025-10-28wayland-window-list: prevent overflow on panel restart and user changes of ↵lukefromdc1-10/+59
available space *Set a sane default width of 1/3 the total panel with on startup *This prevents the panel width from coming up zero or one when GTK gets the allocation with no buttons in it *Always affirmatively show or hide icons and text when adjusting the buttons for width *Get the box the tasklist->outer box is packed into for width calculations *Recompute tasklist width both on adding and removing buttons
2025-10-28wayland-window-list: keep the labels showing a little longerlukefromdc1-3/+3
2025-10-28wayland-window-list: handle the case of a very short tasklistlukefromdc1-6/+16
*Recompute the maximum button width when three fullsize buttons won't fit *Otherwise short tasklists overflow
2025-10-28wayland-window-list: refactor button adjustment into separate functionlukefromdc1-109/+86
2025-10-28wayland window list: improve space managementlukefromdc1-167/+107
*Do not hide text and retain icons, that's not what we do in x11 *Hide the icons first, only hide labels when ellipsized text can no longer fit *ensure last buttons don't over-expand as windows are closed *divide available panel space by number of buttons to set size of empty buttons on crowded panel *This more evenly fills the window list when a crowded window list forces empty buttons *and allows far more buttons to show before the window list pushed other applets off the panel
2025-10-08clock: Separate expander state from section visibility preferencesVictor Kareh2-11/+16
The Appointments and Tasks expanders in the calendar popup were incorrectly linked to the show-calendar-events and show-tasks gsettings. This caused collapsing the section to toggle the preference, making the entire section disappear on next popup. Fixed by adding a new expand-calendar-events and expand-tasks gsettings keys to track the UI state separately from whether the section is visible or not.
2025-10-07clock: Follow EDS calendar colors and highlight current eventVictor Kareh1-0/+135
Evolution tracks a color for each calendar. We can fetch this to differentiate events from multiple calendars in the popup. This also marks the current event in bold and scrolls the window to make it visible to the user on load.
2025-10-06button-widget: Add dynamic HiDPI scale change supportVictor Kareh1-4/+34
Launcher buttons now respond to HiDPI scale factor changes to ensure icons are reloaded at the new scale when settings change without having to restart.
2025-10-06panel-toplevel: Add dynamic HiDPI scale change supportVictor Kareh1-0/+71
Panels now respond to HiDPI scale factor changes without requiring a restart. When the monitors-changed signal is received, the panel updates its scale factor and forces applets to redraw at the new scale. The temporary size change (to 0 and back) is necessary because applets don't individually listen to scale change signals. This eliminates the need for mate-settings-daemon to kill and restart mate-panel when the scale factor changes.
2025-10-02ci: Upgrade libsoup dependency from 2.4 to 3.0Victor Kareh2-3/+3
mate-panel uses libsoup indirectly through libmateweather, which already requires libsoup-3.0. Evolution Data Server (used by the clock applet for calendar integration) also requires libsoup-3.0.
2025-09-28Show desktop: support wayland uselukefromdc4-4/+84
2025-09-22clock: Store calendar client in ClockData (#1516)Victor Kareh5-55/+94
* clock: Store calendar client in ClockData This simplifies the evolution calendar client architecture and makes the popup show up faster, since we don't need to create a new one every time we open it. * clock: Fix calendar data refresh when opening popup The calendar popup was not showing recently added Evolution events/tasks. Added a refresh timeout call every time the calendar popup opens. That way the popup opens immediately and the data is refresh after a small delay.
2025-09-04Wayland-only-build attempt 3 - changes from other branch removedmark.herbert21-20/+109
2025-09-04Fix uninitialized and unused screen varsVictor Kareh4-3/+3
A previous overzealous cleanup left some hanging screen variables and one instance of an uninitialized screen being used.
2025-09-03wncklet: Bump libwnck to 43.0Victor Kareh7-25/+54
Recent versions of libwnck introduced a WnckHandler object to be used as the main entry point into the library.
2025-08-08wayland: stop panel "dodging" mouse and moving to toplukefromdc1-0/+19
*Disable grabbing and moving panels in wayland due to tendency of panel other than on top to jump to top or left *Note that nonexpanded panels in wayland cannot be dragged along the screen edge as we have their centered position hardcoded using gtk-layer-shell at this time
2025-08-08wncklet: Remove window preview conditionalsVictor Kareh4-50/+2
There are no distros (that I could find) that ship both an old libwnck<3.32.0 with a new MATE>=1.28. Dropping this should be safe and removes complexity. Since all of these were already wrapped inside HAVE_X11, it should not affect Wayland at all.