RE: Problems with window position, virtual desktops and fonts



Title: RE: Problems with window position, virtual desktops and fonts

mmmm.... I also had problems when getting size/position info from a window while it is hidden.

Esteban

-----Original Message-----
From: Jan-Marek Glogowski [mailto:glogow stud fbi fh-darmstadt de]
Sent: Sunday, July 01, 2001 10:55 AM
To: gtk-list gnome org
Subject: Problems with window position, virtual desktops and fonts


Hi

I have a few problems:

1. Positioning of windows
2. Show / Hide a window on the same virtual desktop
3. Quick way to find the best font to fill an area


I have a problem with the window positioning

Here is the code from the first problem:

[schnipp]

void displayer_karaoke_window_finish(void)
{
        // get position
        gdk_window_get_position(displayer_karaoke_window_win->window, &posX, &posY);
        // save position
        singit_config_save_plugin_position("karaoke_window", posX, posY, -1, -1);
        gtk_widget_destroy(displayer_karaoke_window_win);
}

......

void displayer_karaoke_window_init(void)
{
        Buildup window....
        ....
        gtk_widget_realize(displayer_karaoke_window_win);
        ...

        // load position...

        if (singit_config_load_plugin_position("karaoke_window", &posX, &posY, NULL, NULL)) {
                gdk_window_move(displayer_karaoke_window_win->window, posX, posY);
        }
        else
                gtk_window_set_position
                        (GTK_WINDOW(displayer_karaoke_window_win), GTK_WIN_POS_CENTER);
}

......

Later on in the program I call

  gtk_widget_show(displayer_karaoke_window_win);

[schnapp]

I checked the config file - position stored is ok (40 / 480)
I have checked the loaded position via printf - the position is correct (same as stored)

The window doesn't appear at the right position (about 60 / 60).

Any ideas ?



2. Problem

I need to show and hide a window on the same virtual desktop.
It's no problem to hide the window, because it's independent of the
virtual desktop.

The problem occures when I close the window and change to an other virtual
desktop.

When I call gtk_widget_show(...) / gdk_window_show(...) the window is
shown on my active desktop, not on the one where it has been closed.
I had a some ideas and implemented them (using map / unmap - signals) but
no one worked as expected.

Any ideas ?



3. Problem

I need to get the best font size to fit an area.
My current function is very slow.

First I check if there is a scaleable font from the same family
(XListFonts(...))

Then I construct Xfont - strings with different sizes, load the fonts
(gdk_font_load(...) and check the current string width
(gdk_string_width(...)) as long as the font width is smaller then
the area.width.

Is there any way to speed this up? Even on a PIII 733 it needs seconds for
about 50 fonts.



Thanks

Jan-Marek Glogowski


_______________________________________________
gtk-list mailing list
gtk-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]