In article <[EMAIL PROTECTED]>, Tuomo Valkonen wrote:
>
> The list of new ChangeLog entries is long time time, but I'm finally
> starting to get to what I started working on almost two years ago.
extremly well done, gratulations.
there was just the problem, that it won't startup without a
~/.ion-devel/saves/workspace*conf. This could be a major problem for
newcomers (on the other side, should a beginner use ion-devel?)
The problem that some application wouldn't gain new screen space is
gone. Good work.
Attached is a new version of my toggle_tabs patch... version <overflow>.
It is just a quick rediff verses the new ion-devel, i'm posting it to
get more feedback (well, i'm posting it to get _any_ feedback).
I don't know if you would prefer to the toggle_tab flag in ionframe or
genframe, but that's not a major problem <grin>. My main problem with
this patch till now is, that after applying it, ion won't display any
fonts (neither in query nor in frame tabs... everything else works like
a charm), I will look into this in the next hours.
any comments will be accepted (except "don't do it"),
andreas
--
diff -uNr ion-devel-2/ioncore/funtabs.c ion-devel-20030311/ioncore/funtabs.c
--- ion-devel-2/ioncore/funtabs.c 2003-03-11 21:39:44.000000000 +0100
+++ ion-devel-20030311/ioncore/funtabs.c 2003-03-09 12:17:40.000000000 +0100
@@ -86,7 +86,6 @@
FN_VOID(generic, WGenFrame, "genframe_p_resize",
genframe_p_resize_setup),
FN_VOID(generic, WGenFrame, "genframe_p_tabdrag",
genframe_p_tabdrag_setup),
FN_VOID(generic, WGenFrame, "genframe_p_switch_tab",
genframe_switch_tab),
- FN_VOID(generic, WGenFrame, "genframe_toggle_tab",
genframe_toggle_tab),
FN_VOID(generic, WGenFrame, "genframe_move_current_tab_left",
genframe_move_current_tab_left),
FN_VOID(generic, WGenFrame, "genframe_move_current_tab_right",
genframe_move_current_tab_right),
diff -uNr ion-devel-2/ioncore/genframe.c ion-devel-20030311/ioncore/genframe.c
--- ion-devel-2/ioncore/genframe.c 2003-03-11 22:57:29.000000000 +0100
+++ ion-devel-20030311/ioncore/genframe.c 2003-03-10 23:01:36.000000000 +0100
@@ -638,16 +638,6 @@
return FALSE;
}
-void genframe_toggle_tab(WGenFrame *genframe)
-{
- if(genframe->flags&WGENFRAME_TAB_HIDE)
- genframe->flags&=!WGENFRAME_TAB_HIDE;
- else
- genframe->flags|=WGENFRAME_TAB_HIDE;
- genframe_fit_managed(genframe);
- genframe_draw(genframe,TRUE);
-}
-
void genframe_draw_config_updated(WGenFrame *genframe)
{
diff -uNr ion-devel-2/ioncore/genframe.h ion-devel-20030311/ioncore/genframe.h
--- ion-devel-2/ioncore/genframe.h 2003-03-11 21:33:24.000000000 +0100
+++ ion-devel-20030311/ioncore/genframe.h 2003-03-09 12:34:14.000000000 +0100
@@ -22,7 +22,6 @@
#define WGENFRAME_TAB_DRAGGED 0x0001
#define WGENFRAME_TRANSPARENT 0x0002
-#define WGENFRAME_TAB_HIDE 0x0004
DECLOBJ(WGenFrame){
@@ -79,7 +78,6 @@
extern int genframe_tab_at_x(const WGenFrame *genframe, int x);
extern void genframe_move_current_tab_right(WGenFrame *genframe);
extern void genframe_move_current_tab_left(WGenFrame *genframe);
-extern void genframe_toggle_tab(WGenFrame *genframe);
/* Misc */
extern WRegion *genframe_nth_managed(WGenFrame *genframe, uint n);
diff -uNr ion-devel-2/ionws/ionframe.c ion-devel-20030311/ionws/ionframe.c
--- ion-devel-2/ionws/ionframe.c 2003-03-11 23:01:12.000000000 +0100
+++ ion-devel-20030311/ionws/ionframe.c 2003-03-09 12:20:37.000000000 +0100
@@ -67,12 +67,11 @@
static bool init_ionframe(WIonFrame *frame, WWindow *parent, WRectangle geom,
- int id, int flags)
+ int id)
{
if(!init_genframe((WGenFrame*)frame, parent, geom, id))
return FALSE;
- frame->genframe.flags=flags;
set_tab_spacing(frame);
region_add_bindmap((WRegion*)frame, &(ionframe_bindmap), TRUE);
@@ -81,15 +80,15 @@
}
-WIonFrame *create_ionframe(WWindow *parent, WRectangle geom, int id, int flags)
+WIonFrame *create_ionframe(WWindow *parent, WRectangle geom, int id)
{
- CREATETHING_IMPL(WIonFrame, ionframe, (p, parent, geom, id, flags));
+ CREATETHING_IMPL(WIonFrame, ionframe, (p, parent, geom, id));
}
WIonFrame* create_ionframe_simple(WWindow *parent, WRectangle geom)
{
- return create_ionframe(parent, geom, 0, 0);
+ return create_ionframe(parent, geom, 0);
}
@@ -160,7 +159,7 @@
geom->w-=2*grdata->spacing;
geom->h-=2*grdata->spacing;
- if(grdata->bar_inside_frame && !(frame->genframe.flags&WGENFRAME_TAB_HIDE)){
+ if(grdata->bar_inside_frame){
geom->y+=grdata->bar_h+grdata->spacing;
geom->h-=grdata->bar_h+grdata->spacing;
}
@@ -223,7 +222,7 @@
WScreen *scr=SCREEN_OF(frame);
int bar_w, tab_w, textw, n;
WRegion *sub;
-
+
{
WRectangle geom;
genframe_bar_geom((WGenFrame*)frame, &geom);
@@ -240,7 +239,7 @@
}
}
- if(draw && !(frame->genframe.flags&WGENFRAME_TAB_HIDE))
+ if(draw)
genframe_draw_bar((WGenFrame*)frame, TRUE);
}
@@ -269,19 +268,15 @@
XClearWindow(wglobal.dpy, WGENFRAME_WIN(frame));
draw_border_inverted(dinfo, TRUE);
-
- if(!(frame->genframe.flags&WGENFRAME_TAB_HIDE))
- genframe_draw_bar((WGenFrame*)frame,
- !complete ||
!grdata->bar_inside_frame);
+
+ genframe_draw_bar((WGenFrame*)frame,
+ !complete || !grdata->bar_inside_frame);
}
void ionframe_draw_bar(const WIonFrame *frame, bool complete)
{
WGRData *grdata=GRDATA_OF(frame);
-
- if(frame->genframe.flags&WGENFRAME_TAB_HIDE)
- return;
if(complete && !grdata->bar_inside_frame){
WBorder bd=frame_border(grdata);
@@ -316,20 +311,17 @@
/*{{{ Save/load */
-#define WRITE_INTEGER_OPTION(NAME, VALUE)
{save_indent_line(file,lvl);fprintf(file,"%s %d\n", (NAME), (VALUE));}
static bool ionframe_save_to_file(WIonFrame *ionframe, FILE *file, int lvl)
{
begin_saved_region((WRegion*)ionframe, file, lvl);
- WRITE_INTEGER_OPTION("target_id", ionframe->genframe.target_id);
- WRITE_INTEGER_OPTION("flags", ionframe->genframe.flags);
+ save_indent_line(file, lvl);
+ fprintf(file, "target_id %d\n", ionframe->genframe.target_id);
end_saved_region((WRegion*)ionframe, file, lvl);
return TRUE;
}
-#undef WRITE_INTEGER_OPTION
static int load_target_id;
-static int load_frame_flags;
static bool opt_target_id(Tokenizer *tokz, int n, Token *toks)
@@ -338,18 +330,9 @@
return TRUE;
}
-static bool opt_frame_flags(Tokenizer *tokz, int n, Token *toks)
-{
- load_frame_flags=TOK_LONG_VAL(&(toks[1]));
- /* remove unneeded bits from flags
- example: load_frame_flags &= (WGENFRAME_TAB_HIDE | WGENFRAME_*); */
- load_frame_flags &= (WGENFRAME_TAB_HIDE);
- return TRUE;
-}
static ConfOpt ionframe_opts[]={
- {"target_id", "l", opt_target_id, NULL},
- {"flags", "l", opt_frame_flags, NULL},
+ {"target_id", "l", opt_target_id, NULL},
END_CONFOPTS
};
@@ -357,12 +340,11 @@
WRegion *ionframe_load(WWindow *par, WRectangle geom, Tokenizer *tokz)
{
load_target_id=0;
- load_frame_flags=0;
if(!parse_config_tokz(tokz, ionframe_opts))
return NULL;
- return (WRegion*)create_ionframe(par, geom, load_target_id, load_frame_flags);
+ return (WRegion*)create_ionframe(par, geom, load_target_id);
}
diff -uNr ion-devel-2/ionws/ionframe.h ion-devel-20030311/ionws/ionframe.h
--- ion-devel-2/ionws/ionframe.h 2003-03-11 21:29:50.000000000 +0100
+++ ion-devel-20030311/ionws/ionframe.h 2003-03-09 12:20:37.000000000 +0100
@@ -19,7 +19,7 @@
};
-extern WIonFrame *create_ionframe(WWindow *parent, WRectangle geom, int id, int
flags);
+extern WIonFrame *create_ionframe(WWindow *parent, WRectangle geom, int id);
extern WIonFrame* create_ionframe_simple(WWindow *parent, WRectangle geom);
extern void ionframe_draw_config_updated(WIonFrame *frame);
extern void ionframe_draw_bar(const WIonFrame *frame, bool complete);
diff -uNr ion-devel-2/ionws/ionws.c ion-devel-20030311/ionws/ionws.c
--- ion-devel-2/ionws/ionws.c 2003-03-11 21:30:34.000000000 +0100
+++ ion-devel-20030311/ionws/ionws.c 2003-03-11 19:52:06.000000000 +0100
@@ -165,7 +165,7 @@
{
WIonFrame *frame;
- frame=create_ionframe(parent, geom, 0,0);
+ frame=create_ionframe(parent, geom, 0);
if(frame==NULL)
return NULL;