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"/> report="global_keys_handler -> leitzentrale"/>
<policy label="nit_focus -> slides" <policy label="nit_focus -> slides"
report="global_keys_handler -> slides"/> report="global_keys_handler -> slides"/>
<policy label="nit_focus -> hover" report="nitpicker -> hover"/>
<policy label="slides_nit_fb_config -> slides" <policy label="slides_nit_fb_config -> slides"
report="global_keys_handler -> slides"/> report="global_keys_handler -> slides"/>
<policy label="leitzentrale -> manager -> displays" <policy label="leitzentrale -> manager -> displays"
@ -291,11 +292,19 @@ install_config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides> <service name="ROM"/> </provides> <provides> <service name="ROM"/> </provides>
<config> <config>
<input name="lockscreen_enabled" rom="hover" node="hover">
<attribute name="label" /> </input>
<input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale"> <input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale">
<attribute name="enabled" /> </input> <attribute name="enabled" /> </input>
<input name="slides_enabled" rom="slides" node="slides"> <input name="slides_enabled" rom="slides" node="slides">
<attribute name="enabled" /> </input> <attribute name="enabled" /> </input>
<output node="focus"> <output node="focus">
<if>
<has_value input="lockscreen_enabled" value="lock_screen" />
<then>
<attribute name="label" value="lock_screen"/>
</then>
<else>
<if> <if>
<has_value input="leitzentrale_enabled" value="yes" /> <has_value input="leitzentrale_enabled" value="yes" />
<then> <then>
@ -313,9 +322,12 @@ install_config {
</if> </if>
</else> </else>
</if> </if>
</else>
</if>
</output> </output>
</config> </config>
<route> <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="leitzentrale"> <child name="report_rom"/> </service>
<service name="ROM" label="slides"> <child name="report_rom"/> </service> <service name="ROM" label="slides"> <child name="report_rom"/> </service>
<any-service> <parent/> </any-service> <any-service> <parent/> </any-service>
@ -455,6 +467,8 @@ install_config {
<child name="leitzentrale"/> </service> <child name="leitzentrale"/> </service>
<service name="Nitpicker" label="backdrop"> <service name="Nitpicker" label="backdrop">
<child name="nitpicker" label="backdrop"/> </service> <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="Nitpicker"> <child name="nitpicker"/> </service>
<service name="Timer"> <child name="timer"/> </service> <service name="Timer"> <child name="timer"/> </service>
<service name="Report" label_suffix="-> shape"> <child name="pointer"/> </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"/> <report hover="yes" focus="yes" clicked="yes" keystate="no" displays="yes"/>
<background color="#131415"/> <background color="#131415"/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <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="lock" 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="leitzentrale" layer="3" content="client" label="no" hover="always" focus="click" />
<domain name="default" layer="4" color="#052944" hover="always" focus="click" /> <domain name="slides" layer="4" content="client" label="no" hover="always" focus="click" />
<domain name="decorator" layer="4" content="client" label="no" hover="always" focus="transient" /> <domain name="default" layer="5" color="#052944" hover="always" focus="click" />
<domain name="desktop" layer="4" content="client" label="no" hover="always" focus="click" /> <domain name="decorator" layer="5" content="client" label="no" hover="always" focus="transient" />
<domain name="background" 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_suffix="-> decorator" domain="decorator"/>
<policy label_prefix="runtime -> wm" domain="desktop"/> <policy label_prefix="runtime -> wm" domain="desktop"/>
<policy label_prefix="runtime -> themed_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="pointer" domain="pointer"/>
<policy label_prefix="leitzentrale -> " domain="leitzentrale"/> <policy label_prefix="leitzentrale -> " domain="leitzentrale"/>
<policy label="slides" domain="slides"/> <policy label="slides" domain="slides"/>

View File

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