| Age | Commit message (Collapse) | Author | Files | Lines |
|
Authored by @lukefromdc
|
|
|
|
|
|
Remove tasks from the tasklist->tasks list when their window closes and
ref/unref XfwWindow objects to avoid stale pointers, fixing a SIGBUS in
xfw_window_get_state after a window is closed.
|
|
|
|
|
|
|
|
|
|
libxfce4windowing check was a hard error even when Wayland support was
only auto-detected. Any X11 without libxfce4windowing would fail to
configure entirely.
This changes it to only error out if --enable-wayland=yes was explicit
and otherwise it just falls back to X11.
Also bumped the version requirement to 4.19.4, since that's what
XFW_CLIENT_TYPE_PAGER actually needs.
Fixes #1572
|
|
* Add Meson support
* Fix libegg submodule configure
* generate schemas before install
|
|
|
|
|
|
|
|
|
|
These functions were part of the old pixel position model and nothing
calls them now that we use pack model for positioning.
|
|
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.
|
|
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/6278658de
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/cb29d47f5
|
|
Woo. Of course, moving/adding objects is still a bad idea.
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/51757603d
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
Use gdk_pixbuf_get_from_window instead of gdk_cairo_set_source_window to
avoid stale window content in preview thumbnails.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
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)
|
|
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.
|
|
|
|
|
|
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.
|
|
This allows users to open the clock/calendar popup through DBus, which
means we could configure a keybinding for it.
|
|
|
|
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.
|
|
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
|
|
The monitor origin needs to be taken into account.
|
|
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
|
|
|
|
*Recompute the maximum button width when three fullsize buttons won't fit
*Otherwise short tasklists overflow
|