Fixes #914.
.\" Title: bspwm
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 01/24/2019
+.\" Date: 01/29/2019
.\" Manual: Bspwm Manual
-.\" Source: Bspwm 0.9.5-31-ga8b40f5
+.\" Source: Bspwm 0.9.5-35-g32ff624
.\" Language: English
.\"
-.TH "BSPWM" "1" "01/24/2019" "Bspwm 0\&.9\&.5\-31\-ga8b40f5" "Bspwm Manual"
+.TH "BSPWM" "1" "01/29/2019" "Bspwm 0\&.9\&.5\-35\-g32ff624" "Bspwm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.PP
tiled
.RS 4
-Its size and position are determined by the splitting type and ratio of each node of its path in the window tree\&.
+Its size and position are determined by the window tree\&.
.RE
.PP
pseudo_tiled
.RS 4
-Has an unrestricted size while being centered in its tiling space\&.
+A tiled window that automatically shrinks but doesn\(cqt stretch beyond its floating size\&.
.RE
.PP
floating
.RS 4
-Can be moved/resized freely\&. Although it doesn\(cqt occupy any tiling space, it is still part of the window tree\&.
+Can be moved/resized freely\&. Although it doesn\(cqt use any tiling space, it is still part of the window tree\&.
.RE
.PP
fullscreen
.RS 4
-Fills its monitor rectangle and has no borders\&. It is send in the ABOVE layer by default\&.
+Fills its monitor rectangle and has no borders\&.
.RE
.SH "NODE FLAGS"
.PP
Modifiers
^^^^^^^^^
-
-
[!]focused::
Only consider the focused node.
-------------
tiled::
- Its size and position are determined by the splitting type and ratio of each node of its path in the window tree.
+ Its size and position are determined by the window tree.
pseudo_tiled::
- Has an unrestricted size while being centered in its tiling space.
+ A tiled window that automatically shrinks but doesn't stretch beyond its floating size.
floating::
- Can be moved/resized freely. Although it doesn't occupy any tiling space, it is still part of the window tree.
+ Can be moved/resized freely. Although it doesn't use any tiling space, it is still part of the window tree.
fullscreen::
- Fills its monitor rectangle and has no borders. It is send in the ABOVE layer by default.
+ Fills its monitor rectangle and has no borders.
Node Flags
xcb_rectangle_t r;
xcb_rectangle_t cr = get_window_rectangle(n);
client_state_t s = n->client->state;
+ /* tiled and pseudo-tiled clients */
if (s == STATE_TILED || s == STATE_PSEUDO_TILED) {
int wg = (gapless_monocle && l == LAYOUT_MONOCLE ? 0 : d->window_gap);
- /* tiled clients */
- if (s == STATE_TILED) {
- r = rect;
- int bleed = wg + 2 * bw;
- r.width = (bleed < r.width ? r.width - bleed : 1);
- r.height = (bleed < r.height ? r.height - bleed : 1);
+ r = rect;
+ int bleed = wg + 2 * bw;
+ r.width = (bleed < r.width ? r.width - bleed : 1);
+ r.height = (bleed < r.height ? r.height - bleed : 1);
/* pseudo-tiled clients */
- } else {
- r = n->client->floating_rectangle;
+ if (s == STATE_PSEUDO_TILED) {
+ xcb_rectangle_t f = n->client->floating_rectangle;
+ r.width = MIN(r.width, f.width);
+ r.height = MIN(r.height, f.height);
if (center_pseudo_tiled) {
r.x = rect.x - bw + (rect.width - wg - r.width) / 2;
r.y = rect.y - bw + (rect.height - wg - r.height) / 2;
- } else {
- r.x = rect.x;
- r.y = rect.y;
}
}
n->client->tiled_rectangle = r;