--- /dev/null
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/configure.ac ion-3/configure.ac
+--- ion-3ds-20051023/configure.ac 2005-10-23 18:14:47.000000000 +0200
++++ ion-3/configure.ac 2005-10-26 13:41:53.000000000 +0200
+@@ -3,7 +3,7 @@
+ dnl $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/files/ion3-20051023-r1.patch,v 1.1 2005/10/26 12:00:12 twp Exp $
+
+ AC_INIT([Ion Window Manager],
+- [3ds-20051023],
++ [3ds-20051023-r1],
+ [tuomov@iki.fi],
+ [ion3])
+ AC_PREREQ([2.58])
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/ioncore/clientwin.c ion-3/ioncore/clientwin.c
+--- ion-3ds-20051023/ioncore/clientwin.c 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/ioncore/clientwin.c 2005-10-26 13:41:54.000000000 +0200
+@@ -721,36 +721,35 @@
+ FRAME_SZH_USEMINMAX);
+ mreg=(WRegion*)frame;
+ mplex_managed_geom((WMPlex*)frame, &mg);
++
++ /* border sizes */
++ fp.g.w=REGION_GEOM(mreg).w-mg.w;
++ fp.g.h=REGION_GEOM(mreg).h-mg.h;
++ /* maximum inner size */
++ mg.w=maxof(1, cwin->last_fp.g.w-fp.g.w);
++ mg.h=maxof(1, minof(REGION_GEOM(reg).h, cwin->last_fp.g.h-fp.g.h));
++ /* adjust it to size hints (can only shrink) */
++ correct_to_size_hints_of(&(mg.w), &(mg.h), reg);
++ /* final frame size */
++ fp.g.w+=mg.w;
++ fp.g.h+=mg.h;
++ /* positioning */
++ do_gravity(&(cwin->last_fp.g), fp.gravity, &(fp.g));
++
++ fp.mode=REGION_FIT_EXACT;
+ }else{
+ mreg=reg;
+- mg=REGION_GEOM(reg);
++ fp.g=cwin->last_fp.g;
++ fp.mode=REGION_FIT_BOUNDS|REGION_FIT_GRAVITY;
++ fp.gravity=clientwin_get_transients_gravity(cwin);
+ }
+-
+-
+- /* border sizes */
+- fp.g.w=REGION_GEOM(mreg).w-mg.w;
+- fp.g.h=REGION_GEOM(mreg).h-mg.h;
+- /* maximum inner size */
+- mg.w=maxof(1, cwin->last_fp.g.w-fp.g.w);
+- mg.h=maxof(1, minof(REGION_GEOM(reg).h, cwin->last_fp.g.h-fp.g.h));
+- /* adjust it to size hints (can only shrink) */
+- correct_to_size_hints_of(&(mg.w), &(mg.h), reg);
+- /* final frame size */
+- fp.g.w+=mg.w;
+- fp.g.h+=mg.h;
+- /* positioning */
+- do_gravity(&(cwin->last_fp.g), fp.gravity, &(fp.g));
+-
+- fp.mode=REGION_FIT_EXACT;
+
+ region_fitrep((WRegion*)mreg, NULL, &fp);
+-
++
+ if(frame!=NULL){
+ if(!mplex_attach_simple((WMPlex*)frame, reg, 0)){
+ destroy_obj((Obj*)frame);
+ mreg=reg;
+- }else{
+- mreg=(WRegion*)frame;
+ }
+ }
+
+@@ -1344,8 +1343,11 @@
+ FOR_ALL_ON_PTRLIST(WRegion*, transient, cwin->transient_list, tmp){
+ WFitParams fp2;
+ fp2.mode=REGION_FIT_EXACT;
+- convert_transient_geom(&(fptmp), transient, &(fp2.g));
+-
++ if(ioncore_g.framed_transients)
++ convert_transient_geom(&(fptmp), transient, &(fp2.g));
++ else
++ fp2=fptmp;
++
+ if(!region_fitrep(transient, np, &fp2) && np!=NULL){
+ warn(TR("Error reparenting %s."), region_name(transient));
+ region_detach_manager(transient);
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/man/ion3.cs.in ion-3/man/ion3.cs.in
+--- ion-3ds-20051023/man/ion3.cs.in 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/man/ion3.cs.in 2005-10-26 13:41:54.000000000 +0200
+@@ -24,7 +24,7 @@
+ obrazovku (koøenové okno). (Tedy ne v¹echny, které byly zadány v parametru
+ -display nebo v promìnné DISPLAY.)
+ .TP
+-.B \-sessionname název_sezení
++.B \-session název_sezení
+ Nastaví název sezení. Tato volba ovlivní, kam se ulo¾í pracovní plochy
+ a ostatní soubory. Pokud není nastavená, pou¾ije se ~/.ion3/session_name.
+ .TP
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/man/ion3.de.in ion-3/man/ion3.de.in
+--- ion-3ds-20051023/man/ion3.de.in 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/man/ion3.de.in 2005-10-26 13:41:54.000000000 +0200
+@@ -25,7 +25,7 @@
+ voreingestellten Screen (Wurzelfenster); nicht alle, welche durch die '-display'
+ Option oder in der DISPLAY Umgebungsvariable bereitgestellt werden
+ .TP
+-.B \-sessionname sitzungs_name
++.B \-session sitzungs_name
+ Setzt einen Sitzungsnamen. Diese Option beeinflusst wo der Arbeitsbereich und
+ andere Sicherungsdateien abgelegt werden (~/.ion3/sitzungs_name wenn die Option
+ gesetzt wurde).
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/man/ion3.fi.in ion-3/man/ion3.fi.in
+--- ion-3ds-20051023/man/ion3.fi.in 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/man/ion3.fi.in 2005-10-26 13:41:54.000000000 +0200
+@@ -25,7 +25,7 @@
+ (ei Xinerama) näyttö/juuri-ikkuna. Tämä näyttö voidaan valita -display
+ parametrillä tai DISPLAY ympäristömuuttujalla.
+ .TP
+-.B \-sessionname session_name
++.B \-session session_name
+ Istunnon nimi. Tämä vaikuttaa talletustiedostojen sijaintiin.
+ .TP
+ .B \-xinerama 0|1
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/man/ion3.in ion-3/man/ion3.in
+--- ion-3ds-20051023/man/ion3.in 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/man/ion3.in 2005-10-26 13:41:54.000000000 +0200
+@@ -24,7 +24,7 @@
+ default screen (root window), not all, as given by the -display option or
+ in the DISPLAY environment variable.
+ .TP
+-.B \-sessionname session_name
++.B \-session session_name
+ Set session name. This option affects where workspace and other save files are
+ put (~/.ion3/session_name if option set).
+ .TP
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/mod_statusbar/draw.c ion-3/mod_statusbar/draw.c
+--- ion-3ds-20051023/mod_statusbar/draw.c 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/mod_statusbar/draw.c 2005-10-26 13:41:54.000000000 +0200
+@@ -110,16 +110,17 @@
+ mgr=OBJ_CAST(REGION_PARENT(sb), WMPlex);
+ if(mgr!=NULL){
+ WRegion *std=NULL;
+- int corner=MPLEX_STDISP_TL;
+- mplex_get_stdisp(mgr, &std, &corner);
++ WMPlexSTDispInfo din;
++ din.pos=MPLEX_STDISP_TL;
++ mplex_get_stdisp(mgr, &std, &din);
+ if(std==(WRegion*)sb)
+- right_align=(corner==MPLEX_STDISP_TR || corner==MPLEX_STDISP_BR);
++ right_align=(din.pos==MPLEX_STDISP_TR || din.pos==MPLEX_STDISP_BR);
+ }
+
+ g.x+=bdw.left;
+ g.w-=bdw.left+bdw.right;
+- g.y+=bdw.top;
+- g.h-=bdw.top+bdw.bottom;
++ g.y+=bdw.top;
++ g.h-=bdw.top+bdw.bottom;
+
+ ty=(g.y+fnte.baseline+(g.h-fnte.max_height)/2);
+
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/mod_statusbar/mod_statusbar.lua ion-3/mod_statusbar/mod_statusbar.lua
+--- ion-3ds-20051023/mod_statusbar/mod_statusbar.lua 2005-10-23 18:14:31.000000000 +0200
++++ ion-3/mod_statusbar/mod_statusbar.lua 2005-10-26 13:41:54.000000000 +0200
+@@ -145,6 +145,7 @@
+ function(t)
+ table.insert(res, {
+ type=(t=='f' and 4 or 3),
++ text=(t~='f' and t or nil),
+ })
+ end)
+ return res
+diff --exclude=_darcs --exclude=ChangeLog --exclude=exact-version -Naur ion-3ds-20051023/version.h ion-3/version.h
+--- ion-3ds-20051023/version.h 2005-10-23 18:14:47.000000000 +0200
++++ ion-3/version.h 2005-10-26 13:41:53.000000000 +0200
+@@ -1,2 +1,2 @@
+-#define ION_VERSION "3ds-20051023"
++#define ION_VERSION "3ds-20051023-r1"
+ #define ION_API_VERSION "3-"ION_VERSION