diff options
author | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2019-05-17 14:41:33 +0200 |
---|---|---|
committer | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2019-05-17 14:46:28 +0200 |
commit | 0a915310582803296fbfb075e1ea1c045b20bfcc (patch) | |
tree | a0631d70d9211dd54440f9419556bf9a28551aae /settings | |
parent | 931059dfb59ac2776e0bb086e665628f8290fa8a (diff) | |
download | xfce4-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.xml | 5 |
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> |