Add option to persist intellihide state

gh-2242
This commit is contained in:
Charles Gagnon
2025-02-19 00:29:40 -05:00
parent 3e6c900c67
commit cffc73a74b
5 changed files with 128 additions and 91 deletions

View File

@@ -1,53 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version='1.0' encoding='UTF-8'?>
<interface>
<!-- interface-name BoxIntellihideOptions.ui -->
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.3"/>
<object class="GtkAdjustment" id="intellihide_pressure_threshold_adjustment">
<property name="lower">1</property>
<property name="page-increment">100</property>
<property name="step-increment">10</property>
<property name="upper">9990</property>
<property name="step_increment">10</property>
<property name="page_increment">100</property>
</object>
<object class="GtkAdjustment" id="intellihide_pressure_time_adjustment">
<property name="lower">1</property>
<property name="page-increment">100</property>
<property name="step-increment">10</property>
<property name="upper">5000</property>
<property name="step_increment">10</property>
<property name="page_increment">100</property>
</object>
<object class="GtkAdjustment" id="intellihide_animation_time_adjustment">
<property name="lower">10</property>
<property name="page-increment">100</property>
<property name="step-increment">10</property>
<property name="upper">2000</property>
<property name="step_increment">10</property>
<property name="page_increment">100</property>
</object>
<object class="GtkAdjustment" id="intellihide_close_delay_adjustment">
<property name="lower">10</property>
<property name="page-increment">100</property>
<property name="step-increment">10</property>
<property name="upper">4000</property>
<property name="step_increment">10</property>
<property name="page_increment">100</property>
</object>
<object class="GtkAdjustment" id="intellihide_enable_hide_delay_adjustment">
<property name="page-increment">100</property>
<property name="step-increment">10</property>
<property name="upper">10000</property>
<property name="step_increment">10</property>
<property name="page_increment">100</property>
</object>
<object class="GtkBox" id="box_intellihide_options">
<property name="orientation">vertical</property>
<property name="width-request">600</property>
<property name="spacing">24</property>
<property name="margin-top">32</property>
<property name="margin-bottom">32</property>
<property name="margin-start">32</property>
<property name="margin-end">32</property>
<property name="margin-start">32</property>
<property name="margin-top">32</property>
<property name="orientation">vertical</property>
<property name="spacing">24</property>
<property name="width-request">600</property>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Only hide the panel when it is obstructed by windows</property>
@@ -58,7 +52,6 @@
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="intellihide_behaviour_options">
<property name="title" translatable="yes">The panel hides from</property>
@@ -74,13 +67,10 @@
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Require pressure at the edge of the screen to reveal the panel</property>
@@ -91,43 +81,38 @@
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="intellihide_use_pressure_options">
<property name="title" translatable="yes">Required pressure threshold (px)</property>
<child>
<object class="GtkSpinButton" id="intellihide_pressure_threshold_spinbutton">
<property name="valign">center</property>
<property name="width_chars">4</property>
<property name="text">0</property>
<property name="adjustment">intellihide_pressure_threshold_adjustment</property>
<property name="numeric">True</property>
<property name="text">0</property>
<property name="valign">center</property>
<property name="width-chars">4</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="intellihide_use_pressure_options2">
<property name="title" translatable="yes">Required pressure timeout (ms)</property>
<child>
<object class="GtkSpinButton" id="intellihide_pressure_time_spinbutton">
<property name="valign">center</property>
<property name="width_chars">4</property>
<property name="text">0</property>
<property name="adjustment">intellihide_pressure_time_adjustment</property>
<property name="numeric">True</property>
<property name="text">0</property>
<property name="valign">center</property>
<property name="width-chars">4</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Allow the panel to be revealed while in fullscreen mode</property>
@@ -138,11 +123,10 @@
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="grid_intellihide_only_secondary">
<property name="title" translatable="yes">Only hide secondary panels</property>
<property name="subtitle" translatable="yes">(requires multi-monitors option)</property>
<property name="title" translatable="yes">Only hide secondary panels</property>
<child>
<object class="GtkSwitch" id="intellihide_only_secondary_switch">
<property name="valign">center</property>
@@ -150,77 +134,78 @@
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Keyboard shortcut to reveal and hold the panel</property>
<property name="subtitle" translatable="yes">Syntax: &amp;lt;Shift&amp;gt;, &amp;lt;Ctrl&amp;gt;, &amp;lt;Alt&amp;gt;, &amp;lt;Super&amp;gt;</property>
<property name="title" translatable="yes">Keyboard shortcut to reveal and hold the panel</property>
<child>
<object class="GtkEntry" id="intellihide_toggle_entry">
<property name="placeholder-text" translatable="yes">e.g. &lt;Super&gt;i</property>
<property name="valign">center</property>
<property name="width-chars">12</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="grid_intellihide_persist_state">
<property name="title" translatable="yes">Persist state across restarts</property>
<child>
<object class="GtkSwitch" id="intellihide_persist_state_switch">
<property name="valign">center</property>
<property name="width_chars">12</property>
<property name="placeholder_text" translatable="yes">e.g. &lt;Super&gt;i</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Hide and reveal animation duration (ms)</property>
<child>
<object class="GtkSpinButton" id="intellihide_animation_time_spinbutton">
<property name="valign">center</property>
<property name="width_chars">4</property>
<property name="text">0</property>
<property name="adjustment">intellihide_animation_time_adjustment</property>
<property name="numeric">True</property>
<property name="text">0</property>
<property name="valign">center</property>
<property name="width-chars">4</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Delay before hiding the panel (ms)</property>
<child>
<object class="GtkSpinButton" id="intellihide_close_delay_spinbutton">
<property name="valign">center</property>
<property name="width_chars">4</property>
<property name="text">10</property>
<property name="adjustment">intellihide_close_delay_adjustment</property>
<property name="numeric">True</property>
<property name="text">10</property>
<property name="valign">center</property>
<property name="value">10</property>
<property name="width-chars">4</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Delay before enabling intellihide on start (ms)</property>
<child>
<object class="GtkSpinButton" id="intellihide_enable_start_delay_spinbutton">
<property name="valign">center</property>
<property name="width_chars">4</property>
<property name="text">10</property>
<property name="adjustment">intellihide_enable_hide_delay_adjustment</property>
<property name="numeric">True</property>
<property name="text">10</property>
<property name="valign">center</property>
<property name="value">10</property>
<property name="width-chars">4</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
</interface>