nitpicker: no framebuffer and input by default

This patch prevents nitpicker from requesting a framebuffer and input
session by default because the regular use of nitpicker relies on the
capture-session and event-session interfaces by now.

For supporting the nested use of nitpicker via the gui_fb component, it
is still possible to enable the traditional behavior by explicitely
setting the 'request_input' and 'request_framebuffer' config attributes
to "yes".

Issue #3812
This commit is contained in:
Norman Feske 2020-08-13 17:25:21 +02:00
parent 264f695373
commit 2e22498e5a
33 changed files with 35 additions and 37 deletions

View File

@ -49,7 +49,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" label="no" content="client" origin="pointer" /> <domain name="pointer" layer="1" label="no" content="client" origin="pointer" />

View File

@ -60,7 +60,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report pointer="yes" /> <report pointer="yes" />
<domain name="default" layer="2" content="client" label="no"/> <domain name="default" layer="2" content="client" label="no"/>

View File

@ -53,7 +53,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="" layer="2" content="client" label="no" /> <domain name="" layer="2" content="client" label="no" />
<default-policy domain=""/> <default-policy domain=""/>

View File

@ -62,7 +62,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<background color="#123456"/> <background color="#123456"/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />

View File

@ -100,7 +100,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report displays="yes"/> <report displays="yes"/>
</config> </config>

View File

@ -48,7 +48,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />

View File

@ -95,7 +95,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<report hover="yes" displays="yes"/> <report hover="yes" displays="yes"/>
<background color="#000000"/> <background color="#000000"/>

View File

@ -52,7 +52,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<background color="#123456"/> <background color="#123456"/>

View File

@ -48,7 +48,7 @@ append config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="default" layer="2" content="client" label="no"/> <domain name="default" layer="2" content="client" label="no"/>

View File

@ -77,7 +77,7 @@
<start name="nitpicker" caps="200"> <start name="nitpicker" caps="200">
<resource name="RAM" quantum="6M"/> <resource name="RAM" quantum="6M"/>
<provides> <service name="Gui"/> </provides> <provides> <service name="Gui"/> </provides>
<config focus="rom"> <config focus="rom" request_input="yes" request_framebuffer="yes">
<background color="#272f45"/> <background color="#272f45"/>
<domain name="default" layer="1" content="client" label="no" hover="always" focus="click"/> <domain name="default" layer="1" content="client" label="no" hover="always" focus="click"/>
<default-policy domain="default"/> <default-policy domain="default"/>

View File

@ -1,4 +1,4 @@
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<report hover="yes" focus="yes" clicked="yes" keystate="no" displays="yes"/> <report hover="yes" focus="yes" clicked="yes" keystate="no" displays="yes"/>
<background color="#000000"/> <background color="#000000"/>

View File

@ -48,7 +48,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="default" layer="2" content="client" label="no" hover="always"/> <domain name="default" layer="2" content="client" label="no" hover="always"/>
<default-policy domain="default"/> <default-policy domain="default"/>

View File

@ -52,7 +52,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
<domain name="default" layer="2" content="client" label="no" focus="click" hover="always" /> <domain name="default" layer="2" content="client" label="no" focus="click" hover="always" />

View File

@ -61,7 +61,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<report hover="yes"/> <report hover="yes"/>
<background color="#123456"/> <background color="#123456"/>

View File

@ -50,7 +50,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="default" layer="2" content="client" label="no" <domain name="default" layer="2" content="client" label="no"
hover="always" width="1024" height="768"/> hover="always" width="1024" height="768"/>

View File

@ -55,7 +55,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />

View File

@ -65,7 +65,7 @@ set config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
<domain name="default" layer="2" content="client" label="no" focus="click" hover="always" /> <domain name="default" layer="2" content="client" label="no" focus="click" hover="always" />

View File

@ -51,7 +51,7 @@ set config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />

View File

