View | Details | Raw Unified | Return to bug 41056
Collapse All | Expand All

(-)ion/files/patch-disable_border (+162 lines)
Line 0 Link Here
1
# This patch was originally sent to the ION mailing list by:
2
# Christian Mauduit <ufoot@ufoot.org>
3
4
diff -r -u doc.orig/functions.txt doc/functions.txt
5
--- doc.orig/functions.txt	Fri Feb  8 22:23:17 2002
6
+++ doc/functions.txt	Fri Mar  8 23:57:46 2002
7
@@ -59,6 +59,13 @@
8
 			enabled
9
 
10
 
11
+Border control
12
+--------------
13
+
14
+disable_border		Disables the border and the bar
15
+enable_border           Enables the border and the bar
16
+
17
+
18
 Close and destroy
19
 -----------------
20
 
21
diff -r -u src.orig/draw.c src/draw.c
22
--- src.orig/draw.c	Fri Feb  8 22:23:17 2002
23
+++ src/draw.c	Fri Mar  8 23:53:34 2002
24
@@ -136,6 +136,13 @@
25
 	DrawInfo _dinfo, *dinfo=&_dinfo;
26
 	WGRData *grdata=GRDATA_OF(frame);
27
 	
28
+	if(complete)
29
+		XClearWindow(wglobal.dpy, FRAME_WIN(frame));
30
+
31
+	/* if the border is not active, we draw nothing here */
32
+	if (frame->flags & WFRAME_NO_BORDER)
33
+		return;
34
+
35
 	dinfo->win=FRAME_WIN(frame);
36
 	dinfo->grdata=grdata;
37
 	dinfo->gc=grdata->gc;
38
@@ -143,15 +150,12 @@
39
 	dinfo->geom.w+=FRAME_W(frame);
40
 	dinfo->geom.h+=FRAME_H(frame);
41
 	dinfo->border=&(grdata->frame_border);
42
-	
43
+
44
 	if(IS_ACTIVE_FRAME(frame))
45
 		dinfo->colors=&(grdata->act_frame_colors);
46
 	else
47
 		dinfo->colors=&(grdata->frame_colors);
48
 	
49
-	if(complete)
50
-		XClearWindow(wglobal.dpy, FRAME_WIN(frame));
51
-
52
 /*#if 1*/
53
 	draw_box(dinfo, FALSE);
54
 /*#else
55
@@ -191,6 +195,10 @@
56
 	WGRData *grdata=&(scr->grdata);
57
 	WRectangle bg;
58
 	
59
+	/* if the border is not active, we draw nothing here */
60
+	if (frame->flags & WFRAME_NO_BORDER)
61
+		return;
62
+
63
 	frame_bar_geom(frame, &bg);
64
 	
65
 	dinfo->win=FRAME_WIN(frame);
66
diff -r -u src.orig/frame.c src/frame.c
67
--- src.orig/frame.c	Fri Feb  8 22:23:17 2002
68
+++ src/frame.c	Fri Mar  8 23:53:37 2002
69
@@ -41,15 +41,28 @@
70
 #define BAR_W(FRAME, GRDATA) ((FRAME)->win.geom.w+(GRDATA)->bar_off.w)
71
 #define BAR_H(FRAME, GRDATA) ((GRDATA)->bar_h)
72
 
