mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-31 08:25:38 +00:00
parent
e4412a3e56
commit
605f9abf96
@ -3,6 +3,7 @@ _/pkg/wifi
|
||||
_/pkg/depot_download
|
||||
_/pkg/terminal
|
||||
_/src/report_rom
|
||||
_/src/clipboard
|
||||
_/src/init
|
||||
_/src/ram_fs
|
||||
_/src/fs_rom
|
||||
|
@ -61,6 +61,7 @@ install_config {
|
||||
<policy label="pointer -> xray"
|
||||
report="global_keys_handler -> leitzentrale"/>
|
||||
<policy label="pointer -> shape" report="shape"/>
|
||||
<policy label="clipboard -> focus" report="nitpicker -> focus"/>
|
||||
<policy label="drivers -> capslock" report="global_keys_handler -> capslock"/>
|
||||
<policy label="runtime -> capslock" report="global_keys_handler -> capslock"/>
|
||||
<policy label="drivers -> numlock" report="global_keys_handler -> numlock"/>
|
||||
@ -112,6 +113,7 @@ install_config {
|
||||
<rom name="drivers" label="drivers.config"/>
|
||||
<rom name="deploy" label="manual_deploy.config"/>
|
||||
<rom name="usb" label="usb.config"/>
|
||||
<rom name="clipboard" label="clipboard.config"/>
|
||||
<rom name="en_us.chargen"/>
|
||||
<rom name="fr.chargen"/>
|
||||
<rom name="de.chargen"/>
|
||||
@ -369,6 +371,19 @@ install_config {
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="clipboard" priority="-2">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides>
|
||||
<service name="ROM"/> <service name="Report"/>
|
||||
</provides>
|
||||
<route>
|
||||
<service name="ROM" label="config">
|
||||
<child name="config_fs_rom" label="clipboard"/> </service>
|
||||
<service name="ROM" label="focus"> <child name="report_rom"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="leitzentrale" caps="4000" priority="-2">
|
||||
<binary name="init"/>
|
||||
<resource name="RAM" quantum="164M"/>
|
||||
@ -442,6 +457,12 @@ install_config {
|
||||
<service name="Nitpicker"> <child name="nitpicker"/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
<service name="Report" label_suffix="-> shape"> <child name="pointer"/> </service>
|
||||
<service name="Report" label="inspect terminal -> clipboard">
|
||||
<child name="clipboard" label="leitzentrale -> manager -> fader -> -> clipboard"/> </service>
|
||||
<service name="ROM" label="inspect terminal -> clipboard">
|
||||
<child name="clipboard" label="leitzentrale -> manager -> fader -> -> clipboard"/> </service>
|
||||
<service name="Report" label_suffix="-> clipboard"> <child name="clipboard"/> </service>
|
||||
<service name="ROM" label_suffix="-> clipboard"> <child name="clipboard"/> </service>
|
||||
<service name="Report" label="runtime_view -> hover">
|
||||
<child name="report_rom"/> </service>
|
||||
<service name="Report"> <child name="fs_report"/> </service>
|
||||
|
6
repos/gems/run/sculpt/clipboard.config
Normal file
6
repos/gems/run/sculpt/clipboard.config
Normal file
@ -0,0 +1,6 @@
|
||||
<config verbose="no" match_labels="yes">
|
||||
<flow from="leitzentrale" to="desktop" />
|
||||
<flow from="desktop" to="leitzentrale" />
|
||||
<policy label_prefix="leitzentrale" domain="leitzentrale"/>
|
||||
<default-policy domain="desktop"/>
|
||||
</config>
|
@ -1,4 +1,4 @@
|
||||
<config>
|
||||
<config copy="yes" paste="yes">
|
||||
<vfs>
|
||||
<rom name="Vera.ttf"/>
|
||||
<rom name="VeraMono.ttf"/>
|
||||
|
@ -930,6 +930,8 @@ void Sculpt::Main::_handle_nitpicker_mode()
|
||||
_gui.font_size(text_size);
|
||||
|
||||
_fonts_config.generate([&] (Xml_generator &xml) {
|
||||
xml.attribute("copy", true);
|
||||
xml.attribute("paste", true);
|
||||
xml.node("vfs", [&] () {
|
||||
gen_named_node(xml, "rom", "Vera.ttf");
|
||||
gen_named_node(xml, "rom", "VeraMono.ttf");
|
||||
|
@ -122,8 +122,13 @@ struct Sculpt::Route : List_model<Route>::Element
|
||||
|
||||
gen_named_node(xml, "service", Service::name_attr(required), [&] () {
|
||||
|
||||
if (required_label.valid())
|
||||
xml.attribute("label", required_label);
|
||||
if (required_label.valid()) {
|
||||
|
||||
if (selected_service->match_label == Service::Match_label::LAST)
|
||||
xml.attribute("label_last", required_label);
|
||||
else
|
||||
xml.attribute("label", required_label);
|
||||
}
|
||||
|
||||
selected_service->gen_xml(xml);
|
||||
});
|
||||
|
@ -324,6 +324,9 @@ class Sculpt::Runtime_config
|
||||
_pf_info { _r, Type::ROM, "platform information", "platform_info" },
|
||||
_system { _r, Type::ROM, "system status", "config -> system" },
|
||||
_report { _r, Type::REPORT, "system reports" },
|
||||
_shape { _r, Type::REPORT, "pointer shape", "shape", Service::Match_label::LAST },
|
||||
_copy { _r, Type::REPORT, "global clipboard", "clipboard", Service::Match_label::LAST },
|
||||
_paste { _r, Type::ROM, "global clipboard", "clipboard", Service::Match_label::LAST },
|
||||
_rm { _r, Type::RM, "custom virtual memory objects" },
|
||||
_io_mem { _r, Type::IO_MEM, "raw hardware access" },
|
||||
_io_port { _r, Type::IO_PORT, "raw hardware access" },
|
||||
|
@ -29,10 +29,13 @@ struct Sculpt::Service
|
||||
RM, IO_MEM, IO_PORT, IRQ, REPORT, ROM, TERMINAL, TRACE,
|
||||
USB, RTC, PLATFORM, VM, UNDEFINED };
|
||||
|
||||
Start_name server { }; /* invalid for parent service */
|
||||
Type type;
|
||||
Label label;
|
||||
Info info;
|
||||
enum class Match_label { EXACT, LAST };
|
||||
|
||||
Start_name server { }; /* invalid for parent service */
|
||||
Type type;
|
||||
Label label;
|
||||
Info info;
|
||||
Match_label match_label { Match_label::EXACT };
|
||||
|
||||
/**
|
||||
* Return name attribute value of <service name="..."> node
|
||||
@ -72,8 +75,11 @@ struct Sculpt::Service
|
||||
/**
|
||||
* Constructor for parent service
|
||||
*/
|
||||
Service(Type type, Info const &info, Label const &label = Label())
|
||||
: type(type), label(label), info(info) { }
|
||||
Service(Type type, Info const &info, Label const &label = Label(),
|
||||
Match_label match_label = Match_label::EXACT)
|
||||
:
|
||||
type(type), label(label), info(info), match_label(match_label)
|
||||
{ }
|
||||
|
||||
void gen_xml(Xml_generator &xml) const
|
||||
{
|
||||
@ -84,7 +90,7 @@ struct Sculpt::Service
|
||||
if (!parent)
|
||||
xml.attribute("name", server);
|
||||
|
||||
if (label.valid())
|
||||
if (label.valid() && match_label == Match_label::EXACT)
|
||||
xml.attribute("label", label);
|
||||
});
|
||||
}
|
||||
|
@ -91,6 +91,11 @@ void Sculpt::gen_terminal_start(Xml_generator &xml, Rom_name const &name,
|
||||
gen_parent_route<Pd_session> (xml);
|
||||
gen_parent_route<Log_session> (xml);
|
||||
gen_parent_route<Timer::Session> (xml);
|
||||
gen_parent_route<Report::Session>(xml);
|
||||
|
||||
gen_named_node(xml, "service", Rom_session::service_name(), [&] () {
|
||||
xml.attribute("label", "clipboard");
|
||||
xml.node("parent", [&] () { }); });
|
||||
|
||||
gen_named_node(xml, "service", Rom_session::service_name(), [&] () {
|
||||
xml.attribute("label", "config");
|
||||
|
Loading…
x
Reference in New Issue
Block a user