summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorThe Squash <[email protected]>2022-05-06 01:11:58 -0400
committerVictor Kareh <[email protected]>2022-06-01 10:14:33 -0400
commit38e00280e9d17282717595a05411736a308804c0 (patch)
tree533df0f579a46ce990f9d5ee93dda1f70134b7ce /data
parent02618b724a15443f6e5b4ce05612204d41269fa4 (diff)
downloadmate-panel-38e00280e9d17282717595a05411736a308804c0.tar.bz2
mate-panel-38e00280e9d17282717595a05411736a308804c0.tar.xz
Add "center-stick" capability applets on the panel
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.
Diffstat (limited to 'data')
-rw-r--r--data/default.layout6
-rw-r--r--data/fedora.layout8
-rw-r--r--data/linuxmint.layout4
-rw-r--r--data/mageia.layout6
-rw-r--r--data/opensuse.layout8
-rw-r--r--data/org.mate.panel.object.gschema.xml.in9
-rw-r--r--data/ubuntu.layout16
7 files changed, 31 insertions, 26 deletions
diff --git a/data/default.layout b/data/default.layout
index 77923b42..c7aef160 100644
--- a/data/default.layout
+++ b/data/default.layout
@@ -19,7 +19,7 @@ object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=top
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object clock]
@@ -27,7 +27,7 @@ object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=top
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object show-desktop]
@@ -49,5 +49,5 @@ object-type=applet
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
toplevel-id=bottom
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
diff --git a/data/fedora.layout b/data/fedora.layout
index ed55eca0..c368c81b 100644
--- a/data/fedora.layout
+++ b/data/fedora.layout
@@ -40,7 +40,7 @@ object-type=applet
applet-iid=GvcAppletFactory::GvcApplet
toplevel-id=top
position=20
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object notification-area]
@@ -48,7 +48,7 @@ object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=top
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object clock]
@@ -56,7 +56,7 @@ object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=top
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object show-desktop]
@@ -78,5 +78,5 @@ object-type=applet
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
toplevel-id=bottom
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
diff --git a/data/linuxmint.layout b/data/linuxmint.layout
index 43d1b908..57ed5823 100644
--- a/data/linuxmint.layout
+++ b/data/linuxmint.layout
@@ -29,7 +29,7 @@ object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=bottom
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object clock]
@@ -37,5 +37,5 @@ object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=bottom
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
diff --git a/data/mageia.layout b/data/mageia.layout
index 504a3377..d0118a87 100644
--- a/data/mageia.layout
+++ b/data/mageia.layout
@@ -40,7 +40,7 @@ object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=top
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object clock]
@@ -48,7 +48,7 @@ object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=top
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object show-desktop]
@@ -70,6 +70,6 @@ object-type=applet
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
toplevel-id=bottom
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
diff --git a/data/opensuse.layout b/data/opensuse.layout
index d0f96927..8dd8a3d7 100644
--- a/data/opensuse.layout
+++ b/data/opensuse.layout
@@ -29,7 +29,7 @@ object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=bottom
position=30
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object workspace-switcher]
@@ -37,7 +37,7 @@ object-type=applet
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
toplevel-id=bottom
position=20
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object clock]
@@ -45,7 +45,7 @@ object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=bottom
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object show-desktop]
@@ -53,5 +53,5 @@ object-type=applet
applet-iid=WnckletFactory::ShowDesktopApplet
toplevel-id=bottom
position=0
-panel-right-stick=true
+relative-to-edge=end
locked=true
diff --git a/data/org.mate.panel.object.gschema.xml.in b/data/org.mate.panel.object.gschema.xml.in
index 913d8b8c..360d5513 100644
--- a/data/org.mate.panel.object.gschema.xml.in
+++ b/data/org.mate.panel.object.gschema.xml.in
@@ -17,8 +17,13 @@
</key>
<key name="panel-right-stick" type="b">
<default>false</default>
- <summary>Interpret position relative to bottom/right edge</summary>
- <description>If true, the position of the object is interpreted relative to the right (or bottom if vertical) edge of the panel.</description>
+ <summary>Interpret position relative to bottom/right edge (DEPRECATED)</summary>
+ <description>If true, the position of the object is interpreted relative to the right (or bottom if vertical) edge of the panel. This key is provided only for backward compatibility with old panel layouts; please set the "relative-to-edge" property instead.</description>
+ </key>
+ <key name="relative-to-edge" enum="org.mate.panel.PanelObjectEdgeRelativity">
+ <default>'start'</default>
+ <summary>Whether to interpret the value of the "position" key relative to the start, center or end of the panel</summary>
+ <description>The position of the object is interpreted relative to one edge of the panel. The value of this key determines whether the object is positioned relative to the start (left/top edge), center, or end (right/bottom edge) of the panel. Valid values for this key are 'start', 'center', and 'end'.</description>
</key>
<key name="locked" type="b">
<default>false</default>
diff --git a/data/ubuntu.layout b/data/ubuntu.layout
index bab5164f..99317ae4 100644
--- a/data/ubuntu.layout
+++ b/data/ubuntu.layout
@@ -26,23 +26,23 @@ menu-path=applications:/
object-type=applet
applet-iid=NotificationAreaAppletFactory::NotificationArea
toplevel-id=top
-position=30
-panel-right-stick=true
+position=20
+relative-to-edge=end
locked=true
[Object clock]
object-type=applet
applet-iid=ClockAppletFactory::ClockApplet
toplevel-id=top
-position=20
-panel-right-stick=true
+position=10
+relative-to-edge=end
locked=true
[Object shutdown]
action-type=shutdown
object-type=action
-position=10
-panel-right-stick=true
+position=0
+relative-to-edge=end
toplevel-id=top
locked=true
@@ -65,7 +65,7 @@ object-type=applet
applet-iid=WnckletFactory::WorkspaceSwitcherApplet
toplevel-id=bottom
position=10
-panel-right-stick=true
+relative-to-edge=end
locked=true
[Object trashapplet]
@@ -74,4 +74,4 @@ position=0
toplevel-id=bottom
applet-iid=TrashAppletFactory::TrashApplet
object-type=applet
-panel-right-stick=true
+relative-to-edge=end