ports/x11/aterm/files/patch-eterm_transparency
Mathieu Arnold 7ae7b018cc With the power of USES=dos2unix, get rid of most patches and files
with CRLF.

While there, run make makepatch, rename patches to use the new scheme,
and various fixes.

With hat:	portmgr
Sponsored by:	Absolight
2016-06-20 16:23:28 +00:00

96 lines
2.5 KiB
Text

diff -urNad aterm-1.0.1~/src/main.c src/main.c
--- aterm-1.0.1~/src/main.c 2007-08-04 00:05:30.000000000 +0200
+++ src/main.c 2007-08-04 00:09:53.000000000 +0200
@@ -1334,6 +1334,12 @@
break;
#endif
+ case XTerm_EtermSeq:
+ op = atoi(str);
+ if (!(str = strchr(str, ';')))
+ break;
+ eterm_seq(op, str + 1);
+ break;
case XTerm_Menu:
/*
* menubar_dispatch() violates the constness of the string,
@@ -1360,6 +1366,43 @@
break;
}
}
+
+/*
+ * Eterm escape sequences: ESC ] 6;Ps;Pt BEL
+ * 2 = set shade/tint mask
+ * (There are more codes--check Eterm's reference doc.)
+ */
+/* PROTO */
+ void
+eterm_seq(int op, const char *str)
+{
+ assert(str != NULL);
+ switch (op) {
+#if defined(BACKGROUND_IMAGE) || defined(TRANSPARENT)
+ case 2:
+ /* { shade | tint } [ class ; ] value */
+ if (strncmp(str, "tint", 4) == 0) {
+ char *class;
+ char *value;
+
+ if (!(class = strchr((char *) str, ';')))
+ break;
+ *class++ = '\0';
+ if (!(value = strchr(class, ';'))) {
+ /* Default class is bg. */
+ value = class;
+ class = "bg";
+ } else
+ *value++ = '\0';
+
+ if (strcmp(class, "bg") == 0) {
+ set_window_color(Color_tint, value);
+ }
+ }
+ break;
+#endif
+ }
+}
/*}}} */
diff -urNad aterm-1.0.1~/src/rxvt.h src/rxvt.h
--- aterm-1.0.1~/src/rxvt.h 2007-08-04 00:05:30.000000000 +0200
+++ src/rxvt.h 2007-08-04 00:10:31.000000000 +0200
@@ -807,6 +807,7 @@
/*
* rxvt extensions of XTerm escape sequences: ESC ] Ps;Pt BEL
*/
+#define XTerm_EtermSeq 6 /* Eterm proprietary escape sequences */
#define XTerm_Menu 10 /* set menu item */
#define XTerm_Pixmap 20 /* new bg pixmap */
#define XTerm_restoreFG 39 /* change default fg color */
diff -urNad aterm-1.0.1~/src/screen.c src/screen.c
--- aterm-1.0.1~/src/screen.c 2007-08-04 00:05:30.000000000 +0200
+++ src/screen.c 2007-08-04 00:15:22.000000000 +0200
@@ -2665,7 +2665,20 @@
!(Options & Opt_transparent))
{
XSetWindowBackground(Xdisplay, TermWin.vt, PixColors[Color_bg]);
- }
+ } else if (idx == Color_tint) {
+ XColor tint;
+
+ tint.pixel = PixColors[Color_tint];
+ XQueryColor(Xdisplay, Xcmap, &tint);
+ if (TermWin.background.Shading.tintColor.red == tint.red &&
+ TermWin.background.Shading.tintColor.green == tint.green &&
+ TermWin.background.Shading.tintColor.blue == tint.blue) {
+ return;
+ }
+ TermWin.background.Shading.tintColor = tint;
+ RenderPixmap(0);
+ }
+
/* handle Color_BD, scrollbar background, etc. */