@ -192,7 +192,7 @@ proc qt5_start_nodes { } {
<service name="Report"> <child name="wm_report_rom"/> </service> <service name="Report"> <child name="wm_report_rom"/> </service>
<any-service> <parent /> <any-child /> </any-service> <any-service> <parent /> <any-child /> </any-service>
</route> </route>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" xray="yes"/> <report focus="yes" hover="yes" xray="yes"/>

View File

@ -74,8 +74,6 @@ install_config {
<attribute name="enabled" /> </input> <attribute name="enabled" /> </input>
<output node="config"> <output node="config">
<attribute name="request_framebuffer" value="no"/>
<attribute name="request_input" value="no"/>
<attribute name="focus" value="rom"/> <attribute name="focus" value="rom"/>
<inline> <inline>
<report focus="yes" xray="yes" hover="yes" keystate="yes" <report focus="yes" xray="yes" hover="yes" keystate="yes"
@ -208,7 +206,7 @@ puts $launchpad_config_fd {<config>
<config resize_handle="on" /> <config resize_handle="on" />
</launcher> </launcher>
<launcher name="nitpicker" ram_quota="1M" caps="100"> <launcher name="nitpicker" ram_quota="1M" caps="100">
<config> <config request_input="yes" request_framebuffer="yes">
<domain name="" layer="3" conten="client" label="no" focus="click"/> <domain name="" layer="3" conten="client" label="no" focus="click"/>
<default-policy domain="" /> <default-policy domain="" />
</config> </config>

View File

@ -59,7 +59,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="default" layer="1" width="1024" height="768"/> <domain name="default" layer="1" width="1024" height="768"/>
<default-policy domain="default"/> <default-policy domain="default"/>

View File

@ -91,7 +91,7 @@ append_if [have_spec sdl] config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides> <service name="Gui"/> <service name="Capture"/> </provides> <provides> <service name="Gui"/> <service name="Capture"/> </provides>
<route> <any-service> <parent/> <any-child/> </any-service> </route> <route> <any-service> <parent/> <any-child/> </any-service> </route>
<config request_input="no" request_framebuffer="no"> <capture/> </config> <config> <capture/> </config>
</start>} </start>}
append config { append config {

View File

@ -48,7 +48,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="" layer="2" /> <default-policy domain=""/> <domain name="" layer="2" /> <default-policy domain=""/>
</config> </config>

View File

@ -86,7 +86,7 @@ set config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" xray="yes"/> <report focus="yes" hover="yes" xray="yes"/>
<domain name="pointer" layer="1" content="client" label="no" origin="pointer"/> <domain name="pointer" layer="1" content="client" label="no" origin="pointer"/>

View File

@ -846,7 +846,7 @@ void Nitpicker::Main::_handle_config()
_user_state.report_focused_view_owner(xml, _button_activity); }); _user_state.report_focused_view_owner(xml, _button_activity); });
/* update framebuffer output back end */ /* update framebuffer output back end */
bool const request_framebuffer = config.attribute_value("request_framebuffer", true); bool const request_framebuffer = config.attribute_value("request_framebuffer", false);
if (request_framebuffer != _request_framebuffer) { if (request_framebuffer != _request_framebuffer) {
_request_framebuffer = request_framebuffer; _request_framebuffer = request_framebuffer;
_handle_fb_mode(); _handle_fb_mode();
@ -858,7 +858,7 @@ void Nitpicker::Main::_handle_config()
* Defer input session creation until at least one capture client * Defer input session creation until at least one capture client
* (framebuffer driver) is present. * (framebuffer driver) is present.
*/ */
_request_input = config.attribute_value("request_input", true); _request_input = config.attribute_value("request_input", false);
_update_input_connection(); _update_input_connection();
} }

View File

@ -67,7 +67,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<domain name="default" layer="2" content="client" label="no" hover="always"/> <domain name="default" layer="2" content="client" label="no" hover="always"/>
<default-policy domain="default"/> <default-policy domain="default"/>

View File

@ -85,7 +85,7 @@ install_config {
</provides> </provides>
<config> <config>
<target name="nitpicker"> <target name="nitpicker">
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<domain name="pointer" layer="1" xray="no" origin="pointer" <domain name="pointer" layer="1" xray="no" origin="pointer"
content="client" label="no"/> content="client" label="no"/>

View File

@ -410,7 +410,7 @@ append config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" /> <report focus="yes" />
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" />

View File

@ -159,7 +159,7 @@ append config {
<service name="Report"> <child name="report_rom" /> </service> <service name="Report"> <child name="report_rom" /> </service>
<any-service> <parent/> <any-child /> </any-service> <any-service> <parent/> <any-child /> </any-service>
</route> </route>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" /> <report focus="yes" hover="yes" />

View File

@ -282,7 +282,7 @@ append config_of_app {
<service name="Report"> <child name="report_rom" /> </service> <service name="Report"> <child name="report_rom" /> </service>
<any-service> <parent/> <any-child /> </any-service> <any-service> <parent/> <any-child /> </any-service>
</route> </route>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" /> <report focus="yes" hover="yes" />

View File

@ -179,7 +179,7 @@ append config_of_app {
</rom> </rom>
<rom name="nitpicker.config"> <rom name="nitpicker.config">
<inline description="standard_mode"> <inline description="standard_mode">
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" /> <report focus="yes" hover="yes" />
@ -196,7 +196,7 @@ append config_of_app {
append_if [expr !$use_rumpfs] config_of_app { append_if [expr !$use_rumpfs] config_of_app {
<inline description="shutdown"> <inline description="shutdown">
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" /> <report focus="yes" hover="yes" />

View File

@ -68,7 +68,7 @@ install_config {
<provides> <provides>
<service name="Gui"/> <service name="Capture"/> <service name="Event"/> <service name="Gui"/> <service name="Capture"/> <service name="Event"/>
</provides> </provides>
<config focus="rom" request_framebuffer="no" request_input="no"> <config focus="rom">
<capture/> <event/> <capture/> <event/>
<report focus="yes" /> <!-- interpreted by clipboard --> <report focus="yes" /> <!-- interpreted by clipboard -->

View File

@ -173,7 +173,7 @@ append config {
append config { append config {
<any-service> <parent/> <any-child /> </any-service> <any-service> <parent/> <any-child /> </any-service>
</route> </route>
<config request_framebuffer="no" request_input="no"> <config>
<capture/> <event/> <capture/> <event/>
<report focus="yes" hover="yes" xray="yes" /> <report focus="yes" hover="yes" xray="yes" />