-
Notifications
You must be signed in to change notification settings - Fork 0
/
keep-border-on-maximize.patch
134 lines (120 loc) · 6.73 KB
/
keep-border-on-maximize.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
diff --git a/openbox/frame.c b/openbox/frame.c
index fecac586..0aea7d5f 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -362,36 +362,19 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->cbwidth_l = self->cbwidth_t =
self->cbwidth_r = self->cbwidth_b = 0;
- if (self->max_horz) {
- self->cbwidth_l = self->cbwidth_r = 0;
- self->width = self->client->area.width;
- if (self->max_vert)
- self->cbwidth_b = 0;
- } else
- self->width = self->client->area.width +
- self->cbwidth_l + self->cbwidth_r;
-
/* some elements are sized based of the width, so don't let them have
negative values */
- self->width = MAX(self->width,
+ self->width = MAX(self->client->area.width + (self->cbwidth_l + self->cbwidth_r),
(ob_rr_theme->grip_width + self->bwidth) * 2 + 1);
STRUT_SET(self->size,
- self->cbwidth_l + (!self->max_horz ? self->bwidth : 0),
- self->cbwidth_t +
- (!self->max_horz || !self->max_vert ? self->bwidth : 0),
- self->cbwidth_r + (!self->max_horz ? self->bwidth : 0),
- self->cbwidth_b +
- (!self->max_horz || !self->max_vert ? self->bwidth : 0));
+ self->cbwidth_l + self->bwidth,
+ self->cbwidth_t + self->bwidth,
+ self->cbwidth_r + self->bwidth,
+ self->cbwidth_b + self->bwidth);
if (self->decorations & OB_FRAME_DECOR_TITLEBAR)
self->size.top += ob_rr_theme->title_height + self->bwidth;
- else if (self->max_horz && self->max_vert) {
- /* A maximized and undecorated window needs a border on the
- top of the window to let the user still undecorate/unmaximize the
- window via the client menu. */
- self->size.top += self->bwidth;
- }
if (self->decorations & OB_FRAME_DECOR_HANDLE &&
ob_rr_theme->handle_height > 0)
@@ -496,7 +479,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
gint titlesides;
/* height of titleleft and titleright */
- titlesides = (!self->max_horz ? ob_rr_theme->grip_width : 0);
+ titlesides = ob_rr_theme->grip_width;
XMoveResizeWindow(obt_display, self->titletop,
ob_rr_theme->grip_width + self->bwidth, 0,
@@ -541,7 +524,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
XMoveResizeWindow(obt_display, self->titlebottom,
- (self->max_horz ? 0 : self->bwidth),
+ self->bwidth,
ob_rr_theme->title_height + self->bwidth,
self->width,
self->bwidth);
@@ -561,7 +544,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
XMoveResizeWindow(obt_display, self->title,
- (self->max_horz ? 0 : self->bwidth),
+ self->bwidth,
self->bwidth,
self->width, ob_rr_theme->title_height);
@@ -602,7 +585,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
layout_title(self);
if (!fake) {
- gint sidebwidth = self->max_horz ? 0 : self->bwidth;
+ gint sidebwidth = self->bwidth;
if (self->bwidth && self->size.bottom) {
XMoveResizeWindow(obt_display, self->handlebottom,
@@ -621,13 +604,9 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->size.top +
self->client->area.height +
self->size.bottom -
- (!self->max_horz ?
- ob_rr_theme->grip_width :
- self->size.bottom - self->cbwidth_b),
+ ob_rr_theme->grip_width,
self->bwidth,
- (!self->max_horz ?
- ob_rr_theme->grip_width :
- self->size.bottom - self->cbwidth_b));
+ ob_rr_theme->grip_width);
XMoveResizeWindow(obt_display, self->rgripright,
self->size.left +
self->client->area.width +
@@ -635,13 +614,9 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->size.top +
self->client->area.height +
self->size.bottom -
- (!self->max_horz ?
- ob_rr_theme->grip_width :
- self->size.bottom - self->cbwidth_b),
+ ob_rr_theme->grip_width,
self->bwidth,
- (!self->max_horz ?
- ob_rr_theme->grip_width :
- self->size.bottom - self->cbwidth_b));
+ ob_rr_theme->grip_width);
XMapWindow(obt_display, self->lgripleft);
XMapWindow(obt_display, self->rgripright);
@@ -777,8 +752,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
XUnmapWindow(obt_display, self->handle);
}
- if (self->bwidth && !self->max_horz &&
- (self->client->area.height + self->size.top +
+ if (self->bwidth && (self->client->area.height + self->size.top +
self->size.bottom) > ob_rr_theme->grip_width * 2)
{
XMoveResizeWindow(obt_display, self->left,
@@ -793,8 +767,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
} else
XUnmapWindow(obt_display, self->left);
- if (self->bwidth && !self->max_horz &&
- (self->client->area.height + self->size.top +
+ if (self->bwidth && (self->client->area.height + self->size.top +
self->size.bottom) > ob_rr_theme->grip_width * 2)
{
XMoveResizeWindow(obt_display, self->right,