Skip to content

Commit

Permalink
pkg/window_layouter: rules format change -> 24.12
Browse files Browse the repository at this point in the history
To accommodate multi-monitor window management, the window-layouter
rules must be extended. By renaming the rules file to a version number
reflecting the date of change (24.12), we prevent the loss of
window-layout state when switching back and forth between different
versions of the window-layouter.

The default rules contain now the definition of three displays
("primary", "secondary", and "ternary") and map 3 screens to each
display.

Issue genodelabs#5390
  • Loading branch information
nfeske committed Dec 6, 2024
1 parent ef792e9 commit 96612a6
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 22 deletions.
4 changes: 2 additions & 2 deletions repos/gems/recipes/pkg/window_layouter/runtime
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<service name="ROM" label="config">
<parent label="window_layouter.config"/> </service>
<service name="ROM" label="rules">
<child name="fs_rom" label="rules"/> </service>
<child name="fs_rom" label="24.12"/> </service>
<service name="ROM" label="window_list">
<parent label="window_list"/> </service>
<service name="ROM" label="focus_request">
Expand All @@ -65,7 +65,7 @@
<service name="ROM" label="decorator_margins">
<parent label="decorator_margins"/> </service>
<service name="Report" label="rules">
<child name="fs_report" label="rules"/> </service>
<child name="fs_report" label="24.12"/> </service>
<service name="Report" label="window_layout">
<parent label="window_layout"/> </service>
<service name="Report" label="resize_request">
Expand Down
69 changes: 49 additions & 20 deletions repos/gems/recipes/raw/window_layouter/window_layouter.config
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
<config rules="rom">
<report rules="yes"/>

<display name="primary"/>
<display name="secondary"/>
<display name="ternary"/>

<rules>
<screen name="screen_1"/>
<screen name="screen_2"/>
<screen name="screen_3"/>
<screen name="screen_4"/>
<screen name="screen_5"/>
<screen name="screen_6"/>
<screen name="screen_7"/>
<screen name="screen_8"/>
<screen name="screen_9"/>
<screen name="screen_1" display="primary"/>
<screen name="screen_2" display="primary"/>
<screen name="screen_3" display="primary"/>
<screen name="screen_4" display="secondary"/>
<screen name="screen_5" display="secondary"/>
<screen name="screen_6" display="secondary"/>
<screen name="screen_7" display="ternary"/>
<screen name="screen_8" display="ternary"/>
<screen name="screen_9" display="ternary"/>
<screen name="screen_0"/>
<assign label_prefix="" target="screen_1" xpos="any" ypos="any"/>
</rules>
Expand All @@ -22,23 +26,48 @@
</release>
<release key="KEY_SCREEN" action="raise_window"/>
</press>
<press key="KEY_LEFTSHIFT">
<press key="KEY_LEFTSHIFT" action="pick_up">
<press key="KEY_TAB" action="prev_window">
<release key="KEY_TAB">
<release key="KEY_SCREEN" action="raise_window"/>
</release>
</press>
<press key="KEY_1" action="screen" target="screen_1"/>
<press key="KEY_2" action="screen" target="screen_2"/>
<press key="KEY_3" action="screen" target="screen_3"/>
<press key="KEY_4" action="screen" target="screen_4"/>
<press key="KEY_5" action="screen" target="screen_5"/>
<press key="KEY_6" action="screen" target="screen_6"/>
<press key="KEY_7" action="screen" target="screen_7"/>
<press key="KEY_8" action="screen" target="screen_8"/>
<press key="KEY_9" action="screen" target="screen_9"/>
<press key="KEY_0" action="screen" target="screen_0"/>
<release key="KEY_LEFTSHIFT" action="place_down"/>
</press>
<press key="KEY_ENTER" action="toggle_fullscreen"/>
<press key="KEY_1" action="screen" target="screen_1"/>
<press key="KEY_2" action="screen" target="screen_2"/>
<press key="KEY_3" action="screen" target="screen_3"/>
<press key="KEY_4" action="screen" target="screen_4"/>
<press key="KEY_5" action="screen" target="screen_5"/>
<press key="KEY_6" action="screen" target="screen_6"/>
<press key="KEY_7" action="screen" target="screen_7"/>
<press key="KEY_8" action="screen" target="screen_8"/>
<press key="KEY_9" action="screen" target="screen_9"/>
<press key="KEY_0" action="screen" target="screen_0"/>
<press key="KEY_1" action="screen" target="screen_1"/>
<press key="KEY_2" action="screen" target="screen_2"/>
<press key="KEY_3" action="screen" target="screen_3"/>
<press key="KEY_4" action="screen" target="screen_4"/>
<press key="KEY_5" action="screen" target="screen_5"/>
<press key="KEY_6" action="screen" target="screen_6"/>
<press key="KEY_7" action="screen" target="screen_7"/>
<press key="KEY_8" action="screen" target="screen_8"/>
<press key="KEY_9" action="screen" target="screen_9"/>
<press key="KEY_0" action="screen" target="screen_0"/>
</press>

<!-- support switching screens while dragging a window --->
<press key="BTN_LEFT">
<press key="KEY_1" action="screen" target="screen_1"/>
<press key="KEY_2" action="screen" target="screen_2"/>
<press key="KEY_3" action="screen" target="screen_3"/>
<press key="KEY_4" action="screen" target="screen_4"/>
<press key="KEY_5" action="screen" target="screen_5"/>
<press key="KEY_6" action="screen" target="screen_6"/>
<press key="KEY_7" action="screen" target="screen_7"/>
<press key="KEY_8" action="screen" target="screen_8"/>
<press key="KEY_9" action="screen" target="screen_9"/>
<press key="KEY_0" action="screen" target="screen_0"/>
</press>
</config>

0 comments on commit 96612a6

Please sign in to comment.