Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 15804
Collapse All | Expand All

(-)ion-devel-20021104/src/confws.c (-5 / +6 lines)
Lines 201-208 Link Here
201
	if(frame==NULL)
201
	if(frame==NULL)
202
		return FALSE;
202
		return FALSE;
203
	
203
	
204
	if(n>=3)
204
	frame->draw_tab = TOK_LONG_VAL(&(toks[2]));
205
		set_region_name((WRegion*)frame, TOK_STRING_VAL(&(toks[2])));
205
	if(n>=4)
206
		set_region_name((WRegion*)frame, TOK_STRING_VAL(&(toks[3])));
206
	
207
	
207
	if(current_split==NULL)
208
	if(current_split==NULL)
208
		current_ws->splitree=(WObj*)frame;
209
		current_ws->splitree=(WObj*)frame;
Lines 282-288 Link Here
282
	
283
	
283
	if(WOBJ_IS(obj, WFrame)){
284
	if(WOBJ_IS(obj, WFrame)){
284
		indent(file, lvl);
285
		indent(file, lvl);
285
		fprintf(file, "frame %d", ((WFrame*)obj)->target_id);
286
		fprintf(file, "frame %d, %d", ((WFrame*)obj)->target_id, ((WFrame*)obj)->draw_tab);
286
		name=region_name((WRegion*)obj);
287
		name=region_name((WRegion*)obj);
287
		/* TODO: escape reserved characters */
288
		/* TODO: escape reserved characters */
288
		if(name!=NULL)
289
		if(name!=NULL)
Lines 347-353 Link Here
347
static ConfOpt split_opts[]={
348
static ConfOpt split_opts[]={
348
	{"vsplit", "ll",  opt_workspace_vsplit, split_opts},
349
	{"vsplit", "ll",  opt_workspace_vsplit, split_opts},
349
	{"hsplit", "ll",  opt_workspace_hsplit, split_opts},
350
	{"hsplit", "ll",  opt_workspace_hsplit, split_opts},
350
	{"frame", "l?s",  opt_workspace_frame, NULL},
351
	{"frame", "ll?s",  opt_workspace_frame, NULL},
351
	
352
	
352
	{"#end", NULL, opt_split_end, NULL},
353
	{"#end", NULL, opt_split_end, NULL},
353
	/*{"#cancel", NULL, opt_split_cancel, NULL},*/
354
	/*{"#cancel", NULL, opt_split_cancel, NULL},*/
Lines 358-364 Link Here
358
static ConfOpt workspace_opts[]={
359
static ConfOpt workspace_opts[]={
359
	{"vsplit", "ll",  opt_workspace_vsplit, split_opts},
360
	{"vsplit", "ll",  opt_workspace_vsplit, split_opts},
360
	{"hsplit", "ll",  opt_workspace_hsplit, split_opts},
361
	{"hsplit", "ll",  opt_workspace_hsplit, split_opts},
361
	{"frame", "l?s",  opt_workspace_frame, NULL},
362
	{"frame", "ll?s",  opt_workspace_frame, NULL},
362
	
363
	
363
	{"#end", NULL, opt_workspace_end, NULL},
364
	{"#end", NULL, opt_workspace_end, NULL},
364
	/*{"#cancel", NULL, opt_workspace_cancel, NULL},*/
365
	/*{"#cancel", NULL, opt_workspace_cancel, NULL},*/
(-)ion-devel-20021104/src/frame.c (-7 / +20 lines)
Lines 89-105 Link Here
89
#define BAR_X(FRAME, GRDATA) ((GRDATA)->bar_off.x)
89
#define BAR_X(FRAME, GRDATA) ((GRDATA)->bar_off.x)
90
#define BAR_Y(FRAME, GRDATA) ((GRDATA)->bar_off.y)
90
#define BAR_Y(FRAME, GRDATA) ((GRDATA)->bar_off.y)
91
#define BAR_W(FRAME, GRDATA) (REGION_GEOM(FRAME).w+(GRDATA)->bar_off.w)
91
#define BAR_W(FRAME, GRDATA) (REGION_GEOM(FRAME).w+(GRDATA)->bar_off.w)
92
#define BAR_H(FRAME, GRDATA) ((GRDATA)->bar_h)
92
#define BAR_H(FRAME, GRDATA) ((FRAME->draw_tab)?((GRDATA)->bar_h):0)
93
93
94
#define FRAME_TO_CLIENT_W(W, GRDATA) ((W)+(GRDATA)->client_off.w)
94
#define FRAME_TO_CLIENT_W(W, GRDATA) ((W)+(GRDATA)->client_off.w)
95
#define FRAME_TO_CLIENT_H(H, GRDATA) ((H)+(GRDATA)->client_off.h)
95
#define FRAME_TO_CLIENT_H(H, GRDATA,FRAME) ((FRAME->draw_tab)?((H)+(GRDATA)->client_off.h):(H + GRDATA->client_off.h + GRDATA->bar_h + 1))
96
#define CLIENT_TO_FRAME_W(W, GRDATA) ((W)-(GRDATA)->client_off.w)
96
#define CLIENT_TO_FRAME_W(W, GRDATA) ((W)-(GRDATA)->client_off.w)
97
#define CLIENT_TO_FRAME_H(H, GRDATA) ((H)-(GRDATA)->client_off.h)
97
#define CLIENT_TO_FRAME_H(H, GRDATA,FRAME) ((FRAME->draw_tab)?((H)-(GRDATA)->client_off.h):(H)
98
98
99
#define CLIENT_X(FRAME, GRDATA) ((GRDATA)->client_off.x)
99
#define CLIENT_X(FRAME, GRDATA) ((GRDATA)->client_off.x)
100
#define CLIENT_Y(FRAME, GRDATA) ((GRDATA)->client_off.y)
100
#define CLIENT_Y(FRAME, GRDATA) (((FRAME)->draw_tab)?((GRDATA)->client_off.y):(GRDATA->bar_off.y))
101
#define CLIENT_W(FRAME, GRDATA) FRAME_TO_CLIENT_W(FRAME_W(FRAME), GRDATA)
101
#define CLIENT_W(FRAME, GRDATA) FRAME_TO_CLIENT_W(FRAME_W(FRAME), GRDATA)
102
#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), GRDATA)
102
#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), GRDATA, FRAME)
103
103
104
104
105
static WRegion *firstreg_ni(const WFrame *frame)
105
static WRegion *firstreg_ni(const WFrame *frame)
Lines 180-185 Link Here
180
	frame->saved_x=FRAME_NO_SAVED_WH;
180
	frame->saved_x=FRAME_NO_SAVED_WH;
181
	frame->saved_y=FRAME_NO_SAVED_WH;
181
	frame->saved_y=FRAME_NO_SAVED_WH;
182
	frame->tab_pressed_sub=NULL;
182
	frame->tab_pressed_sub=NULL;
183
184
	frame->draw_tab = 1;
183
	
185
	
184
	if(grdata->transparent_background){
186
	if(grdata->transparent_background){
185
		attr.background_pixmap=ParentRelative;
187
		attr.background_pixmap=ParentRelative;
Lines 268-273 Link Here
268
270
269
/*{{{ Draw */
271
/*{{{ Draw */
270
272
273
void frame_toggle_tab(WFrame *frame) {
274
	frame->draw_tab = !frame->draw_tab;
275
276
	XClearWindow(wglobal.dpy, FRAME_WIN(frame));
277
	frame_fit_subs(frame);
278
	draw_frame(frame, TRUE);
279
}
271
280
272
void frame_recalc_bar(WFrame *frame)
281
void frame_recalc_bar(WFrame *frame)
273
{
282
{
Lines 328-335 Link Here
328
	 XSetForeground(wglobal.dpy, XGC, grdata->frame_bgcolor);
337
	 XSetForeground(wglobal.dpy, XGC, grdata->frame_bgcolor);
329
	 XFillRectangle(wglobal.dpy, WIN, XGC, C_X, C_Y, C_W, C_H);
338
	 XFillRectangle(wglobal.dpy, WIN, XGC, C_X, C_Y, C_W, C_H);
330
	 */
339
	 */
331
	
340
332
	draw_frame_bar(frame, !complete || !grdata->bar_inside_frame);
341
	if(frame->draw_tab)
342
		draw_frame_bar(frame, !complete || !grdata->bar_inside_frame);
333
}
343
}
334
344
335
345
Lines 341-346 Link Here
341
	WGRData *grdata=&(scr->grdata);
351
	WGRData *grdata=&(scr->grdata);
342
	WRectangle bg;
352
	WRectangle bg;
343
	
353
	
354
	if(!frame->draw_tab)
355
		return;
356
	
344
	frame_bar_geom(frame, &bg);
357
	frame_bar_geom(frame, &bg);
345
	
358
	
346
	dinfo->win=FRAME_WIN(frame);
359
	dinfo->win=FRAME_WIN(frame);
(-)ion-devel-20021104/src/frame.h (-1 / +3 lines)
Lines 34-40 Link Here
34
	int tab_w;
34
	int tab_w;
35
	int saved_w, saved_h;
35
	int saved_w, saved_h;
36
	int saved_x, saved_y;
36
	int saved_x, saved_y;
37
	
37
38
	int draw_tab;
38
	int sub_count;
39
	int sub_count;
39
	WRegion *current_sub;
40
	WRegion *current_sub;
40
	WRegion *current_input;
41
	WRegion *current_input;
Lines 70-75 Link Here
70
71
71
extern WFrame *find_frame_of(Window win);
72
extern WFrame *find_frame_of(Window win);
72
extern void frame_attach_tagged(WFrame *frame);
73
extern void frame_attach_tagged(WFrame *frame);
74
extern void frame_toggle_tab(WFrame *frame);
73
75
74
extern void frame_move_current_tab_right(WFrame *frame);
76
extern void frame_move_current_tab_right(WFrame *frame);
75
extern void frame_move_current_tab_left(WFrame *frame);
77
extern void frame_move_current_tab_left(WFrame *frame);
(-)ion-devel-20021104/src/funtabs.c (+1 lines)
Lines 137-142 Link Here
137
	FN(l,	generic, WRegion,	"set_height",		set_height),
137
	FN(l,	generic, WRegion,	"set_height",		set_height),
138
	FN(d,	generic, WRegion,	"set_widthq",		set_widthq),
138
	FN(d,	generic, WRegion,	"set_widthq",		set_widthq),
139
	FN(d,	generic, WRegion,	"set_heightq",		set_heightq),
139
	FN(d,	generic, WRegion,	"set_heightq",		set_heightq),
140
	FN_VOID(generic, WFrame,        "toggle_tab",		frame_toggle_tab),
140
141
141
	/* mouse move/resize and tab drag */
142
	/* mouse move/resize and tab drag */
142
	FN_VOID(generic, WFrame,	"p_resize",		p_resize_setup),
143
	FN_VOID(generic, WFrame,	"p_resize",		p_resize_setup),

Return to bug 15804