this includes a number of things since my magnificent return....
authorDana Jansens <danakj@orodu.net>
Fri, 2 Mar 2007 02:23:00 +0000 (02:23 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 2 Mar 2007 02:23:00 +0000 (02:23 +0000)
1. some random compiling/style cleanups
2. some bigfixes
 - mislogic in per-window-settings and focusing new windows
 - use client_can_focus rather than checking variables for directional focus
 - MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*

34 files changed:
openbox/action.c
openbox/client.c
openbox/client.h
openbox/client_list_combined_menu.h
openbox/config.c
openbox/config.h
openbox/dock.c
openbox/event.c
openbox/event.h
openbox/focus.c
openbox/grab.c
openbox/mainloop.c
openbox/menuframe.c
openbox/mouse.c
openbox/place.c
po/ca.po
po/de.po
po/en@boldquot.po
po/en@quot.po
po/es.po
po/fi.po
po/fr.po
po/hr.po
po/ja.po
po/no.po
po/pl.po
po/pt.po
po/ru.po
po/sk.po
po/sv.po
po/zh_TW.po
render/font.c
render/icon.h
render/render.h

index 9350c3c..8ad6093 100644 (file)
@@ -1034,7 +1034,7 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
            it won't work right unless we XUngrabKeyboard first,
            even though we grabbed the key/button Asychronously.
            e.g. "gnome-panel-control --main-menu" */
-        XUngrabKeyboard(ob_display, event_lasttime);
+        XUngrabKeyboard(ob_display, event_curtime);
     }
 
     for (it = acts; it; it = g_slist_next(it)) {
@@ -1111,16 +1111,30 @@ void action_execute(union ActionData *data)
 
 void action_activate(union ActionData *data)
 {
-    client_activate(data->activate.any.c, data->activate.here);
+    /* similar to the openbox dock for dockapps, don't let user actions give
+       focus to 3rd-party docks (panels) either (unless they ask for it
+       themselves). */
+    if (data->client.any.c->type != OB_CLIENT_TYPE_DOCK) {
+        /* if using focus_delay, stop the timer now so that focus doesn't go
+           moving on us */
+        event_halt_focus_delay();
+
+        client_activate(data->activate.any.c, data->activate.here, TRUE);
+    }
 }
 
 void action_focus(union ActionData *data)
 {
-    /* if using focus_delay, stop the timer now so that focus doesn't go moving
-       on us */
-    event_halt_focus_delay();
+    /* similar to the openbox dock for dockapps, don't let user actions give
+       focus to 3rd-party docks (panels) either (unless they ask for it
+       themselves). */
+    if (data->client.any.c->type != OB_CLIENT_TYPE_DOCK) {
+        /* if using focus_delay, stop the timer now so that focus doesn't go
+           moving on us */
+        event_halt_focus_delay();
 
-    client_focus(data->client.any.c);
+        client_focus(data->client.any.c);
+    }
 }
 
 void action_unfocus (union ActionData *data)
index 88eecf1..efd5dbc 100644 (file)
@@ -371,8 +371,9 @@ void client_manage(Window window)
 
     /* focus the new window? */
     if (ob_state() != OB_STATE_STARTING &&
-        (config_focus_new || client_search_focus_parent(self)) ||
-        (settings && settings->focus == TRUE) &&
+        ((settings && settings->focus == TRUE) ||
+         (!settings && (config_focus_new ||
+                        client_search_focus_parent(self)))) &&
         /* note the check against Type_Normal/Dialog, not client_normal(self),
            which would also include other types. in this case we want more
            strict rules for focus */
@@ -810,20 +811,22 @@ static void client_toggle_border(ObClient *self, gboolean show)
 static void client_get_all(ObClient *self)
 {
     client_get_area(self);
-    client_update_transient_for(self);
-    client_update_wmhints(self);
-    client_get_startup_id(self);
-    client_get_desktop(self);
-    client_get_shaped(self);
-
     client_get_mwm_hints(self);
-    client_get_type(self);/* this can change the mwmhints for special cases */
 
     /* The transient hint is used to pick a type, but the type can also affect
-       transiency (dialogs are always made transients). This is Havoc's idea,
-       but it is needed to make some apps work right (eg tsclient). */
+       transiency (dialogs are always made transients of their group if they
+       have one). This is Havoc's idea, but it is needed to make some apps
+       work right (eg tsclient). */
+    client_update_transient_for(self);
+    client_get_type(self);/* this can change the mwmhints for special cases */
     client_update_transient_for(self);
 
+    client_update_wmhints(self);
+    client_get_startup_id(self);
+    client_get_desktop(self);/* uses transient data/group/startup id if a
+                                desktop is not specified */
+    client_get_shaped(self);
+
     client_get_state(self);
 
     {
@@ -1303,6 +1306,7 @@ void client_setup_decor_and_functions(ObClient *self)
         if (! (self->mwmhints.decorations & OB_MWM_DECOR_ALL)) {
             if (! ((self->mwmhints.decorations & OB_MWM_DECOR_HANDLE) ||
                    (self->mwmhints.decorations & OB_MWM_DECOR_TITLE)))
+            {
                 /* if the mwm hints request no handle or title, then all
                    decorations are disabled, but keep the border if that's
                    specified */
@@ -1310,6 +1314,7 @@ void client_setup_decor_and_functions(ObClient *self)
                     self->decorations = OB_FRAME_DECOR_BORDER;
                 else
                     self->decorations = 0;
+            }
         }
     }
 
@@ -2497,7 +2502,7 @@ void client_close(ObClient *self)
     ce.xclient.window = self->window;
     ce.xclient.format = 32;
     ce.xclient.data.l[0] = prop_atoms.wm_delete_window;
-    ce.xclient.data.l[1] = event_lasttime;
+    ce.xclient.data.l[1] = event_curtime;
     ce.xclient.data.l[2] = 0l;
     ce.xclient.data.l[3] = 0l;
     ce.xclient.data.l[4] = 0l;
@@ -2818,7 +2823,7 @@ gboolean client_focus(ObClient *self)
            #799. So now it is RevertToNone again.
         */
         XSetInputFocus(ob_display, self->window, RevertToNone,
-                       event_lasttime);
+                       event_curtime);
     }
 
     if (self->focus_notify) {
@@ -2829,7 +2834,7 @@ gboolean client_focus(ObClient *self)
         ce.xclient.window = self->window;
         ce.xclient.format = 32;
         ce.xclient.data.l[0] = prop_atoms.wm_take_focus;
-        ce.xclient.data.l[1] = event_lasttime;
+        ce.xclient.data.l[1] = event_curtime;
         ce.xclient.data.l[2] = 0l;
         ce.xclient.data.l[3] = 0l;
         ce.xclient.data.l[4] = 0l;
@@ -2839,7 +2844,7 @@ gboolean client_focus(ObClient *self)
 #ifdef DEBUG_FOCUS
     ob_debug("%sively focusing %lx at %d\n",
              (self->can_focus ? "act" : "pass"),
-             self->window, (gint) event_lasttime);
+             self->window, (gint) event_curtime);
 #endif
 
     /* Cause the FocusIn to come back to us. Important for desktop switches,
@@ -2861,8 +2866,11 @@ void client_unfocus(ObClient *self)
     }
 }
 
-void client_activate(ObClient *self, gboolean here)
+void client_activate(ObClient *self, gboolean here, gboolean user)
 {
+    /* XXX do some stuff here if user is false to determine if we really want
+       to activate it or not (a parent or group member is currently active) */
+
     if (client_normal(self) && screen_showing_desktop)
         screen_show_desktop(FALSE);
     if (self->iconic)
@@ -2997,8 +3005,8 @@ ObClient *client_find_directional(ObClient *c, ObDirection dir)
             continue;
         if(cur->iconic)
             continue;
-        if(client_focus_target(cur) == cur &&
-           !(cur->can_focus || cur->focus_notify))
+        if(!(client_focus_target(cur) == cur &&
+             client_can_focus(cur)))
             continue;
 
         /* find the centre coords of this window, from the
index 9702bb1..d8382d2 100644 (file)
@@ -477,8 +477,10 @@ void client_unfocus(ObClient *self);
   when the user deliberately selects a window for use.
   @param here If true, then the client is brought to the current desktop;
               otherwise, the desktop is changed to where the client lives.
+  @param user If true, then a user action is what requested the activation;
+              otherwise, it means an application requested it on its own
 */
-void client_activate(ObClient *self, gboolean here);
+void client_activate(ObClient *self, gboolean here, gboolean user);
 
 /*! Calculates the stacking layer for the client window */
 void client_calc_layer(ObClient *self);
index d48ee09..91ebfc4 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef ob__client_list_combined_menu_h
 #define ob__client_list_combined_menu_h
 
-void client_list_menu_combined_startup(gboolean reconfig);
-void client_list_menu_combined_shutdown(gboolean reconfig);
+void client_list_combined_menu_startup(gboolean reconfig);
+void client_list_combined_menu_shutdown(gboolean reconfig);
 
 #endif
index 774edda..9cf07a3 100644 (file)
@@ -44,7 +44,7 @@ gboolean config_title_number;
 
 gint    config_desktops_num;
 GSList *config_desktops_names;
-gint    config_screen_firstdesk;
+guint    config_screen_firstdesk;
 
 gboolean config_resize_redraw;
 gboolean config_resize_four_corners;
@@ -455,7 +455,7 @@ static void parse_desktops(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
     if ((n = parse_find_node("firstdesk", node))) {
         gint d = parse_int(doc, n);
         if (d > 0)
-            config_screen_firstdesk = d;
+            config_screen_firstdesk = (unsigned) d;
     }
     if ((n = parse_find_node("names", node))) {
         GSList *it;
@@ -718,7 +718,7 @@ static void bind_default_mouse()
             uact = OB_USER_ACTION_MOUSE_DOUBLE_CLICK; break;
         case OB_MOUSE_ACTION_MOTION:
             uact = OB_USER_ACTION_MOUSE_MOTION; break;
-        case OB_NUM_MOUSE_ACTIONS:
+        default:
             g_assert_not_reached();
         }
         mouse_bind(it->button, it->context, it->mact,
index 849d5a2..fc300d6 100644 (file)
@@ -96,7 +96,7 @@ extern gboolean config_title_number;
 /*! The number of desktops */
 extern gint config_desktops_num;
 /*! Desktop to start on, put 5 to start in the center of a 3x3 grid */
-extern gint config_screen_firstdesk;
+extern guint config_screen_firstdesk;
 /*! Names for the desktops */
 extern GSList *config_desktops_names;
 
index 7b92ff5..eceb3b9 100644 (file)
@@ -313,6 +313,8 @@ void dock_configure()
             dock->y = a->height;
             gravity = SouthEastGravity;
             break;
+        default:
+            g_assert_not_reached();
         }
     }
 
@@ -578,6 +580,8 @@ void dock_app_drag(ObDockApp *app, XMotionEvent *e)
     case OB_ORIENTATION_VERT:
         after = (y > over->h / 2);
         break;
+    default:
+        g_assert_not_reached();
     }
 
     /* remove before doing the it->next! */
