summarylogtreecommitdiffstats
path: root/13-FvwmIconMan.patch
diff options
context:
space:
mode:
Diffstat (limited to '13-FvwmIconMan.patch')
-rw-r--r--13-FvwmIconMan.patch114
1 files changed, 114 insertions, 0 deletions
diff --git a/13-FvwmIconMan.patch b/13-FvwmIconMan.patch
new file mode 100644
index 000000000000..cf14f4f6ce49
--- /dev/null
+++ b/13-FvwmIconMan.patch
@@ -0,0 +1,114 @@
+diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/FvwmIconMan.h fvwm-patched/modules/FvwmIconMan/FvwmIconMan.h
+--- fvwm-2.6.9/modules/FvwmIconMan/FvwmIconMan.h 2016-10-15 08:51:45.000000000 -0600
++++ fvwm-patched/modules/FvwmIconMan/FvwmIconMan.h 2020-08-21 16:30:38.324120869 -0600
+@@ -317,6 +317,8 @@
+ char *tips_fontname;
+ char *tips_formatstring;
+ ftips_config *tips_conf;
++ Uchar roundedcorners;
++ int padding;
+
+ /* X11 state */
+ Window theWindow, theFrame;
+Only in fvwm-patched/modules/FvwmIconMan: FvwmIconMan.h.orig
+diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/readconfig.c fvwm-patched/modules/FvwmIconMan/readconfig.c
+--- fvwm-2.6.9/modules/FvwmIconMan/readconfig.c 2018-05-26 05:35:26.000000000 -0600
++++ fvwm-patched/modules/FvwmIconMan/readconfig.c 2020-08-21 16:30:38.324120869 -0600
+@@ -2037,6 +2037,40 @@
+ }
+ SET_MANAGER(manager, relief_thickness, n);
+ }
++ else if (!strcasecmp(option1, "padding")) {
++ p = read_next_cmd(READ_ARG);
++ if (!p) {
++ ConsoleMessage("Bad line: %s\n", current_line);
++ continue;
++ }
++ if (extract_int(p, &n) == 0) {
++ ConsoleMessage("This is not a number: %s\n", p);
++ ConsoleMessage("Bad line: %s\n", current_line);
++ continue;
++ }
++ SET_MANAGER(manager, padding, n);
++ }
++ else if (!strcasecmp(option1, "roundedcorners")) {
++ p = read_next_cmd(READ_ARG);
++ if (!p) {
++ ConsoleMessage("Bad line: %s\n", current_line);
++ ConsoleMessage("Need argument to roundedcorners\n");
++ continue;
++ }
++ if (!strcasecmp(p, "true")) {
++ i = 1;
++ }
++ else if (!strcasecmp(p, "false")) {
++ i = 0;
++ }
++ else {
++ ConsoleMessage("Bad line: %s\n", current_line);
++ ConsoleMessage("What is this: %s?\n", p);
++ continue;
++ }
++ ConsoleDebug(CONFIG, "Setting roundedcorners to: %d\n", i);
++ SET_MANAGER(manager, roundedcorners, i);
++ }
+ else if (!strcasecmp(option1, "tips")) {
+ p = read_next_cmd(READ_ARG);
+ if (!p) {
+Only in fvwm-patched/modules/FvwmIconMan: readconfig.c.orig
+diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/xmanager.c fvwm-patched/modules/FvwmIconMan/xmanager.c
+--- fvwm-2.6.9/modules/FvwmIconMan/xmanager.c 2018-05-26 05:35:26.000000000 -0600
++++ fvwm-patched/modules/FvwmIconMan/xmanager.c 2020-08-21 16:30:38.324120869 -0600
+@@ -1397,6 +1397,8 @@
+
+ g->text_y = g->button_y + text_pad;
+ g->text_base = g->text_y + man->FButtonFont->ascent;
++
++ g->button_w -= man->padding;
+ }
+
+ static void draw_button_background(
+@@ -1669,6 +1671,33 @@
+ }
+ }
+
++static void __draw_rounded_corner(WinManager *man, ButtonGeometry *g,
++ int x, int y, int width, int height, GC gc)
++{
++ int x1 = g->button_x + x;
++ int x2 = g->button_x + g->button_w - x - width;
++ int y1 = g->button_y + y;
++ int y2 = g->button_y + g->button_h - y - height;
++
++ XFillRectangle(theDisplay, man->theWindow, gc, x1, y1, width, height);
++ XFillRectangle(theDisplay, man->theWindow, gc, x2, y1, width, height);
++ XFillRectangle(theDisplay, man->theWindow, gc, x1, y2, width, height);
++ XFillRectangle(theDisplay, man->theWindow, gc, x2, y2, width, height);
++}
++
++static void draw_rounded_corners(WinManager *man, ButtonGeometry *g, GC gc)
++{
++ if (man->roundedcorners)
++ {
++ __draw_rounded_corner(man, g, 0, 0, 2, 1, man->backContext[TITLE_CONTEXT]);
++ __draw_rounded_corner(man, g, 0, 1, 1, 1, man->backContext[TITLE_CONTEXT]);
++ __draw_rounded_corner(man, g, 1, 1, 1, 1, gc);
++ }
++
++ XFillRectangle(theDisplay, man->theWindow, man->backContext[TITLE_CONTEXT],
++ g->button_x + g->button_w, g->button_y, man->padding, g->button_h);
++}
++
+ static void draw_button(WinManager *man, int button, int force)
+ {
+ Button *b;
+@@ -1857,6 +1886,8 @@
+ draw_relief(
+ man, button_state, &g, context1,
+ context2);
++
++ draw_rounded_corners(man, &g, context1);
+ }
+ else if (button_state == SELECT_CONTEXT ||
+ button_state == FOCUS_SELECT_CONTEXT ||
+Only in fvwm-patched/modules/FvwmIconMan: xmanager.c.orig