<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mate-panel, branch zone-positioning</title>
<subtitle>MATE panel</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/'/>
<entry>
<title>panel: Remove functions that are no longer used with the pack model</title>
<updated>2026-07-10T14:57:10+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-10T14:55:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=57f656c11e29f80cdf440559defbb822aa85fb48'/>
<id>57f656c11e29f80cdf440559defbb822aa85fb48</id>
<content type='text'>
These functions were part of the old pixel position model and nothing
calls them now that we use pack model for positioning.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions were part of the old pixel position model and nothing
calls them now that we use pack model for positioning.
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Update default layout files to use pack-type and pack-index</title>
<updated>2026-07-10T14:51:43+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-10T14:51:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=6659033a76f81c090a7f5ff5c3587e3af6fc7f53'/>
<id>6659033a76f81c090a7f5ff5c3587e3af6fc7f53</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>data: update pack-index description</title>
<updated>2026-07-10T14:47:25+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-10T14:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=554e2761b9c1f4f1f97d6a0d732da9ba62d36aba'/>
<id>554e2761b9c1f4f1f97d6a0d732da9ba62d36aba</id>
<content type='text'>
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/6278658de
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/6278658de
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Update positions of objects after removal of an object</title>
<updated>2026-07-10T14:45:40+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-10T14:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=0b98085ca9f5bf0141d48bf907081f8fc0340257'/>
<id>0b98085ca9f5bf0141d48bf907081f8fc0340257</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Implement push move for panel objects</title>
<updated>2026-07-10T14:42:29+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-10T14:42:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=30630b8e360e783bc7d091dc99f9d5d8edc16acb'/>
<id>30630b8e360e783bc7d091dc99f9d5d8edc16acb</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: "Compress" indexes on end of drag</title>
<updated>2026-07-10T14:28:14+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-09T20:46:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=8345656a805ddf95b7774cd7435fb88dcdeb7d6a'/>
<id>8345656a805ddf95b7774cd7435fb88dcdeb7d6a</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Implement switch move for panel objects</title>
<updated>2026-07-10T14:28:12+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-09T20:42:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=e320b20eabd3c29803d5bfd1dd61ec6694cbd0dc'/>
<id>e320b20eabd3c29803d5bfd1dd61ec6694cbd0dc</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Remove free-move mode for moving objects</title>
<updated>2026-07-10T14:28:10+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-09T20:18:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=f17890f83ae0513b1f01c311bc11a095078328a6'/>
<id>f17890f83ae0513b1f01c311bc11a095078328a6</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Fix addition of objects with the new packed model</title>
<updated>2026-07-10T14:28:07+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-09T19:56:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=2ebfef0d2a0089212d203567f1712bf6b89178e8'/>
<id>2ebfef0d2a0089212d203567f1712bf6b89178e8</id>
<content type='text'>
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/cb29d47f5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/cb29d47f5
</pre>
</div>
</content>
</entry>
<entry>
<title>panel: Add a center pack type for objects</title>
<updated>2026-07-10T14:28:05+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-07-09T19:33:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/mate-panel/commit/?id=5b9793132ba3c31425198bb8743c6de7186f1bc8'/>
<id>5b9793132ba3c31425198bb8743c6de7186f1bc8</id>
<content type='text'>
Woo. Of course, moving/adding objects is still a bad idea.

Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/51757603d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Woo. Of course, moving/adding objects is still a bad idea.

Backported from https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/51757603d
</pre>
</div>
</content>
</entry>
</feed>