73
-#define FRAME_TO_CLIENT_W(W, GRDATA) ((W)+(GRDATA)->client_off.w)
74
-#define FRAME_TO_CLIENT_H(H, GRDATA) ((H)+(GRDATA)->client_off.h)
75
-#define CLIENT_TO_FRAME_W(W, GRDATA) ((W)-(GRDATA)->client_off.w)
76
-#define CLIENT_TO_FRAME_H(H, GRDATA) ((H)-(GRDATA)->client_off.h)
77
-
78
-#define CLIENT_X(FRAME, GRDATA) ((GRDATA)->client_off.x)
79
-#define CLIENT_Y(FRAME, GRDATA) ((GRDATA)->client_off.y)
80
-#define CLIENT_W(FRAME, GRDATA) FRAME_TO_CLIENT_W(FRAME_W(FRAME), GRDATA)
81
-#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), GRDATA)
82
+#define FRAME_TO_CLIENT_W(W, FRAME, GRDATA) \
83
+	(((FRAME)->flags & WFRAME_NO_BORDER) ? \
84
+	(W) : (W)+(GRDATA)->client_off.w)
85
+#define FRAME_TO_CLIENT_H(H, FRAME, GRDATA) \
86
+	(((FRAME)->flags & WFRAME_NO_BORDER) ? \
87
+	 (H) : (H)+(GRDATA)->client_off.h)
88
+#define CLIENT_TO_FRAME_W(W, FRAME, GRDATA) \
89
+	(((FRAME)->flags & WFRAME_NO_BORDER) ? \
90
+	 (W) : (W)-(GRDATA)->client_off.w)
91
+#define CLIENT_TO_FRAME_H(H, FRAME, GRDATA) \
92
+	(((FRAME)->flags & WFRAME_NO_BORDER) ? \
93
+	 (H) : (H)-(GRDATA)->client_off.h)
94
+
95
+#define CLIENT_X(FRAME, GRDATA) \
96
+	((FRAME)->flags & WFRAME_NO_BORDER ? \
97
+	 0 : (GRDATA)->client_off.x)
98
+#define CLIENT_Y(FRAME, GRDATA) \
99
+	((FRAME)->flags & WFRAME_NO_BORDER ? \
100
+	 0 : (GRDATA)->client_off.y)
101
+
102
+#define CLIENT_W(FRAME, GRDATA) FRAME_TO_CLIENT_W(FRAME_W(FRAME), FRAME, GRDATA)
103
+#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), FRAME, GRDATA)
104
 
105
 
106
 WThingFuntab frame_funtab={deinit_frame, frame_remove_child};
107
@@ -658,6 +671,22 @@
108
 	geom->y=CLIENT_Y(frame, grdata);
109
 	geom->w=CLIENT_W(frame, grdata);
110
 	geom->h=CLIENT_H(frame, grdata);
111
+}
112
+
113
+void enable_border(WFrame *frame)
114
+{
115
+	frame->flags = frame->flags & (~WFRAME_NO_BORDER); 
116
+
117
+	frame_fit_clients(frame);
118
+	draw_frame(frame,TRUE);
119
+}
120
+
121
+void disable_border(WFrame *frame)
122
+{
123
+	frame->flags = frame->flags | WFRAME_NO_BORDER; 
124
+
125
+	frame_fit_clients(frame);
126
+	draw_frame(frame,TRUE);
127
 }
128
 
129
 
130
diff -r -u src.orig/frame.h src/frame.h
131
--- src.orig/frame.h	Fri Feb  8 22:23:17 2002
132
+++ src/frame.h	Fri Mar  8 23:05:54 2002
133
@@ -23,6 +23,7 @@
134
 #define WFRAME_SHADE		0x0004
135
 #define WFRAME_NO_BAR		0x0008
136
 #define WFRAME_MAX_BOTH		(WFRAME_MAX_VERT|WFRAME_MAX_HORIZ)
137
+#define WFRAME_NO_BORDER        0x0010
138
 
139
 #define FRAME_SHORTCUT_W	23
140
 
141
@@ -96,5 +97,8 @@
142
 extern void split_top(WWorkspace *ws, char *str);
143
 
144
 extern WFrame *find_frame_of(Window win);
145
+
146
+extern void enable_border(WFrame *frame);
147
+extern void disable_border(WFrame *frame);
148
 
149
 #endif /* INCLUDED_FRAME_H */
150
diff -r -u src.orig/function.c src/function.c
151
--- src.orig/function.c	Fri Feb  8 22:23:17 2002
152
+++ src/function.c	Fri Mar  8 23:05:54 2002
153
@@ -90,6 +90,9 @@
154
 	FN(d, 	generic, WFrame,	"set_widthq",		set_widthq),
155
 	FN(d, 	generic, WFrame,	"set_heightq",		set_heightq),
156
 
157
+	FN_VOID(generic, WFrame,        "enable_border",        enable_border),
158
+	FN_VOID(generic, WFrame,        "disable_border",       disable_border),
159
+
160
 	FN(s,	generic, WWorkspace,"split_top",   		split_top),
161
 	
162
 	/* client */
(-)ion/files/patch-system.mk-no_pedantic (+19 lines)
Line 0 Link Here
1
*** system.mk.orig	Sat Jul 27 11:06:16 2002
2
--- system.mk	Sat Jul 27 11:06:25 2002
3
***************
4
*** 83,89 ****
5
  # have unused variables.
