Xft doesn't work. The attached patch should fix it.

/Pelle  

On Sun, Feb 23, 2003 at 04:48:16PM +0200, Tuomo Valkonen wrote:
> 
> There's a new major development release available from Ion web page.
> Not many changes are visible to the end user, though, but a lot was
> rewritten to be more flexible and simpler; see the ChangeLog for a
> full account. The older development release is also still available
> because this release can not be considered as stable after major
> changes to the code. The most visible changes are
> 
>   * Changes in binding configuration
>   * A (mostly) working full screen mode toggle (see below)
>   * The ability to switch workspaces while dragging tabs (experimental)
>   * The ability to re-read draw.conf without restarting Ion
>   * Some bug fixes.
> 
> 
> Some notes on full screen mode toggle:
> 
>  * Ion doesn't detect programs trying to leave full screen mode--it
>    should be possible to devise some method using window properties,
>    however.
>  * At least Opera unmaps the window also before changing the size to
>    enter full screen mode, so Ion doesn't remember the last frame.
>  * Mozilla sometimes has trouble entering full screen mode but when it
>    succeeds, Ion remembers the last frame. However, if
>    clientwin_toggle_fullscreen is used to leave the full screen mode
>    started from Mozilla, Mozilla doesn't know that the mode has been
>    left.
> 
> Clearly there should be some method of communication between Ion and the
> programs for full screen toggles to fully work. At the moment I suggest
> using clientwin_toggle_fullscreen instead of the programs' native toggles
> unless the program has some special full screen mode and you really want
> it.
> 
> 
> New ChangeLog entries:
> 
> 2003-02-23:
>   * Some changes and (hopefully) fixes to focusing policy
>   * Preliminary support for workspace switching while dragging tabs.
>   * Added the compile-time option CF_SECOND_RATE_OS_FS to change
>     colons to underscores in display name part of configuration file
>     names.
>   * The command clientwin_toggle_fullscreen now works in both
>     directions. However, it should be noted that this toggle does not
>     work well along with client programs' full screen mode toggles.
>     Some means of communication should be devised.
>   * Nested submaps are now fully implemented.
> 
> 2003-02-22:
>   * Resize size display should now be properly positioned on Xinerama
>     screens.
>   * Removed clientwin_bindings and viewport_bindings sections.
>   * More consistent and descriptive command names.
>   * Key binding setup changed.
>   * X window -less regions no longer contain children. Instead the
>     regions "manage" these objects that share the parent object with
>     the managing object.
>   * New workspace layout saving and loading code that supports
>     arbitrary objects instead of just frames and workspaces..
>   * Active client window commands can be accessed from other bindings
>     with the command 'commands_at_leaf'.
>   * Tab width calculation fixed
> 
> 2003-02-20:
>   * Xft default compilation options changed in system.mk
>   * load_module searches the directories $LIBDIR and ~/.ion-devel/lib
>     for the module if the name contains no slashes.
> 
> 2003-02-17:
>   * Fixed region_do_find_new_home
> 
> 2003-02-16:
>   * Fixed alloc_defer
> 
> 2003-02-09:
>   * Changed broken_app_resize_kludge a bit. Should work a little
>     better now.
>   * Support re-reading draw.conf (reread_draw_config) without restart
> 
diff -urN ion-devel-0.0.20030223/query/input.c 
ion-devel-0.0.20030223-xftfixed/query/input.c
--- ion-devel-0.0.20030223/query/input.c        2003-02-22 18:37:25.000000000 +0100
+++ ion-devel-0.0.20030223-xftfixed/query/input.c       2003-02-24 11:23:07.000000000 
+0100
@@ -88,8 +88,13 @@
 
 void input_draw_config_updated(WInput *input)
 {
+#ifdef CF_XFT
+       XSetWindowBackground(wglobal.dpy, input->win.win,
+                                                
GRDATA_OF(input)->input_colors.bg.pixel);
+#else
        XSetWindowBackground(wglobal.dpy, input->win.win,
                                                 GRDATA_OF(input)->input_colors.bg);
+#endif
        input_refit(input);
        default_draw_config_updated((WRegion*)input);
        draw_window((WWindow*)input, TRUE);
diff -urN ion-devel-0.0.20030223/wmcore/window.c 
ion-devel-0.0.20030223-xftfixed/wmcore/window.c
--- ion-devel-0.0.20030223/wmcore/window.c      2003-02-22 18:40:36.000000000 +0100
+++ ion-devel-0.0.20030223-xftfixed/wmcore/window.c     2003-02-24 11:17:55.000000000 
+0100
@@ -71,8 +71,8 @@
        wwin->win=win;
 #ifdef CF_XFT
        wwin->draw=XftDrawCreate(wglobal.dpy, win, 
-                                                        DefaultVisual(wglobal.dpy, 
scr->xscr),
-                                                        scr->default_cmap);
+                                                        DefaultVisual(wglobal.dpy, 
SCREEN_OF(wwin)->xscr),
+                                                        
SCREEN_OF(wwin)->default_cmap);
 #else
        wwin->draw=NULL;
 #endif

Reply via email to