File: raise_lower.patch

package info (click to toggle)
xwit 3.4-10
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 172 kB
  • ctags: 121
  • sloc: ansic: 1,230; makefile: 65
file content (112 lines) | stat: -rw-r--r-- 3,160 bytes parent folder | download | duplicates (2)
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
This patch is from Decklin Foster <decklin@red-bean.com>

"This implements a few more window management actions which are somewhat
 obscure, but useful to me."

diff -urNad xwit-3.4~/xwit.c xwit-3.4/xwit.c
--- xwit-3.4~/xwit.c	2005-10-20 15:27:53.000000000 -0400
+++ xwit-3.4/xwit.c	2005-10-20 15:27:57.000000000 -0400
@@ -63,6 +63,7 @@
 	fprintf(stderr,
 	"usage: %s -display <display> -sync\n\
 	-pop -focus -iconify -unmap\n\
+	-raise -lower -opposite -[un]circulate\n\
 	-resize w h -rows r -columns c -[r]move x y\n\
 	-[r]warp x y -colormap <colormapid> -[no]save\n\
 	-name <name> -iconname <name>\n\
@@ -77,6 +78,7 @@
 
 enum functions {
     pop, focus, icon, unmap, colormap,
+    raise, lower, opposite, circulate, uncirculate,
     move, rmove, warp, rwarp,
     resize, save, nosave,
     keyrepeat, nokeyrepeat,
@@ -509,6 +511,27 @@
 		case focus:
 		        XSetInputFocus(dpy, window, CurrentTime, RevertToNone);
 			break;
+		case raise:
+			values.stack_mode = Above;
+			value_mask = CWStackMode;
+			XConfigureWindow(dpy, window, value_mask, &values);
+			break;
+		case lower:
+			values.stack_mode = Below;
+			value_mask = CWStackMode;
+			XConfigureWindow(dpy, window, value_mask, &values);
+			break;
+		case opposite:
+			values.stack_mode = Opposite;
+			value_mask = CWStackMode;
+			XConfigureWindow(dpy, window, value_mask, &values);
+			break;
+		case circulate:
+			XCirculateSubwindowsUp(dpy, window);
+			break;
+		case uncirculate:
+			XCirculateSubwindowsDown(dpy, window);
+			break;
 		case unmap:
 			XUnmapWindow(dpy, window);
 			break;
@@ -902,6 +925,21 @@
 		else if (matchopt("f*ocus", 0, pargc, argv)) {
 			function |= FBIT(focus);
 		}
+		else if (matchopt("ra*ise", 0, pargc, argv)) {
+			function |= FBIT(raise);
+		}
+		else if (matchopt("lo*wer", 0, pargc, argv)) {
+			function |= FBIT(lower);
+		}
+		else if (matchopt("op*posite", 0, pargc, argv)) {
+			function |= FBIT(opposite);
+		}
+		else if (matchopt("cir*culate", 0, pargc, argv)) {
+			function |= FBIT(circulate);
+		}
+		else if (matchopt("uncir*culate", 0, pargc, argv)) {
+			function |= FBIT(uncirculate);
+		}
 		else if (matchopt("ri*conmove", 2, pargc, argv)) {
 			function |= FBIT(riconmove);
 			Giconx = atoi(argv[1]);
diff -urNad xwit-3.4~/xwit.man xwit-3.4/xwit.man
--- xwit-3.4~/xwit.man	2005-10-20 15:27:53.000000000 -0400
+++ xwit-3.4/xwit.man	2005-10-20 15:29:45.000000000 -0400
@@ -14,6 +14,11 @@
 .RB [ -iconify ]
 .RB [ -unmap ]
 .br
+.RB [ -raise ]
+.RB [ -lower ]
+.RB [ -opposite ]
+.RB [ - [ un ] circulate ]
+.br
 .RB [ -resize
 .IR w\ h ]
 .RB [ -rows
@@ -88,6 +93,22 @@
 will iconify windows by unmapping with a non ICCCM compliant window manager.
 (Beware, this option is not usually what you want).
 .TP
+-raise
+raise windows (but do not map them if unmapped).
+.TP
+-lower
+lower windows.
+.TP
+-opposite
+toggle the stacking of windows from top to bottom among any overlapping
+windows.
+.TP
+-circulate
+circulate a window's subwindows forward. Use this with -root.
+.TP
+-uncirculate
+circulate a window's subwindows backward. Use this with -root.
+.TP
 -resize w h
 resize windows to the given pixel size.
 .TP