| data/config.in | |
| 33 | @@ -33,6 +33,7 @@ |
| 33 | FullscreenAbove = "True" |
| 34 | FullscreenDetect = "True" |
| 35 | HonourRandr = "True" |
| 36 | HonourAspectRatio = "True" |
| 37 | EdgeSize = "1 1 1 1" |
| 38 | EdgeIndent = "False" |
| 39 | PixmapCacheSize = "20" |
| ... | |
| src/Config.cc | |
| 93 | @@ -93,6 +93,7 @@ |
| 93 | _screen_show_workspace_indicator(500), _screen_workspace_indicator_scale(16), |
| 94 | _screen_place_new(true), _screen_focus_new(false), |
| 95 | _screen_focus_new_child(true), _screen_honour_randr(true), |
| 96 | _screen_honour_aspectratio(true), |
| 97 | _screen_placement_row(false), |
| 98 | _screen_placement_ltr(true), _screen_placement_ttb(true), |
| 99 | _screen_placement_offset_x(0), _screen_placement_offset_y(0), |
| ... | |
| 589 | @@ -588,6 +589,7 @@ |
| 589 | key_list.push_back(new CfgParserKeyBool("FOCUSNEW", _screen_focus_new)); |
| 590 | key_list.push_back(new CfgParserKeyBool("FOCUSNEWCHILD", _screen_focus_new_child, true)); |
| 591 | key_list.push_back(new CfgParserKeyBool("HONOURRANDR", _screen_honour_randr, true)); |
| 592 | key_list.push_back(new CfgParserKeyBool("HONOURASPECTRATIO", _screen_honour_aspectratio, true)); |
| 593 | |
| 594 | // Parse data |
| 595 | section->parse_key_values(key_list.begin(), key_list.end()); |
| ... | |
| src/Config.hh | |
| 129 | @@ -129,6 +129,7 @@ |
| 129 | inline bool isFocusNew(void) const { return _screen_focus_new; } |
| 130 | inline bool isFocusNewChild(void) const { return _screen_focus_new_child; } |
| 131 | inline bool isHonourRandr(void) const { return _screen_honour_randr; } |
| 132 | inline bool isHonourAspectRatio(void) const { return _screen_honour_aspectratio; } |
| 133 | |
| 134 | inline std::list<uint>::iterator getPlacementModelBegin(void) { return _screen_placementmodels.begin(); } |
| 135 | inline std::list<uint>::iterator getPlacementModelEnd(void) { return _screen_placementmodels.end(); } |
| ... | |
| 275 | @@ -274,6 +275,7 @@ |
| 275 | int _screen_workspace_indicator_scale; //!< Scale of the workspace indicator head |
| 276 | bool _screen_place_new, _screen_focus_new, _screen_focus_new_child; |
| 277 | bool _screen_honour_randr; /**< Boolean flag if randr information should be honoured. */ |
| 278 | bool _screen_honour_aspectratio; /**< if true, pekwm keeps aspect ratio (XSizeHint) */ |
| 279 | bool _screen_placement_row, _screen_placement_ltr, _screen_placement_ttb; |
| 280 | int _screen_placement_offset_x, _screen_placement_offset_y; |
| 281 | std::list<uint> _screen_placementmodels; |
| ... | |
| doc/config/configfile/keywords.xml | |
| 181 | @@ -181,6 +181,12 @@ |
| 181 | </listitem> |
| 182 | </varlistentry> |
| 183 | <varlistentry> |
| 184 | <term>HonourAspectRatio (boolean)</term> |
| 185 | <listitem> |
| 186 | <para>Toggles if pekwm respects the aspect ratio of clients (XSizeHints). Default true.</para> |
| 187 | </listitem> |
| 188 | </varlistentry> |
| 189 | <varlistentry> |
| 190 | <term>EdgeSize (int) (int) (int) (int)</term> |
| 191 | <listitem> |
| 192 | <para> |
| ... | |
| src/Client.cc | |
| 1299 | @@ -1299,7 +1299,7 @@ |
| 1299 | Client::getAspectSize(uint *r_w, uint *r_h, uint w, uint h) |
| 1300 | { |
| 1301 | // see ICCCM 4.1.2.3 for PAspect and {min,max}_aspect |
| 1302 | if (_size->flags & PAspect) { |
| 1303 | if (_size->flags & PAspect && Config::instance()->isHonourAspectRatio()) { |
| 1304 | // shorthand |
| 1305 | const uint amin_x = _size->min_aspect.x; |
| 1306 | const uint amin_y = _size->min_aspect.y; |
| ... | |
| doc/config/configfile/basic.xml | |
| 42 | @@ -42,6 +42,7 @@ |
| 42 | FullscreenAbove = "True" |
| 43 | FullscreenDetect = "True" |
| 44 | HonourRandr = "True" |
| 45 | HonourAspectRatio = "True" |
| 46 | EdgeSize = "1 1 1 1" |
| 47 | EdgeIndent = "False" |
| 48 | PixmapCacheSize = "20" |
| ... | |