index 21185be..c74e15a 100644 (file)
@@ -86,7 +86,12 @@ static gboolean menu_hide_delay_func(gpointer data);
                              (e)->xfocus.detail == NotifyAncestor || \
                              (e)->xfocus.detail > NotifyNonlinearVirtual)
 
-Time event_lasttime = 0;
+/* The most recent time at which an event with a timestamp occured. */
+static Time event_lasttime = 0;
+/* The time for the current event being processed
+   (it's the event_lasttime for events without times, if this is a bug then
+   use CurrentTime instead, but it seems ok) */
+Time event_curtime = CurrentTime;
 
 /*! The value of the mask for the NumLock modifier */
 guint NumLockMask;
@@ -251,8 +256,14 @@ static void event_set_lasttime(XEvent *e)
         break;
     }
 
-    if (t > event_lasttime)
+    if (t > event_lasttime) {
         event_lasttime = t;
+        event_curtime = event_lasttime;
+    } else if (t == 0) {
+        event_curtime = event_lasttime;
+    } else {
+        event_curtime = t;
+    }
 }
 
 #define STRIP_MODS(s) \
@@ -919,7 +930,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
                                        it can happen now when the window is on
                                        another desktop, but we still don't
                                        want it! */
-        client_activate(client, FALSE);
+        client_activate(client, FALSE, TRUE);
         break;
     case ClientMessage:
         /* validate cuz we query stuff off the client here */
