mirror of
https://github.com/artizirk/wdisplays.git
synced 2026-10-03 12:55:42 +03:00
GTK3 toplevel windows on Wayland don't grow to accommodate new content once mapped, so when heads are (re)populated asynchronously after the window is shown, or when switching to the "Apply Changes?" header, the window can keep its stale (too small) size and clip the settings panel (Apply/Cancel buttons, Transform, Flipped, etc). This matches #5. - main.c: explicitly resize the window to its natural size after rebuilding the head list and after switching the header stack page. - head.ui: bound the head description label with max-width-chars so a long EDID description string can't force the layout wider than intended even when wrap/ellipsize are set.
400 lines
16 KiB
XML
400 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!-- Generated with glade 3.22.2 -->
|
||
<interface>
|
||
<requires lib="gtk+" version="3.22"/>
|
||
<object class="GtkAdjustment" id="height_adjustment">
|
||
<property name="upper">16383</property>
|
||
<property name="step_increment">1</property>
|
||
<property name="page_increment">10</property>
|
||
</object>
|
||
<object class="GtkAdjustment" id="pos_x_adjustment">
|
||
<property name="upper">16383</property>
|
||
<property name="step_increment">1</property>
|
||
<property name="page_increment">10</property>
|
||
</object>
|
||
<object class="GtkAdjustment" id="pos_y_adjustment">
|
||
<property name="upper">16383</property>
|
||
<property name="step_increment">1</property>
|
||
<property name="page_increment">10</property>
|
||
</object>
|
||
<object class="GtkAdjustment" id="refresh_adjustment">
|
||
<property name="upper">2147483.647</property>
|
||
<property name="step_increment">1</property>
|
||
<property name="page_increment">10</property>
|
||
</object>
|
||
<object class="GtkAdjustment" id="scale_adjustment">
|
||
<property name="lower">0.01</property>
|
||
<property name="upper">99999</property>
|
||
<property name="step_increment">0.1</property>
|
||
<property name="page_increment">0.5</property>
|
||
</object>
|
||
<object class="GtkAdjustment" id="width_adjustment">
|
||
<property name="upper">16383</property>
|
||
<property name="step_increment">1</property>
|
||
<property name="page_increment">10</property>
|
||
</object>
|
||
<template class="WdHeadForm" parent="GtkGrid">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="margin_start">8</property>
|
||
<property name="margin_end">8</property>
|
||
<property name="margin_top">8</property>
|
||
<property name="margin_bottom">8</property>
|
||
<property name="row_spacing">8</property>
|
||
<property name="column_spacing">16</property>
|
||
<property name="row_homogeneous">True</property>
|
||
<child>
|
||
<object class="GtkCheckButton" id="enabled">
|
||
<property name="label" translatable="yes">_Enabled</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="receives_default">False</property>
|
||
<property name="halign">start</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="draw_indicator">True</property>
|
||
<signal name="toggled" handler="enabled_toggled" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">0</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel" id="description">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="wrap">True</property>
|
||
<property name="wrap_mode">word-char</property>
|
||
<property name="ellipsize">end</property>
|
||
<property name="max_width_chars">40</property>
|
||
<property name="xalign">0</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkSpinButton" id="scale">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="halign">start</property>
|
||
<property name="width_chars">9</property>
|
||
<property name="adjustment">scale_adjustment</property>
|
||
<property name="digits">2</property>
|
||
<property name="value">1</property>
|
||
<signal name="value-changed" handler="position_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">3</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">DPI _Scale</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="mnemonic_widget">scale</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">3</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">_Position</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="mnemonic_widget">pos_x</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">4</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">Description</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel" id="physical_size">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="wrap">True</property>
|
||
<property name="wrap_mode">word-char</property>
|
||
<property name="ellipsize">end</property>
|
||
<property name="xalign">0</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">2</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">Physical Size</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">2</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">Si_ze</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="mnemonic_widget">width</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">5</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkBox">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="halign">start</property>
|
||
<property name="spacing">8</property>
|
||
<child>
|
||
<object class="GtkSpinButton" id="refresh">
|
||
<property name="name">refresh</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="width_chars">9</property>
|
||
<property name="input_purpose">number</property>
|
||
<property name="adjustment">refresh_adjustment</property>
|
||
<property name="digits">3</property>
|
||
<property name="numeric">True</property>
|
||
<property name="update_policy">if-valid</property>
|
||
<signal name="value-changed" handler="mode_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="expand">False</property>
|
||
<property name="fill">True</property>
|
||
<property name="position">0</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">Hz</property>
|
||
</object>
|
||
<packing>
|
||
<property name="expand">False</property>
|
||
<property name="fill">True</property>
|
||
<property name="position">1</property>
|
||
</packing>
|
||
</child>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">6</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">_Refresh Rate</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">6</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkMenuButton" id="rotate_button">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="receives_default">True</property>
|
||
<child>
|
||
<placeholder/>
|
||
</child>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">7</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">_Transform</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="xalign">1</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">7</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkCheckButton" id="flipped">
|
||
<property name="label" translatable="yes">_Flipped</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="receives_default">False</property>
|
||
<property name="halign">start</property>
|
||
<property name="use_underline">True</property>
|
||
<property name="draw_indicator">True</property>
|
||
<signal name="toggled" handler="flipped_toggled" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">8</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkGrid">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="row_spacing">8</property>
|
||
<child>
|
||
<object class="GtkSpinButton" id="pos_x">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="width_chars">6</property>
|
||
<property name="text" translatable="yes">0</property>
|
||
<property name="input_purpose">number</property>
|
||
<property name="adjustment">pos_x_adjustment</property>
|
||
<property name="numeric">True</property>
|
||
<property name="update_policy">if-valid</property>
|
||
<signal name="value-changed" handler="position_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">0</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkSpinButton" id="pos_y">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="width_chars">6</property>
|
||
<property name="text" translatable="yes">0</property>
|
||
<property name="input_purpose">number</property>
|
||
<property name="adjustment">pos_y_adjustment</property>
|
||
<property name="numeric">True</property>
|
||
<property name="update_policy">if-valid</property>
|
||
<signal name="value-changed" handler="position_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">2</property>
|
||
<property name="top_attach">0</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkSpinButton" id="width">
|
||
<property name="name">width</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="width_chars">4</property>
|
||
<property name="text" translatable="yes">0</property>
|
||
<property name="input_purpose">number</property>
|
||
<property name="adjustment">width_adjustment</property>
|
||
<property name="numeric">True</property>
|
||
<property name="update_policy">if-valid</property>
|
||
<signal name="value-changed" handler="mode_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">0</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkLabel">
|
||
<property name="width_request">20</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="label" translatable="yes">×</property>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkSpinButton" id="height">
|
||
<property name="name">height</property>
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="width_chars">4</property>
|
||
<property name="text" translatable="yes">0</property>
|
||
<property name="input_purpose">number</property>
|
||
<property name="adjustment">height_adjustment</property>
|
||
<property name="numeric">True</property>
|
||
<property name="update_policy">if-valid</property>
|
||
<signal name="value-changed" handler="mode_spin_changed" swapped="no"/>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">2</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<object class="GtkMenuButton" id="mode_button">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">True</property>
|
||
<property name="receives_default">True</property>
|
||
<property name="tooltip_text" translatable="yes">Select Mode Preset</property>
|
||
<property name="margin_start">8</property>
|
||
<child>
|
||
<object class="GtkImage">
|
||
<property name="visible">True</property>
|
||
<property name="can_focus">False</property>
|
||
<property name="icon_name">view-more-symbolic</property>
|
||
</object>
|
||
</child>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">3</property>
|
||
<property name="top_attach">1</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<placeholder/>
|
||
</child>
|
||
<child>
|
||
<placeholder/>
|
||
</child>
|
||
</object>
|
||
<packing>
|
||
<property name="left_attach">1</property>
|
||
<property name="top_attach">4</property>
|
||
<property name="height">2</property>
|
||
</packing>
|
||
</child>
|
||
<child>
|
||
<placeholder/>
|
||
</child>
|
||
<child>
|
||
<placeholder/>
|
||
</child>
|
||
</template>
|
||
</interface>
|