sculpt: add lock screen/GUI support

Fixes #3491
This commit is contained in:
Alexander Boettcher 2019-09-08 15:27:55 +02:00 committed by Christian Helmuth
parent afa0e26a6a
commit 6fe80c3cc7
3 changed files with 28 additions and 11 deletions

View File

@ -70,6 +70,7 @@ install_config {
report="global_keys_handler -> leitzentrale"/>
<policy label="nit_focus -> slides"
report="global_keys_handler -> slides"/>
<policy label="nit_focus -> hover" report="nitpicker -> hover"/>
<policy label="slides_nit_fb_config -> slides"
report="global_keys_handler -> slides"/>
<policy label="leitzentrale -> manager -> displays"
@ -291,24 +292,34 @@ install_config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="ROM"/> </provides>
<config>
<input name="lockscreen_enabled" rom="hover" node="hover">
<attribute name="label" /> </input>
<input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale">
<attribute name="enabled" /> </input>
<input name="slides_enabled" rom="slides" node="slides">
<attribute name="enabled" /> </input>
<output node="focus">
<if>
<has_value input="leitzentrale_enabled" value="yes" />
<has_value input="lockscreen_enabled" value="lock_screen" />
<then>
<attribute name="label" value="leitzentrale -> manager -> fader -> "/>
<attribute name="label" value="lock_screen"/>
</then>
<else>
<if>
<has_value input="slides_enabled" value="yes" />
<has_value input="leitzentrale_enabled" value="yes" />
<then>
<attribute name="label" value="slides"/>
<attribute name="label" value="leitzentrale -> manager -> fader -> "/>
</then>
<else>
<attribute name="label" value="runtime -> focus"/>
<if>
<has_value input="slides_enabled" value="yes" />
<then>
<attribute name="label" value="slides"/>
</then>
<else>
<attribute name="label" value="runtime -> focus"/>
</else>
</if>
</else>
</if>
</else>
@ -316,6 +327,7 @@ install_config {
</output>
</config>
<route>
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
<service name="ROM" label="leitzentrale"> <child name="report_rom"/> </service>
<service name="ROM" label="slides"> <child name="report_rom"/> </service>
<any-service> <parent/> </any-service>
@ -455,6 +467,8 @@ install_config {
<child name="leitzentrale"/> </service>
<service name="Nitpicker" label="backdrop">
<child name="nitpicker" label="backdrop"/> </service>
<service name="Nitpicker" label="lock_screen">
<child name="nitpicker" label="lock_screen"/> </service>
<service name="Nitpicker"> <child name="nitpicker"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<service name="Report" label_suffix="-> shape"> <child name="pointer"/> </service>

View File

@ -2,17 +2,19 @@
<report hover="yes" focus="yes" clicked="yes" keystate="no" displays="yes"/>
<background color="#131415"/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
<domain name="leitzentrale" layer="2" content="client" label="no" hover="always" focus="click" />
<domain name="slides" layer="3" content="client" label="no" hover="always" focus="click" />
<domain name="default" layer="4" color="#052944" hover="always" focus="click" />
<domain name="decorator" layer="4" content="client" label="no" hover="always" focus="transient" />
<domain name="desktop" layer="4" content="client" label="no" hover="always" focus="click" />
<domain name="background" layer="5" content="client" label="no" hover="always" focus="transient" />
<domain name="lock" layer="2" content="client" label="no" hover="always" focus="click"/>
<domain name="leitzentrale" layer="3" content="client" label="no" hover="always" focus="click" />
<domain name="slides" layer="4" content="client" label="no" hover="always" focus="click" />
<domain name="default" layer="5" color="#052944" hover="always" focus="click" />
<domain name="decorator" layer="5" content="client" label="no" hover="always" focus="transient" />
<domain name="desktop" layer="5" content="client" label="no" hover="always" focus="click" />
<domain name="background" layer="6" content="client" label="no" hover="always" focus="transient" />
<policy label_suffix="-> decorator" domain="decorator"/>
<policy label_prefix="runtime -> wm" domain="desktop"/>
<policy label_prefix="runtime -> themed_wm" domain="desktop"/>
<policy label="lock_screen" domain="lock"/>
<policy label_prefix="pointer" domain="pointer"/>
<policy label_prefix="leitzentrale -> " domain="leitzentrale"/>
<policy label="slides" domain="slides"/>

View File

@ -315,6 +315,7 @@ class Sculpt::Runtime_config
Parent_service const
_focus { _r, Type::NITPICKER, "keyboard focus", "focus" },
_backdrop { _r, Type::NITPICKER, "desktop background", "backdrop" },
_lockscreen{ _r, Type::NITPICKER, "desktop lock screen", "lock_screen" },
_nitpicker { _r, Type::NITPICKER, "system GUI server" },
_config_fs { _r, Type::FILE_SYSTEM, "writeable system configuration", "config" },
_report_fs { _r, Type::FILE_SYSTEM, "read-only system reports", "report" },