173 lines
5.8 KiB
Diff
173 lines
5.8 KiB
Diff
diff --unified --recursive --text fvwm-2.6.9/doc/commands/MenuStyle.xml fvwm-patched/doc/commands/MenuStyle.xml
|
|
--- fvwm-2.6.9/doc/commands/MenuStyle.xml 2016-10-15 08:51:45.000000000 -0600
|
|
+++ fvwm-patched/doc/commands/MenuStyle.xml 2020-08-21 15:51:37.721036428 -0600
|
|
@@ -58,7 +58,7 @@
|
|
PopupOffset,
|
|
TitleWarp / !TitleWarp,
|
|
TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2,
|
|
-SeparatorsLong / SeparatorsShort,
|
|
+SeparatorsLong / SeparatorsShort / FlatSeparators,
|
|
TrianglesSolid / TrianglesRelief,
|
|
PopupImmediately / PopupDelayed,
|
|
PopdownImmediately / PopdownDelayed,
|
|
@@ -436,6 +436,11 @@
|
|
few pixels to the edges of the menu.</para>
|
|
|
|
<para>
|
|
+<fvwmopt cmd="MenuStyle" opt="FlatSeparators"/>
|
|
+changes the separators so that they are a single pixel thick and
|
|
+colored the same as the text.</para>
|
|
+
|
|
+<para>
|
|
<fvwmopt cmd="MenuStyle" opt="TrianglesSolid"/> and
|
|
<fvwmopt cmd="MenuStyle" opt="TrianglesRelief"/>
|
|
affect how the small triangles for sub menus is drawn. Solid
|
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/menuitem.c fvwm-patched/fvwm/menuitem.c
|
|
--- fvwm-2.6.9/fvwm/menuitem.c 2018-05-26 05:35:26.000000000 -0600
|
|
+++ fvwm-patched/fvwm/menuitem.c 2020-08-21 15:51:37.721036428 -0600
|
|
@@ -81,10 +81,14 @@
|
|
*
|
|
*/
|
|
static void draw_separator(
|
|
- Window w, GC TopGC, GC BottomGC, int x1, int y, int x2)
|
|
+ Window w, GC TopGC, GC BottomGC, GC ForeGC, int x1, int y, int x2,
|
|
+ Bool do_flat_separators)
|
|
{
|
|
XDrawLine(dpy, w, TopGC , x1, y, x2, y);
|
|
- XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1);
|
|
+ if (!do_flat_separators)
|
|
+ {
|
|
+ XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1);
|
|
+ }
|
|
|
|
return;
|
|
}
|
|
@@ -380,6 +384,7 @@
|
|
/*Pixel fg, fgsh;*/
|
|
int relief_thickness = ST_RELIEF_THICKNESS(ms);
|
|
Bool is_item_selected;
|
|
+ Bool do_flat_separators;
|
|
Bool item_cleared = False;
|
|
Bool xft_clear = False;
|
|
Bool empty_inter = False;
|
|
@@ -598,6 +603,8 @@
|
|
* Draw the item itself.
|
|
*/
|
|
|
|
+ do_flat_separators = ST_DO_FLAT_SEPARATOR(ms);
|
|
+
|
|
/* Calculate the separator offsets. */
|
|
if (ST_HAS_LONG_SEPARATORS(ms))
|
|
{
|
|
@@ -618,9 +625,9 @@
|
|
{
|
|
/* It's a separator. */
|
|
draw_separator(
|
|
- mpip->w, gcs.shadow_gc, gcs.hilight_gc, sx1,
|
|
- y_offset + y_height - MENU_SEPARATOR_HEIGHT,
|
|
- sx2);
|
|
+ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
|
|
+ sx1, y_offset + y_height - MENU_SEPARATOR_HEIGHT,
|
|
+ sx2, do_flat_separators);
|
|
/* Nothing else to do. */
|
|
}
|
|
return;
|
|
@@ -660,8 +667,8 @@
|
|
if (sx1 < sx2)
|
|
{
|
|
draw_separator(
|
|
- mpip->w, gcs.shadow_gc, gcs.hilight_gc,
|
|
- sx1, y, sx2);
|
|
+ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
|
|
+ sx1, y, sx2, do_flat_separators);
|
|
}
|
|
}
|
|
/* Underline the title. */
|
|
@@ -674,8 +681,8 @@
|
|
{
|
|
y = y_offset + y_height - MENU_SEPARATOR_HEIGHT;
|
|
draw_separator(
|
|
- mpip->w, gcs.shadow_gc, gcs.hilight_gc,
|
|
- sx1, y, sx2);
|
|
+ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc,
|
|
+ sx1, y, sx2, do_flat_separators);
|
|
}
|
|
break;
|
|
default:
|
|
Only in fvwm-patched/fvwm: menuitem.c.orig
|
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c
|
|
--- fvwm-2.6.9/fvwm/menus.c 2020-08-21 15:25:59.047514850 -0600
|
|
+++ fvwm-patched/fvwm/menus.c 2020-08-21 15:51:37.725036473 -0600
|
|
@@ -1651,6 +1651,10 @@
|
|
separator_height = (last_item_has_relief) ?
|
|
MENU_SEPARATOR_HEIGHT + relief_thickness :
|
|
MENU_SEPARATOR_TOTAL_HEIGHT;
|
|
+ if (MST_DO_FLAT_SEPARATOR(msp->menu))
|
|
+ {
|
|
+ separator_height += 1;
|
|
+ }
|
|
MI_Y_OFFSET(mi) = y;
|
|
if (MI_IS_TITLE(mi))
|
|
{
|
|
Only in fvwm-patched/fvwm: menus.c.orig
|
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.c fvwm-patched/fvwm/menustyle.c
|
|
--- fvwm-2.6.9/fvwm/menustyle.c 2018-05-26 05:35:26.000000000 -0600
|
|
+++ fvwm-patched/fvwm/menustyle.c 2020-08-21 15:51:37.725036473 -0600
|
|
@@ -430,7 +430,7 @@
|
|
"TrianglesUseFore",
|
|
"TitleColorset", "HilightTitleBack",
|
|
"TitleFont",
|
|
- "VerticalMargins",
|
|
+ "VerticalMargins", "FlatSeparators",
|
|
"UniqueHotkeyActivatesImmediate",
|
|
NULL
|
|
};
|
|
@@ -900,6 +900,7 @@
|
|
ST_SCROLL_OFF_PAGE(tmpms) = 1;
|
|
ST_DO_HILIGHT_TITLE_BACK(tmpms) = 0;
|
|
ST_USING_DEFAULT_TITLEFONT(tmpms) = True;
|
|
+ ST_DO_FLAT_SEPARATOR(tmpms) = 0;
|
|
has_gc_changed = True;
|
|
option = "fvwm";
|
|
}
|
|
@@ -1605,6 +1606,9 @@
|
|
case 63: /* UniqueHotKeyActivatesImmediate */
|
|
ST_HOTKEY_ACTIVATES_IMMEDIATE(tmpms) = on;
|
|
break;
|
|
+ case 63: /* FlatSeparators */
|
|
+ ST_DO_FLAT_SEPARATOR(tmpms) = on;
|
|
+ break;
|
|
|
|
#if 0
|
|
case 99: /* PositionHints */
|
|
@@ -1863,6 +1867,8 @@
|
|
ST_TRIANGLES_USE_FORE(destms) = ST_TRIANGLES_USE_FORE(origms);
|
|
/* Title */
|
|
ST_DO_HILIGHT_TITLE_BACK(destms) = ST_DO_HILIGHT_TITLE_BACK(origms);
|
|
+ /* FlatSeparators */
|
|
+ ST_DO_FLAT_SEPARATOR(destms) = ST_DO_FLAT_SEPARATOR(origms);
|
|
|
|
menustyle_update(destms);
|
|
|
|
Only in fvwm-patched/fvwm: menustyle.c.orig
|
|
diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.h fvwm-patched/fvwm/menustyle.h
|
|
--- fvwm-2.6.9/fvwm/menustyle.h 2016-10-15 08:51:45.000000000 -0600
|
|
+++ fvwm-patched/fvwm/menustyle.h 2020-08-21 15:51:37.725036473 -0600
|
|
@@ -23,6 +23,8 @@
|
|
#define MST_FACE(m) ((m)->s->ms->look.face)
|
|
#define ST_DO_HILIGHT_BACK(s) ((s)->look.flags.do_hilight_back)
|
|
#define MST_DO_HILIGHT_BACK(m) ((m)->s->ms->look.flags.do_hilight_back)
|
|
+#define ST_DO_FLAT_SEPARATOR(s) ((s)->look.flags.do_flat_separator)
|
|
+#define MST_DO_FLAT_SEPARATOR(m) ((m)->s->ms->look.flags.do_flat_separator)
|
|
#define ST_DO_HILIGHT_FORE(s) ((s)->look.flags.do_hilight_fore)
|
|
#define MST_DO_HILIGHT_FORE(m) ((m)->s->ms->look.flags.do_hilight_fore)
|
|
#define ST_DO_HILIGHT_TITLE_BACK(s) ((s)->look.flags.do_hilight_title_back)
|
|
@@ -282,6 +284,7 @@
|
|
unsigned has_title_cset : 1;
|
|
unsigned do_hilight_title_back : 1;
|
|
unsigned using_default_titlefont : 1;
|
|
+ unsigned do_flat_separator : 1;
|
|
} flags;
|
|
unsigned char ReliefThickness;
|
|
unsigned char TitleUnderlines;
|