summaryrefslogtreecommitdiff
path: root/settings
diff options
context:
space:
mode:
authorSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2019-05-17 14:41:33 +0200
committerSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2019-05-17 14:46:28 +0200
commit0a915310582803296fbfb075e1ea1c045b20bfcc (patch)
treea0631d70d9211dd54440f9419556bf9a28551aae /settings
parent931059dfb59ac2776e0bb086e665628f8290fa8a (diff)
downloadxfce4-session-0a915310582803296fbfb075e1ea1c045b20bfcc.tar.gz
Introduce priority-group startup for FailSafe Session
The FailSafe Session previously simply started all applications listed in the xfce4-sesion.xml file at once, leading to race conditions with effects like unthemed xfce4-panels etc. (See Bug #15388) The new FailSafe Session implementation introduces the feature of "Priority Groups" that was already present for saved sessions and uses the same startup mechanism. This means that all applications in one priority group have to be launched until the applications from the next priority group can get launched, thus mitigating the racy startup of the old FailSafe Session. As we cannot uniquely identify or track starting applications in the FailSafe Session we simply count the amount of applications per priority group and launch all applications per group at once.
Diffstat (limited to 'settings')
-rw-r--r--settings/xfce4-session.xml5
1 files changed, 5 insertions, 0 deletions
diff --git a/settings/xfce4-session.xml b/settings/xfce4-session.xml
index acb5afe3..66d28dfa 100644
--- a/settings/xfce4-session.xml
+++ b/settings/xfce4-session.xml
@@ -12,23 +12,28 @@
<property name="Client0_Command" type="array">
<value type="string" value="xfwm4"/>
</property>
+ <property name="Client0_Priority" type="int" value="15"/>
<property name="Client0_PerScreen" type="bool" value="false"/>
<property name="Client1_Command" type="array">
<value type="string" value="xfsettingsd"/>
</property>
+ <property name="Client1_Priority" type="int" value="20"/>
<property name="Client1_PerScreen" type="bool" value="false"/>
<property name="Client2_Command" type="array">
<value type="string" value="xfce4-panel"/>
</property>
+ <property name="Client2_Priority" type="int" value="25"/>
<property name="Client2_PerScreen" type="bool" value="false"/>
<property name="Client3_Command" type="array">
<value type="string" value="Thunar"/>
<value type="string" value="--daemon"/>
</property>
+ <property name="Client3_Priority" type="int" value="30"/>
<property name="Client3_PerScreen" type="bool" value="false"/>
<property name="Client4_Command" type="array">
<value type="string" value="xfdesktop"/>
</property>
+ <property name="Client4_Priority" type="int" value="35"/>
<property name="Client4_PerScreen" type="bool" value="false"/>
</property>
</property>