Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 8384 Details for
Bug 15804
ion-devel-20030131 ebuild with truetype and CFLAGS support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
ion-devel-20021104-toggle_tab.patch
ion-devel-20021104-toggle_tab.patch (text/plain), 5.27 KB, created by
Tom Payne (RETIRED)
on 2003-02-17 15:26:46 UTC
(
hide
)
Description:
ion-devel-20021104-toggle_tab.patch
Filename:
MIME Type:
Creator:
Tom Payne (RETIRED)
Created:
2003-02-17 15:26:46 UTC
Size:
5.27 KB
patch
obsolete
>diff -u -r ion-devel-20021104/src/confws.c ion-devel-20021104-tab/src/confws.c >--- ion-devel-20021104/src/confws.c 2002-11-02 16:54:34.000000000 +0100 >+++ ion-devel-20021104-tab/src/confws.c 2002-11-14 15:37:29.000000000 +0100 >@@ -201,8 +201,9 @@ > if(frame==NULL) > return FALSE; > >- if(n>=3) >- set_region_name((WRegion*)frame, TOK_STRING_VAL(&(toks[2]))); >+ frame->draw_tab = TOK_LONG_VAL(&(toks[2])); >+ if(n>=4) >+ set_region_name((WRegion*)frame, TOK_STRING_VAL(&(toks[3]))); > > if(current_split==NULL) > current_ws->splitree=(WObj*)frame; >@@ -282,7 +283,7 @@ > > if(WOBJ_IS(obj, WFrame)){ > indent(file, lvl); >- fprintf(file, "frame %d", ((WFrame*)obj)->target_id); >+ fprintf(file, "frame %d, %d", ((WFrame*)obj)->target_id, ((WFrame*)obj)->draw_tab); > name=region_name((WRegion*)obj); > /* TODO: escape reserved characters */ > if(name!=NULL) >@@ -347,7 +348,7 @@ > static ConfOpt split_opts[]={ > {"vsplit", "ll", opt_workspace_vsplit, split_opts}, > {"hsplit", "ll", opt_workspace_hsplit, split_opts}, >- {"frame", "l?s", opt_workspace_frame, NULL}, >+ {"frame", "ll?s", opt_workspace_frame, NULL}, > > {"#end", NULL, opt_split_end, NULL}, > /*{"#cancel", NULL, opt_split_cancel, NULL},*/ >@@ -358,7 +359,7 @@ > static ConfOpt workspace_opts[]={ > {"vsplit", "ll", opt_workspace_vsplit, split_opts}, > {"hsplit", "ll", opt_workspace_hsplit, split_opts}, >- {"frame", "l?s", opt_workspace_frame, NULL}, >+ {"frame", "ll?s", opt_workspace_frame, NULL}, > > {"#end", NULL, opt_workspace_end, NULL}, > /*{"#cancel", NULL, opt_workspace_cancel, NULL},*/ >diff -u -r ion-devel-20021104/src/frame.c ion-devel-20021104-tab/src/frame.c >--- ion-devel-20021104/src/frame.c 2002-11-03 05:33:02.000000000 +0100 >+++ ion-devel-20021104-tab/src/frame.c 2002-11-12 21:23:09.000000000 +0100 >@@ -89,17 +89,17 @@ > #define BAR_X(FRAME, GRDATA) ((GRDATA)->bar_off.x) > #define BAR_Y(FRAME, GRDATA) ((GRDATA)->bar_off.y) > #define BAR_W(FRAME, GRDATA) (REGION_GEOM(FRAME).w+(GRDATA)->bar_off.w) >-#define BAR_H(FRAME, GRDATA) ((GRDATA)->bar_h) >+#define BAR_H(FRAME, GRDATA) ((FRAME->draw_tab)?((GRDATA)->bar_h):0) > > #define FRAME_TO_CLIENT_W(W, GRDATA) ((W)+(GRDATA)->client_off.w) >-#define FRAME_TO_CLIENT_H(H, GRDATA) ((H)+(GRDATA)->client_off.h) >+#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)) > #define CLIENT_TO_FRAME_W(W, GRDATA) ((W)-(GRDATA)->client_off.w) >-#define CLIENT_TO_FRAME_H(H, GRDATA) ((H)-(GRDATA)->client_off.h) >+#define CLIENT_TO_FRAME_H(H, GRDATA,FRAME) ((FRAME->draw_tab)?((H)-(GRDATA)->client_off.h):(H) > > #define CLIENT_X(FRAME, GRDATA) ((GRDATA)->client_off.x) >-#define CLIENT_Y(FRAME, GRDATA) ((GRDATA)->client_off.y) >+#define CLIENT_Y(FRAME, GRDATA) (((FRAME)->draw_tab)?((GRDATA)->client_off.y):(GRDATA->bar_off.y)) > #define CLIENT_W(FRAME, GRDATA) FRAME_TO_CLIENT_W(FRAME_W(FRAME), GRDATA) >-#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), GRDATA) >+#define CLIENT_H(FRAME, GRDATA) FRAME_TO_CLIENT_H(FRAME_H(FRAME), GRDATA, FRAME) > > > static WRegion *firstreg_ni(const WFrame *frame) >@@ -180,6 +180,8 @@ > frame->saved_x=FRAME_NO_SAVED_WH; > frame->saved_y=FRAME_NO_SAVED_WH; > frame->tab_pressed_sub=NULL; >+ >+ frame->draw_tab = 1; > > if(grdata->transparent_background){ > attr.background_pixmap=ParentRelative; >@@ -268,6 +270,13 @@ > > /*{{{ Draw */ > >+void frame_toggle_tab(WFrame *frame) { >+ frame->draw_tab = !frame->draw_tab; >+ >+ XClearWindow(wglobal.dpy, FRAME_WIN(frame)); >+ frame_fit_subs(frame); >+ draw_frame(frame, TRUE); >+} > > void frame_recalc_bar(WFrame *frame) > { >@@ -328,8 +337,9 @@ > XSetForeground(wglobal.dpy, XGC, grdata->frame_bgcolor); > XFillRectangle(wglobal.dpy, WIN, XGC, C_X, C_Y, C_W, C_H); > */ >- >- draw_frame_bar(frame, !complete || !grdata->bar_inside_frame); >+ >+ if(frame->draw_tab) >+ draw_frame_bar(frame, !complete || !grdata->bar_inside_frame); > } > > >@@ -341,6 +351,9 @@ > WGRData *grdata=&(scr->grdata); > WRectangle bg; > >+ if(!frame->draw_tab) >+ return; >+ > frame_bar_geom(frame, &bg); > > dinfo->win=FRAME_WIN(frame); >Only in ion-devel-20021104-tab/src: frame.c.orig >diff -u -r ion-devel-20021104/src/frame.h ion-devel-20021104-tab/src/frame.h >--- ion-devel-20021104/src/frame.h 2002-09-25 13:53:34.000000000 +0200 >+++ ion-devel-20021104-tab/src/frame.h 2002-11-12 21:23:09.000000000 +0100 >@@ -34,7 +34,8 @@ > int tab_w; > int saved_w, saved_h; > int saved_x, saved_y; >- >+ >+ int draw_tab; > int sub_count; > WRegion *current_sub; > WRegion *current_input; >@@ -70,6 +71,7 @@ > > extern WFrame *find_frame_of(Window win); > extern void frame_attach_tagged(WFrame *frame); >+extern void frame_toggle_tab(WFrame *frame); > > extern void frame_move_current_tab_right(WFrame *frame); > extern void frame_move_current_tab_left(WFrame *frame); >diff -u -r ion-devel-20021104/src/funtabs.c ion-devel-20021104-tab/src/funtabs.c >--- ion-devel-20021104/src/funtabs.c 2002-09-25 13:53:34.000000000 +0200 >+++ ion-devel-20021104-tab/src/funtabs.c 2002-11-12 21:23:09.000000000 +0100 >@@ -137,6 +137,7 @@ > FN(l, generic, WRegion, "set_height", set_height), > FN(d, generic, WRegion, "set_widthq", set_widthq), > FN(d, generic, WRegion, "set_heightq", set_heightq), >+ FN_VOID(generic, WFrame, "toggle_tab", frame_toggle_tab), > > /* mouse move/resize and tab drag */ > FN_VOID(generic, WFrame, "p_resize", p_resize_setup),
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 15804
:
8342
| 8384