I like my ion frames to have no borders and my float frames to have them,
so I created this patch on ion-devel-2003-06-27-1 (debian). It defines
set_floatframe_border, set_ionframe_border, and set_frame_border (for old
behaviour).
diff -aur ion-devel-0.0.20030627/floatws/floatframe.c
ion-devel-0.0.20030627-new/floatws/floatframe.c
--- ion-devel-0.0.20030627/floatws/floatframe.c 2003-06-20 04:19:08.000000000 -0500
+++ ion-devel-0.0.20030627-new/floatws/floatframe.c 2003-07-10 18:58:57.000000000
-0500
@@ -70,7 +70,7 @@
static void floatframe_offsets(WGRData *grdata, WRectangle *off)
{
- int bd=BORDER_TOTAL(&grdata->frame_border)-grdata->frame_border.ipad;
+ int bd=BORDER_TOTAL(&grdata->floatframe_border)-grdata->floatframe_border.ipad;
off->x=-bd;
off->w=2*bd;
off->y=-bd-grdata->bar_h;
@@ -334,7 +334,7 @@
dinfo->grdata=grdata;
dinfo->gc=grdata->gc;
- dinfo->border=&(grdata->frame_border);
+ dinfo->border=&(grdata->floatframe_border);
floatframe_border_geom(frame, &(dinfo->geom));
if(REGION_IS_ACTIVE(frame))
diff -aur ion-devel-0.0.20030627/ioncore/conf-draw.c
ion-devel-0.0.20030627-new/ioncore/conf-draw.c
--- ion-devel-0.0.20030627/ioncore/conf-draw.c 2003-05-31 10:04:38.000000000 -0500
+++ ion-devel-0.0.20030627-new/ioncore/conf-draw.c 2003-07-10 19:11:33.000000000
-0500
@@ -106,10 +106,17 @@
}
EXTL_EXPORT
-bool set_frame_border(int tl, int br, int ipad)
+bool set_floatframe_border(int tl, int br, int ipad)
{
CHK_SCR;
- return do_border(&(tmp_rootwin->grdata.frame_border), tl, br, ipad);
+ return do_border(&(tmp_rootwin->grdata.floatframe_border), tl, br, ipad);
+}
+
+EXTL_EXPORT
+bool set_ionframe_border(int tl, int br, int ipad)
+{
+ CHK_SCR;
+ return do_border(&(tmp_rootwin->grdata.ionframe_border), tl, br, ipad);
}
EXTL_EXPORT
diff -aur ion-devel-0.0.20030627/ioncore/draw.c
ion-devel-0.0.20030627-new/ioncore/draw.c
--- ion-devel-0.0.20030627/ioncore/draw.c 2003-06-02 09:15:56.000000000 -0500
+++ ion-devel-0.0.20030627-new/ioncore/draw.c 2003-07-10 19:10:56.000000000 -0500
@@ -300,7 +300,8 @@
#define INIT_BD(BD, TL, BR, IPAD) BD.tl=TL; BD.br=BR; BD.ipad=IPAD;
- INIT_BD(grdata->frame_border, 1, 1, 0);
+ INIT_BD(grdata->floatframe_border, 1, 1, 0);
+ INIT_BD(grdata->ionframe_border, 1, 1, 0);
INIT_BD(grdata->tab_border, 1, 1, 1);
INIT_BD(grdata->input_border, 1, 1, 1);
diff -aur ion-devel-0.0.20030627/ioncore/grdata.h
ion-devel-0.0.20030627-new/ioncore/grdata.h
--- ion-devel-0.0.20030627/ioncore/grdata.h 2003-05-31 10:04:38.000000000 -0500
+++ ion-devel-0.0.20030627-new/ioncore/grdata.h 2003-07-10 19:10:48.000000000 -0500
@@ -45,7 +45,8 @@
WColor frame_bgcolor, selection_bgcolor, selection_fgcolor;
bool transparent_background;
- WBorder frame_border;
+ WBorder ionframe_border;
+ WBorder floatframe_border;
WBorder tab_border;
WBorder input_border;
diff -aur ion-devel-0.0.20030627/ionws/ionframe.c
ion-devel-0.0.20030627-new/ionws/ionframe.c
--- ion-devel-0.0.20030627/ionws/ionframe.c 2003-06-19 11:16:24.000000000 -0500
+++ ion-devel-0.0.20030627-new/ionws/ionframe.c 2003-07-10 19:10:17.000000000 -0500
@@ -63,7 +63,7 @@
static WBorder frame_border(WGRData *grdata)
{
- WBorder bd=grdata->frame_border;
+ WBorder bd=grdata->ionframe_border;
bd.ipad/=2;
return bd;
}
diff -aur ion-devel-0.0.20030627/share/ioncorelib.lua
ion-devel-0.0.20030627-new/share/ioncorelib.lua
--- ion-devel-0.0.20030627/share/ioncorelib.lua 2003-06-27 13:40:23.000000000 -0500
+++ ion-devel-0.0.20030627-new/share/ioncorelib.lua 2003-07-10 19:15:19.000000000
-0500
@@ -304,6 +304,13 @@
-- Misc {{{
--DOC
+-- Set both borders at once.
+function set_frame_border(tl, br, ipad)
+ set_ionframe_border(tl, br, ipad)
+ set_floatframe_border(tl, br, ipad)
+end
+
+--DOC
-- Check that the \type{WObj} \var{obj} still exists in Ioncore.
function obj_exists(obj)
return (obj_typename(obj)~=nil)