Skip to content

Commit

Permalink
sculpt: manage leitzentrale window layout
Browse files Browse the repository at this point in the history
With this patch, the sculpt manager takes over the role the window
layouter of the leitzentrale, which eliminates the need to manually
position and size the inspect window.
  • Loading branch information
nfeske authored and chelmuth committed Jun 12, 2018
1 parent c1d2388 commit 3372c1a
Show file tree
Hide file tree
Showing 10 changed files with 212 additions and 46 deletions.
1 change: 0 additions & 1 deletion repos/gems/recipes/pkg/sculpt/archives
Expand Up @@ -38,7 +38,6 @@ _/src/e2fsprogs-minimal
_/src/nvme_drv
_/src/wm
_/src/themed_decorator
_/src/floating_window_layouter
_/src/libpng
_/src/zlib
_/src/menu_view
Expand Down
7 changes: 4 additions & 3 deletions repos/gems/run/leitzentrale.run
Expand Up @@ -279,10 +279,11 @@ install_config {

</config>}

file copy -force [genode_dir]/repos/gems/recipes/raw/fonts_fs/fonts_fs.config [run_dir]/genode/fonts.config
file copy -force [genode_dir]/repos/gems/run/sculpt/leitzentrale.config [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/vimrc [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/fonts.config [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/leitzentrale.config [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/vimrc [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/src/app/backdrop/genode_logo.png [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/drop_shadow.png [run_dir]/genode/

proc install_rom_module { name content } {
set fd [open [run_dir]/genode/$name w]
Expand Down
1 change: 1 addition & 0 deletions repos/gems/run/sculpt.run
Expand Up @@ -447,6 +447,7 @@ file copy -force [genode_dir]/repos/gems/recipes/raw/depot_download/depot_downlo
file copy -force [genode_dir]/VERSION [run_dir]/genode/

file copy -force [genode_dir]/repos/gems/src/app/backdrop/genode_logo.png [run_dir]/genode/
file copy -force [genode_dir]/repos/gems/run/sculpt/drop_shadow.png [run_dir]/genode/

exec gzip -dc [genode_dir]/repos/gems/run/sculpt/machine.vdi.gz > [run_dir]/genode/machine.vdi

Expand Down
Binary file added repos/gems/run/sculpt/drop_shadow.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions repos/gems/run/sculpt/fonts.config
Expand Up @@ -20,4 +20,7 @@

<!-- policy when using this file as fonts-fs config -->
<default-policy root="/fonts" />

<!-- color definition when this file is used as terminal config -->
<color index="0" bg="#1c2232"/>
</config>
54 changes: 26 additions & 28 deletions repos/gems/run/sculpt/leitzentrale.config
Expand Up @@ -90,17 +90,15 @@
<service name="ROM"/>
</provides>
<config verbose="no">
<policy label="layouter -> window_list" report="wm -> window_list"/>
<policy label="layouter -> focus_request" report="wm -> focus_request"/>
<policy label="decorator -> window_layout" report="layouter -> window_layout"/>
<policy label="wm -> resize_request" report="layouter -> resize_request"/>
<policy label="decorator -> window_layout" report="manager -> window_layout"/>
<policy label="wm -> resize_request" report="manager -> window_layout"/>
<policy label="wm -> focus" report="manager -> wm_focus"/>
<policy label="decorator -> pointer" report="wm -> pointer"/>
<policy label="layouter -> hover" report="decorator -> hover"/>
<policy label="layouter -> decorator_margins" report="decorator -> decorator_margins"/>
<policy label="wm -> focus" report="layouter -> focus"/>
<policy label="gui -> config" report="manager -> gui_config"/>
<policy label="gui -> menu_view -> dialog" report="manager -> menu_dialog"/>
<policy label="manager -> menu_view_hover" report="gui -> menu_view -> hover"/>
<policy label="manager -> window_list" report="wm -> window_list"/>
<policy label="manager -> decorator_margins" report="decorator -> decorator_margins"/>
<policy label="nitpicker -> focus" report="manager -> focus"/>
</config>
</start>
Expand All @@ -110,7 +108,6 @@
<provides> <service name="Nitpicker"/> </provides>
<config>
<policy label_prefix="decorator" role="decorator"/>
<policy label_prefix="layouter" role="layouter"/>
</config>
<route>
<service name="ROM" label="resize_request"> <child name="report_rom"/> </service>
Expand All @@ -121,29 +118,26 @@
</route>
</start>

<start name="layouter">
<binary name="floating_window_layouter"/>
<resource name="RAM" quantum="2M"/>
<config/>
<route>
<service name="ROM" label="window_list"> <child name="report_rom"/> </service>
<service name="ROM" label="focus_request"> <child name="report_rom"/> </service>
<service name="ROM" label="hover"> <child name="report_rom"/> </service>
<service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service>
<service name="Report"> <child name="report_rom"/> </service>
<service name="Nitpicker"> <child name="wm"/> </service>
<any-service> <child name="wm"/> <parent/> <any-child/> </any-service>
</route>
</start>

<start name="decorator" caps="200">
<binary name="themed_decorator"/>
<resource name="RAM" quantum="8M"/>
<config>
<libc/>
<vfs> <tar name="plain_decorator_theme.tar"/> </vfs>
<vfs>
<dir name="theme">
<inline name="metadata">
<theme>
<aura top="5" bottom="5" left="5" right="5"/>
<decor top="6" bottom="6" left="6" right="6"/>
</theme>
</inline>
<rom name="default.png"/>
</dir>
<dir name="dev"> <log/> </dir>
</vfs>
</config>
<route>
<service name="ROM" label="default.png"> <parent label="drop_shadow.png"/> </service>
<service name="ROM" label="window_layout"> <child name="report_rom"/> </service>
<service name="ROM" label="pointer"> <child name="report_rom"/> </service>
<service name="Report" label="decorator_margins"> <child name="report_rom"/> </service>
Expand All @@ -164,7 +158,7 @@
</route>
</start>

<start name="manager" caps="200">
<start name="manager" caps="300">
<binary name="sculpt_manager"/>
<resource name="RAM" quantum="3M"/>
<provides> <service name="Nitpicker"/> </provides>
Expand All @@ -190,6 +184,8 @@
<service name="ROM" label="nitpicker_hover"> <parent/> </service>
<service name="ROM" label_prefix="report ->"> <parent/> </service>
<service name="ROM" label="menu_view_hover"> <child name="report_rom"/> </service>
<service name="ROM" label="window_list"> <child name="report_rom"/> </service>
<service name="ROM" label="decorator_margins"> <child name="report_rom"/> </service>
<service name="Nitpicker"> <parent/> </service>
<any-service> <parent/> </any-service>
</route>
Expand All @@ -208,7 +204,7 @@

<start name="gui" caps="1400">
<binary name="init"/>
<resource name="RAM" quantum="12M"/>
<resource name="RAM" quantum="14M"/>
<route>
<service name="ROM" label="config"> <child name="report_rom"/> </service>
<service name="ROM" label_last="dialog"> <child name="report_rom"/> </service>
Expand All @@ -223,9 +219,9 @@
<binary name="nit_fb"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
<config origin="top_right" xpos="-412" ypos="2" width="410" height="-4"/>
<config origin="top_right" xpos="-412" ypos="2" initial_width="400" initial_height="400"/>
<route>
<service name="Nitpicker"> <child name="nitpicker"/> </service>
<service name="Nitpicker"> <child name="wm" label="log"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
Expand All @@ -235,6 +231,8 @@
<resource name="RAM" quantum="4M"/>
<provides> <service name="Terminal"/> </provides>
<config>
<color index="0" bg="#2f3953"/>
<color index="8" bg="#2f3953"/>
<vfs>
<rom name="VeraMono.ttf"/>
<dir name="fonts">
Expand Down
7 changes: 6 additions & 1 deletion repos/gems/src/app/sculpt_manager/gui.cc
Expand Up @@ -27,7 +27,7 @@ void Sculpt::Gui::_gen_menu_view_start_content(Xml_generator &xml,
{
xml.attribute("version", version.value);

gen_common_start_content(xml, label, Cap_quota{150}, Ram_quota{8*1024*1024});
gen_common_start_content(xml, label, Cap_quota{150}, Ram_quota{9*1024*1024});

gen_named_node(xml, "binary", "menu_view");

Expand Down Expand Up @@ -98,6 +98,11 @@ void Sculpt::Gui::_generate_config(Xml_generator &xml) const
gen_parent_service<::File_system::Session>(xml);
});

xml.node("resource", [&] () {
xml.attribute("name", "RAM");
xml.attribute("preserve", "1M");
});

xml.node("start", [&] () {
_gen_menu_view_start_content(xml, "menu_view", Point(0, 0)); });
}
Expand Down
5 changes: 5 additions & 0 deletions repos/gems/src/app/sculpt_manager/gui.h
Expand Up @@ -48,6 +48,11 @@ struct Sculpt::Gui
_config.generate([&] (Xml_generator &xml) { _generate_config(xml); });
}

void font_size(float px)
{
menu_width = max(px*21, 320.0);
}

Gui(Env &env) : _env(env) { }
};

Expand Down

0 comments on commit 3372c1a

Please sign in to comment.