@@ -973,8 +984,15 @@ static void event_handle_client(ObClient *client, XEvent *e)
             ob_debug("net_close_window for 0x%lx\n", client->window);
             client_close(client);
         } else if (msgtype == prop_atoms.net_active_window) {
-            ob_debug("net_active_window for 0x%lx\n", client->window);
-            client_activate(client, FALSE);
+            ob_debug("net_active_window for 0x%lx source=%s\n",
+                     client->window,
+                     (e->xclient.data.l[0] == 0 ? "unknown" :
+                      (e->xclient.data.l[0] == 1 ? "application" :
+                       (e->xclient.data.l[0] == 2 ? "user" : "INVALID"))));
+            /* XXX make use of data.l[1] and [2] ! */
+            client_activate(client, FALSE,
+                            (e->xclient.data.l[0] == 0 ||
+                             e->xclient.data.l[0] == 2));
         } else if (msgtype == prop_atoms.net_wm_moveresize) {
             ob_debug("net_wm_moveresize for 0x%lx\n", client->window);
             if ((Atom)e->xclient.data.l[2] ==
index 0da0978..44bf54a 100644 (file)
@@ -25,7 +25,7 @@
 struct _ObClient;
 
 /*! Time at which the last event with a timestamp occured. */
-extern Time event_lasttime;
+extern Time event_curtime;
 
 /*! The value of the mask for the NumLock modifier */
 extern guint NumLockMask;
index d78591b..9de0c80 100644 (file)
@@ -144,7 +144,7 @@ void focus_shutdown(gboolean reconfig)
         g_free(focus_order);
 
         /* reset focus to root */
-        XSetInputFocus(ob_display, PointerRoot, RevertToNone, event_lasttime);
+        XSetInputFocus(ob_display, PointerRoot, RevertToNone, CurrentTime);
 
         RrColorFree(color_white);
 
@@ -186,7 +186,7 @@ void focus_set_client(ObClient *client)
 #endif
         /* when nothing will be focused, send focus to the backup target */
         XSetInputFocus(ob_display, screen_support_win, RevertToNone,
-                       event_lasttime);
+                       event_curtime);
         XSync(ob_display, FALSE);
     }
 