6
  WARN=	-W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
7
  	-Wtrigraphs -Wformat -Wchar-subscripts \
8
! 	-Wparentheses -pedantic-errors -Wuninitialized
9
  
10
  
11
  CFLAGS+= $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) -D_ANSI_SOURCE
12
--- 83,89 ----
13
  # have unused variables.
14
  WARN=	-W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
15
  	-Wtrigraphs -Wformat -Wchar-subscripts \
16
! 	-Wparentheses -Wuninitialized
17
  
18
  
19
  CFLAGS+= $(WARN) $(DEFINES) $(INCLUDES) $(EXTRA_INCLUDES) -D_ANSI_SOURCE
(-)ion/files/patch-winprop_frame (+74 lines)
Line 0 Link Here
1
# This patch was originally sent to the ION mailing list by:
2
# Alejandro Forero Cuervo <bachue@bachue.com>
3
4
diff -Naur ChangeLog.orig ChangeLog
5
--- ChangeLog.orig	Tue Feb  5 23:46:01 2002
6
+++ ChangeLog	Sat Feb  9 17:19:06 2002
7
@@ -1,3 +1,6 @@
8
+2002-02-09:
9
+  * Implemented "frame" functionality for winprops (Alejandro Forero
10
+    <bachue@bachue.com>).
11
 
12
 2002-02-06:
13
   * Added 'split_top "dir"' command.
14
diff -Naur src.orig/clientwin.c src/clientwin.c
15
--- src.orig/clientwin.c	Wed Feb  6 18:41:22 2002
16
+++ src/clientwin.c	Sat Feb  9 17:09:22 2002
17
@@ -180,7 +180,10 @@
18
 		}
19
 	}
20
 	
21
-	get_integer_property(win, wglobal.atom_frame_id, &frame_id);
22
+	if (props!=NULL && props->frame!=0)
23
+		frame_id=props->frame;
24
+	else
25
+		get_integer_property(win, wglobal.atom_frame_id, &frame_id);
26
 	
27
 	/* Get client to place this window in */
28
 	if(client==NULL){
29
diff -Naur src.orig/readconfig.c src/readconfig.c
30
--- src.orig/readconfig.c	Wed Feb  6 18:38:16 2002
31
+++ src/readconfig.c	Sat Feb  9 17:24:01 2002
32
@@ -674,6 +674,14 @@
33
 	return TRUE;
34
 }
35
 
36
+
37
+static bool opt_winprop_frame(Tokenizer *tokz, int n, Token *toks)
38
+{
39
+	tmp_winprop->frame=TOK_LONG_VAL(&(toks[1]));
40
+	return TRUE;
41
+}
42
+
43
+
44
 static bool opt_winprop_transient_mode(Tokenizer *tokz, int n, Token *toks)
45
 {
46
 	char *mod=TOK_IDENT_VAL(&(toks[1]));
47
@@ -721,6 +729,7 @@
48
 	tmp_winprop->data=wclass=TOK_TAKE_STRING_VAL(&(toks[1]));
49
 	tmp_winprop->switchto=-1;
50
 	tmp_winprop->stubborn=0;
51
+	tmp_winprop->frame=0;
52
 	tmp_winprop->transient_mode=TRANSIENT_MODE_NORMAL;
53
 
54
 	winstance=strchr(wclass, '.');
55
@@ -799,6 +808,7 @@
56
 	{"switchto", "b", opt_winprop_switchto, NULL},
57
 	{"stubborn", "b", opt_winprop_stubborn, NULL},
58
 	{"transient_mode", "i", opt_winprop_transient_mode, NULL},
59
+	{"frame", "l", opt_winprop_frame, NULL},
60
 	
61
 	{"#end", NULL, end_winprop, NULL},
62
 	/*{"#cancel", NULL, cancel_winprop, NULL},*/
63
diff -Naur src.orig/winprops.h src/winprops.h
64
--- src.orig/winprops.h	Mon Mar  5 16:16:06 2001
65
+++ src/winprops.h	Sat Feb  9 17:09:22 2002
66
@@ -30,6 +30,7 @@
67
 	int transient_mode;
68
 	int max_w, max_h;
69
 	int aspect_w, aspect_h;
70
+	int frame;
71
 	
72
 	WWinProp *next, *prev;
73
 };
74

Return to bug 41056