diff options
Diffstat (limited to 'meta-oe/recipes-graphics/openbox/openbox')
3 files changed, 2850 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch b/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch new file mode 100644 index 0000000000..e3489b7ced --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch @@ -0,0 +1,73 @@ +Fix client decorations + +Upstream-Status: Pending + +diff --git a/openbox/client.c b/openbox/client.c +index c65e350..1c82763 100644 +--- a/openbox/client.c ++++ b/openbox/client.c +@@ -1733,8 +1733,20 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig) + switch (self->type) { + case OB_CLIENT_TYPE_NORMAL: + /* normal windows retain all of the possible decorations and +- functionality, and can be fullscreen */ +- self->functions |= OB_CLIENT_FUNC_FULLSCREEN; ++ functionality, and can be fullscreen, unless if it can't be resized */ ++ if (self->functions & OB_CLIENT_FUNC_RESIZE) ++ self->functions |= OB_CLIENT_FUNC_FULLSCREEN; ++ else { ++ self->decorations &= ~(OB_FRAME_DECOR_HANDLE | ++ OB_FRAME_DECOR_MAXIMIZE); ++ ++ self->functions &= ~OB_CLIENT_FUNC_MAXIMIZE; ++ ++ self->mwmhints.decorations &= ~(OB_MWM_DECOR_HANDLE | ++ OB_MWM_DECOR_MAXIMIZE); ++ ++ self->mwmhints.functions &= ~OB_MWM_FUNC_MAXIMIZE; ++ } + break; + + case OB_CLIENT_TYPE_DIALOG: +diff --git a/openbox/frame.c b/openbox/frame.c +index 64dd290..fc84f2f 100644 +--- a/openbox/frame.c ++++ b/openbox/frame.c +@@ -1209,6 +1209,7 @@ static void layout_title(ObFrame *self) + firstcon = &self->rightmost; + } + ++ self->decorations = self->client->decorations; + /* stop at the end of the string (or the label, which calls break) */ + for (; *lc != '\0' && lc >= config_title_layout; lc+=i) { + if (*lc == 'L') { +@@ -1217,23 +1218,23 @@ static void layout_title(ObFrame *self) + self->label_x = x; + } + break; /* break the for loop, do other side of label */ +- } else if (*lc == 'N') { ++ } else if (*lc == 'N' && (self->decorations & OB_FRAME_DECOR_ICON)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_ICON; + /* icon is bigger than buttons */ + place_button(self, lc, bwidth + 2, left, i, &x, &self->icon_on, &self->icon_x); +- } else if (*lc == 'D') { ++ } else if (*lc == 'D' && (self->decorations & OB_FRAME_DECOR_ALLDESKTOPS)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_ALLDESKTOPS; + place_button(self, lc, bwidth, left, i, &x, &self->desk_on, &self->desk_x); +- } else if (*lc == 'S') { ++ } else if (*lc == 'S' && (self->decorations & OB_FRAME_DECOR_SHADE)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_SHADE; + place_button(self, lc, bwidth, left, i, &x, &self->shade_on, &self->shade_x); +- } else if (*lc == 'I') { ++ } else if (*lc == 'I' && (self->decorations & OB_FRAME_DECOR_ICONIFY)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_ICONIFY; + place_button(self, lc, bwidth, left, i, &x, &self->iconify_on, &self->iconify_x); +- } else if (*lc == 'M') { ++ } else if (*lc == 'M' && (self->decorations & OB_FRAME_DECOR_MAXIMIZE)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_MAXIMIZE; + place_button(self, lc, bwidth, left, i, &x, &self->max_on, &self->max_x); +- } else if (*lc == 'C') { ++ } else if (*lc == 'C' && (self->decorations & OB_FRAME_DECOR_CLOSE)) { + if (firstcon) *firstcon = OB_FRAME_CONTEXT_CLOSE; + place_button(self, lc, bwidth, left, i, &x, &self->close_on, &self->close_x); + } else diff --git a/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch b/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch new file mode 100644 index 0000000000..02486eecbf --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch @@ -0,0 +1,38 @@ +Fix dialog support + +Upstream-Status: Pending + +diff --git a/openbox/client.c b/openbox/client.c +index 4d54b38..c65e350 100644 +--- a/openbox/client.c ++++ b/openbox/client.c +@@ -562,6 +562,14 @@ void client_manage(Window window, ObPrompt *prompt) + /* free the ObAppSettings shallow copy */ + g_free(settings); + ++ /* force dialogs to skip taskbar */ ++ if (self->type == OB_CLIENT_TYPE_DIALOG) { ++ self->skip_taskbar = TRUE; ++ ++ gulong state = prop_atoms.net_wm_state_skip_taskbar; ++ PROP_SET32(self->window, net_wm_state, atom, state); ++ } ++ + ob_debug("Managed window 0x%lx plate 0x%x (%s)\n", + window, self->frame->window, self->class); + +@@ -1733,6 +1741,14 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig) + /* sometimes apps make dialog windows fullscreen for some reason (for + e.g. kpdf does this..) */ + self->functions |= OB_CLIENT_FUNC_FULLSCREEN; ++ /* these windows cannot be maximized or minimized*/ ++ self->decorations &= ~(OB_FRAME_DECOR_ICONIFY | ++ OB_FRAME_DECOR_MAXIMIZE | ++ OB_FRAME_DECOR_HANDLE); ++ ++ self->functions &= ~(OB_CLIENT_FUNC_ICONIFY | ++ OB_CLIENT_FUNC_MAXIMIZE | ++ OB_CLIENT_FUNC_RESIZE); + break; + + case OB_CLIENT_TYPE_UTILITY: diff --git a/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch b/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch new file mode 100644 index 0000000000..6cd91b9487 --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch @@ -0,0 +1,2739 @@ +Sync with 3.4-working branch + +Upstream-Status: Backport + +diff --git a/.gitignore b/.gitignore +index 907abb9..bac98c7 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -22,6 +22,7 @@ doc/openbox-gnome-session.1 + doc/openbox-kde-session.1 + doc/openbox-session.1 + doc/openbox.1 ++doc/obxprop.1 + libtool + ltmain.sh + m4/*.m4 +diff --git a/CHANGELOG b/CHANGELOG +index 915e315..3ad87e9 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,16 @@ ++3.4.11.2: ++ * Updated Estonian and Portuguese translations. ++ * Fix a rare crash involving moving fullscreen windows to different monitors ++ * Fix a more common crash involving pressing right in a menu ++ ++3.4.11.1: ++ * Updated Polish translation. ++ * Fixed bug #4519 (Incorrect focus in reused windows). ++ * Lower the default submenu open/hide delay from 200ms to 100ms. ++ * Fix some more problems with gnome integration. ++ * Update Clearlooks theme. ++ * Some other small fixes. ++ + 3.4.11: + * Update Hungarian, Japanese, and Latvian translations. + * Make xdg-autostart use the OPENBOX environment by default, so you can use +diff --git a/Makefile.am b/Makefile.am +index fe6ef92..e2430e0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -444,6 +444,7 @@ edit = $(SED) \ + -e 's!@version\@!$(VERSION)!' \ + -e 's!@configdir\@!$(configdir)!' \ + -e 's!@secretbindir\@!$(secretbindir)!' \ ++ -e 's!@libexecdir\@!$(libexecdir)!' \ + -e 's!@bindir\@!$(bindir)!' + + data/autostart.sh: $(srcdir)/data/autostart.sh.in Makefile +@@ -542,6 +543,7 @@ CLEANFILES = \ + doc/openbox-session.1 \ + doc/openbox-gnome-session.1 \ + doc/openbox-kde-session.1 \ ++ doc/obxprop.1 \ + data/xsession/openbox-session \ + data/xsession/openbox-gnome-session \ + data/xsession/openbox-kde-session \ +diff --git a/configure.ac b/configure.ac +index 1ed2fd2..72445fa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,5 @@ + AC_PREREQ([2.54]) +-AC_INIT([openbox], [3.4.11], [http://bugzilla.icculus.org]) ++AC_INIT([openbox], [3.4.11.2], [http://bugzilla.icculus.org]) + AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([openbox/openbox.c]) + +@@ -15,9 +15,9 @@ dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match + dnl + OB_MAJOR_VERSION=3 + OB_MINOR_VERSION=4 +-OB_MICRO_VERSION=28 +-OB_INTERFACE_AGE=7 +-OB_BINARY_AGE=7 ++OB_MICRO_VERSION=30 ++OB_INTERFACE_AGE=9 ++OB_BINARY_AGE=9 + OB_VERSION=$PACKAGE_VERSION + + AC_SUBST(OB_MAJOR_VERSION) +diff --git a/data/autostart.sh.in b/data/autostart.sh.in +index eb55558..910e5e8 100644 +--- a/data/autostart.sh.in ++++ b/data/autostart.sh.in +@@ -22,8 +22,8 @@ if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then + fi + + # Make GTK apps look and behave how they were set up in the gnome config tools +-if test -x /usr/libexec/gnome-settings-daemon >/dev/null; then +- /usr/libexec/gnome-settings-daemon & ++if test -x @libexecdir@/gnome-settings-daemon >/dev/null; then ++ @libexecdir@/gnome-settings-daemon & + elif which gnome-settings-daemon >/dev/null; then + gnome-settings-daemon & + # Make GTK apps look and behave how they were set up in the XFCE config tools +diff --git a/data/gnome-wm-properties/openbox.desktop b/data/gnome-wm-properties/openbox.desktop +index 23e690e..67e49e4 100644 +--- a/data/gnome-wm-properties/openbox.desktop ++++ b/data/gnome-wm-properties/openbox.desktop +@@ -1,4 +1,5 @@ + [Desktop Entry] ++Type=Application + Name=Openbox + Exec=openbox + +diff --git a/data/rc.xml b/data/rc.xml +index 9c5424f..1b947b5 100644 +--- a/data/rc.xml ++++ b/data/rc.xml +@@ -373,6 +373,12 @@ + <mousebind button="Left" action="Drag"> + <action name="Resize"><edge>left</edge></action> + </mousebind> ++ ++ <mousebind button="Right" action="Press"> ++ <action name="Focus"/> ++ <action name="Raise"/> ++ <action name="ShowMenu"><menu>client-menu</menu></action> ++ </mousebind> + </context> + + <context name="Right"> +@@ -383,6 +389,12 @@ + <mousebind button="Left" action="Drag"> + <action name="Resize"><edge>right</edge></action> + </mousebind> ++ ++ <mousebind button="Right" action="Press"> ++ <action name="Focus"/> ++ <action name="Raise"/> ++ <action name="ShowMenu"><menu>client-menu</menu></action> ++ </mousebind> + </context> + + <context name="Bottom"> +@@ -615,7 +627,7 @@ + menu is hidden again --> + <middle>no</middle> + <!-- center submenus vertically about the parent entry --> +- <submenuShowDelay>200</submenuShowDelay> ++ <submenuShowDelay>100</submenuShowDelay> + <!-- time to delay before showing a submenu after hovering over the parent + entry. + if this is a negative value, then the delay is infinite and the +diff --git a/doc/openbox.1.in b/doc/openbox.1.in +index d508e8c..89183aa 100644 +--- a/doc/openbox.1.in ++++ b/doc/openbox.1.in +@@ -4,7 +4,7 @@ openbox \(em A minimalistic, highly configurable, next generation window + manager with extensive standards support. + .SH "SYNOPSIS" + .PP +-\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-restart\fP] [\fB\-\-sm-disable\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP] [\fB\-\-debug-xinerama\fP] ++\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-restart\fP] [\fB\-\-config-file FILE\fP] [\fB\-\-sm-disable\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP] [\fB\-\-debug-xinerama\fP] + .SH "DESCRIPTION" + .PP + Openbox is minimalistic, highly configurable, next generation window +@@ -70,6 +70,9 @@ reload its configuration. + If Openbox is already running on the display, tell it to + restart. This is useful if you have upgraded Openbox and don't + want to restart X. ++.IP "\fB\-\-config-file FILE\fP" 10 ++Use FILE for configuration instead of looking for rc.xml ++in the XDG search path. FILE is an absolute path. + .IP "\fB\-\-sm-disable\fP" 10 + Do not connect to the session manager. + .IP "\fB\-\-sync\fP" 10 +@@ -92,4 +95,4 @@ The program's full documentation is available on the website: + .PP + Please report bugs to: \fBhttp://bugzilla.icculus.org/ + \fP +-.\" created by instant / docbook-to-man, Wed 06 Jan 2010, 13:40 ++.\" created by instant / docbook-to-man, Fri 26 Mar 2010, 01:55 +diff --git a/doc/openbox.1.sgml b/doc/openbox.1.sgml +index 275c324..a06d0cf 100644 +--- a/doc/openbox.1.sgml ++++ b/doc/openbox.1.sgml +@@ -41,6 +41,7 @@ manpage.1: manpage.sgml + <arg><option>--replace</option></arg> + <arg><option>--reconfigure</option></arg> + <arg><option>--restart</option></arg> ++ <arg><option>--config-file FILE</option></arg> + <arg><option>--sm-disable</option></arg> + <arg><option>--sync</option></arg> + <arg><option>--debug</option></arg> +@@ -137,6 +138,13 @@ manpage.1: manpage.sgml + </listitem> + </varlistentry> + <varlistentry> ++ <term><option>--config-file FILE</option></term> ++ <listitem> ++ <para>Use FILE for configuration instead of looking for rc.xml ++ in the XDG search path. FILE is an absolute path.</para> ++ </listitem> ++ </varlistentry> ++ <varlistentry> + <term><option>--sm-disable</option></term> + <listitem> + <para>Do not connect to the session manager.</para> +diff --git a/openbox/actions.c b/openbox/actions.c +index 948ac2c..a6a6ea4 100644 +--- a/openbox/actions.c ++++ b/openbox/actions.c +@@ -47,6 +47,7 @@ struct _ObActionsDefinition { + ObActionsRunFunc run; + ObActionsInteractiveInputFunc i_input; + ObActionsInteractiveCancelFunc i_cancel; ++ ObActionsShutdownFunc shutdown; + }; + + struct _ObActionsAct { +@@ -73,7 +74,9 @@ void actions_shutdown(gboolean reconfig) + + /* free all the registered actions */ + while (registered) { +- actions_definition_unref(registered->data); ++ ObActionsDefinition *d = registered->data; ++ if (d->shutdown) d->shutdown(); ++ actions_definition_unref(d); + registered = g_slist_delete_link(registered, registered); + } + } +@@ -105,12 +108,29 @@ gboolean actions_register(const gchar *name, + def->run = run; + def->i_input = i_input; + def->i_cancel = i_cancel; ++ def->shutdown = NULL; + + registered = g_slist_prepend(registered, def); + + return TRUE; + } + ++gboolean actions_set_shutdown(const gchar *name, ++ ObActionsShutdownFunc shutdown) ++{ ++ GSList *it; ++ ObActionsDefinition *def; ++ ++ for (it = registered; it; it = g_slist_next(it)) { ++ def = it->data; ++ if (!g_ascii_strcasecmp(name, def->name)) { ++ def->shutdown = shutdown; ++ return TRUE; ++ } ++ } ++ return FALSE; ++} ++ + static void actions_definition_ref(ObActionsDefinition *def) + { + ++def->ref; +diff --git a/openbox/actions.h b/openbox/actions.h +index fb9a6a8..7a98aab 100644 +--- a/openbox/actions.h ++++ b/openbox/actions.h +@@ -35,6 +35,7 @@ typedef gpointer (*ObActionsDataSetupFunc)(ObParseInst *i, + typedef void (*ObActionsDataFreeFunc)(gpointer options); + typedef gboolean (*ObActionsRunFunc)(ObActionsData *data, + gpointer options); ++typedef void (*ObActionsShutdownFunc)(void); + typedef gboolean (*ObActionsInteractiveInputFunc)(guint initial_state, + XEvent *e, + gpointer options, +@@ -64,9 +65,13 @@ gboolean actions_register(const gchar *name, + ObActionsInteractiveInputFunc i_input, + ObActionsInteractiveCancelFunc i_cancel); + ++gboolean actions_set_shutdown(const gchar *name, ++ ObActionsShutdownFunc shutdown); ++ + ObActionsAct* actions_parse(ObParseInst *i, + xmlDocPtr doc, + xmlNodePtr node); ++ + ObActionsAct* actions_parse_string(const gchar *name); + + gboolean actions_act_is_interactive(ObActionsAct *act); +diff --git a/openbox/actions/execute.c b/openbox/actions/execute.c +index 4e0dfd8..29cd327 100644 +--- a/openbox/actions/execute.c ++++ b/openbox/actions/execute.c +@@ -1,4 +1,5 @@ + #include "openbox/actions.h" ++#include "openbox/client.h" + #include "openbox/event.h" + #include "openbox/startupnotify.h" + #include "openbox/prompt.h" +@@ -16,18 +17,16 @@ typedef struct { + gchar *sn_icon; + gchar *sn_wmclass; + gchar *prompt; ++ ObActionsData *data; + } Options; + + static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); + static void free_func(gpointer options); + static gboolean run_func(ObActionsData *data, gpointer options); +-/* +-static gboolean i_input_func(guint initial_state, +- XEvent *e, +- gpointer options, +- gboolean *used); +-static void i_cancel_func(gpointer options); +-*/ ++static void shutdown_func(void); ++static void client_dest(ObClient *client, gpointer data); ++ ++static GSList *prompt_opts = NULL; + + void action_execute_startup(void) + { +@@ -36,6 +35,20 @@ void action_execute_startup(void) + free_func, + run_func, + NULL, NULL); ++ actions_set_shutdown("Execute", shutdown_func); ++ ++ client_add_destroy_notify(client_dest, NULL); ++} ++ ++static void client_dest(ObClient *client, gpointer data) ++{ ++ GSList *it; ++ ++ for (it = prompt_opts; it; it = g_slist_next(it)) { ++ Options *o = it->data; ++ if (o->data->client == client) ++ o->data->client = NULL; ++ } + } + + static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) +@@ -70,21 +83,29 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) + return o; + } + ++static void shutdown_func(void) ++{ ++ client_remove_destroy_notify(client_dest); ++} ++ + static void free_func(gpointer options) + { + Options *o = options; + + if (o) { ++ prompt_opts = g_slist_remove(prompt_opts, o); ++ + g_free(o->cmd); + g_free(o->sn_name); + g_free(o->sn_icon); + g_free(o->sn_wmclass); + g_free(o->prompt); ++ if (o->data) g_free(o->data); + g_free(o); + } + } + +-static Options* dup_options(Options *in) ++static Options* dup_options(Options *in, ObActionsData *data) + { + Options *o = g_new(Options, 1); + o->cmd = g_strdup(in->cmd); +@@ -93,15 +114,15 @@ static Options* dup_options(Options *in) + o->sn_icon = g_strdup(in->sn_icon); + o->sn_wmclass = g_strdup(in->sn_wmclass); + o->prompt = NULL; ++ o->data = g_memdup(data, sizeof(ObActionsData)); + return o; + } + +-static gboolean run_func(ObActionsData *data, gpointer options); +- + static gboolean prompt_cb(ObPrompt *p, gint result, gpointer options) + { ++ Options *o = options; + if (result) +- run_func(NULL, options); ++ run_func(o->data, o); + return TRUE; /* call the cleanup func */ + } + +@@ -129,7 +150,7 @@ static gboolean run_func(ObActionsData *data, gpointer options) + { _("Yes"), 1 } + }; + +- ocp = dup_options(options); ++ ocp = dup_options(options, data); + p = prompt_new(o->prompt, _("Execute"), answers, 2, 0, 0, + prompt_cb, prompt_cleanup, ocp); + prompt_show(p, NULL, FALSE); +@@ -149,7 +170,7 @@ static gboolean run_func(ObActionsData *data, gpointer options) + event_cancel_all_key_grabs(); + + if (!g_shell_parse_argv(cmd, NULL, &argv, &e)) { +- g_message(e->message, o->cmd); ++ g_message("%s", e->message); + g_error_free(e); + } + else { +@@ -168,7 +189,7 @@ static gboolean run_func(ObActionsData *data, gpointer options) + G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, + NULL, NULL, NULL, &e)) + { +- g_message(e->message, o->cmd); ++ g_message("%s", e->message); + g_error_free(e); + + if (o->sn) +diff --git a/openbox/actions/exit.c b/openbox/actions/exit.c +index 567926e..f447830 100644 +--- a/openbox/actions/exit.c ++++ b/openbox/actions/exit.c +@@ -10,11 +10,12 @@ typedef struct { + + static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); + static gboolean run_func(ObActionsData *data, gpointer options); ++static void free_func(gpointer options); + + void action_exit_startup(void) + { +- actions_register("Exit", setup_func, NULL, run_func, NULL, NULL); +- actions_register("SessionLogout", setup_func, NULL, run_func, NULL, NULL); ++ actions_register("Exit", setup_func, free_func, run_func, NULL, NULL); ++ actions_register("SessionLogout", setup_func, free_func, run_func, NULL, NULL); + } + + static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) +@@ -31,6 +32,12 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) + return o; + } + ++static void free_func(gpointer options) ++{ ++ if (options) ++ g_free(options); ++} ++ + static void do_exit(void) + { + if (session_connected()) +diff --git a/openbox/actions/moverelative.c b/openbox/actions/moverelative.c +index 1d1189c..a553519 100644 +--- a/openbox/actions/moverelative.c ++++ b/openbox/actions/moverelative.c +@@ -54,15 +54,15 @@ static gboolean run_func(ObActionsData *data, gpointer options) + gint x, y, lw, lh, w, h; + + c = data->client; +- x = data->client->area.x + o->x; +- y = data->client->area.y + o->y; +- w = data->client->area.width; +- h = data->client->area.height; +- client_try_configure(data->client, &x, &y, &w, &h, &lw, &lh, TRUE); +- client_find_onscreen(data->client, &x, &y, w, h, FALSE); ++ x = c->area.x + o->x; ++ y = c->area.y + o->y; ++ w = c->area.width; ++ h = c->area.height; ++ client_try_configure(c, &x, &y, &w, &h, &lw, &lh, TRUE); ++ client_find_onscreen(c, &x, &y, w, h, FALSE); + + actions_client_move(data, TRUE); +- client_configure(data->client, x, y, w, h, TRUE, TRUE, FALSE); ++ client_configure(c, x, y, w, h, TRUE, TRUE, FALSE); + actions_client_move(data, FALSE); + } + +diff --git a/openbox/client.c b/openbox/client.c +index fd5d375..2d6885d 100644 +--- a/openbox/client.c ++++ b/openbox/client.c +@@ -372,7 +372,7 @@ void client_manage(Window window, ObPrompt *prompt) + /* NET_WM_USER_TIME 0 when mapping means don't focus */ + (user_time != 0) && + /* this checks for focus=false for the window */ +- (!settings || settings->focus != 0) && ++ settings->focus != 0 && + focus_valid_target(self, FALSE, FALSE, TRUE, FALSE, FALSE, + settings->focus == 1)) + { +@@ -782,7 +782,7 @@ static gboolean client_can_steal_focus(ObClient *self, Time steal_time, + + /* This is focus stealing prevention */ + ob_debug_type(OB_DEBUG_FOCUS, +- "Want to focus new window 0x%x at time %u " ++ "Want to focus window 0x%x at time %u " + "launched at %u (last user interaction time %u)\n", + self->window, steal_time, launch_time, + event_last_user_time); +@@ -791,8 +791,9 @@ static gboolean client_can_steal_focus(ObClient *self, Time steal_time, + if (!(self->desktop == screen_desktop || + self->desktop == DESKTOP_ALL) && + /* the timestamp is from before you changed desktops */ +- launch_time && screen_desktop_user_time && +- !event_time_after(launch_time, screen_desktop_user_time)) ++ (!launch_time || ++ (screen_desktop_user_time && ++ !event_time_after(launch_time, screen_desktop_user_time)))) + { + steal = FALSE; + ob_debug_type(OB_DEBUG_FOCUS, +@@ -2488,7 +2489,7 @@ ObClient *client_search_focus_tree_full(ObClient *self) + + for (it = self->parents; it; it = g_slist_next(it)) { + ObClient *c = it->data; +- if ((c = client_search_focus_tree_full(it->data))) return c; ++ if ((c = client_search_focus_tree_full(c))) return c; + } + + return NULL; +@@ -3175,7 +3176,8 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, + + /* if it moved between monitors, then this can affect the stacking + layer of this window or others - for fullscreen windows */ +- if (screen_find_monitor(&self->frame->area) != ++ if (self->managed && ++ screen_find_monitor(&self->frame->area) != + screen_find_monitor(&oldframe)) + { + client_calc_layer(self); +diff --git a/openbox/config.c b/openbox/config.c +index 1a99539..503f028 100644 +--- a/openbox/config.c ++++ b/openbox/config.c +@@ -205,7 +205,7 @@ static void parse_per_app_settings(ObParseInst *inst, xmlDocPtr doc, + gboolean x_pos_given; + + while (app) { +- name_set = class_set = type_set = x_pos_given = FALSE; ++ x_pos_given = FALSE; + + class_set = parse_attr_string("class", app, &class); + name_set = parse_attr_string("name", app, &name); +@@ -1018,7 +1018,7 @@ void config_startup(ObParseInst *i) + + config_menu_hide_delay = 250; + config_menu_middle = FALSE; +- config_submenu_show_delay = 200; ++ config_submenu_show_delay = 100; + config_submenu_hide_delay = 400; + config_menu_client_list_icons = TRUE; + config_menu_manage_desktops = TRUE; +diff --git a/openbox/event.c b/openbox/event.c +index 2ebea6b..1c6c043 100644 +--- a/openbox/event.c ++++ b/openbox/event.c +@@ -652,6 +652,7 @@ static void event_process(const XEvent *ec, gpointer data) + /* keyboard layout changes for modifier mapping changes. reload the + modifier map, and rebind all the key bindings as appropriate */ + ob_debug("Keyboard map changed. Reloading keyboard bindings.\n"); ++ XRefreshKeyboardMapping(&e->xmapping); + ob_set_state(OB_STATE_RECONFIGURING); + modkeys_shutdown(TRUE); + modkeys_startup(TRUE); +@@ -1323,11 +1324,23 @@ static void event_handle_client(ObClient *client, XEvent *e) + (e->xclient.data.l[0] == 2 ? "user" : "INVALID")))); + /* XXX make use of data.l[2] !? */ + if (e->xclient.data.l[0] == 1 || e->xclient.data.l[0] == 2) { +- event_curtime = e->xclient.data.l[1]; ++ /* we can not trust the timestamp from applications. ++ e.g. chromium passes a very old timestamp. openbox thinks ++ the window will get focus and calls XSetInputFocus with the ++ (old) timestamp, which doesn't end up moving focus at all. ++ but the window is raised, not hilited, etc, as if it was ++ really going to get focus. ++ ++ so do not use this timestamp in event_curtime, as this would ++ be used in XSetInputFocus. ++ */ ++ /*event_curtime = e->xclient.data.l[1];*/ + if (e->xclient.data.l[1] == 0) + ob_debug_type(OB_DEBUG_APP_BUGS, + "_NET_ACTIVE_WINDOW message for window %s is" + " missing a timestamp\n", client->title); ++ ++ event_curtime = event_get_server_time(); + } else + ob_debug_type(OB_DEBUG_APP_BUGS, + "_NET_ACTIVE_WINDOW message for window %s is " +@@ -1712,7 +1725,9 @@ static gboolean event_handle_menu_keyboard(XEvent *ev) + + else if (ob_keycode_match(keycode, OB_KEY_RIGHT)) { + /* Right goes to the selected submenu */ +- if (frame->selected->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) { ++ if (frame->selected && ++ frame->selected->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) ++ { + /* make sure it is visible */ + menu_frame_select(frame, frame->selected, TRUE); + menu_frame_select_next(frame->child); +diff --git a/openbox/focus_cycle_popup.c b/openbox/focus_cycle_popup.c +index d7ac9f5..c48b8f2 100644 +--- a/openbox/focus_cycle_popup.c ++++ b/openbox/focus_cycle_popup.c +@@ -317,7 +317,7 @@ static void popup_render(ObFocusCyclePopup *p, const ObClient *c) + gint innerw, innerh; + gint i; + GList *it; +- const ObFocusCyclePopupTarget *newtarget; ++ const ObFocusCyclePopupTarget *newtarget = NULL; + gint newtargetx, newtargety; + + screen_area = screen_physical_area_primary(FALSE); +diff --git a/openbox/menuframe.c b/openbox/menuframe.c +index 36fdc5f..fa65c85 100644 +--- a/openbox/menuframe.c ++++ b/openbox/menuframe.c +@@ -654,7 +654,6 @@ void menu_frame_render(ObMenuFrame *self) + if (self->entries) { + gint l, t, r, b; + +- e = self->entries->data; + ob_rr_theme->a_menu_text_normal->texture[0].data.text.string = ""; + tw = RrMinWidth(ob_rr_theme->a_menu_text_normal); + tw += 2*PADDING; +diff --git a/openbox/modkeys.c b/openbox/modkeys.c +index e897ccb..a54fdf0 100644 +--- a/openbox/modkeys.c ++++ b/openbox/modkeys.c +@@ -189,7 +189,7 @@ KeyCode* modkeys_sym_to_code(KeySym sym) + for (i = min_keycode; i <= max_keycode; ++i) + for (j = 0; j < keysyms_per_keycode; ++j) + if (sym == keymap[(i-min_keycode) * keysyms_per_keycode + j]) { +- ret = g_renew(KeyCode, ret, ++n); ++ ret = g_renew(KeyCode, ret, ++n + 1); + ret[n-1] = i; + ret[n] = 0; + } +diff --git a/openbox/moveresize.c b/openbox/moveresize.c +index fd52d89..39ae5b7 100644 +--- a/openbox/moveresize.c ++++ b/openbox/moveresize.c +@@ -655,7 +655,7 @@ static void move_with_keys(gint keycode, gint state) + static void resize_with_keys(gint keycode, gint state) + { + gint dw = 0, dh = 0, pdx = 0, pdy = 0, opx, opy, px, py; +- gint dist = 0, resist = 0; ++ gint resist = 0; + ObDirection dir; + + /* pick the edge if it needs to move */ +@@ -745,27 +745,27 @@ static void resize_with_keys(gint keycode, gint state) + + if (key_resize_edge == OB_DIRECTION_WEST) { + if (dir == OB_DIRECTION_WEST) +- dw = (dist = distw); ++ dw = distw; + else +- dw = -(dist = distw); ++ dw = -distw; + } + else if (key_resize_edge == OB_DIRECTION_EAST) { + if (dir == OB_DIRECTION_EAST) +- dw = (dist = distw); ++ dw = distw; + else +- dw = -(dist = distw); ++ dw = -distw; + } + else if (key_resize_edge == OB_DIRECTION_NORTH) { + if (dir == OB_DIRECTION_NORTH) +- dh = (dist = disth); ++ dh = disth; + else +- dh = -(dist = disth); ++ dh = -disth; + } + else /*if (key_resize_edge == OB_DIRECTION_SOUTH)*/ { + if (dir == OB_DIRECTION_SOUTH) +- dh = (dist = disth); ++ dh = disth; + else +- dh = -(dist = disth); ++ dh = -disth; + } + } + +diff --git a/openbox/openbox.c b/openbox/openbox.c +index f19f064..12fb2f6 100644 +--- a/openbox/openbox.c ++++ b/openbox/openbox.c +@@ -711,7 +711,7 @@ static Cursor load_cursor(const gchar *name, guint fontval) + + void ob_exit_with_error(const gchar *msg) + { +- g_message(msg); ++ g_message("%s", msg); + session_shutdown(TRUE); + exit(EXIT_FAILURE); + } +diff --git a/openbox/prompt.c b/openbox/prompt.c +index bef06a7..a97cd1b 100644 +--- a/openbox/prompt.c ++++ b/openbox/prompt.c +@@ -95,17 +95,17 @@ void prompt_startup(gboolean reconfig) + prompt_a_button->texture[0].data.text.color = c_button; + prompt_a_focus->texture[0].data.text.color = c_focus; + prompt_a_press->texture[0].data.text.color = c_press; +- prompt_a_pfocus->texture[0].data.text.color = c_press; ++ prompt_a_pfocus->texture[0].data.text.color = c_pfocus; + + prompt_a_focus->texture[1].data.lineart.color = c_focus; + prompt_a_focus->texture[2].data.lineart.color = c_focus; + prompt_a_focus->texture[3].data.lineart.color = c_focus; + prompt_a_focus->texture[4].data.lineart.color = c_focus; + +- prompt_a_pfocus->texture[1].data.lineart.color = c_press; +- prompt_a_pfocus->texture[2].data.lineart.color = c_press; +- prompt_a_pfocus->texture[3].data.lineart.color = c_press; +- prompt_a_pfocus->texture[4].data.lineart.color = c_press; ++ prompt_a_pfocus->texture[1].data.lineart.color = c_pfocus; ++ prompt_a_pfocus->texture[2].data.lineart.color = c_pfocus; ++ prompt_a_pfocus->texture[3].data.lineart.color = c_pfocus; ++ prompt_a_pfocus->texture[4].data.lineart.color = c_pfocus; + + prompt_a_msg = RrAppearanceCopy(ob_rr_theme->osd_hilite_label); + prompt_a_msg->texture[0].data.text.flow = TRUE; +diff --git a/openbox/resist.c b/openbox/resist.c +index 91eabcb..9b785a3 100644 +--- a/openbox/resist.c ++++ b/openbox/resist.c +@@ -330,7 +330,6 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h, + Rect *area, *parea; + gint al, at, ar, ab; /* screen boundaries */ + gint pl, pt, pr, pb; /* physical screen boundaries */ +- gint incw, inch; + guint i; + Rect desired_area; + +@@ -341,9 +340,6 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h, + t = RECT_TOP(c->frame->area); + b = RECT_BOTTOM(c->frame->area); + +- incw = c->size_inc.width; +- inch = c->size_inc.height; +- + RECT_SET(desired_area, c->area.x, c->area.y, *w, *h); + + for (i = 0; i < screen_num_monitors; ++i) { +diff --git a/openbox/screen.c b/openbox/screen.c +index 55fd58d..d11c0b6 100644 +--- a/openbox/screen.c ++++ b/openbox/screen.c +@@ -513,7 +513,6 @@ void screen_resize(void) + + void screen_set_num_desktops(guint num) + { +- guint old; + gulong *viewport; + GList *it, *stacking_copy; + +@@ -521,7 +520,6 @@ void screen_set_num_desktops(guint num) + + if (screen_num_desktops == num) return; + +- old = screen_num_desktops; + screen_num_desktops = num; + PROP_SET32(RootWindow(ob_display, ob_screen), + net_number_of_desktops, cardinal, num); +@@ -1462,7 +1460,7 @@ Rect* screen_area(guint desktop, guint head, Rect *search) + { + Rect *a; + GSList *it; +- gint l, r, t, b, al, ar, at, ab; ++ gint l, r, t, b; + guint i, d; + gboolean us = search != NULL; /* user provided search */ + +@@ -1482,36 +1480,32 @@ Rect* screen_area(guint desktop, guint head, Rect *search) + } + if (head == SCREEN_AREA_ONE_MONITOR) head = screen_find_monitor(search); + +- /* al is "all left" meaning the furthest left you can get, l is our +- "working left" meaning our current strut edge which we're calculating +- */ +- + /* only include monitors which the search area lines up with */ + if (RECT_INTERSECTS_RECT(monitor_area[screen_num_monitors], *search)) { +- al = l = RECT_RIGHT(monitor_area[screen_num_monitors]); +- at = t = RECT_BOTTOM(monitor_area[screen_num_monitors]); +- ar = r = RECT_LEFT(monitor_area[screen_num_monitors]); +- ab = b = RECT_TOP(monitor_area[screen_num_monitors]); ++ l = RECT_RIGHT(monitor_area[screen_num_monitors]); ++ t = RECT_BOTTOM(monitor_area[screen_num_monitors]); ++ r = RECT_LEFT(monitor_area[screen_num_monitors]); ++ b = RECT_TOP(monitor_area[screen_num_monitors]); + for (i = 0; i < screen_num_monitors; ++i) { + /* add the monitor if applicable */ + if (RANGES_INTERSECT(search->x, search->width, + monitor_area[i].x, monitor_area[i].width)) + { +- at = t = MIN(t, RECT_TOP(monitor_area[i])); +- ab = b = MAX(b, RECT_BOTTOM(monitor_area[i])); ++ t = MIN(t, RECT_TOP(monitor_area[i])); ++ b = MAX(b, RECT_BOTTOM(monitor_area[i])); + } + if (RANGES_INTERSECT(search->y, search->height, + monitor_area[i].y, monitor_area[i].height)) + { +- al = l = MIN(l, RECT_LEFT(monitor_area[i])); +- ar = r = MAX(r, RECT_RIGHT(monitor_area[i])); ++ l = MIN(l, RECT_LEFT(monitor_area[i])); ++ r = MAX(r, RECT_RIGHT(monitor_area[i])); + } + } + } else { +- al = l = RECT_LEFT(monitor_area[screen_num_monitors]); +- at = t = RECT_TOP(monitor_area[screen_num_monitors]); +- ar = r = RECT_RIGHT(monitor_area[screen_num_monitors]); +- ab = b = RECT_BOTTOM(monitor_area[screen_num_monitors]); ++ l = RECT_LEFT(monitor_area[screen_num_monitors]); ++ t = RECT_TOP(monitor_area[screen_num_monitors]); ++ r = RECT_RIGHT(monitor_area[screen_num_monitors]); ++ b = RECT_BOTTOM(monitor_area[screen_num_monitors]); + } + + for (d = 0; d < screen_num_desktops; ++d) { +diff --git a/openbox/translate.c b/openbox/translate.c +index bd8b88f..71a919c 100644 +--- a/openbox/translate.c ++++ b/openbox/translate.c +@@ -166,7 +166,11 @@ gchar *translate_keycode(guint keycode) + + if ((sym = XKeycodeToKeysym(ob_display, keycode, 0)) != NoSymbol) + ret = XKeysymToString(sym); +- return g_locale_to_utf8(ret, -1, NULL, NULL, NULL); ++ /* glib crashes in g_locale_to_utf8 if you pass it NULL here */ ++ if (ret) ++ return g_locale_to_utf8(ret, -1, NULL, NULL, NULL); ++ else ++ return NULL; + } + + gunichar translate_unichar(guint keycode) +diff --git a/parser/parse.c b/parser/parse.c +index 7a3c72e..6db7ca7 100644 +--- a/parser/parse.c ++++ b/parser/parse.c +@@ -219,10 +219,12 @@ void parse_close(xmlDocPtr doc) + void parse_tree(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) + { + while (node) { +- struct Callback *c = g_hash_table_lookup(i->callbacks, node->name); ++ if (node->name) { ++ struct Callback *c = g_hash_table_lookup(i->callbacks, node->name); + +- if (c) +- c->func(i, doc, node, c->data); ++ if (c) ++ c->func(i, doc, node, c->data); ++ } + + node = node->next; + } +diff --git a/po/et.po b/po/et.po +index 9c9c9f3..d4a80d8 100644 +--- a/po/et.po ++++ b/po/et.po +@@ -1,20 +1,22 @@ ++# Openboxi eesti keele tõlge + # translation of openbox to Estonian + # Copyright (C) 2007 Dana Jansens + # This file is distributed under the same license as the Openbox 3 package. + # + # Andres Järv <andresjarv@gmail.com>, 2007. ++# Mihkel <turakas gmail com>, 2010 + msgid "" + msgstr "" +-"Project-Id-Version: Openbox 3.4.3\n" ++"Project-Id-Version: Openbox 3.4.11.1\n" + "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n" +-"POT-Creation-Date: 2008-11-15 22:28+0100\n" +-"PO-Revision-Date: 2007-07-20 16:54+0200\n" +-"Last-Translator: Andres Järv <andresjarv@gmail.com>\n" ++"POT-Creation-Date: 2010-04-22 15:53+0200\n" ++"PO-Revision-Date: 2010-04-21 21:40+0300\n" ++"Last-Translator: mihkel <turakas@gmail.com>\n" + "Language-Team: Estonian <et@li.org>\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" + + #: openbox/actions.c:149 + #, c-format +@@ -23,87 +25,82 @@ msgstr "Taotleti kehtetut käsklust \"%s\". Sellist käsklust pole olemas." + + #: openbox/actions/execute.c:128 + msgid "No" +-msgstr "" ++msgstr "Ei" + + #: openbox/actions/execute.c:129 + msgid "Yes" +-msgstr "" ++msgstr "Jah" + + #: openbox/actions/execute.c:133 + msgid "Execute" +-msgstr "" ++msgstr "Käivita" + + #: openbox/actions/execute.c:142 + #, c-format + msgid "Failed to convert the path \"%s\" from utf8" + msgstr "Raja \"%s\" ümberkodeerimine UTF8-st ebaõnnestus" + +-#: openbox/actions/exit.c:52 openbox/actions/session.c:64 +-#: openbox/client.c:3465 ++#: openbox/actions/exit.c:62 openbox/client.c:3506 + msgid "Cancel" +-msgstr "" ++msgstr "Katkesta" + +-#: openbox/actions/exit.c:53 ++#: openbox/actions/exit.c:63 + msgid "Exit" +-msgstr "" +- +-#: openbox/actions/exit.c:56 +-msgid "Are you sure you want to exit Openbox?" +-msgstr "" +- +-#: openbox/actions/exit.c:57 +-msgid "Exit Openbox" +-msgstr "" ++msgstr "Välju" + +-#. TRANSLATORS: Don't translate the word "SessionLogout" as it's the +-#. name of the action you write in rc.xml +-#: openbox/actions/session.c:43 +-msgid "" +-"The SessionLogout action is not available since Openbox was built without " +-"session management support" +-msgstr "" ++#: openbox/actions/exit.c:67 ++msgid "Are you sure you want to log out?" ++msgstr "Kas oled kindel, et soovid välja logida?" + +-#: openbox/actions/session.c:65 openbox/actions/session.c:70 ++#: openbox/actions/exit.c:68 + msgid "Log Out" +-msgstr "" ++msgstr "Logi välja" + +-#: openbox/actions/session.c:69 +-msgid "Are you sure you want to log out?" +-msgstr "" ++#: openbox/actions/exit.c:71 ++msgid "Are you sure you want to exit Openbox?" ++msgstr "Kas oled kindel, et soovid OpenBoxist väljuda?" ++ ++#: openbox/actions/exit.c:72 ++msgid "Exit Openbox" ++msgstr "Välju Openbox-st" + +-#: openbox/client.c:2012 ++#: openbox/client.c:2024 + msgid "Unnamed Window" +-msgstr "" ++msgstr "Nimetu aken" + +-#: openbox/client.c:2026 openbox/client.c:2058 ++#: openbox/client.c:2038 openbox/client.c:2070 + msgid "Killing..." +-msgstr "" ++msgstr "Tapan..." + +-#: openbox/client.c:2028 openbox/client.c:2060 ++#: openbox/client.c:2040 openbox/client.c:2072 + msgid "Not Responding" +-msgstr "" ++msgstr "Ei vasta" + +-#: openbox/client.c:3454 ++#: openbox/client.c:3495 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to force it " + "to exit by sending the %s signal?" + msgstr "" ++"Paistab, et aken \"%s\" ei vasta enam. Kas soovid teda jõuga väljuma sundida " ++"saates %s signaali?" + +-#: openbox/client.c:3456 ++#: openbox/client.c:3497 + msgid "End Process" +-msgstr "" ++msgstr "Lõpeta protsess" + +-#: openbox/client.c:3460 ++#: openbox/client.c:3501 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to disconnect " + "it from the X server?" + msgstr "" ++"Paistab, et aken \"%s\" ei vasta enam. Kas soovid ta X serverist lahti " ++"ühendada?" + +-#: openbox/client.c:3462 ++#: openbox/client.c:3503 + msgid "Disconnect" +-msgstr "" ++msgstr "Ühenda lahti" + + #: openbox/client_list_combined_menu.c:87 openbox/client_list_menu.c:91 + msgid "Go there..." +@@ -189,14 +186,14 @@ msgstr "Äär_ed sisse/välja" + msgid "_Close" + msgstr "S_ulge" + +-#: openbox/config.c:781 ++#: openbox/config.c:798 + #, c-format + msgid "Invalid button \"%s\" specified in config file" +-msgstr "Vigane nupp \"%s\" määratletud konfiguratsioonifailis" ++msgstr "Vigane nupp \"%s\" määratud seadistuste failis" + + #: openbox/keyboard.c:157 + msgid "Conflict with key binding in config file" +-msgstr "Konflikt kiirklahviga konfiguratsioonifailis" ++msgstr "Konflikt kiirklahviga seadistuste failis" + + #: openbox/menu.c:102 openbox/menu.c:110 + #, c-format +@@ -218,7 +215,7 @@ msgstr "Vigane väljund torumenüüst \"%s\"" + msgid "Attempted to access menu \"%s\" but it does not exist" + msgstr "Üritati ligi pääseda menüüle \"%s\", aga seda pole olemas" + +-#: openbox/menu.c:367 openbox/menu.c:368 ++#: openbox/menu.c:370 openbox/menu.c:371 + msgid "More..." + msgstr "Rohkem..." + +@@ -243,7 +240,7 @@ msgstr "DISPLAY keskkonnamuutujas oleva ekraani avamine ebaõnnestus." + + #: openbox/openbox.c:183 + msgid "Failed to initialize the obrender library." +-msgstr "Obrender-damisteegi käivitamine ebaõnnestus." ++msgstr "Obrender-damise teegi käivitamine ebaõnnestus." + + #: openbox/openbox.c:194 + msgid "X server does not support locale." +@@ -253,46 +250,49 @@ msgstr "X server ei toeta lokaati." + msgid "Cannot set locale modifiers for the X server." + msgstr "Ei suudetud sättida lokaadimuutujaid X serveri jaoks." + +-#: openbox/openbox.c:263 ++#: openbox/openbox.c:265 + msgid "Unable to find a valid config file, using some simple defaults" + msgstr "" +-"Ei suudetud leida kehtivat konfiguratsioonifaili, kasutatakse lihtsaid " ++"Kehtiva seadistuste faili leidmine ebaõnnestus, kasutatakse lihtsaid " + "vaikimisi seadeid" + +-#: openbox/openbox.c:297 ++#: openbox/openbox.c:299 + msgid "Unable to load a theme." +-msgstr "Ei suudetud laadida teemat." ++msgstr "Teema laadimine ebaõnnestus." + +-#: openbox/openbox.c:377 ++#: openbox/openbox.c:379 + #, c-format + msgid "" + "One or more XML syntax errors were found while parsing the Openbox " + "configuration files. See stdout for more information. The last error seen " + "was in file \"%s\" line %d, with message: %s" + msgstr "" ++"Üks või enam XML süntaki viga leiti Openboxi seadistuse faili parsides. " ++"Rohkem infot leiad stdout-st. Viimane viga oli failis \"%s\", real %d ja " ++"sõnum oli: %s" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Openbox Syntax Error" +-msgstr "" ++msgstr "Openboxi süntaksi viga" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Close" + msgstr "Sulge" + +-#: openbox/openbox.c:448 ++#: openbox/openbox.c:463 + #, c-format + msgid "Restart failed to execute new executable \"%s\": %s" + msgstr "Taaskäivitusel ebaõnnestus uue käivitusfaili \"%s\" käivitamine: %s" + +-#: openbox/openbox.c:518 openbox/openbox.c:520 ++#: openbox/openbox.c:533 openbox/openbox.c:535 + msgid "Copyright (c)" + msgstr "Autoriõigused (c)" + +-#: openbox/openbox.c:529 ++#: openbox/openbox.c:544 + msgid "Syntax: openbox [options]\n" + msgstr "Süntaks: openbox [seaded]\n" + +-#: openbox/openbox.c:530 ++#: openbox/openbox.c:545 + msgid "" + "\n" + "Options:\n" +@@ -300,30 +300,30 @@ msgstr "" + "\n" + "Seaded:\n" + +-#: openbox/openbox.c:531 ++#: openbox/openbox.c:546 + msgid " --help Display this help and exit\n" + msgstr " --help Selle abi kuvamine ja väljumine\n" + +-#: openbox/openbox.c:532 ++#: openbox/openbox.c:547 + msgid " --version Display the version and exit\n" + msgstr " --version Versiooni kuvamine ja väljumine\n" + +-#: openbox/openbox.c:533 ++#: openbox/openbox.c:548 + msgid " --replace Replace the currently running window manager\n" + msgstr " --replace Hetkel töötava aknahalduri asendamine\n" + + #. TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..." + #. aligned still, if you have to, make a new line with \n and 22 spaces. It's + #. fine to leave it as FILE though. +-#: openbox/openbox.c:537 ++#: openbox/openbox.c:552 + msgid " --config-file FILE Specify the path to the config file to use\n" +-msgstr "" ++msgstr " --config-file FAIL Määra kasutatava seadistuste faili teekond\n" + +-#: openbox/openbox.c:538 ++#: openbox/openbox.c:553 + msgid " --sm-disable Disable connection to the session manager\n" + msgstr " --sm-disable Seansihalduriga ühenduse keelamine\n" + +-#: openbox/openbox.c:539 ++#: openbox/openbox.c:554 + msgid "" + "\n" + "Passing messages to a running Openbox instance:\n" +@@ -331,19 +331,19 @@ msgstr "" + "\n" + "Jooksvale Openboxi seansile sõnumite edastamine:\n" + +-#: openbox/openbox.c:540 ++#: openbox/openbox.c:555 + msgid " --reconfigure Reload Openbox's configuration\n" + msgstr " --reconfigure Openboxi konfiguratsioon uuesti laadimine\n" + +-#: openbox/openbox.c:541 ++#: openbox/openbox.c:556 + msgid " --restart Restart Openbox\n" + msgstr " --restart Openboxi taaskäivitamine\n" + +-#: openbox/openbox.c:542 ++#: openbox/openbox.c:557 + msgid " --exit Exit Openbox\n" +-msgstr "" ++msgstr " --exit Välju Openbox-st\n" + +-#: openbox/openbox.c:543 ++#: openbox/openbox.c:558 + msgid "" + "\n" + "Debugging options:\n" +@@ -351,23 +351,23 @@ msgstr "" + "\n" + "Silumise seaded:\n" + +-#: openbox/openbox.c:544 ++#: openbox/openbox.c:559 + msgid " --sync Run in synchronous mode\n" + msgstr " --sync Sünkroonselt jooksutamine\n" + +-#: openbox/openbox.c:545 ++#: openbox/openbox.c:560 + msgid " --debug Display debugging output\n" + msgstr " --debug Silumisväljundi kuvamine\n" + +-#: openbox/openbox.c:546 ++#: openbox/openbox.c:561 + msgid " --debug-focus Display debugging output for focus handling\n" + msgstr " --debug-focus Fookusekäsitluse siluriväljundi kuvamine\n" + +-#: openbox/openbox.c:547 ++#: openbox/openbox.c:562 + msgid " --debug-xinerama Split the display into fake xinerama screens\n" + msgstr " --debug-xinerama Ekraani võlts-Xinerama ekraanideks jagamine\n" + +-#: openbox/openbox.c:548 ++#: openbox/openbox.c:563 + #, c-format + msgid "" + "\n" +@@ -376,26 +376,26 @@ msgstr "" + "\n" + "Palun teata vigadest siia %s\n" + +-#: openbox/openbox.c:617 ++#: openbox/openbox.c:645 + msgid "--config-file requires an argument\n" +-msgstr "" ++msgstr "--config-file nõuab argumenti\n" + +-#: openbox/openbox.c:660 ++#: openbox/openbox.c:688 + #, c-format + msgid "Invalid command line argument \"%s\"\n" + msgstr "Vigane käsurea argument \"%s\"\n" + +-#: openbox/screen.c:102 openbox/screen.c:190 ++#: openbox/screen.c:103 openbox/screen.c:191 + #, c-format + msgid "A window manager is already running on screen %d" + msgstr "Ekraanil %d juba jookseb aknahaldur" + +-#: openbox/screen.c:124 ++#: openbox/screen.c:125 + #, c-format + msgid "Could not acquire window manager selection on screen %d" + msgstr "Ei suuda hankida aknahaldurite loetelu ekraanil %d" + +-#: openbox/screen.c:145 ++#: openbox/screen.c:146 + #, c-format + msgid "The WM on screen %d is not exiting" + msgstr "Aknahaldur ekraanil %d ei sulgu" +@@ -404,7 +404,7 @@ msgstr "Aknahaldur ekraanil %d ei sulgu" + #. arguments, you can use %1$d for the first one and %2$d for the + #. second one. For example, + #. "The current session has %2$d desktops, but Openbox is configured for %1$d ..." +-#: openbox/screen.c:412 ++#: openbox/screen.c:421 + #, c-format + msgid "" + "Openbox is configured for %d desktop, but the current session has %d. " +@@ -413,31 +413,35 @@ msgid_plural "" + "Openbox is configured for %d desktops, but the current session has %d. " + "Overriding the Openbox configuration." + msgstr[0] "" ++"Openbox on seadistatud %d töölauale, aga aktiivsel seansil on %d. Tühistan " ++"Openboxi seadistuse." + msgstr[1] "" ++"Openbox on seadistatud %d töölauale, aga aktiivsel seansil on %d. Tühistan " ++"Openboxi seadistuse." + +-#: openbox/screen.c:1180 ++#: openbox/screen.c:1203 + #, c-format + msgid "desktop %i" + msgstr "töölaud %i" + +-#: openbox/session.c:104 ++#: openbox/session.c:105 + #, c-format + msgid "Unable to make directory \"%s\": %s" + msgstr "Kausta \"%s\" tegemine ebaõnnestus: %s" + +-#: openbox/session.c:466 ++#: openbox/session.c:472 + #, c-format + msgid "Unable to save the session to \"%s\": %s" + msgstr "Seansi \"%s\" salvestamine ebaõnnestus: %s" + +-#: openbox/session.c:605 ++#: openbox/session.c:611 + #, c-format + msgid "Error while saving the session to \"%s\": %s" + msgstr "Seansi \"%s\" salvestamisel ilmnes viga: %s" + +-#: openbox/session.c:842 ++#: openbox/session.c:848 + msgid "Not connected to a session manager" +-msgstr "" ++msgstr "Pole ühendatud seansihalduriga" + + #: openbox/startupnotify.c:243 + #, c-format +@@ -471,7 +475,14 @@ msgstr "X-i viga: %s" + + #: openbox/prompt.c:200 + msgid "OK" +-msgstr "" ++msgstr "Sobib" ++ ++#~ msgid "" ++#~ "The SessionLogout action is not available since Openbox was built without " ++#~ "session management support" ++#~ msgstr "" ++#~ "SessionLogout tegevust pole saadaval, kuna Openbox on kompileeritud " ++#~ "seansi haldamise toeta" + + #~ msgid "Failed to execute \"%s\": %s" + #~ msgstr "\"%s\" käivitamine ebaõnnestus: %s" +diff --git a/po/fi.po b/po/fi.po +index 0c5b344..157e13b 100644 +--- a/po/fi.po ++++ b/po/fi.po +@@ -8,15 +8,16 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: Openbox 3.4.7\n" ++"Project-Id-Version: Openbox 3.4.11\n" + "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n" +-"POT-Creation-Date: 2008-11-15 22:28+0100\n" +-"PO-Revision-Date: 2008-03-17 21:26+0100\n" ++"POT-Creation-Date: 2010-03-11 14:26+0100\n" ++"PO-Revision-Date: 2010-03-13 21:56+0100\n" + "Last-Translator: Lauri Hakko <aperculum@gmail.com>\n" + "Language-Team: None\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" + + #: openbox/actions.c:149 + #, c-format +@@ -40,54 +41,43 @@ msgstr "Suorita" + msgid "Failed to convert the path \"%s\" from utf8" + msgstr "Polun \"%s\" muuntaminen utf8:sta epäonnistui" + +-#: openbox/actions/exit.c:52 openbox/actions/session.c:64 +-#: openbox/client.c:3465 ++#: openbox/actions/exit.c:62 openbox/client.c:3506 + msgid "Cancel" + msgstr "Peruuta" + +-#: openbox/actions/exit.c:53 ++#: openbox/actions/exit.c:63 + msgid "Exit" + msgstr "Sulje" + +-#: openbox/actions/exit.c:56 ++#: openbox/actions/exit.c:67 ++msgid "Are you sure you want to log out?" ++msgstr "Haluatko varmasti kirjautua ulos?" ++ ++#: openbox/actions/exit.c:68 ++msgid "Log Out" ++msgstr "Kirjaudu ulos" ++ ++#: openbox/actions/exit.c:71 + msgid "Are you sure you want to exit Openbox?" + msgstr "Haluatko varmasti sulkea Openboxin" + +-#: openbox/actions/exit.c:57 ++#: openbox/actions/exit.c:72 + msgid "Exit Openbox" + msgstr "Sulje Openbox" + +-#. TRANSLATORS: Don't translate the word "SessionLogout" as it's the +-#. name of the action you write in rc.xml +-#: openbox/actions/session.c:43 +-msgid "" +-"The SessionLogout action is not available since Openbox was built without " +-"session management support" +-msgstr "" +-"SessionLogout tapahtuma ei ole suoritettavissa, koska Openbox käännettiin " +-"ilman istunnon hallinnan tukea" +- +-#: openbox/actions/session.c:65 openbox/actions/session.c:70 +-msgid "Log Out" +-msgstr "Kirjaudu ulos" +- +-#: openbox/actions/session.c:69 +-msgid "Are you sure you want to log out?" +-msgstr "Haluatko varmasti kirjautua ulos?" +- +-#: openbox/client.c:2012 ++#: openbox/client.c:2024 + msgid "Unnamed Window" + msgstr "Nimetön ikkuna" + +-#: openbox/client.c:2026 openbox/client.c:2058 ++#: openbox/client.c:2038 openbox/client.c:2070 + msgid "Killing..." + msgstr "Tapetaan..." + +-#: openbox/client.c:2028 openbox/client.c:2060 ++#: openbox/client.c:2040 openbox/client.c:2072 + msgid "Not Responding" + msgstr "Ei vastaa" + +-#: openbox/client.c:3454 ++#: openbox/client.c:3495 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to force it " +@@ -96,11 +86,11 @@ msgstr "" + "Ikkuna \"%s\" ei näytä vastaavan. Haluatko sulkea sen lähettämällä sille " + "singaalin %s?" + +-#: openbox/client.c:3456 ++#: openbox/client.c:3497 + msgid "End Process" + msgstr "Lopeta prosessi" + +-#: openbox/client.c:3460 ++#: openbox/client.c:3501 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to disconnect " +@@ -109,7 +99,7 @@ msgstr "" + "Ikkuna \"%s\" ei näytä vastaavan. Haluatko katkaista sen yhteyden X-" + "palvelimeen?" + +-#: openbox/client.c:3462 ++#: openbox/client.c:3503 + msgid "Disconnect" + msgstr "Katkaise yhteys" + +@@ -197,7 +187,7 @@ msgstr "(Epä)_reunusta" + msgid "_Close" + msgstr "_Sulje" + +-#: openbox/config.c:781 ++#: openbox/config.c:798 + #, c-format + msgid "Invalid button \"%s\" specified in config file" + msgstr "Asetustiedostossa määritelty painike \"%s\" on virheellinen" +@@ -226,7 +216,7 @@ msgstr "Virheellinen tulos putkivalikosta \"%s\"" + msgid "Attempted to access menu \"%s\" but it does not exist" + msgstr "Valikon \"%s\" lukemista yritettiin, mutta sitä ei ole olemassa" + +-#: openbox/menu.c:367 openbox/menu.c:368 ++#: openbox/menu.c:370 openbox/menu.c:371 + msgid "More..." + msgstr "Lisää..." + +@@ -261,17 +251,17 @@ msgstr "X-palvelin ei tue maa-asetusta." + msgid "Cannot set locale modifiers for the X server." + msgstr "Maa-asetusmuuttujia ei voitu tehdä X-palvelimelle." + +-#: openbox/openbox.c:263 ++#: openbox/openbox.c:265 + msgid "Unable to find a valid config file, using some simple defaults" + msgstr "" + "Kelvollista asetustiedostoa ei löytynyt, käytetään yksinkertaisia " + "oletusarvoja" + +-#: openbox/openbox.c:297 ++#: openbox/openbox.c:299 + msgid "Unable to load a theme." + msgstr "Teeman lataaminen epäonnistui." + +-#: openbox/openbox.c:377 ++#: openbox/openbox.c:379 + #, c-format + msgid "" + "One or more XML syntax errors were found while parsing the Openbox " +@@ -282,29 +272,29 @@ msgstr "" + "stdout saadaksesi lisätietoja. Viimeisin virhe oli tiedostossa \"%s\" " + "rivillä %d: %s" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Openbox Syntax Error" + msgstr "Openbox syntaksivirhe" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Close" + msgstr "Sulje" + +-#: openbox/openbox.c:448 ++#: openbox/openbox.c:463 + #, c-format + msgid "Restart failed to execute new executable \"%s\": %s" + msgstr "" + "Uudelleenkäynnistys ei onnistunut käynnistämään uutta ohjelmaa \"%s\": %s" + +-#: openbox/openbox.c:518 openbox/openbox.c:520 ++#: openbox/openbox.c:533 openbox/openbox.c:535 + msgid "Copyright (c)" + msgstr "Tekijänoikeudet (c)" + +-#: openbox/openbox.c:529 ++#: openbox/openbox.c:544 + msgid "Syntax: openbox [options]\n" + msgstr "Syntaksi: openbox [valitsin]\n" + +-#: openbox/openbox.c:530 ++#: openbox/openbox.c:545 + msgid "" + "\n" + "Options:\n" +@@ -312,30 +302,30 @@ msgstr "" + "\n" + "Käyttö:\n" + +-#: openbox/openbox.c:531 ++#: openbox/openbox.c:546 + msgid " --help Display this help and exit\n" + msgstr " --help Näytä tämä ohje ja poistu\n" + +-#: openbox/openbox.c:532 ++#: openbox/openbox.c:547 + msgid " --version Display the version and exit\n" + msgstr " --version Näytä version tiedot ja poistu\n" + +-#: openbox/openbox.c:533 ++#: openbox/openbox.c:548 + msgid " --replace Replace the currently running window manager\n" + msgstr " --replace Korvaa käynnissä oleva ikkunointiohjelma\n" + + #. TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..." + #. aligned still, if you have to, make a new line with \n and 22 spaces. It's + #. fine to leave it as FILE though. +-#: openbox/openbox.c:537 ++#: openbox/openbox.c:552 + msgid " --config-file FILE Specify the path to the config file to use\n" + msgstr " --config-file FILE Määritä käytettävän asetustiedoston polku\n" + +-#: openbox/openbox.c:538 ++#: openbox/openbox.c:553 + msgid " --sm-disable Disable connection to the session manager\n" + msgstr " --sm-disable Estä yhteys istuntojen hallintaan\n" + +-#: openbox/openbox.c:539 ++#: openbox/openbox.c:554 + msgid "" + "\n" + "Passing messages to a running Openbox instance:\n" +@@ -343,19 +333,19 @@ msgstr "" + "\n" + "Komentojen antaminen käynnissä olevalle Openboxille:\n" + +-#: openbox/openbox.c:540 ++#: openbox/openbox.c:555 + msgid " --reconfigure Reload Openbox's configuration\n" + msgstr " --reconfigure Lataa Openboxin asetustiedosto uudelleen\n" + +-#: openbox/openbox.c:541 ++#: openbox/openbox.c:556 + msgid " --restart Restart Openbox\n" + msgstr " --restart Käynnistä Openbox uudelleen\n" + +-#: openbox/openbox.c:542 ++#: openbox/openbox.c:557 + msgid " --exit Exit Openbox\n" + msgstr " --exit Sulje Openbox\n" + +-#: openbox/openbox.c:543 ++#: openbox/openbox.c:558 + msgid "" + "\n" + "Debugging options:\n" +@@ -363,23 +353,23 @@ msgstr "" + "\n" + "Vianjäljityksen asetukset:\n" + +-#: openbox/openbox.c:544 ++#: openbox/openbox.c:559 + msgid " --sync Run in synchronous mode\n" + msgstr " --sync Aja synkronointi-tilassa\n" + +-#: openbox/openbox.c:545 ++#: openbox/openbox.c:560 + msgid " --debug Display debugging output\n" + msgstr " --debug Näytä vianjäljitystuloste\n" + +-#: openbox/openbox.c:546 ++#: openbox/openbox.c:561 + msgid " --debug-focus Display debugging output for focus handling\n" + msgstr " --debug-focus Näytä vianjäljitystuloste ikkunavalitsimelle\n" + +-#: openbox/openbox.c:547 ++#: openbox/openbox.c:562 + msgid " --debug-xinerama Split the display into fake xinerama screens\n" + msgstr " --debug-xinerama Jaa näyttö kahteen vale-xinerama-ruutuun\n" + +-#: openbox/openbox.c:548 ++#: openbox/openbox.c:563 + #, c-format + msgid "" + "\n" +@@ -388,26 +378,26 @@ msgstr "" + "\n" + "Ilmoita virheistä: %s\n" + +-#: openbox/openbox.c:617 ++#: openbox/openbox.c:645 + msgid "--config-file requires an argument\n" + msgstr "--config-file tarvitsee argumentin\n" + +-#: openbox/openbox.c:660 ++#: openbox/openbox.c:688 + #, c-format + msgid "Invalid command line argument \"%s\"\n" + msgstr "Virheellinen valitsin \"%s\"\n" + +-#: openbox/screen.c:102 openbox/screen.c:190 ++#: openbox/screen.c:103 openbox/screen.c:191 + #, c-format + msgid "A window manager is already running on screen %d" + msgstr "Ikkunointiohjelma on jo käynnissä näytöllä %d" + +-#: openbox/screen.c:124 ++#: openbox/screen.c:125 + #, c-format + msgid "Could not acquire window manager selection on screen %d" + msgstr "Ikkunointiohjelman valinta ruudulla %d ei onnistunut" + +-#: openbox/screen.c:145 ++#: openbox/screen.c:146 + #, c-format + msgid "The WM on screen %d is not exiting" + msgstr "Ikkunointiohjelma ruudulla %d ei sulkeudu" +@@ -416,8 +406,8 @@ msgstr "Ikkunointiohjelma ruudulla %d ei sulkeudu" + #. arguments, you can use %1$d for the first one and %2$d for the + #. second one. For example, + #. "The current session has %2$d desktops, but Openbox is configured for %1$d ..." +-#: openbox/screen.c:412 +-#, fuzzy, c-format ++#: openbox/screen.c:421 ++#, c-format + msgid "" + "Openbox is configured for %d desktop, but the current session has %d. " + "Overriding the Openbox configuration." +@@ -431,27 +421,27 @@ msgstr[1] "" + "Openbox on asetettu käyttämään %d työtilaa, mutta nykyisessä istunnossa " + "työtiloja on %d. Ohitetaan Openboxin asetus." + +-#: openbox/screen.c:1180 ++#: openbox/screen.c:1203 + #, c-format + msgid "desktop %i" + msgstr "työtila %i" + +-#: openbox/session.c:104 ++#: openbox/session.c:105 + #, c-format + msgid "Unable to make directory \"%s\": %s" + msgstr "Hakemiston \"%s\" luonti epäonnistui: %s" + +-#: openbox/session.c:466 ++#: openbox/session.c:472 + #, c-format + msgid "Unable to save the session to \"%s\": %s" + msgstr "Istuntoa ei voitu tallentaa hakemistoon \"%s\": %s" + +-#: openbox/session.c:605 ++#: openbox/session.c:611 + #, c-format + msgid "Error while saving the session to \"%s\": %s" + msgstr "Virhe tallennettaessa istuntoa hakemistoon \"%s\": %s" + +-#: openbox/session.c:842 ++#: openbox/session.c:848 + msgid "Not connected to a session manager" + msgstr "Ei yhteyttä istunnon hallintaan" + +@@ -489,5 +479,12 @@ msgstr "X-virhe: %s" + msgid "OK" + msgstr "OK" + ++#~ msgid "" ++#~ "The SessionLogout action is not available since Openbox was built without " ++#~ "session management support" ++#~ msgstr "" ++#~ "SessionLogout tapahtuma ei ole suoritettavissa, koska Openbox käännettiin " ++#~ "ilman istunnon hallinnan tukea" ++ + #~ msgid "Failed to execute \"%s\": %s" + #~ msgstr "Ohjelman \"%s\" suorittaminen epäonnistui: %s" +diff --git a/po/pl.po b/po/pl.po +index b0f5d52..00546d0 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -4,14 +4,15 @@ + # Madej <madej@afn.no-ip.org>, 2004. + # Paweł Rusinek <p.rusinek@gmail.com>, 2007. + # Piotr Drąg <raven@pmail.pl>, 2007. ++# Jakub Łojewski <lojewski@ovi.com>, 2010. + # + msgid "" + msgstr "" + "Project-Id-Version: Openbox 3.4.3\n" + "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n" +-"POT-Creation-Date: 2008-11-15 22:28+0100\n" +-"PO-Revision-Date: 2007-07-14 00:43+0200\n" +-"Last-Translator: Piotr Drąg <raven@pmail.pl>\n" ++"POT-Creation-Date: 2010-03-11 14:26+0100\n" ++"PO-Revision-Date: 2010-03-11 13:55+0100\n" ++"Last-Translator: Jakub Łojewski <lojewski@ovi.com>\n" + "Language-Team: Polish <pl@li.org>\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -20,91 +21,84 @@ msgstr "" + #: openbox/actions.c:149 + #, c-format + msgid "Invalid action \"%s\" requested. No such action exists." +-msgstr "" ++msgstr "Wywołana akcja \"%s\" nie istnieje." + + #: openbox/actions/execute.c:128 + msgid "No" +-msgstr "" ++msgstr "Nie" + + #: openbox/actions/execute.c:129 + msgid "Yes" +-msgstr "" ++msgstr "Tak" + + #: openbox/actions/execute.c:133 + msgid "Execute" +-msgstr "" ++msgstr "Wykonaj" + + #: openbox/actions/execute.c:142 + #, c-format + msgid "Failed to convert the path \"%s\" from utf8" + msgstr "Nie można przekonwertować ścieżki \"%s\" z UTF-8" + +-#: openbox/actions/exit.c:52 openbox/actions/session.c:64 +-#: openbox/client.c:3465 ++#: openbox/actions/exit.c:62 openbox/client.c:3506 + msgid "Cancel" +-msgstr "" ++msgstr "Anuluj" + +-#: openbox/actions/exit.c:53 ++#: openbox/actions/exit.c:63 + msgid "Exit" +-msgstr "" +- +-#: openbox/actions/exit.c:56 +-msgid "Are you sure you want to exit Openbox?" +-msgstr "" +- +-#: openbox/actions/exit.c:57 +-msgid "Exit Openbox" +-msgstr "" ++msgstr "Wyjście" + +-#. TRANSLATORS: Don't translate the word "SessionLogout" as it's the +-#. name of the action you write in rc.xml +-#: openbox/actions/session.c:43 +-msgid "" +-"The SessionLogout action is not available since Openbox was built without " +-"session management support" +-msgstr "" ++#: openbox/actions/exit.c:67 ++msgid "Are you sure you want to log out?" ++msgstr "Czy na pewno chcesz się wylogować?" + +-#: openbox/actions/session.c:65 openbox/actions/session.c:70 ++#: openbox/actions/exit.c:68 + msgid "Log Out" +-msgstr "" ++msgstr "Wyloguj" + +-#: openbox/actions/session.c:69 +-msgid "Are you sure you want to log out?" +-msgstr "" ++#: openbox/actions/exit.c:71 ++msgid "Are you sure you want to exit Openbox?" ++msgstr "Czy na pewno chcesz opuścić Openboksa?" ++ ++#: openbox/actions/exit.c:72 ++msgid "Exit Openbox" ++msgstr "Opuść Openbox" + +-#: openbox/client.c:2012 ++#: openbox/client.c:2024 + msgid "Unnamed Window" +-msgstr "" ++msgstr "Okno bez nazwy" + +-#: openbox/client.c:2026 openbox/client.c:2058 ++#: openbox/client.c:2038 openbox/client.c:2070 + msgid "Killing..." +-msgstr "" ++msgstr "Kończenie..." + +-#: openbox/client.c:2028 openbox/client.c:2060 ++#: openbox/client.c:2040 openbox/client.c:2072 + msgid "Not Responding" +-msgstr "" ++msgstr "Nie odpowiada" + +-#: openbox/client.c:3454 ++#: openbox/client.c:3495 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to force it " + "to exit by sending the %s signal?" + msgstr "" ++"Okno \"%s\" nie odpowiada. Czy wymusić zakończenie poprzez wysłanie sygnału %" ++"s?" + +-#: openbox/client.c:3456 ++#: openbox/client.c:3497 + msgid "End Process" +-msgstr "" ++msgstr "Zakończ proces" + +-#: openbox/client.c:3460 ++#: openbox/client.c:3501 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to disconnect " + "it from the X server?" +-msgstr "" ++msgstr "Okno \"%s\" nie odpowiada. Odłączyć je od serwera X?" + +-#: openbox/client.c:3462 ++#: openbox/client.c:3503 + msgid "Disconnect" +-msgstr "" ++msgstr "Odłącz" + + #: openbox/client_list_combined_menu.c:87 openbox/client_list_menu.c:91 + msgid "Go there..." +@@ -190,7 +184,7 @@ msgstr "Wyświetl/ukryj _dekoracje" + msgid "_Close" + msgstr "Z_amknij" + +-#: openbox/config.c:781 ++#: openbox/config.c:798 + #, c-format + msgid "Invalid button \"%s\" specified in config file" + msgstr "Nieprawidłowy klawisz \"%s\" określony w pliku konfiguracyjnym" +@@ -219,7 +213,7 @@ msgstr "Nieprawidłowe wyjście z pipe-menu \"%s\"" + msgid "Attempted to access menu \"%s\" but it does not exist" + msgstr "Spróbowano uzyskać dostęp do menu \"%s\", ale ono nie istnieje" + +-#: openbox/menu.c:367 openbox/menu.c:368 ++#: openbox/menu.c:370 openbox/menu.c:371 + msgid "More..." + msgstr "Więcej..." + +@@ -254,48 +248,52 @@ msgstr "Serwer X nie obsługuje ustawień lokalnych." + msgid "Cannot set locale modifiers for the X server." + msgstr "Nie można ustawić modyfikatorów lokalnych dla serwera X." + +-#: openbox/openbox.c:263 ++#: openbox/openbox.c:265 + msgid "Unable to find a valid config file, using some simple defaults" + msgstr "" + "Nie można znaleźć prawidłowego pliku konfiguracyjnego, używanie " + "domyślnychwartości" + +-#: openbox/openbox.c:297 ++#: openbox/openbox.c:299 + msgid "Unable to load a theme." + msgstr "Nie można wczytać motywu." + +-#: openbox/openbox.c:377 ++#: openbox/openbox.c:379 + #, c-format + msgid "" + "One or more XML syntax errors were found while parsing the Openbox " + "configuration files. See stdout for more information. The last error seen " + "was in file \"%s\" line %d, with message: %s" + msgstr "" ++"Jeden lub więcej błędów składniowych XML zostało znalezionych podczas " ++"sprawdzania plików konfiguracyjnych. Zobacz stdout aby uzyskać więcej " ++"informacji. Ostatnio błąd znaleziono w pliku \"%s\" linia %d, z wiadomością: " ++"%s" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Openbox Syntax Error" +-msgstr "" ++msgstr "Błąd składniowy Openboksa" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Close" + msgstr "Zamknij" + +-#: openbox/openbox.c:448 ++#: openbox/openbox.c:463 + #, c-format + msgid "Restart failed to execute new executable \"%s\": %s" + msgstr "" + "Wykonanie nowego pliku wykonywalnego \"%s\" podczas ponownego " + "uruchomienianie powiodło się: %s" + +-#: openbox/openbox.c:518 openbox/openbox.c:520 ++#: openbox/openbox.c:533 openbox/openbox.c:535 + msgid "Copyright (c)" + msgstr "Copyright (c)" + +-#: openbox/openbox.c:529 ++#: openbox/openbox.c:544 + msgid "Syntax: openbox [options]\n" + msgstr "Składnia: openbox [opcje]\n" + +-#: openbox/openbox.c:530 ++#: openbox/openbox.c:545 + msgid "" + "\n" + "Options:\n" +@@ -303,30 +301,30 @@ msgstr "" + "\n" + "Opcje:\n" + +-#: openbox/openbox.c:531 ++#: openbox/openbox.c:546 + msgid " --help Display this help and exit\n" + msgstr " --help Wyświetla tę pomoc i kończy\n" + +-#: openbox/openbox.c:532 ++#: openbox/openbox.c:547 + msgid " --version Display the version and exit\n" + msgstr " --version Wyświetla wersję i kończy\n" + +-#: openbox/openbox.c:533 ++#: openbox/openbox.c:548 + msgid " --replace Replace the currently running window manager\n" + msgstr " --replace Zastępuje aktualnie działający menedżer okien\n" + + #. TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..." + #. aligned still, if you have to, make a new line with \n and 22 spaces. It's + #. fine to leave it as FILE though. +-#: openbox/openbox.c:537 ++#: openbox/openbox.c:552 + msgid " --config-file FILE Specify the path to the config file to use\n" +-msgstr "" ++msgstr " --config-file FILE Podaj ścieżkę do pliku konfiguracji\n" + +-#: openbox/openbox.c:538 ++#: openbox/openbox.c:553 + msgid " --sm-disable Disable connection to the session manager\n" + msgstr " --sm-disable Nie tworzy połączenia z menedżerem sesji\n" + +-#: openbox/openbox.c:539 ++#: openbox/openbox.c:554 + msgid "" + "\n" + "Passing messages to a running Openbox instance:\n" +@@ -334,19 +332,19 @@ msgstr "" + "\n" + "Przekazywanie komunikatów do działającej instancji Openboksa:\n" + +-#: openbox/openbox.c:540 ++#: openbox/openbox.c:555 + msgid " --reconfigure Reload Openbox's configuration\n" + msgstr " --reconfigure Ponownie wczytuje pliki konfiguracyjne\n" + +-#: openbox/openbox.c:541 ++#: openbox/openbox.c:556 + msgid " --restart Restart Openbox\n" + msgstr " --restart Ponownie uruchamia Openboksa\n" + +-#: openbox/openbox.c:542 ++#: openbox/openbox.c:557 + msgid " --exit Exit Openbox\n" +-msgstr "" ++msgstr " --exit Opuść Openbox\n" + +-#: openbox/openbox.c:543 ++#: openbox/openbox.c:558 + msgid "" + "\n" + "Debugging options:\n" +@@ -354,24 +352,24 @@ msgstr "" + "\n" + "Opcje debugowania:\n" + +-#: openbox/openbox.c:544 ++#: openbox/openbox.c:559 + msgid " --sync Run in synchronous mode\n" + msgstr " --sync Uruchamia w trybie synchronicznym\n" + +-#: openbox/openbox.c:545 ++#: openbox/openbox.c:560 + msgid " --debug Display debugging output\n" + msgstr " --debug Wyświetla informacje o debugowaniu\n" + +-#: openbox/openbox.c:546 ++#: openbox/openbox.c:561 + msgid " --debug-focus Display debugging output for focus handling\n" + msgstr "" + " --debug-focus Wyświetla wyjście debugowania obsługi aktywacji\n" + +-#: openbox/openbox.c:547 ++#: openbox/openbox.c:562 + msgid " --debug-xinerama Split the display into fake xinerama screens\n" + msgstr " --debug-xinerama Dzieli ekran na sztuczne ekrany xineramy\n" + +-#: openbox/openbox.c:548 ++#: openbox/openbox.c:563 + #, c-format + msgid "" + "\n" +@@ -380,26 +378,26 @@ msgstr "" + "\n" + "Proszę zgłaszać błędy (w języku angielskim) pod adresem %s\n" + +-#: openbox/openbox.c:617 ++#: openbox/openbox.c:645 + msgid "--config-file requires an argument\n" +-msgstr "" ++msgstr "--config-file wymaga argumentu\n" + +-#: openbox/openbox.c:660 ++#: openbox/openbox.c:688 + #, c-format + msgid "Invalid command line argument \"%s\"\n" + msgstr "Nieprawidłowy argument wiersza poleceń \"%s\"\n" + +-#: openbox/screen.c:102 openbox/screen.c:190 ++#: openbox/screen.c:103 openbox/screen.c:191 + #, c-format + msgid "A window manager is already running on screen %d" + msgstr "Menedżer okien jest już uruchomiony na ekranie %d" + +-#: openbox/screen.c:124 ++#: openbox/screen.c:125 + #, c-format + msgid "Could not acquire window manager selection on screen %d" + msgstr "Nie można uzyskać wyboru menedżera okien na ekranie %d" + +-#: openbox/screen.c:145 ++#: openbox/screen.c:146 + #, c-format + msgid "The WM on screen %d is not exiting" + msgstr "Menedżer okien na ekranie %d nie kończy działania" +@@ -408,7 +406,7 @@ msgstr "Menedżer okien na ekranie %d nie kończy działania" + #. arguments, you can use %1$d for the first one and %2$d for the + #. second one. For example, + #. "The current session has %2$d desktops, but Openbox is configured for %1$d ..." +-#: openbox/screen.c:412 ++#: openbox/screen.c:421 + #, c-format + msgid "" + "Openbox is configured for %d desktop, but the current session has %d. " +@@ -419,29 +417,29 @@ msgid_plural "" + msgstr[0] "" + msgstr[1] "" + +-#: openbox/screen.c:1180 ++#: openbox/screen.c:1203 + #, c-format + msgid "desktop %i" + msgstr "pulpit %i" + +-#: openbox/session.c:104 ++#: openbox/session.c:105 + #, c-format + msgid "Unable to make directory \"%s\": %s" + msgstr "Nie można utworzyć katalogu \"%s\": %s" + +-#: openbox/session.c:466 ++#: openbox/session.c:472 + #, c-format + msgid "Unable to save the session to \"%s\": %s" + msgstr "Nie można zapisać sesji do \"%s\": %s" + +-#: openbox/session.c:605 ++#: openbox/session.c:611 + #, c-format + msgid "Error while saving the session to \"%s\": %s" + msgstr "Wystąpił błąd podczas zapisywania sesji do \"%s\": %s" + +-#: openbox/session.c:842 ++#: openbox/session.c:848 + msgid "Not connected to a session manager" +-msgstr "" ++msgstr "Nie podłączono do menedżera sesji" + + #: openbox/startupnotify.c:243 + #, c-format +@@ -476,7 +474,14 @@ msgstr "Błąd X: %s" + + #: openbox/prompt.c:200 + msgid "OK" +-msgstr "" ++msgstr "OK" ++ ++#~ msgid "" ++#~ "The SessionLogout action is not available since Openbox was built without " ++#~ "session management support" ++#~ msgstr "" ++#~ "SessionLogout jest niedostępne, ponieważ Openbox został stworzony bez " ++#~ "wsparcia dla zarządzania sesją" + + #~ msgid "Failed to execute \"%s\": %s" + #~ msgstr "Wykonanie \"%s\" nie powiodło się: %s" +diff --git a/po/pt.po b/po/pt.po +index f962756..e7504e9 100644 +--- a/po/pt.po ++++ b/po/pt.po +@@ -1,30 +1,30 @@ + # Portuguese messages for openbox +-# Copyright (C) 2007 Mikael Magnusson ++# Copyright (C) 2010 Mikael Magnusson + # This file is distributed under the same license as the openbox package. +-# Gonalo Ferreira <gonsas@gmail.com>, 2006. +-# althaser <althaser@gmail.com>, 2008. ++# Gonçalo Ferreira <gonsas@gmail.com>, 2006. ++# Pedro Beja <althaser@gmail.com>, 2007 2008 2010. + # + msgid "" + msgstr "" +-"Project-Id-Version: Openbox 3.4.7\n" ++"Project-Id-Version: Openbox 3.4.11.2\n" + "Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n" +-"POT-Creation-Date: 2008-11-15 22:28+0100\n" +-"PO-Revision-Date: 2008-03-16 15:46+0100\n" +-"Last-Translator: althaser <althaser@gmail.com>\n" ++"POT-Creation-Date: 2010-05-14 15:50+0200\n" ++"PO-Revision-Date: 2010-05-14 15:51+0100\n" ++"Last-Translator: Pedro Beja <althaser@gmail.com>\n" + "Language-Team: None\n" + "MIME-Version: 1.0\n" +-"Content-Type: text/plain; charset=ISO-8859-1\n" ++"Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + + #: openbox/actions.c:149 + #, c-format + msgid "Invalid action \"%s\" requested. No such action exists." +-msgstr "Pedido de aco \"%s\" invlido. No existem quaisquer aces." ++msgstr "Pedido de acção \"%s\" inválido. Não existem quaisquer acções." + + #: openbox/actions/execute.c:128 + msgid "No" +-msgstr "No" ++msgstr "Não" + + #: openbox/actions/execute.c:129 + msgid "Yes" +@@ -39,76 +39,64 @@ msgstr "Executar" + msgid "Failed to convert the path \"%s\" from utf8" + msgstr "Falha a converter o caminho \"%s\" do utf8" + +-#: openbox/actions/exit.c:52 openbox/actions/session.c:64 +-#: openbox/client.c:3465 ++#: openbox/actions/exit.c:62 openbox/client.c:3506 + msgid "Cancel" + msgstr "Cancelar" + +-#: openbox/actions/exit.c:53 ++#: openbox/actions/exit.c:63 + msgid "Exit" + msgstr "Sair" + +-#: openbox/actions/exit.c:56 ++#: openbox/actions/exit.c:67 ++msgid "Are you sure you want to log out?" ++msgstr "Tem a certeza que pretende fazer log out?" ++ ++#: openbox/actions/exit.c:68 ++msgid "Log Out" ++msgstr "Log Out" ++ ++#: openbox/actions/exit.c:71 + msgid "Are you sure you want to exit Openbox?" + msgstr "Tem a certeza que pretende sair do Openbox?" + +-#: openbox/actions/exit.c:57 ++#: openbox/actions/exit.c:72 + msgid "Exit Openbox" + msgstr "Sair do Openbox" + +-#. TRANSLATORS: Don't translate the word "SessionLogout" as it's the +-#. name of the action you write in rc.xml +-#: openbox/actions/session.c:43 +-msgid "" +-"The SessionLogout action is not available since Openbox was built without " +-"session management support" +-msgstr "" +-"A aco SessoLogout no est disponvel visto que o Openbox foi construdo " +-"sem suporte a gesto de sesso" +- +-#: openbox/actions/session.c:65 openbox/actions/session.c:70 +-msgid "Log Out" +-msgstr "Log Out" +- +-#: openbox/actions/session.c:69 +-msgid "Are you sure you want to log out?" +-msgstr "Tem a certeza que pretende fazer log out?" +- +-#: openbox/client.c:2012 ++#: openbox/client.c:2024 + msgid "Unnamed Window" + msgstr "Janela sem nome" + +-#: openbox/client.c:2026 openbox/client.c:2058 ++#: openbox/client.c:2038 openbox/client.c:2070 + msgid "Killing..." + msgstr "Terminando..." + +-#: openbox/client.c:2028 openbox/client.c:2060 ++#: openbox/client.c:2040 openbox/client.c:2072 + msgid "Not Responding" +-msgstr "No est a responder" ++msgstr "Não está a responder" + +-#: openbox/client.c:3454 ++#: openbox/client.c:3495 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to force it " + "to exit by sending the %s signal?" + msgstr "" +-"A janela \"%s\" parece no estar a responder. Pretende for-la a sair " +-"enviando o sinal %s?" ++"A janela \"%s\" parece não estar a responder. Quer forçá-la a sair enviando " ++"o sinal %s?" + +-#: openbox/client.c:3456 ++#: openbox/client.c:3497 + msgid "End Process" + msgstr "Terminar Processo" + +-#: openbox/client.c:3460 ++#: openbox/client.c:3501 + #, c-format + msgid "" + "The window \"%s\" does not seem to be responding. Do you want to disconnect " + "it from the X server?" + msgstr "" +-"A janela \"%s\" parece no estar a responder. Pretende deslig-la do " +-"servidor X?" ++"A janela \"%s\" parece não estar a responder. Quer desligá-la do servidor X?" + +-#: openbox/client.c:3462 ++#: openbox/client.c:3503 + msgid "Disconnect" + msgstr "Desligar" + +@@ -118,15 +106,15 @@ msgstr "Ir para..." + + #: openbox/client_list_combined_menu.c:94 + msgid "Manage desktops" +-msgstr "Gerir reas de trabalho" ++msgstr "Gerir áreas de trabalho" + + #: openbox/client_list_combined_menu.c:95 openbox/client_list_menu.c:155 + msgid "_Add new desktop" +-msgstr "_Adicionar nova rea de trabalho" ++msgstr "_Adicionar nova área de trabalho" + + #: openbox/client_list_combined_menu.c:96 openbox/client_list_menu.c:156 + msgid "_Remove last desktop" +-msgstr "_Remover a ltima rea de trabalho" ++msgstr "_Remover última área de trabalho" + + #: openbox/client_list_combined_menu.c:149 + msgid "Windows" +@@ -134,11 +122,11 @@ msgstr "Janelas" + + #: openbox/client_list_menu.c:203 + msgid "Desktops" +-msgstr "reas de trabalho" ++msgstr "Áreas de trabalho" + + #: openbox/client_menu.c:258 + msgid "All desktops" +-msgstr "Todas as reas de trabalho" ++msgstr "Todas as áreas de trabalho" + + #: openbox/client_menu.c:370 + msgid "_Layer" +@@ -158,11 +146,11 @@ msgstr "Sempre no _fundo" + + #: openbox/client_menu.c:379 + msgid "_Send to desktop" +-msgstr "Enviar para rea de _trabalho" ++msgstr "Enviar para área de _trabalho" + + #: openbox/client_menu.c:383 + msgid "Client menu" +-msgstr "Menu do cliente" ++msgstr "Menu cliente" + + #: openbox/client_menu.c:393 + msgid "R_estore" +@@ -196,57 +184,57 @@ msgstr "Des/_Decorar" + msgid "_Close" + msgstr "_Fechar" + +-#: openbox/config.c:781 ++#: openbox/config.c:798 + #, c-format + msgid "Invalid button \"%s\" specified in config file" +-msgstr "Boto invlido \"%s\" especificado no ficheiro de configurao" ++msgstr "Botão inválido \"%s\" especificado no ficheiro de configuração" + + #: openbox/keyboard.c:157 + msgid "Conflict with key binding in config file" +-msgstr "Conflito com tecla de atalho no ficheiro de configurao" ++msgstr "Conflito com tecla de atalho no ficheiro de configuração" + + #: openbox/menu.c:102 openbox/menu.c:110 + #, c-format + msgid "Unable to find a valid menu file \"%s\"" +-msgstr "Incapaz de encontrar um ficheiro de menu \"%s\" vlido" ++msgstr "Incapaz de encontrar um ficheiro de menu válido \"%s\"" + + #: openbox/menu.c:170 + #, c-format + msgid "Failed to execute command for pipe-menu \"%s\": %s" +-msgstr "Falha no comando de execuo para o menu de processamento \"%s\": %s" ++msgstr "Falha a executar comando para o menu de processamento \"%s\": %s" + + #: openbox/menu.c:184 + #, c-format + msgid "Invalid output from pipe-menu \"%s\"" +-msgstr "Resultado invlido do menu de processamento \"%s\"" ++msgstr "Resultado inválido do menu de processamento \"%s\"" + + #: openbox/menu.c:197 + #, c-format + msgid "Attempted to access menu \"%s\" but it does not exist" +-msgstr "Tentou aceder ao menu \"%s\" mas ele no existe" ++msgstr "Tentou aceder ao menu \"%s\" mas ele não existe" + +-#: openbox/menu.c:367 openbox/menu.c:368 ++#: openbox/menu.c:370 openbox/menu.c:371 + msgid "More..." + msgstr "Mais..." + + #: openbox/mouse.c:373 + #, c-format + msgid "Invalid button \"%s\" in mouse binding" +-msgstr "Boto invlido \"%s\" no atalho do rato" ++msgstr "Botão inválido \"%s\" no atalho do rato" + + #: openbox/mouse.c:379 + #, c-format + msgid "Invalid context \"%s\" in mouse binding" +-msgstr "Contexto invlido \"%s\" no atalho do rato" ++msgstr "Contexto inválido \"%s\" no atalho do rato" + + #: openbox/openbox.c:133 + #, c-format + msgid "Unable to change to home directory \"%s\": %s" +-msgstr "Incapaz de mudar para o directrio home \"%s\": %s" ++msgstr "Incapaz de mudar para o directório home \"%s\": %s" + + #: openbox/openbox.c:152 + msgid "Failed to open the display from the DISPLAY environment variable." +-msgstr "Falha ao abrir o ecr da varivel de ambiente DISPLAY." ++msgstr "Falha ao abrir o ecrã da variável de ambiente DISPLAY." + + #: openbox/openbox.c:183 + msgid "Failed to initialize the obrender library." +@@ -254,23 +242,23 @@ msgstr "Falha ao inicializar a biblioteca obrender" + + #: openbox/openbox.c:194 + msgid "X server does not support locale." +-msgstr "O servidor X no suporta o locale." ++msgstr "O servidor X não suporta o locale." + + #: openbox/openbox.c:196 + msgid "Cannot set locale modifiers for the X server." +-msgstr "No pode definir locales modificados para o servidor X." ++msgstr "Não é possível configurar modificadores de locale para o servidor X." + +-#: openbox/openbox.c:263 ++#: openbox/openbox.c:265 + msgid "Unable to find a valid config file, using some simple defaults" + msgstr "" +-"Incapaz de encontrar um ficheiro de configurao vlido, usando algumas " +-"configuraes simples de omisso" ++"Incapaz de encontrar um ficheiro de configuração válido, usando alguns " ++"valores simples de omissão" + +-#: openbox/openbox.c:297 ++#: openbox/openbox.c:299 + msgid "Unable to load a theme." + msgstr "Incapaz de carregar o tema." + +-#: openbox/openbox.c:377 ++#: openbox/openbox.c:379 + #, c-format + msgid "" + "One or more XML syntax errors were found while parsing the Openbox " +@@ -278,111 +266,111 @@ msgid "" + "was in file \"%s\" line %d, with message: %s" + msgstr "" + "Um ou mais erros de sintaxe do XML foram encontrados enquanto analizava os " +-"ficheiros de configurao do Openbox. Veja o stdout para mais informaes. " +-"O ltimo erro visto foi no ficheiro \"%s\" linha %d, com a mensagem: %s" ++"ficheiros de configuração do Openbox. Veja o stdout para mais informações. " ++"O último erro visto foi no ficheiro \"%s\" linha %d, com a mensagem: %s" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Openbox Syntax Error" + msgstr "Erro de Sintaxe do Openbox" + +-#: openbox/openbox.c:379 ++#: openbox/openbox.c:381 + msgid "Close" + msgstr "Fechar" + +-#: openbox/openbox.c:448 ++#: openbox/openbox.c:463 + #, c-format + msgid "Restart failed to execute new executable \"%s\": %s" +-msgstr "Falha a reiniciar a execuo de um novo executvel \"%s\": %s" ++msgstr "Falha a reiniciar a execução de um novo executável \"%s\": %s" + +-#: openbox/openbox.c:518 openbox/openbox.c:520 ++#: openbox/openbox.c:533 openbox/openbox.c:535 + msgid "Copyright (c)" + msgstr "Direitos de autor (c)" + +-#: openbox/openbox.c:529 ++#: openbox/openbox.c:544 + msgid "Syntax: openbox [options]\n" +-msgstr "Sintaxe: openbox [opes]\n" ++msgstr "Sintaxe: openbox [opções]\n" + +-#: openbox/openbox.c:530 ++#: openbox/openbox.c:545 + msgid "" + "\n" + "Options:\n" + msgstr "" + "\n" +-"Opes:\n" ++"Opções:\n" + +-#: openbox/openbox.c:531 ++#: openbox/openbox.c:546 + msgid " --help Display this help and exit\n" + msgstr " --help Mostra esta ajuda e sai\n" + +-#: openbox/openbox.c:532 ++#: openbox/openbox.c:547 + msgid " --version Display the version and exit\n" +-msgstr " --version Mostra a verso e sai\n" ++msgstr " --version Mostra a versão e sai\n" + +-#: openbox/openbox.c:533 ++#: openbox/openbox.c:548 + msgid " --replace Replace the currently running window manager\n" + msgstr " --replace Substitui o corrente gestor de janelas\n" + + #. TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..." + #. aligned still, if you have to, make a new line with \n and 22 spaces. It's + #. fine to leave it as FILE though. +-#: openbox/openbox.c:537 ++#: openbox/openbox.c:552 + msgid " --config-file FILE Specify the path to the config file to use\n" + msgstr "" +-" --config-file FICHEIRO\n" +-" Especifica o caminho do ficheiro de configurao para " ++" --config-file ficheiro\n" ++" Especifica o caminho do ficheiro de configuração a " + "usar\n" + +-#: openbox/openbox.c:538 ++#: openbox/openbox.c:553 + msgid " --sm-disable Disable connection to the session manager\n" +-msgstr " --sm-disable Desactiva a ligao com o gestor de sesses\n" ++msgstr " --sm-disable Desactiva a ligação com o gestor de sessões\n" + +-#: openbox/openbox.c:539 ++#: openbox/openbox.c:554 + msgid "" + "\n" + "Passing messages to a running Openbox instance:\n" + msgstr "" + "\n" +-"Passando mensagens para uma solicitao do Openbox em execuo\n" ++"Passando mensagens para uma instância do Openbox em execução:\n" + +-#: openbox/openbox.c:540 ++#: openbox/openbox.c:555 + msgid " --reconfigure Reload Openbox's configuration\n" +-msgstr " --reconfigure Recarrega a configurao do Openbox\n" ++msgstr " --reconfigure Recarrega a configuração do Openbox\n" + +-#: openbox/openbox.c:541 ++#: openbox/openbox.c:556 + msgid " --restart Restart Openbox\n" + msgstr " --restart Reinicia o Openbox\n" + +-#: openbox/openbox.c:542 ++#: openbox/openbox.c:557 + msgid " --exit Exit Openbox\n" + msgstr " --sair Sai do Openbox\n" + +-#: openbox/openbox.c:543 ++#: openbox/openbox.c:558 + msgid "" + "\n" + "Debugging options:\n" + msgstr "" + "\n" +-"Opes de depurao:\n" ++"Opções de depuração:\n" + +-#: openbox/openbox.c:544 ++#: openbox/openbox.c:559 + msgid " --sync Run in synchronous mode\n" + msgstr " --sync Executa em modo sincronizado\n" + +-#: openbox/openbox.c:545 ++#: openbox/openbox.c:560 + msgid " --debug Display debugging output\n" +-msgstr " --debug Mostra o resultado da depurao\n" ++msgstr " --debug Mostra o resultado da depuração\n" + +-#: openbox/openbox.c:546 ++#: openbox/openbox.c:561 + msgid " --debug-focus Display debugging output for focus handling\n" + msgstr "" +-" --debug-focus Mostra o resultado da depurao para manipulao em " ++" --debug-focus Mostra o resultado de depuração para manipulação de " + "foco\n" + +-#: openbox/openbox.c:547 ++#: openbox/openbox.c:562 + msgid " --debug-xinerama Split the display into fake xinerama screens\n" +-msgstr " --debug-xinerama Divide o ecr em falsos ecrs xinerama\n" ++msgstr " --debug-xinerama Divide o ecrã em falsos ecrãs xinerama\n" + +-#: openbox/openbox.c:548 ++#: openbox/openbox.c:563 + #, c-format + msgid "" + "\n" +@@ -391,35 +379,35 @@ msgstr "" + "\n" + "Por favor reporte os erros em %s\n" + +-#: openbox/openbox.c:617 ++#: openbox/openbox.c:645 + msgid "--config-file requires an argument\n" + msgstr "--config-file requer um argumento\n" + +-#: openbox/openbox.c:660 ++#: openbox/openbox.c:688 + #, c-format + msgid "Invalid command line argument \"%s\"\n" +-msgstr "Argumento invlido na linha de comandos \"%s\"\n" ++msgstr "Argumento inválido na linha de comandos \"%s\"\n" + +-#: openbox/screen.c:102 openbox/screen.c:190 ++#: openbox/screen.c:103 openbox/screen.c:191 + #, c-format + msgid "A window manager is already running on screen %d" +-msgstr "Um gestor de janelas j est em execuo no ecr %d" ++msgstr "Um gestor de janelas já está em execução no ecrã %d" + +-#: openbox/screen.c:124 ++#: openbox/screen.c:125 + #, c-format + msgid "Could not acquire window manager selection on screen %d" +-msgstr "No consegui adequirir o gestor de janelas selecionado no ecr %d" ++msgstr "Não consegui adequirir o gestor de janelas selecionado no ecrã %d" + +-#: openbox/screen.c:145 ++#: openbox/screen.c:146 + #, c-format + msgid "The WM on screen %d is not exiting" +-msgstr "O gestor de janelas no ecr %d no est a fechar" ++msgstr "O gestor de janelas no ecrã %d não está a fechar" + + #. TRANSLATORS: If you need to specify a different order of the + #. arguments, you can use %1$d for the first one and %2$d for the + #. second one. For example, + #. "The current session has %2$d desktops, but Openbox is configured for %1$d ..." +-#: openbox/screen.c:412 ++#: openbox/screen.c:421 + #, c-format + msgid "" + "Openbox is configured for %d desktop, but the current session has %d. " +@@ -428,35 +416,35 @@ msgid_plural "" + "Openbox is configured for %d desktops, but the current session has %d. " + "Overriding the Openbox configuration." + msgstr[0] "" +-"O Openbox est configurado para %d rea de trabalho, mas a sesso corrente " +-"tem %d. Sobrescrevendo a configurao do Openbox." ++"O Openbox está configurado para %d área de trabalho, mas a sessão corrente " ++"tem %d. Sobrescrevendo a configuração do Openbox." + msgstr[1] "" +-"O Openbox est configurado para %d reas de trabalho, mas a sesso corrente " +-"tem %d. Sobrescrevendo a configurao do Openbox." ++"O Openbox está configurado para %d áreas de trabalho, mas a sessão corrente " ++"tem %d. Sobrescrevendo a configuração do Openbox." + +-#: openbox/screen.c:1180 ++#: openbox/screen.c:1203 + #, c-format + msgid "desktop %i" +-msgstr "rea de trabalho %i" ++msgstr "área de trabalho %i" + +-#: openbox/session.c:104 ++#: openbox/session.c:105 + #, c-format + msgid "Unable to make directory \"%s\": %s" +-msgstr "Incapaz de criar o directrio \"%s\": %s " ++msgstr "Incapaz de criar o directório \"%s\": %s" + +-#: openbox/session.c:466 ++#: openbox/session.c:472 + #, c-format + msgid "Unable to save the session to \"%s\": %s" +-msgstr "Incapaz de guardar a sesso em \"%s\": %s" ++msgstr "Incapaz de guardar a sessão em \"%s\": %s" + +-#: openbox/session.c:605 ++#: openbox/session.c:611 + #, c-format + msgid "Error while saving the session to \"%s\": %s" +-msgstr "Erro enquanto guardava a sesso em \"%s\": %s" ++msgstr "Erro enquanto guardo a sessão em \"%s\": %s" + +-#: openbox/session.c:842 ++#: openbox/session.c:848 + msgid "Not connected to a session manager" +-msgstr "Desligado do gestor de sesso" ++msgstr "Não está ligado a um gestor de sessões" + + #: openbox/startupnotify.c:243 + #, c-format +@@ -466,22 +454,22 @@ msgstr "Executando %s" + #: openbox/translate.c:59 + #, c-format + msgid "Invalid modifier key \"%s\" in key/mouse binding" +-msgstr "Chave modificadora \"%s\" invlida no atalho de tecla/rato" ++msgstr "Chave modificadora inválida \"%s\" no atalho de tecla/rato" + + #: openbox/translate.c:138 + #, c-format + msgid "Invalid key code \"%s\" in key binding" +-msgstr "Cdigo chave \"%s\" invlido na tecla de atalho" ++msgstr "Código chave inválido \"%s\" na tecla de atalho" + + #: openbox/translate.c:145 + #, c-format + msgid "Invalid key name \"%s\" in key binding" +-msgstr "Nome de chave \"%s\" invlido na tecla de atalho" ++msgstr "Nome de chave inválido \"%s\" na tecla de atalho" + + #: openbox/translate.c:151 + #, c-format + msgid "Requested key \"%s\" does not exist on the display" +-msgstr "Chave requerida \"%s\" no existe no ecr" ++msgstr "Chave requerida \"%s\" não existe no ecrã" + + #: openbox/xerror.c:40 + #, c-format +@@ -492,8 +480,15 @@ msgstr "Erro no X: %s" + msgid "OK" + msgstr "OK" + ++#~ msgid "" ++#~ "The SessionLogout action is not available since Openbox was built without " ++#~ "session management support" ++#~ msgstr "" ++#~ "A acção SessionLogout não está disponível visto que o Openbox foi " ++#~ "construído sem suporte à gestão de sessões" ++ + #~ msgid "Failed to execute \"%s\": %s" + #~ msgstr "Falha a executar \"%s\": %s" + + #~ msgid "Invalid use of action \"%s\". Action will be ignored." +-#~ msgstr "Uso invlido da aco \"%s\". A aco ser ignorada." ++#~ msgstr "Uso inválido da acção \"%s\". A acção será ignorada." +diff --git a/themes/Clearlooks/openbox-3/themerc b/themes/Clearlooks/openbox-3/themerc +index 1dde5fb..4663999 100644 +--- a/themes/Clearlooks/openbox-3/themerc ++++ b/themes/Clearlooks/openbox-3/themerc +@@ -1,12 +1,12 @@ + !# Clearlooks-Evolving +-!# Clearlooks as it evolves in gnome-svn... +-!# Last updated 19/01/08 ++!# Clearlooks as it evolves in gnome-git... ++!# Last updated 09/03/10 + + # Fonts + # these are really halos, but who cares? + + *.font: shadow=n +-window.active.label.text.font:shadow=y:shadowtint=25:shadowoffset=1 ++window.active.label.text.font:shadow=y:shadowtint=30:shadowoffset=1 + window.inactive.label.text.font:shadow=y:shadowtint=00:shadowoffset=0 + menu.items.font:shadow=y:shadowtint=0:shadowoffset=1 + +@@ -25,11 +25,11 @@ menu.overlap: 2 + *.bg.highlight: 50 + *.bg.shadow: 05 + +-window.active.title.bg.highlight: 40 +-window.active.title.bg.shadow: 00 ++window.active.title.bg.highlight: 35 ++window.active.title.bg.shadow: 05 + + window.inactive.title.bg.highlight: 30 +-window.inactive.title.bg.shadow: 00 ++window.inactive.title.bg.shadow: 05 + + window.*.grip.bg.highlight: 50 + window.*.grip.bg.shadow: 30 +@@ -61,6 +61,11 @@ menu.items.active.bg.colorTo.splitTo: #80a7d6 + menu.items.active.bg.border.color: #4b6e99 + menu.items.active.text.color: #ffffff + ++menu.separator.width: 1 ++menu.separator.padding.width: 0 ++menu.separator.padding.height: 3 ++menu.separator.color: #aaaaaa ++ + !# set handles here and only the once? + + window.*.handle.bg: Raised solid +@@ -71,9 +76,6 @@ window.*.grip.bg.color: #eaebec + + !# Active + +-!# no handles - kind of closer to the clearlooks border, maybe? +-!#window.active.border.color: #455d7c +- + window.*.border.color: #585a5d + + window.active.title.separator.color: #4e76a8 +@@ -135,7 +137,7 @@ window.inactive.button.*.image.color: #6D6C6C + !# osd (pop ups and what not, dock?) + + osd.border.width: 1 +-osd.border.color: #999 ++osd.border.color: #aaaaaa + + osd.bg: flat border gradient splitvertical + osd.bg.color: #F0EFEE |