[first of all: congrats for ion-2! <bows> keep up the good work]

Toggling of tabs doesn't seem to work in floatws, they just get painted
black (or backgroud colour), but the window shape isn't updated, so you
can still move a frame by click&holding the pseudo-invisible tab.

After some thinking i still can't think of that behavious as a feature.

First attempt to solve this was to alter
floatws/floatframe.c:frame_set_shape (attached).

This helps to calculate the correct window shape, main remaining problem
is, that this function isn't called form genframe_toggle_tab.

I don't know if I should change genframe to include a DynFun updateShape
or overwrite genframe_toggle_tab (more generic but IMHO overdesigned) in
floatframe (smaller impact). frame_set_shape could also be called from
some calc_whatever function which is used by the drawing code.

so, which is the preferred solution?

thanks,
Andreas
diff -u -r ion-2-20040207/floatws/floatframe.c ion-orig/floatws/floatframe.c
--- ion-2-20040207/floatws/floatframe.c 2004-01-16 19:39:19.000000000 +0100
+++ ion-orig/floatws/floatframe.c       2004-02-13 22:21:50.000000000 +0100
@@ -274,13 +274,16 @@
 static void floatframe_set_shape(WFloatFrame *frame)
 {
        WRectangle gs[2];
+       int cnt=1;
        
        if(frame->genframe.brush!=NULL){
-               floatframe_bar_geom(frame, gs+0);
-               floatframe_border_geom(frame, gs+1);
+               floatframe_border_geom(frame, gs+0);
+
+               if(!(frame->genframe.flags&WGENFRAME_TAB_HIDE))
+                       floatframe_bar_geom(frame, gs+cnt++);
        
                grbrush_set_window_shape(frame->genframe.brush, WGENFRAME_WIN(frame),
-                                                                TRUE, 2, gs);
+                                                                TRUE, cnt, gs);
        }
 }
 

Reply via email to