201 lines
6.3 KiB
Diff
201 lines
6.3 KiB
Diff
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/builtins.c fvwm-patched/fvwm/builtins.c
|
||
|
--- fvwm-2.6.9/fvwm/builtins.c 2018-05-27 09:47:03.000000000 -0600
|
||
|
+++ fvwm-patched/fvwm/builtins.c 2020-08-21 16:10:56.462693301 -0600
|
||
|
@@ -482,6 +482,21 @@
|
||
|
if (action)
|
||
|
action += next;
|
||
|
}
|
||
|
+ else if (!do_add && StrEquals(parm,"buttonwidth"))
|
||
|
+ {
|
||
|
+ int width = 0;
|
||
|
+ int next = 0;
|
||
|
+
|
||
|
+ sscanf(action, "%d%n", &width, &next);
|
||
|
+
|
||
|
+ if (decor->button_width != width)
|
||
|
+ {
|
||
|
+ decor->button_width = width;
|
||
|
+ decor->flags.has_changed = 1;
|
||
|
+ }
|
||
|
+ if (action)
|
||
|
+ action += next;
|
||
|
+ }
|
||
|
else if (!do_add && StrEquals(parm,"MinHeight"))
|
||
|
{
|
||
|
int height = 0;
|
||
|
Only in fvwm-patched/fvwm: builtins.c.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/frame.c fvwm-patched/fvwm/frame.c
|
||
|
--- fvwm-2.6.9/fvwm/frame.c 2020-08-21 16:09:27.172710920 -0600
|
||
|
+++ fvwm-patched/fvwm/frame.c 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -1372,7 +1372,14 @@
|
||
|
tb_thick = fw->title_thickness;
|
||
|
nbuttons = fw->nr_left_buttons + fw->nr_right_buttons;
|
||
|
nbuttons_big = 0;
|
||
|
- b_length = tb_thick;
|
||
|
+ if (fw->decor->button_width == 0)
|
||
|
+ {
|
||
|
+ b_length = tb_thick;
|
||
|
+ }
|
||
|
+ else
|
||
|
+ {
|
||
|
+ b_length = fw->decor->button_width;
|
||
|
+ }
|
||
|
t_length = tb_length - nbuttons * b_length;
|
||
|
if (nbuttons > 0 && t_length < MIN_WINDOW_TITLE_LENGTH)
|
||
|
{
|
||
|
Only in fvwm-patched/fvwm: frame.c.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h
|
||
|
--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 16:09:27.172710920 -0600
|
||
|
+++ fvwm-patched/fvwm/fvwm.h 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -274,6 +274,7 @@
|
||
|
unsigned has_rounded_corners_top : 1;
|
||
|
unsigned has_rounded_corners_bottom : 1;
|
||
|
unsigned has_slightly_rounded_corners : 1;
|
||
|
+ unsigned has_no_top_border : 1;
|
||
|
focus_policy_t focus_policy;
|
||
|
} s;
|
||
|
} common_flags_t;
|
||
|
Only in fvwm-patched/fvwm: fvwm.h.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/geometry.c fvwm-patched/fvwm/geometry.c
|
||
|
--- fvwm-2.6.9/fvwm/geometry.c 2020-08-21 16:09:27.176711008 -0600
|
||
|
+++ fvwm-patched/fvwm/geometry.c 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -489,6 +489,7 @@
|
||
|
const FvwmWindow *fw, size_borders *borders, Bool is_shaded)
|
||
|
{
|
||
|
int title_thickness;
|
||
|
+ int *title_border = NULL;
|
||
|
int bw;
|
||
|
|
||
|
bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width;
|
||
|
@@ -506,18 +507,25 @@
|
||
|
switch (GET_TITLE_DIR(fw))
|
||
|
{
|
||
|
case DIR_N:
|
||
|
- borders->top_left.height += title_thickness;
|
||
|
+ title_border = &borders->top_left.height;
|
||
|
break;
|
||
|
case DIR_S:
|
||
|
- borders->bottom_right.height += title_thickness;
|
||
|
+ title_border = &borders->bottom_right.height;
|
||
|
break;
|
||
|
case DIR_W:
|
||
|
- borders->top_left.width += title_thickness;
|
||
|
+ title_border = &borders->top_left.width;
|
||
|
break;
|
||
|
case DIR_E:
|
||
|
- borders->bottom_right.width += title_thickness;
|
||
|
+ title_border = &borders->bottom_right.width;
|
||
|
break;
|
||
|
}
|
||
|
+
|
||
|
+ if (HAS_NO_TOP_BORDER(fw))
|
||
|
+ {
|
||
|
+ *title_border = 1;
|
||
|
+ }
|
||
|
+ *title_border += title_thickness;
|
||
|
+
|
||
|
borders->total_size.width =
|
||
|
borders->top_left.width + borders->bottom_right.width;
|
||
|
borders->total_size.height =
|
||
|
@@ -538,6 +546,26 @@
|
||
|
borders->bottom_right.width = bw;
|
||
|
borders->top_left.height = bw;
|
||
|
borders->bottom_right.height = fw->boundary_width;
|
||
|
+
|
||
|
+ if (HAS_NO_TOP_BORDER(fw))
|
||
|
+ {
|
||
|
+ switch (GET_TITLE_DIR(fw))
|
||
|
+ {
|
||
|
+ case DIR_N:
|
||
|
+ borders->top_left.height = 1;
|
||
|
+ break;
|
||
|
+ case DIR_S:
|
||
|
+ borders->bottom_right.height = 1;
|
||
|
+ break;
|
||
|
+ case DIR_W:
|
||
|
+ borders->top_left.width = 1;
|
||
|
+ break;
|
||
|
+ case DIR_E:
|
||
|
+ borders->bottom_right.width = 1;
|
||
|
+ break;
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
borders->total_size.width =
|
||
|
borders->top_left.width + borders->bottom_right.width;
|
||
|
borders->total_size.height =
|
||
|
Only in fvwm-patched/fvwm: geometry.c.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/screen.h fvwm-patched/fvwm/screen.h
|
||
|
--- fvwm-2.6.9/fvwm/screen.h 2020-08-21 15:30:39.091737766 -0600
|
||
|
+++ fvwm-patched/fvwm/screen.h 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -284,6 +284,7 @@
|
||
|
char *tag; /* general style tag */
|
||
|
int title_height; /* explicitly specified title bar height */
|
||
|
int min_title_height;
|
||
|
+ int button_width;
|
||
|
/* titlebar buttons */
|
||
|
TitleButton buttons[NUMBER_OF_TITLE_BUTTONS];
|
||
|
TitleButton titlebar;
|
||
|
Only in fvwm-patched/fvwm: screen.h.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c
|
||
|
--- fvwm-2.6.9/fvwm/style.c 2020-08-21 16:09:27.176711008 -0600
|
||
|
+++ fvwm-patched/fvwm/style.c 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -4714,6 +4714,12 @@
|
||
|
ps->change_mask.has_title_format_string = 1;
|
||
|
|
||
|
}
|
||
|
+ else if (StrEquals(token, "TopBorder"))
|
||
|
+ {
|
||
|
+ S_SET_HAS_NO_TOP_BORDER(SCF(*ps), !on);
|
||
|
+ S_SET_HAS_NO_TOP_BORDER(SCM(*ps), 1);
|
||
|
+ S_SET_HAS_NO_TOP_BORDER(SCC(*ps), 1);
|
||
|
+ }
|
||
|
else if (StrEquals(token, "TopTitleRotated"))
|
||
|
{
|
||
|
S_SET_IS_TOP_TITLE_ROTATED(SCF(*ps), on);
|
||
|
@@ -5315,6 +5321,11 @@
|
||
|
{
|
||
|
flags->do_redecorate = True;
|
||
|
}
|
||
|
+
|
||
|
+ if (S_HAS_NO_TOP_BORDER(SCC(*ret_style)))
|
||
|
+ {
|
||
|
+ flags->do_redecorate = True;
|
||
|
+ }
|
||
|
|
||
|
/* has_mwm_border
|
||
|
* has_mwm_buttons */
|
||
|
Only in fvwm-patched/fvwm: style.c.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h
|
||
|
--- fvwm-2.6.9/fvwm/style.h 2020-08-21 16:09:27.176711008 -0600
|
||
|
+++ fvwm-patched/fvwm/style.h 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -395,6 +395,11 @@
|
||
|
((c).s.has_slightly_rounded_corners)
|
||
|
#define S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(c,x) \
|
||
|
((c).s.has_slightly_rounded_corners = !!(x))
|
||
|
+#define S_HAS_NO_TOP_BORDER(c) \
|
||
|
+ ((c).s.has_no_top_border)
|
||
|
+#define S_SET_HAS_NO_TOP_BORDER(c,x) \
|
||
|
+ ((c).s.has_no_top_border = !!(x))
|
||
|
+
|
||
|
#define S_DO_EWMH_MINI_ICON_OVERRIDE(c) \
|
||
|
((c).s.do_ewmh_mini_icon_override)
|
||
|
#define S_SET_DO_EWMH_MINI_ICON_OVERRIDE(c,x) \
|
||
|
Only in fvwm-patched/fvwm: style.h.orig
|
||
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h
|
||
|
--- fvwm-2.6.9/fvwm/window_flags.h 2020-08-21 16:09:27.176711008 -0600
|
||
|
+++ fvwm-patched/fvwm/window_flags.h 2020-08-21 16:10:56.466693390 -0600
|
||
|
@@ -358,6 +358,12 @@
|
||
|
(fw)->flags.common.s.has_slightly_rounded_corners = !!(x)
|
||
|
#define SETM_HAS_SLIGHTLY_ROUNDED_CORNERS(fw,x) \
|
||
|
(fw)->flag_mask.common.s.has_slightly_rounded_corners = !!(x)
|
||
|
+#define HAS_NO_TOP_BORDER(fw) \
|
||
|
+ ((fw)->flags.common.s.has_no_top_border)
|
||
|
+#define SET_HAS_NO_TOP_BORDER(fw,x) \
|
||
|
+ (fw)->flags.common.s.has_no_top_border = !!(x)
|
||
|
+#define SETM_HAS_NO_TOP_BORDER(fw,x) \
|
||
|
+ (fw)->flag_mask.common.s.has_no_top_border = !!(x)
|
||
|
|
||
|
/* access to the special flags of a window */
|
||
|
#define DO_REUSE_DESTROYED(fw) \
|