@@ -318,6 +318,11 @@ ObClient* focus_fallback_target(ObFocusFallbackType type)
             if (client_normal(it->data) && client_can_focus(it->data))
                 return it->data;
 
+    /* XXX fallback to the "desktop window" if one exists ?
+       could store it while going through all the windows in the loop right
+       above this..
+    */
+
     return NULL;
 }
 
@@ -603,7 +608,7 @@ void focus_cycle(gboolean forward, gboolean linear, gboolean interactive,
 
 done_cycle:
     if (done && focus_cycle_target)
-        client_activate(focus_cycle_target, FALSE);
+        client_activate(focus_cycle_target, FALSE, TRUE);
 
     t = NULL;
     first = NULL;
@@ -665,7 +670,7 @@ void focus_directional_cycle(ObDirection dir, gboolean interactive,
 
 done_cycle:
     if (done && focus_cycle_target)
-        client_activate(focus_cycle_target, FALSE);
+        client_activate(focus_cycle_target, FALSE, TRUE);
 
     first = NULL;
     focus_cycle_target = NULL;
index b4c192b..36a0d12 100644 (file)
@@ -54,14 +54,14 @@ gboolean grab_keyboard(gboolean grab)
         if (kgrabs++ == 0) {
             ret = XGrabKeyboard(ob_display, RootWindow(ob_display, ob_screen),
                                 FALSE, GrabModeAsync, GrabModeAsync,
-                                event_lasttime) == Success;
+                                event_curtime) == Success;
             if (!ret)
                 --kgrabs;
         } else
             ret = TRUE;
     } else if (kgrabs > 0) {
         if (--kgrabs == 0)
-            XUngrabKeyboard(ob_display, event_lasttime);
+            XUngrabKeyboard(ob_display, event_curtime);
         ret = TRUE;
     }
 
@@ -77,14 +77,14 @@ gboolean grab_pointer(gboolean grab, ObCursor cur)
             ret = XGrabPointer(ob_display, screen_support_win,
                                False, GRAB_PTR_MASK, GrabModeAsync,
                                GrabModeAsync, None,
-                               ob_cursor(cur), event_lasttime) == Success;
+                               ob_cursor(cur), event_curtime) == Success;
             if (!ret)
                 --pgrabs;
         } else
             ret = TRUE;
     } else if (pgrabs > 0) {
         if (--pgrabs == 0) {
-            XUngrabPointer(ob_display, event_lasttime);
+            XUngrabPointer(ob_display, event_curtime);
         }
         ret = TRUE;
     }
@@ -100,14 +100,14 @@ gboolean grab_pointer_window(gboolean grab, ObCursor cur, Window win)
             ret = XGrabPointer(ob_display, win, False, GRAB_PTR_MASK,
                                GrabModeAsync, GrabModeAsync, None,
                                ob_cursor(cur),
-                               event_lasttime) == Success;
+                               event_curtime) == Success;
             if (!ret)
                 --pgrabs;
         } else
             ret = TRUE;
     } else if (pgrabs > 0) {
         if (--pgrabs == 0) {
-            XUngrabPointer(ob_display, event_lasttime);
+            XUngrabPointer(ob_display, event_curtime);
         }
         ret = TRUE;
     }
index 61c9270..26ba4f9 100644 (file)
@@ -418,7 +418,8 @@ static void sighandler(gint sig)
             /* XXX special case for signals that default to core dump.
                but throw some helpful output here... */
 
-            fprintf(stderr, "Fuck yah. Core dump. (Signal=%d)\n", sig);
+            fprintf(stderr, "How are you gentlemen? All your base are"
+                    " belong to us. (Signal=%d)\n", sig);
 
             /* die with a core dump */
             abort();
index 3cda778..fa0af53 100644 (file)
@@ -251,6 +251,8 @@ static void menu_entry_frame_render(ObMenuEntryFrame *self)
     case OB_MENU_ENTRY_TYPE_SEPARATOR:
         th = SEPARATOR_HEIGHT + 2*PADDING;
         break;
+    default:
+        g_assert_not_reached();
     }
     RECT_SET_SIZE(self->area, self->frame->inner_w, th);
     XResizeWindow(ob_display, self->window,
index 8a390d9..18f35d3 100644 (file)
@@ -200,7 +200,7 @@ void mouse_event(ObClient *client, XEvent *e)
 
         if (CLIENT_CONTEXT(context, client)) {
             /* Replay the event, so it goes to the client*/
-            XAllowEvents(ob_display, ReplayPointer, event_lasttime);
+            XAllowEvents(ob_display, ReplayPointer, event_curtime);
             /* Fall through to the release case! */
         } else
             break;
index b56998b..f9da576 100644 (file)
@@ -27,7 +27,8 @@
 static Rect *pick_head(ObClient *c)
 {
     Rect *area = NULL;
-    gint i, px, py;
+    guint i;
+    gint px, py;
 
     /* try direct parent first */
     if (c->transient_for && c->transient_for != OB_TRAN_GROUP) {
@@ -220,7 +221,6 @@ typedef enum
 static gboolean place_smart(ObClient *client, gint *x, gint *y,
                             ObSmartType type)
 {
-    guint i;
     gboolean ret = FALSE;
     GSList *spaces = NULL, *sit;
     GList *it;
@@ -320,7 +320,6 @@ static gboolean place_smart(ObClient *client, gint *x, gint *y,
 
 static gboolean place_under_mouse(ObClient *client, gint *x, gint *y)
 {
-    guint i;
     gint l, r, t, b;
     gint px, py;
     Rect *area;
index db2fa46..7130196 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2004-11-25 10:29+0100\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-01-25 20:41+0100\n"
 "Last-Translator: David Majà Martínez <davidmaja@gmail.com>\n"
 "Language-Team: catalan\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Vés aquí..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Escriptoris"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file necessita un argument\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "No és pot crear el directori '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "No s'ha pogut inicialitzar Xft."
 
-#: render/font.c:170 render/font.c:175
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "No és pot carregar el tipus de lletra: %s\n"
 
-#: render/font.c:171
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "S'està carregant el tipus de lletra de recanvi: %s\n"
index 7c7a4b3..040ef9d 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2005-09-01 18:05+0200\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2006-06-11 10:41+0200\n"
 "Last-Translator: Sebastian Vahl <svahl@web.de>\n"
 "Language-Team:  <de@li.org>\n"
@@ -14,11 +14,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Gehe zu..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr ""
 
@@ -107,17 +107,16 @@ msgstr ""
 msgid "Unable to make directory '%s': %s"
 msgstr ""
 
-#: render/font.c:57
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Konnte Xft nicht initializieren"
 
-#: render/font.c:194 render/font.c:199
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Font konnte nicht geladen werden: %s\n"
 
-#: render/font.c:195
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr ""
-
index bcdad7a..6b80c25 100644 (file)
@@ -31,8 +31,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@comhem.se\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-11-07 12:52+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -41,11 +41,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Go there..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Desktops"
 
@@ -134,16 +134,16 @@ msgstr "--sm-save-file requires an argument\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Unable to make directory '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Couldn't initialize Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Unable to load font: %s\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Trying fallback font: %s\n"
index 63aac88..b3dd383 100644 (file)
@@ -28,8 +28,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@comhem.se\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-11-07 12:52+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -38,11 +38,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Go there..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Desktops"
 
@@ -131,16 +131,16 @@ msgstr "--sm-save-file requires an argument\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Unable to make directory '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Couldn't initialize Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Unable to load font: %s\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Trying fallback font: %s\n"
index c89415a..cd9d465 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2005-03-25 00:39+0100\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2005-03-25 09:31+0100\n"
 "Last-Translator: Miguel Calleja Gómez <mcg79@lycos.es>\n"
 "Language-Team: None\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Ir ahí..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Escritorios"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file necesita un argumento\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "No se puede crear el directorio '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "No se pudo iniciar Xft."
 
-#: render/font.c:164 render/font.c:169
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "No se puede cargar la fuente: %s\n"
 
-#: render/font.c:165
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Intentando recurrir a la fuente: %s\n"
index 740a3ca..3863b3b 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2005-04-11 23:11+0300\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2005-03-15 21:29+0200\n"
 "Last-Translator: Pauli Virtanen <pauli.virtanen@hut.fi>\n"
 "Language-Team: Finnish <fi@li.org>\n"
@@ -15,111 +15,109 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Näytä tämä..."
 
-#: ../openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Työtilat"
 
-#: ../openbox/client_menu.c:78
+#: openbox/client_menu.c:78
 msgid "Restore"
 msgstr "Palauta"
 
-#: ../openbox/client_menu.c:78
+#: openbox/client_menu.c:78
 msgid "Maximize"
 msgstr "Suurenna"
 
-#: ../openbox/client_menu.c:84
+#: openbox/client_menu.c:84
 msgid "Roll down"
 msgstr "Rullaa auki"
 
-#: ../openbox/client_menu.c:84
+#: openbox/client_menu.c:84
 msgid "Roll up"
 msgstr "Rullaa"
 
-#: ../openbox/client_menu.c:146
+#: openbox/client_menu.c:146
 msgid "All desktops"
 msgstr "Kaikkiin työtiloihin"
 
-#: ../openbox/client_menu.c:170
+#: openbox/client_menu.c:170
 msgid "Layer"
 msgstr "Kerros"
 
-#: ../openbox/client_menu.c:175
+#: openbox/client_menu.c:175
 msgid "Always on top"
 msgstr "Aina päällimmäinen"
 
-#: ../openbox/client_menu.c:180
+#: openbox/client_menu.c:180
 msgid "Normal"
 msgstr "Tavallinen"
 
-#: ../openbox/client_menu.c:185
+#: openbox/client_menu.c:185
 msgid "Always on bottom"
 msgstr "Aina alimmainen"
 
-#: ../openbox/client_menu.c:188
+#: openbox/client_menu.c:188
 msgid "Send to desktop"
 msgstr "Siirrä työtilaan"
 
-#: ../openbox/client_menu.c:192
+#: openbox/client_menu.c:192
 msgid "Client menu"
 msgstr "Ikkunan valikko"
 
-#: ../openbox/client_menu.c:205
+#: openbox/client_menu.c:205
 msgid "Iconify"
 msgstr "Pienennä"
 
-#: ../openbox/client_menu.c:222
+#: openbox/client_menu.c:222
 msgid "Raise to top"
 msgstr "Nosta päällimmäiseksi"
 
-#: ../openbox/client_menu.c:226
+#: openbox/client_menu.c:226
 msgid "Lower to bottom"
 msgstr "Laske alimmaiseksi"
 
-#: ../openbox/client_menu.c:239
+#: openbox/client_menu.c:239
 msgid "Decorate"
 msgstr "Piirrä/poista kehykset"
 
-#: ../openbox/client_menu.c:245
+#: openbox/client_menu.c:245
 msgid "Move"
 msgstr "Siirrä"
 
-#: ../openbox/client_menu.c:249
+#: openbox/client_menu.c:249
 msgid "Resize"
 msgstr "Muuta kokoa"
 
-#: ../openbox/client_menu.c:255
+#: openbox/client_menu.c:255
 msgid "Close"
 msgstr "Sulje"
 
-#. no args left
-#: ../openbox/session.c:124
+#: openbox/session.c:124
 msgid "--sm-client-id requires an argument\n"
 msgstr "--sm-client-id tarvitsee parametrin\n"
 
-#. no args left
-#: ../openbox/session.c:132
+#: openbox/session.c:132
 msgid "--sm-save-file requires an argument\n"
 msgstr "--sm-save-file tarvitsee parametrin\n"
 
-#: ../openbox/session.c:160
+#: openbox/session.c:160
 #, c-format
 msgid "Unable to make directory '%s': %s"
 msgstr "Hakemiston \"%s\" luonti epäonnistui: %s"
 
-#: ../render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Xft:n käynnistys epäonnistui."
 
-#: ../render/font.c:164 ../render/font.c:169
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Kirjasinlajin lataaminen epäonnistui: %s\n"
 
-#: ../render/font.c:165
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Kokeillaan varakirjasinlajia: %s\n"
index 53ca748..5c77694 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@comhem.se\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-06-11 23:06+0200\n"
 "Last-Translator: Julien Louis <leonptitlouis@wanadoo.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Aller à..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Bureaux"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file requiert un argument\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Impossible de créer le répertoire '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Impossible d'initialiser Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Impossible de charger la police : %s\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Tentative de remplacement de la police : %s\n"
index dc0ac14..460c4bc 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2006-08-27 00:26+0200\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2006-09-05 16:45+0100\n"
 "Last-Translator: Daniel Radetic <drade@boobah.info>\n"
 "Language-Team: None\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:96
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Odi na..."
 
-#: openbox/client_list_menu.c:186
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Radne površine"
 
@@ -112,8 +112,7 @@ msgstr "Nemogu napraviti direktorij '%s': %s"
 msgid "Couldn't initialize Xft."
 msgstr "Nemogu pokrenuti Xft."
 
-#: render/font.c:193
-#: render/font.c:198
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Nemogu učitati slova: %s\n"
@@ -122,4 +121,3 @@ msgstr "Nemogu učitati slova: %s\n"
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Isprobavam osnovni tip slova: %s\n"
-
index 58b8b14..6678fbb 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.0\n"
-"Report-Msgid-Bugs-To: mikachu@comhem.se\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2003-11-20 15:00+0900\n"
 "Last-Translator: Yukihiro Nakai <nakai@gnome.gr.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "移動する..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "デスクトップ"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file には引数が必要です\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "ディレクトリ'%s'を作れません: %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr ""
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr ""
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr ""
index c821c9c..10ac323 100644 (file)
--- a/po/no.po
+++ b/po/no.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.2\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2004-11-07 12:59+0100\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
 "Last-Translator: Øyvind Albrigtsen\n"
 "Language-Team: None\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Gå dit"
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Skrivebord"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file krever et argument\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Kunde ikke lage katalogen '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Kunde ikke initialisere Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Kunde ikke laste fonten \"%s\"\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Prøver med reservefonten: %s\n"
index e80c6a2..6f14fdb 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@comhem.se\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-09-07 21:17+0200\n"
 "Last-Translator: Madej <madej@afn.no-ip.org>\n"
 "Language-Team: NONE\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Przejdź..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Pulpit"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file wymaga argumentu\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Nie mogę utworzyć katalogu '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Błąd przy inicjalizacji Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Nie mogę załadować czcionki: %s\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Próbuję użyć czcionki: %s\n"
index e56c2d1..ba8b974 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2006-08-20 21:54+0200\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
 "Last-Translator: Gonçalo Ferreira <gonsas@gmail.com>\n"
 "Language-Team: None\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Ir até..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Áreas de trabalho"
 
@@ -108,7 +108,7 @@ msgstr "--sm-save-file requer um argumento\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Incapaz de criar o directório '%s': %s "
 
-#: render/font.c:57
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Incapaz de inicializar Xft."
 
index d133eb3..04718ab 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.2\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-04-23 13:00+0300\n"
 "Last-Translator: Alexey Remizov <alexey@remizov.pp.ru>\n"
 "Language-Team: Russian <gnome-cyr@gnome.org>\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Перейти..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Рабочие места"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file требует параметр\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Невозможно создать каталог '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Не удалось инициализировать Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Невозможно загрузить шрифт: %s\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Попытка вернуть шрифт: %s\n"
index 1a03002..0d5144b 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Openbox-3.3rc2\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2005-09-01 18:05+0200\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2006-08-25 00:52+0200\n"
 "Last-Translator: Jozef Riha <jose1711@gmail.com\n"
 "Language-Team: Slovak <LL@li.org>\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Prejsť na..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Plochy"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file vyžaduje parameter\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "Nebolo možné vytvoriť adresár '%s': %s"
 
-#: render/font.c:57
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Nepodarilo sa inicializovať Xft."
 
-#: render/font.c:194 render/font.c:199
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Nepodarilo sa načítať font: %s\n"
 
-#: render/font.c:195
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Pokus o návrat k fontu: %s\n"
index 47337ca..0af84ea 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.3\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2004-11-07 12:52+0100\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
 "Last-Translator: Mikael Magnusson <mikachu@icculus.org>\n"
 "Language-Team: None\n"
@@ -15,11 +15,11 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "Gå dit"
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "Skrivbord"
 
@@ -108,16 +108,16 @@ msgstr "--sm-save-file kr
 msgid "Unable to make directory '%s': %s"
 msgstr "Kunde inte skapa katalogen '%s': %s"
 
-#: render/font.c:50
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "Kunde inte initialisera Xft."
 
-#: render/font.c:122 render/font.c:127
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "Kunde inte ladda fonten \"%s\"\n"
 
-#: render/font.c:123
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "Försöker med reservfonten \"%s\"\n"
index 91820d8..7746c04 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openbox 3.3rc2\n"
 "Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2005-09-01 18:05+0200\n"
+"POT-Creation-Date: 2007-02-28 12:50-0500\n"
 "PO-Revision-Date: 2006-03-01 12:00+0800\n"
 "Last-Translator: Wei-Lun Chao <william.chao@ossii.com.tw>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -16,11 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: openbox/client_list_menu.c:95
+#: openbox/client_list_menu.c:97
 msgid "Go there..."
 msgstr "到那裡去..."
 
-#: openbox/client_list_menu.c:161
+#: openbox/client_list_menu.c:187
 msgid "Desktops"
 msgstr "桌面"
 
@@ -109,16 +109,16 @@ msgstr "--sm-save-file 要求引數\n"
 msgid "Unable to make directory '%s': %s"
 msgstr "無法製作目錄 '%s': %s"
 
-#: render/font.c:57
+#: render/font.c:58
 msgid "Couldn't initialize Xft."
 msgstr "無法初始化 Xft。"
 
-#: render/font.c:194 render/font.c:199
+#: render/font.c:193 render/font.c:198
 #, c-format
 msgid "Unable to load font: %s\n"
 msgstr "無法載入字型:%s\n"
 
-#: render/font.c:195
+#: render/font.c:194
 #, c-format
 msgid "Trying fallback font: %s\n"
 msgstr "正在嘗試權宜字型:%s\n"
index 0521e2a..14b9ea1 100644 (file)
@@ -116,12 +116,12 @@ static RrFont *openfont(const RrInstance *inst, gchar *fontstring)
     if (FcPatternGetString(match, "style", 0, &tmp_string) !=
             FcResultTypeMismatch) {
         /* Bold ? */
-        if (!strcasecmp("bold", (gchar *)tmp_string)) {
+        if (!g_ascii_strcasecmp("bold", (gchar *)tmp_string)) {
             pango_font_description_set_weight(out->pango_font_description,
                                               PANGO_WEIGHT_BOLD);
         }
         /* Italic ? */
-        else if (!strcasecmp("italic", (gchar *)tmp_string)) {
+        else if (!g_ascii_strcasecmp("italic", (gchar *)tmp_string)) {
             pango_font_description_set_style(out->pango_font_description,
                                              PANGO_STYLE_ITALIC);
         }
@@ -135,19 +135,23 @@ static RrFont *openfont(const RrInstance *inst, gchar *fontstring)
     }
 
     /* based on gtkmain.c gtk_get_default_language() */
-    gchar *locale, *p;
-    locale = g_strdup(setlocale(LC_CTYPE, NULL));
-    if ((p = strchr(locale, '.')))
-        *p = '\0';
-    if ((p = strchr(locale, '@')))
-        *p = '\0';
-    PangoFontMetrics *metrics = 
-        pango_context_get_metrics(context, out->pango_font_description,
-                                  pango_language_from_string(locale));
-    out->pango_ascent = pango_font_metrics_get_ascent(metrics);
-    out->pango_descent = pango_font_metrics_get_descent(metrics);
-    g_free(locale);
-    pango_font_metrics_unref(metrics);
+    {
+        gchar *locale, *p;
+        PangoFontMetrics *metrics;
+
+        locale = g_strdup(setlocale(LC_CTYPE, NULL));
+        if ((p = strchr(locale, '.')))
+            *p = '\0';
+        if ((p = strchr(locale, '@')))
+            *p = '\0';
+        metrics = 
+            pango_context_get_metrics(context, out->pango_font_description,
+                                      pango_language_from_string(locale));
+        out->pango_ascent = pango_font_metrics_get_ascent(metrics);
+        out->pango_descent = pango_font_metrics_get_descent(metrics);
+        g_free(locale);
+        pango_font_metrics_unref(metrics);
+    }
 #endif /* USE_PANGO */
 
     if (FcPatternGetBool(match, OB_SHADOW, 0, &out->shadow) != FcResultMatch)
index 7d0626e..eafa696 100644 (file)
@@ -25,7 +25,7 @@
   "To recreate this file, save an image as \"C-Source\" in The Gimp. Use \"ob_default_icon\" as the Prefixed Name. Enable Glib Types. Enable Save Alpha Channel. Enable Use Macros instead of Struct."
 #define OB_DEFAULT_ICON_PIXEL_DATA ((guint8*) OB_DEFAULT_ICON_pixel_data)
 static const guint8 OB_DEFAULT_ICON_pixel_data[48 * 48 * 4 + 1] =
-("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
@@ -435,5 +435,5 @@ static const guint8 OB_DEFAULT_ICON_pixel_data[48 * 48 * 4 + 1] =
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0");
+ "\0\0\0\0";
 
index fda4060..ac1394c 100644 (file)
@@ -68,7 +68,7 @@ typedef enum {
     RR_SURFACE_DIAGONAL,
     RR_SURFACE_CROSS_DIAGONAL,
     RR_SURFACE_PYRAMID,
-    RR_SURFACE_MIRROR_HORIZONTAL,
+    RR_SURFACE_MIRROR_HORIZONTAL
 } RrSurfaceColorType;
 
 typedef enum {