## openbox ##
openbox_openbox_CPPFLAGS = \
+ $(SM_CFLAGS) \
+ $(XINERAMA_CFLAGS) \
+ $(XKB_CFLAGS) \
+ $(XRANDR_CFLAGS) \
+ $(XSHAPE_CFLAGS) \
+ $(XSYNC_CFLAGS) \
$(X_CFLAGS) \
$(XCURSOR_CFLAGS) \
$(SM_CFLAGS) \
$(XKB_LIBS) \
$(XRANDR_LIBS) \
$(XSHAPE_LIBS) \
+ $(XSYNC_LIBS) \
$(GLIB_LIBS) \
$(X_LIBS) \
$(XCURSOR_LIBS) \
data/openbox.desktop
dist_noinst_DATA = \
- tools/themeupdate/themeupdate.py \
version.h.in \
data/rc.xml.in \
data/menu.xml.in \
render/obrender-3.0.pc.in \
- parser/obparser-3.0.pc.in
+ parser/obparser-3.0.pc.in \
+ tools/themeupdate/themeupdate.py \
+ tests/hideshow.py \
+ tests/Makefile \
+ tests/aspect.c \
+ tests/fullscreen.c \
+ tests/grav.c \
+ tests/grouptran.c \
+ tests/icons.c \
+ tests/modal2.c \
+ tests/modal3.c \
+ tests/modal.c \
+ tests/noresize.c \
+ tests/override.c \
+ tests/positioned.c \
+ tests/strut.c \
+ tests/title.c \
+ tests/urgent.c
EXTRA_DIST = \
config.rpath \
Openbox
Copyright (C) 2004-2005 Mikael Magnusson
-Copyright (C) 2002-2004 Ben Jansens
+Copyright (C) 2002-2007 Dana Jansens
----
/bin/sh -c "set -x; $*"
}
-export WANT_AUTOMAKE=1.7
+export WANT_AUTOMAKE=1.9
-sh autopoint --force # for GNU gettext
-sh libtoolize --copy --force --automake
-sh aclocal -I m4 $ACLOCAL_FLAGS
-#sh autoheader
-sh autoconf
-sh automake --include-deps --add-missing --copy
+sh autopoint --force || exit 1 # for GNU gettext
+sh libtoolize --copy --force --automake || exit 1
+sh aclocal -I m4 $ACLOCAL_FLAGS || exit 1
+#sh autoheader || exit 1
+sh autoconf || exit 1
+sh automake --include-deps --add-missing --copy || exit 1
echo
echo You are now ready to run ./configure
AC_PROG_INSTALL
-AM_GNU_GETTEXT_VERSION(0.12.1)
+AM_GNU_GETTEXT_VERSION(0.16.1)
AM_GNU_GETTEXT([external])
AC_CHECK_HEADERS(ctype.h fcntl.h locale.h signal.h string.h stdio.h stdlib.h)
X11_EXT_XRANDR
X11_EXT_SHAPE
X11_EXT_XINERAMA
+X11_EXT_SYNC
AC_CONFIG_FILES([
Makefile
X-GNOME-WMName=Openbox
# our config tool
-ConfigExec=obconf
+ConfigExec=obconf2
<keybind key="A-S-Tab">
<action name="PreviousWindow"/>
</keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow"><panels>yes</panels></action>
+ </keybind>
+ <keybind key="C-A-S-Tab">
+ <action name="PreviousWindow"><panels>yes</panels></action>
+ </keybind>
<keybind key="A-F7">
<action name="Move"/>
</keybind>
<xs:element minOccurs="0" name="wrap" type="ob:bool"/>
<xs:element minOccurs="0" name="follow" type="ob:bool"/>
<xs:element minOccurs="0" name="dialog" type="ob:bool"/>
+ <xs:element minOccurs="0" name="panels" type="ob:bool"/>
<xs:element minOccurs="0" name="here" type="ob:bool"/>
<xs:element minOccurs="0" name="linear" type="ob:bool"/>
<xs:element minOccurs="0" name="group" type="ob:bool"/>
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
gettext.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
fi
])
+# X11_EXT_SYNC()
+#
+# Check for the presence of the "Sync" X Window System extension.
+# Defines "SYNC", sets the $(SYNC) variable to "yes", and sets the $(LIBS)
+# appropriately if the extension is present.
+AC_DEFUN([X11_EXT_SYNC],
+[
+ AC_REQUIRE([X11_DEVEL])
+
+ # Store these
+ OLDLIBS=$LIBS
+ OLDCPPFLAGS=$CPPFLAGS
+
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ LIBS="$LIBS $X_LIBS"
+
+ AC_CHECK_LIB([Xext], [XSyncInitialize],
+ AC_MSG_CHECKING([for X11/extensions/sync.h])
+ AC_TRY_LINK(
+ [
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/extensions/sync.h>
+ ],
+ [
+ XSyncValueType foo;
+ ],
+ [
+ AC_MSG_RESULT([yes])
+ SYNC="yes"
+ AC_DEFINE([SYNC], [1], [Found the XSync extension])
+
+ XSYNC_CFLAGS=""
+ XSYNC_LIBS="-lXext"
+ AC_SUBST(XSYNC_CFLAGS)
+ AC_SUBST(XSYNC_LIBS)
+ ],
+ [
+ AC_MSG_RESULT([no])
+ SYNC="no"
+ ])
+ )
+
+ LIBS=$OLDLIBS
+ CPPFLAGS=$OLDCPPFLAGS
+
+ AC_MSG_CHECKING([for the Sync extension])
+ if test "$SYNC" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
# X11_SM()
#
# Check for the presence of SMlib for session management.
action.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "config.h"
#include "mainloop.h"
#include "startupnotify.h"
+#include "gettext.h"
#include <glib.h>
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_NORTH;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_east(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_EAST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_south(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_SOUTH;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_west(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_WEST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_northeast(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_NORTHEAST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_southeast(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_SOUTHEAST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_southwest(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_SOUTHWEST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_directional_focus_northwest(ObAction **a, ObUserAction uact)
(*a)->data.interdiraction.inter.any.interactive = TRUE;
(*a)->data.interdiraction.direction = OB_DIRECTION_NORTHWEST;
(*a)->data.interdiraction.dialog = TRUE;
+ (*a)->data.interdiraction.dock_windows = FALSE;
}
void setup_action_send_to_desktop(ObAction **a, ObUserAction uact)
(*a)->data.cycle.linear = FALSE;
(*a)->data.cycle.forward = TRUE;
(*a)->data.cycle.dialog = TRUE;
+ (*a)->data.cycle.dock_windows = FALSE;
}
void setup_action_cycle_windows_previous(ObAction **a, ObUserAction uact)
(*a)->data.cycle.linear = FALSE;
(*a)->data.cycle.forward = FALSE;
(*a)->data.cycle.dialog = TRUE;
+ (*a)->data.cycle.dock_windows = FALSE;
}
void setup_action_movefromedge_north(ObAction **a, ObUserAction uact)
break;
}
if (!exist)
- g_warning("Invalid action '%s' requested. No such action exists.",
+ g_message(_("Invalid action '%s' requested. No such action exists."),
name);
if (!a)
- g_warning("Invalid use of action '%s'. Action will be ignored.", name);
+ g_message(_("Invalid use of action '%s'. Action will be ignored."),
+ name);
return a;
}
act->data.cycle.linear = parse_bool(doc, n);
if ((n = parse_find_node("dialog", node->xmlChildrenNode)))
act->data.cycle.dialog = parse_bool(doc, n);
+ if ((n = parse_find_node("panels", node->xmlChildrenNode)))
+ act->data.cycle.dock_windows = parse_bool(doc, n);
} else if (act->func == action_directional_focus) {
if ((n = parse_find_node("dialog", node->xmlChildrenNode)))
- act->data.cycle.dialog = parse_bool(doc, n);
+ act->data.interdiraction.dialog = parse_bool(doc, n);
+ if ((n = parse_find_node("panels", node->xmlChildrenNode)))
+ act->data.interdiraction.dock_windows = parse_bool(doc, n);
} else if (act->func == action_raise ||
act->func == action_lower ||
act->func == action_raiselower ||
cmd = g_filename_from_utf8(data->execute.path, -1, NULL, NULL, NULL);
if (cmd) {
if (!g_shell_parse_argv (cmd, NULL, &argv, &e)) {
- g_warning("failed to execute '%s': %s",
+ g_message(_("Failed to execute '%s': %s"),
cmd, e->message);
g_error_free(e);
} else if (data->execute.startupnotify) {
if (!g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH |
G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL, NULL, &e)) {
- g_warning("failed to execute '%s': %s",
+ g_message(_("Failed to execute '%s': %s"),
cmd, e->message);
g_error_free(e);
sn_spawn_cancel();
G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL, NULL, &e))
{
- g_warning("failed to execute '%s': %s",
+ g_message(_("Failed to execute '%s': %s"),
cmd, e->message);
g_error_free(e);
}
}
g_free(cmd);
} else {
- g_warning("failed to convert '%s' from utf8", data->execute.path);
+ g_message(_("Failed to convert the path '%s' from utf8"),
+ data->execute.path);
}
}
}
on us */
event_halt_focus_delay();
- focus_cycle(data->cycle.forward, data->cycle.linear, data->any.interactive,
+ focus_cycle(data->cycle.forward,
+ data->cycle.dock_windows,
+ data->cycle.linear, data->any.interactive,
data->cycle.dialog,
data->cycle.inter.final, data->cycle.inter.cancel);
}
event_halt_focus_delay();
focus_directional_cycle(data->interdiraction.direction,
+ data->interdiraction.dock_windows,
data->any.interactive,
data->interdiraction.dialog,
data->interdiraction.inter.final,
action.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
struct InteractiveAction inter;
ObDirection direction;
gboolean dialog;
+ gboolean dock_windows;
};
struct DirectionalAction{
gboolean linear;
gboolean forward;
gboolean dialog;
+ gboolean dock_windows;
};
struct Stacking {
#include <X11/Xutil.h>
/*! The event mask to grab on client windows */
-#define CLIENT_EVENTMASK (PropertyChangeMask | StructureNotifyMask)
+#define CLIENT_EVENTMASK (PropertyChangeMask | StructureNotifyMask | \
+ ColormapChangeMask)
#define CLIENT_NOPROPAGATEMASK (ButtonPressMask | ButtonReleaseMask | \
ButtonMotionMask)
static void client_get_mwm_hints(ObClient *self);
static void client_get_gravity(ObClient *self);
static void client_get_client_machine(ObClient *self);
+static void client_get_colormap(ObClient *self);
static void client_change_allowed_actions(ObClient *self);
static void client_change_state(ObClient *self);
static void client_change_wm_state(ObClient *self);
XSelectInput(ob_display, self->window, NoEventMask);
frame_hide(self->frame);
- /* sync to send the hide to the server quickly, and to get back the enter
- events */
- XSync(ob_display, FALSE);
+ /* flush to send the hide to the server quickly */
+ XFlush(ob_display);
if (focus_client == self) {
/* ignore enter events from the unmap so it doesnt mess with the focus
event_ignore_queued_enters();
}
-
keyboard_grab_for_client(self, FALSE);
mouse_grab_for_client(self, FALSE);
/* update the focus lists */
focus_order_remove(self);
+ /* don't leave an invalid focus_client */
+ if (self == focus_client)
+ focus_client = NULL;
client_list = g_list_remove(client_list, self);
stacking_remove(self);
(min/max sizes), so we're ready to set up the decorations/functions */
client_setup_decor_and_functions(self);
+#ifdef SYNC
+ client_update_sync_request_counter(self);
+#endif
client_get_client_machine(self);
+ client_get_colormap(self);
client_update_title(self);
client_update_class(self);
client_update_sm_client_id(self);
if (PROP_GETA32(self->window, wm_protocols, atom, &proto, &num_return)) {
for (i = 0; i < num_return; ++i) {
- if (proto[i] == prop_atoms.wm_delete_window) {
+ if (proto[i] == prop_atoms.wm_delete_window)
/* this means we can request the window to close */
self->delete_window = TRUE;
- } else if (proto[i] == prop_atoms.wm_take_focus)
+ else if (proto[i] == prop_atoms.wm_take_focus)
/* if this protocol is requested, then the window will be
notified whenever we want it to receive focus */
self->focus_notify = TRUE;
+#ifdef SYNC
+ else if (proto[i] == prop_atoms.net_wm_sync_request)
+ /* if this protocol is requested, then the resizing the
+ window will be synchronized between the frame and the
+ client */
+ self->sync_request = TRUE;
+#endif
}
g_free(proto);
}
}
+#ifdef SYNC
+void client_update_sync_request_counter(ObClient *self)
+{
+ guint32 i;
+
+ if (PROP_GET32(self->window, net_wm_sync_request_counter, cardinal, &i)) {
+ self->sync_counter = i;
+ } else
+ self->sync_counter = None;
+}
+#endif
+
static void client_get_gravity(ObClient *self)
{
XWindowAttributes wattrib;
self->gravity = wattrib.win_gravity;
}
+void client_get_colormap(ObClient *self)
+{
+ XWindowAttributes wa;
+
+ if (XGetWindowAttributes(ob_display, self->window, &wa))
+ client_update_colormap(self, wa.colormap);
+}
+
+void client_update_colormap(ObClient *self, Colormap colormap)
+{
+ self->colormap = colormap;
+}
+
void client_update_normal_hints(ObClient *self)
{
XSizeHints size;
(resized && config_resize_redraw))));
/* if the client is enlarging, then resize the client before the frame */
- if (send_resize_client && user && (w > oldw || h > oldh))
+ if (send_resize_client && user && (w > oldw || h > oldh)) {
XResizeWindow(ob_display, self->window, MAX(w, oldw), MAX(h, oldh));
+ frame_adjust_client_area(self->frame);
+ }
/* find the frame's dimensions and move/resize it */
if (self->decorations != fdecor || self->max_horz != fhorz)
}
/* if the client is shrinking, then resize the frame before the client */
- if (send_resize_client && (!user || (w <= oldw || h <= oldh)))
+ if (send_resize_client && (!user || (w <= oldw || h <= oldh))) {
+ frame_adjust_client_area(self->frame);
XResizeWindow(ob_display, self->window, w, h);
+ }
XFlush(ob_display);
}
to activate it or not (a parent or group member is currently
active)?
*/
- ob_debug("Want to activate window 0x%x with time %u (last time %u), "
- "source=%s\n",
- self->window, event_curtime, last_time,
- (user ? "user" : "application"));
+ ob_debug_type(OB_DEBUG_FOCUS,
+ "Want to activate window 0x%x with time %u (last time %u), "
+ "source=%s\n",
+ self->window, event_curtime, last_time,
+ (user ? "user" : "application"));
if (!user && event_curtime && last_time &&
!event_time_after(event_curtime, last_time))
return ret;
}
-/* this be mostly ripped from fvwm */
-ObClient *client_find_directional(ObClient *c, ObDirection dir)
-{
- gint my_cx, my_cy, his_cx, his_cy;
- gint offset = 0;
- gint distance = 0;
- gint score, best_score;
- ObClient *best_client, *cur;
- GList *it;
-
- if(!client_list)
- return NULL;
-
- /* first, find the centre coords of the currently focused window */
- my_cx = c->frame->area.x + c->frame->area.width / 2;
- my_cy = c->frame->area.y + c->frame->area.height / 2;
-
- best_score = -1;
- best_client = NULL;
-
- for(it = g_list_first(client_list); it; it = g_list_next(it)) {
- cur = it->data;
-
- /* the currently selected window isn't interesting */
- if(cur == c)
- continue;
- if (!client_normal(cur))
- continue;
- /* using c->desktop instead of screen_desktop doesn't work if the
- * current window was omnipresent, hope this doesn't have any other
- * side effects */
- if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
- continue;
- if(cur->iconic)
- continue;
- if(!(client_focus_target(cur) == cur &&
- client_can_focus(cur)))
- continue;
-
- /* find the centre coords of this window, from the
- * currently focused window's point of view */
- his_cx = (cur->frame->area.x - my_cx)
- + cur->frame->area.width / 2;
- his_cy = (cur->frame->area.y - my_cy)
- + cur->frame->area.height / 2;
-
- if(dir == OB_DIRECTION_NORTHEAST || dir == OB_DIRECTION_SOUTHEAST ||
- dir == OB_DIRECTION_SOUTHWEST || dir == OB_DIRECTION_NORTHWEST) {
- gint tx;
- /* Rotate the diagonals 45 degrees counterclockwise.
- * To do this, multiply the matrix /+h +h\ with the
- * vector (x y). \-h +h/
- * h = sqrt(0.5). We can set h := 1 since absolute
- * distance doesn't matter here. */
- tx = his_cx + his_cy;
- his_cy = -his_cx + his_cy;
- his_cx = tx;
- }
-
- switch(dir) {
- case OB_DIRECTION_NORTH:
- case OB_DIRECTION_SOUTH:
- case OB_DIRECTION_NORTHEAST:
- case OB_DIRECTION_SOUTHWEST:
- offset = (his_cx < 0) ? -his_cx : his_cx;
- distance = ((dir == OB_DIRECTION_NORTH ||
- dir == OB_DIRECTION_NORTHEAST) ?
- -his_cy : his_cy);
- break;
- case OB_DIRECTION_EAST:
- case OB_DIRECTION_WEST:
- case OB_DIRECTION_SOUTHEAST:
- case OB_DIRECTION_NORTHWEST:
- offset = (his_cy < 0) ? -his_cy : his_cy;
- distance = ((dir == OB_DIRECTION_WEST ||
- dir == OB_DIRECTION_NORTHWEST) ?
- -his_cx : his_cx);
- break;
- }
-
- /* the target must be in the requested direction */
- if(distance <= 0)
- continue;
-
- /* Calculate score for this window. The smaller the better. */
- score = distance + offset;
-
- /* windows more than 45 degrees off the direction are
- * heavily penalized and will only be chosen if nothing
- * else within a million pixels */
- if(offset > distance)
- score += 1000000;
-
- if(best_score == -1 || score < best_score)
- best_client = cur,
- best_score = score;
- }
-
- return best_client;
-}
-
void client_set_layer(ObClient *self, gint layer)
{
if (layer < 0) {
ObClient *client_search_top_parent(ObClient *self)
{
- while (self->transient_for && self->transient_for != OB_TRAN_GROUP)
+ while (self->transient_for && self->transient_for != OB_TRAN_GROUP &&
+ client_normal(self))
self = self->transient_for;
return self;
}
/*! Window decoration and functionality hints */
ObMwmHints mwmhints;
+
+ /*! The client's specified colormap */
+ Colormap colormap;
/*! Where to place the decorated window in relation to the undecorated
window */
/*! Notify the window when it receives focus? */
gboolean focus_notify;
+#ifdef SYNC
+ /*! The client wants to sync during resizes */
+ gboolean sync_request;
+ /*! The XSync counter used for synchronizing during resizes */
+ guint32 sync_counter;
+ /*! The value we're waiting for the counter to reach */
+ gulong sync_counter_value;
+#endif
+
/*! The window uses shape extension to be non-rectangular? */
gboolean shaped;
/*! Update the protocols that the window supports and adjusts things if they
change */
void client_update_protocols(ObClient *self);
+#ifdef SYNC
+/*! Updates the window's sync request counter for resizes */
+void client_update_sync_request_counter(ObClient *self);
+#endif
+/*! Updates the window's colormap */
+void client_update_colormap(ObClient *self, Colormap colormap);
/*! Updates the WMNormalHints and adjusts things if they change */
void client_update_normal_hints(ObClient *self);
NULL is returned if the given search is not a transient of the client. */
ObClient *client_search_transient(ObClient *self, ObClient *search);
-/*! Return the "closest" client in the given direction */
-ObClient *client_find_directional(ObClient *c, ObDirection dir);
-
/*! Return the closest edge in the given direction */
gint client_directional_edge_search(ObClient *c, ObDirection dir, gboolean hang);
client_list_menu.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
ObMenuEntry *e;
GList *it;
gint i;
- gboolean icons = FALSE;
guint desktop;
menu_clear_entries(menu);
}
}
}
- icons = FALSE;
if (empty) {
/* no entries */
client_list_menu.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
client_list_menu.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
DesktopData *d = data;
GList *it;
gint i;
+ gboolean icons = FALSE;
gboolean empty = TRUE;
menu_clear_entries(menu);
empty = FALSE;
+ if (!icons && c->iconic) {
+ icons = TRUE;
+ menu_add_separator(menu, -1, NULL);
+ }
+
act = action_from_string("Activate",
OB_USER_ACTION_MENU_SELECTION);
act->data.activate.any.c = c;
OB_USER_ACTION_MENU_SELECTION);
act->data.desktop.desk = d->desktop;
acts = g_slist_append(acts, act);
-
- if (c->iconic) {
- gchar *title = g_strdup_printf("(%s)", c->icon_title);
- e = menu_add_normal(menu, i, title, acts);
- g_free(title);
- } else
- e = menu_add_normal(menu, i, c->title, acts);
+ e = menu_add_normal(menu, i,
+ (c->iconic ? c->icon_title : c->title), acts);
if (config_menu_client_list_icons
&& (icon = client_icon(c, 32, 32))) {
client_list_menu.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
client_menu.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
client_menu.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
config.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "screen.h"
#include "parser/parse.h"
#include "openbox.h"
+#include "gettext.h"
gboolean config_focus_new;
gboolean config_focus_follow;
config_dock_app_move_button = b;
config_dock_app_move_modifiers = s;
} else {
- g_warning("invalid button '%s'", str);
+ g_message(_("Invalid button '%s' specified in config file"), str);
}
g_free(str);
}
config.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
dock.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
dock.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
event.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
window = None;
}
} else
+#endif
+#ifdef SYNC
+ if (extensions_sync &&
+ e->type == extensions_sync_event_basep + XSyncAlarmNotify)
+ {
+ window = None;
+ } else
#endif
window = e->xany.window;
}
t = e->xcrossing.time;
break;
default:
+#ifdef SYNC
+ if (extensions_sync &&
+ e->type == extensions_sync_event_basep + XSyncAlarmNotify)
+ {
+ t = ((XSyncAlarmNotifyEvent*)e)->time;
+ }
+#endif
/* if more event types are anticipated, get their timestamp
explicitly */
break;
e->xconfigurerequest.value_mask, &xwc);
xerror_set_ignore(FALSE);
}
+#ifdef SYNC
+ else if (extensions_sync &&
+ e->type == extensions_sync_event_basep + XSyncAlarmNotify)
+ {
+ XSyncAlarmNotifyEvent *se = (XSyncAlarmNotifyEvent*)e;
+ if (se->alarm == moveresize_alarm && moveresize_in_progress)
+ moveresize_event(e);
+ }
+#endif
/* user input (action-bound) events */
if (e->type == ButtonPress || e->type == ButtonRelease ||
ObFrameContext con;
switch (e->type) {
- case VisibilityNotify:
- client->frame->obscured = e->xvisibility.state != VisibilityUnobscured;
- break;
case ButtonPress:
case ButtonRelease:
/* Wheel buttons don't draw because they are an instant click, so it
frame_adjust_state(client->frame);
break;
case OB_FRAME_CONTEXT_FRAME:
+ ob_debug_type(OB_DEBUG_FOCUS,
+ "%sNotify mode %d detail %d on %lx\n",
+ (e->type == EnterNotify ? "Enter" : "Leave"),
+ e->xcrossing.mode,
+ e->xcrossing.detail, (client?client->window:0));
if (keyboard_interactively_grabbed())
break;
- if (config_focus_follow && config_focus_delay)
+ if (config_focus_follow && config_focus_delay &&
+ /* leaveinferior events can happen when the mouse goes onto the
+ window's border and then into the window before the delay
+ is up */
+ e->xcrossing.detail != NotifyInferior)
+ {
ob_main_loop_timeout_remove_data(ob_main_loop,
focus_delay_func,
client, FALSE);
+ }
break;
default:
break;
else if (msgtype == prop_atoms.net_wm_user_time) {
client_update_user_time(client);
}
+#ifdef SYNC
+ else if (msgtype == prop_atoms.net_wm_sync_request_counter) {
+ client_update_sync_request_counter(client);
+ }
+#endif
else if (msgtype == prop_atoms.sm_client_id) {
client_update_sm_client_id(client);
}
+ case ColormapNotify:
+ client_update_colormap(client, e->xcolormap.colormap);
+ break;
default:
;
#ifdef SHAPE
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
event.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
extensions.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "geom.h"
#include "extensions.h"
#include "screen.h"
+#include "debug.h"
gboolean extensions_xkb = FALSE;
gint extensions_xkb_event_basep;
gint extensions_xinerama_event_basep;
gboolean extensions_randr = FALSE;
gint extensions_randr_event_basep;
+gboolean extensions_sync = FALSE;
+gint extensions_sync_event_basep;
void extensions_query_all()
{
XRRQueryExtension(ob_display, &extensions_randr_event_basep,
&junk);
#endif
+
+#ifdef SYNC
+ extensions_sync =
+ XSyncQueryExtension(ob_display, &extensions_sync_event_basep,
+ &junk) &&
+ XSyncInitialize(ob_display, &junk, &junk);
+ if (!extensions_sync)
+ ob_debug("X Sync extension is not present on the server or is an "
+ "incompatible version");
+#endif
}
void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
extensions.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifdef XRANDR
#include <X11/extensions/Xrandr.h>
#endif
+#ifdef SYNC
+#include <X11/extensions/sync.h>
+#endif
#include <glib.h>
/*! Base for events for the Randr extension */
extern gint extensions_randr_event_basep;
+/*! Does the display have the Sync extension? */
+extern gboolean extensions_sync;
+/*! Base for events for the Sync extension */
+extern gint extensions_sync_event_basep;
+
void extensions_query_all();
void extensions_xinerama_screens(Rect **areas, guint *nxin);
be used
*/
if (focus_cycle_target == client)
- focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
+ focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
}
static Window createWindow(Window parent, gulong mask,
be used.
*/
if (focus_cycle_target)
- focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
+ focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
focus_client = client;
#endif
ob_debug_type(OB_DEBUG_FOCUS, "trying omnipresentness\n");
- if (allow_refocus && old && old->desktop == DESKTOP_ALL)
+ if (allow_refocus && old && old->desktop == DESKTOP_ALL &&
+ client_normal(old))
+ {
return old;
+ }
ob_debug_type(OB_DEBUG_FOCUS, "trying the focus order\n");
a splashscreen or a desktop window (save the desktop as a
backup fallback though)
*/
- if (client_can_focus(c) && c->desktop == screen_desktop &&
- !c->iconic)
+ if (client_can_focus(c) && !c->iconic)
{
- if (client_normal(c)) {
+ if (c->desktop == screen_desktop && client_normal(c)) {
ob_debug_type(OB_DEBUG_FOCUS, "found in focus order\n");
return it->data;
- } else if (c->type == OB_CLIENT_TYPE_DESKTOP && !desktop)
+ } else if ((c->desktop == screen_desktop ||
+ c->desktop == DESKTOP_ALL) &&
+ c->type == OB_CLIENT_TYPE_DESKTOP &&
+ desktop == NULL)
desktop = c;
}
}
/* as a last resort fallback to the desktop window if there is one.
(if there's more than one, then the one most recently focused.)
*/
+ ob_debug_type(OB_DEBUG_FOCUS, "found desktop: \n", !!desktop);
return desktop;
}
void focus_cycle_draw_indicator()
{
if (!focus_cycle_target) {
- XEvent e;
-
XUnmapWindow(ob_display, focus_indicator.top.win);
XUnmapWindow(ob_display, focus_indicator.left.win);
XUnmapWindow(ob_display, focus_indicator.right.win);
}
}
-static gboolean valid_focus_target(ObClient *ft)
+static gboolean valid_focus_target(ObClient *ft, gboolean dock_windows)
{
+ gboolean ok = FALSE;
/* we don't use client_can_focus here, because that doesn't let you
focus an iconic window, but we want to be able to, so we just check
if the focus flags on the window allow it, and its on the current
desktop */
- if ((ft->type == OB_CLIENT_TYPE_NORMAL ||
- ft->type == OB_CLIENT_TYPE_DIALOG ||
- (!client_has_group_siblings(ft) &&
- (ft->type == OB_CLIENT_TYPE_TOOLBAR ||
- ft->type == OB_CLIENT_TYPE_MENU ||
- ft->type == OB_CLIENT_TYPE_UTILITY))) &&
- ((ft->can_focus || ft->focus_notify) &&
- !ft->skip_pager &&
- (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL)) &&
- ft == client_focus_target(ft))
- return TRUE;
+ if (dock_windows)
+ ok = ft->type == OB_CLIENT_TYPE_DOCK;
+ else
+ ok = (ft->type == OB_CLIENT_TYPE_NORMAL ||
+ ft->type == OB_CLIENT_TYPE_DIALOG ||
+ (!client_has_group_siblings(ft) &&
+ (ft->type == OB_CLIENT_TYPE_TOOLBAR ||
+ ft->type == OB_CLIENT_TYPE_MENU ||
+ ft->type == OB_CLIENT_TYPE_UTILITY)));
+ ok = ok && (ft->can_focus || ft->focus_notify);
+ ok = ok && !ft->skip_pager;
+ ok = ok && (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL);
+ ok = ok && ft == client_focus_target(ft);
+ return ok;
/*
{
GSList *it;
return TRUE;
}
*/
-
- return FALSE;
}
-void focus_cycle(gboolean forward, gboolean linear, gboolean interactive,
+void focus_cycle(gboolean forward, gboolean dock_windows,
+ gboolean linear, gboolean interactive,
gboolean dialog, gboolean done, gboolean cancel)
{
static ObClient *first = NULL;
if (it == NULL) it = g_list_last(list);
}
ft = it->data;
- if (valid_focus_target(ft)) {
+ if (valid_focus_target(ft, dock_windows)) {
if (interactive) {
if (ft != focus_cycle_target) { /* prevents flicker */
focus_cycle_target = ft;
return;
}
-void focus_directional_cycle(ObDirection dir, gboolean interactive,
+/* this be mostly ripped from fvwm */
+ObClient *focus_find_directional(ObClient *c, ObDirection dir,
+ gboolean dock_windows)
+{
+ gint my_cx, my_cy, his_cx, his_cy;
+ gint offset = 0;
+ gint distance = 0;
+ gint score, best_score;
+ ObClient *best_client, *cur;
+ GList *it;
+
+ if(!client_list)
+ return NULL;
+
+ /* first, find the centre coords of the currently focused window */
+ my_cx = c->frame->area.x + c->frame->area.width / 2;
+ my_cy = c->frame->area.y + c->frame->area.height / 2;
+
+ best_score = -1;
+ best_client = NULL;
+
+ for(it = g_list_first(client_list); it; it = g_list_next(it)) {
+ cur = it->data;
+
+ /* the currently selected window isn't interesting */
+ if(cur == c)
+ continue;
+ if (!dock_windows && !client_normal(cur))
+ continue;
+ if (dock_windows && cur->type != OB_CLIENT_TYPE_DOCK)
+ continue;
+ /* using c->desktop instead of screen_desktop doesn't work if the
+ * current window was omnipresent, hope this doesn't have any other
+ * side effects */
+ if(screen_desktop != cur->desktop && cur->desktop != DESKTOP_ALL)
+ continue;
+ if(cur->iconic)
+ continue;
+ if(!(client_focus_target(cur) == cur &&
+ client_can_focus(cur)))
+ continue;
+
+ /* find the centre coords of this window, from the
+ * currently focused window's point of view */
+ his_cx = (cur->frame->area.x - my_cx)
+ + cur->frame->area.width / 2;
+ his_cy = (cur->frame->area.y - my_cy)
+ + cur->frame->area.height / 2;
+
+ if(dir == OB_DIRECTION_NORTHEAST || dir == OB_DIRECTION_SOUTHEAST ||
+ dir == OB_DIRECTION_SOUTHWEST || dir == OB_DIRECTION_NORTHWEST) {
+ gint tx;
+ /* Rotate the diagonals 45 degrees counterclockwise.
+ * To do this, multiply the matrix /+h +h\ with the
+ * vector (x y). \-h +h/
+ * h = sqrt(0.5). We can set h := 1 since absolute
+ * distance doesn't matter here. */
+ tx = his_cx + his_cy;
+ his_cy = -his_cx + his_cy;
+ his_cx = tx;
+ }
+
+ switch(dir) {
+ case OB_DIRECTION_NORTH:
+ case OB_DIRECTION_SOUTH:
+ case OB_DIRECTION_NORTHEAST:
+ case OB_DIRECTION_SOUTHWEST:
+ offset = (his_cx < 0) ? -his_cx : his_cx;
+ distance = ((dir == OB_DIRECTION_NORTH ||
+ dir == OB_DIRECTION_NORTHEAST) ?
+ -his_cy : his_cy);
+ break;
+ case OB_DIRECTION_EAST:
+ case OB_DIRECTION_WEST:
+ case OB_DIRECTION_SOUTHEAST:
+ case OB_DIRECTION_NORTHWEST:
+ offset = (his_cy < 0) ? -his_cy : his_cy;
+ distance = ((dir == OB_DIRECTION_WEST ||
+ dir == OB_DIRECTION_NORTHWEST) ?
+ -his_cx : his_cx);
+ break;
+ }
+
+ /* the target must be in the requested direction */
+ if(distance <= 0)
+ continue;
+
+ /* Calculate score for this window. The smaller the better. */
+ score = distance + offset;
+
+ /* windows more than 45 degrees off the direction are
+ * heavily penalized and will only be chosen if nothing
+ * else within a million pixels */
+ if(offset > distance)
+ score += 1000000;
+
+ if(best_score == -1 || score < best_score)
+ best_client = cur,
+ best_score = score;
+ }
+
+ return best_client;
+}
+
+void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
+ gboolean interactive,
gboolean dialog, gboolean done, gboolean cancel)
{
static ObClient *first = NULL;
if (!focus_cycle_target) focus_cycle_target = focus_client;
if (focus_cycle_target)
- ft = client_find_directional(focus_cycle_target, dir);
+ ft = focus_find_directional(focus_cycle_target, dir, dock_windows);
else {
GList *it;
for (it = focus_order; it; it = g_list_next(it))
- if (valid_focus_target(it->data))
+ if (valid_focus_target(it->data, dock_windows))
ft = it->data;
}
focus.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
void focus_fallback(gboolean allow_refocus);
/*! Cycle focus amongst windows. */
-void focus_cycle(gboolean forward, gboolean linear, gboolean interactive,
+void focus_cycle(gboolean forward, gboolean dock_windows,
+ gboolean linear, gboolean interactive,
gboolean dialog, gboolean done, gboolean cancel);
-void focus_directional_cycle(ObDirection dir, gboolean interactive,
+void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
+ gboolean interactive,
gboolean dialog, gboolean done, gboolean cancel);
void focus_cycle_draw_indicator();
#include "moveresize.h"
#include "render/theme.h"
-#define PLATE_EVENTMASK (ButtonPressMask | FocusChangeMask)
+#define PLATE_EVENTMASK (SubstructureRedirectMask | ButtonPressMask | \
+ FocusChangeMask)
#define FRAME_EVENTMASK (EnterWindowMask | LeaveWindowMask | \
- ButtonPressMask | ButtonReleaseMask | \
- VisibilityChangeMask)
+ ButtonPressMask | ButtonReleaseMask)
#define ELEMENT_EVENTMASK (ButtonPressMask | ButtonReleaseMask | \
- ButtonMotionMask | ExposureMask | \
+ ButtonMotionMask | \
EnterWindowMask | LeaveWindowMask)
#define FRAME_HANDLE_Y(f) (f->innersize.top + f->client->area.height + \
self = g_new0(ObFrame, 1);
- self->obscured = TRUE;
-
visual = check_32bit_client(client);
/* create the non-visible decor windows */
attrib.event_mask = FRAME_EVENTMASK;
self->window = createWindow(RootWindow(ob_display, ob_screen), visual,
mask, &attrib);
+
+ attrib.event_mask = ELEMENT_EVENTMASK;
+ self->inner = createWindow(self->window, visual, mask, &attrib);
+
mask &= ~CWEventMask;
- self->plate = createWindow(self->window, visual, mask, &attrib);
+ self->plate = createWindow(self->inner, visual, mask, &attrib);
/* create the visible decor windows */
/* the other stuff is shown based on decor settings */
XMapWindow(ob_display, self->plate);
+ XMapWindow(ob_display, self->inner);
XMapWindow(ob_display, self->lgrip);
XMapWindow(ob_display, self->rgrip);
XMapWindow(ob_display, self->label);
} else
XUnmapWindow(ob_display, self->handle);
- /* move and resize the plate */
- XMoveResizeWindow(ob_display, self->plate,
+ /* move and resize the inner border window which contains the plate
+ */
+ XMoveResizeWindow(ob_display, self->inner,
self->innersize.left - self->cbwidth_x,
self->innersize.top - self->cbwidth_y,
- self->client->area.width + self->cbwidth_x * 2,
- self->client->area.height + self->cbwidth_y * 2);
- /* when the client has StaticGravity, it likes to move around. */
- XMoveWindow(ob_display, self->client->window,
+ self->client->area.width +
+ self->cbwidth_x * 2,
+ self->client->area.height +
+ self->cbwidth_y * 2);
+
+ /* move the plate */
+ XMoveWindow(ob_display, self->plate,
self->cbwidth_x, self->cbwidth_y);
+
+ /* when the client has StaticGravity, it likes to move around. */
+ XMoveWindow(ob_display, self->client->window, 0, 0);
}
STRUT_SET(self->size,
XFlush(ob_display);
}
+void frame_adjust_client_area(ObFrame *self)
+{
+ /* resize the plate */
+ XResizeWindow(ob_display, self->plate,
+ self->client->area.width, self->client->area.height);
+}
+
void frame_adjust_title(ObFrame *self)
{
framerender_frame(self);
/* set all the windows for the frame in the window_map */
g_hash_table_insert(window_map, &self->window, client);
g_hash_table_insert(window_map, &self->plate, client);
+ g_hash_table_insert(window_map, &self->inner, client);
g_hash_table_insert(window_map, &self->title, client);
g_hash_table_insert(window_map, &self->label, client);
g_hash_table_insert(window_map, &self->max, client);
/* remove all the windows for the frame from the window_map */
g_hash_table_remove(window_map, &self->window);
g_hash_table_remove(window_map, &self->plate);
+ g_hash_table_remove(window_map, &self->inner);
g_hash_table_remove(window_map, &self->title);
g_hash_table_remove(window_map, &self->label);
g_hash_table_remove(window_map, &self->max);
return OB_FRAME_CONTEXT_CLIENT;
}
- if (win == self->window) return OB_FRAME_CONTEXT_FRAME;
- if (win == self->title) return OB_FRAME_CONTEXT_TITLEBAR;
- if (win == self->label) return OB_FRAME_CONTEXT_TITLEBAR;
- if (win == self->handle) return OB_FRAME_CONTEXT_HANDLE;
- if (win == self->lgrip) return OB_FRAME_CONTEXT_BLCORNER;
- if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->window) return OB_FRAME_CONTEXT_FRAME;
+ if (win == self->inner) return OB_FRAME_CONTEXT_FRAME;
+ if (win == self->title) return OB_FRAME_CONTEXT_TITLEBAR;
+ if (win == self->label) return OB_FRAME_CONTEXT_TITLEBAR;
+ if (win == self->handle) return OB_FRAME_CONTEXT_HANDLE;
+ if (win == self->lgrip) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER;
if (win == self->tltresize) return OB_FRAME_CONTEXT_TLCORNER;
if (win == self->tllresize) return OB_FRAME_CONTEXT_TLCORNER;
if (win == self->trtresize) return OB_FRAME_CONTEXT_TRCORNER;
if (win == self->trrresize) return OB_FRAME_CONTEXT_TRCORNER;
- if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE;
- if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY;
- if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;
- if (win == self->icon) return OB_FRAME_CONTEXT_ICON;
- if (win == self->desk) return OB_FRAME_CONTEXT_ALLDESKTOPS;
- if (win == self->shade) return OB_FRAME_CONTEXT_SHADE;
+ if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE;
+ if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY;
+ if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;
+ if (win == self->icon) return OB_FRAME_CONTEXT_ICON;
+ if (win == self->desk) return OB_FRAME_CONTEXT_ALLDESKTOPS;
+ if (win == self->shade) return OB_FRAME_CONTEXT_SHADE;
return OB_FRAME_CONTEXT_NONE;
}
frame.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Rect area;
gboolean visible;
- /*! Whether the window is obscured at all or fully visible. */
- gboolean obscured;
-
guint decorations;
gboolean max_horz;
+ Window inner; /*!< The window for drawing the inner client border */
Window title;
Window label;
Window max;
void frame_adjust_shape(ObFrame *self);
void frame_adjust_area(ObFrame *self, gboolean moved,
gboolean resized, gboolean fake);
+void frame_adjust_client_area(ObFrame *self);
void frame_adjust_state(ObFrame *self);
void frame_adjust_focus(ObFrame *self, gboolean hilite);
void frame_adjust_title(ObFrame *self);
framerender.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
px = (self->focused ?
RrColorPixel(ob_rr_theme->cb_focused_color) :
RrColorPixel(ob_rr_theme->cb_unfocused_color));
- XSetWindowBackground(ob_display, self->plate, px);
- XClearWindow(ob_display, self->plate);
+ XSetWindowBackground(ob_display, self->inner, px);
+ XClearWindow(ob_display, self->inner);
}
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
framerender.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
geom.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
grab.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "event.h"
#include "xerror.h"
#include "screen.h"
+#include "debug.h"
#include <glib.h>
#include <X11/Xlib.h>
{
guint i;
- xerror_set_ignore(TRUE); /* can get BadAccess' from these */
+ xerror_set_ignore(TRUE); /* can get BadAccess from these */
xerror_occured = FALSE;
for (i = 0; i < MASK_LIST_SIZE; ++i)
XGrabButton(ob_display, button, state | mask_list[i], win, FALSE, mask,
pointer_mode, GrabModeSync, None, ob_cursor(cur));
xerror_set_ignore(FALSE);
if (xerror_occured)
- g_warning("failed to grab button %d modifiers %d", button, state);
+ ob_debug("Failed to grab button %d modifiers %d", button, state);
}
void grab_button(guint button, guint state, Window win, guint mask)
GrabModeAsync, keyboard_mode);
xerror_set_ignore(FALSE);
if (xerror_occured)
- g_warning("failed to grab keycode %d modifiers %d", keycode, state);
+ ob_debug("Failed to grab keycode %d modifiers %d", keycode, state);
}
void ungrab_all_keys(Window win)
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
grab.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
group.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
group.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
keyboard.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "keyboard.h"
#include "translate.h"
#include "moveresize.h"
+#include "gettext.h"
#include <glib.h>
t = tree;
if (conflict) {
- g_warning("conflict with binding");
+ g_message(_("Conflict with key binding in config file"));
tree_destroy(tree);
return FALSE;
}
keyboard.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
keytree.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
keytree.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
mainloop.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
mainloop.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "client_menu.h"
#include "client_list_menu.h"
#include "client_list_combined_menu.h"
+#include "gettext.h"
#include "parser/parse.h"
typedef struct _ObMenuParseState ObMenuParseState;
loaded = TRUE;
parse_tree(menu_parse_inst, doc, node->children);
xmlFreeDoc(doc);
- }
+ } else
+ g_message(_("Unable to find a valid menu file '%s'"),
+ (const gchar*)it->data);
}
if (!loaded) {
if (parse_load_menu("menu.xml", &doc, &node)) {
parse_tree(menu_parse_inst, doc, node->children);
xmlFreeDoc(doc);
- }
+ } else
+ g_message(_("Unable to find a valid menu file '%s'"),
+ "menu.xml");
}
g_assert(menu_parse_state.parent == NULL);
return;
if (!g_spawn_command_line_sync(self->execute, &output, NULL, NULL, &err)) {
- g_warning("Failed to execute command for pipe-menu: %s", err->message);
+ g_message(_("Failed to execute command for pipe-menu '%s': %s"),
+ self->execute, err->message);
g_error_free(err);
return;
}
parse_tree(menu_parse_inst, doc, node->children);
xmlFreeDoc(doc);
} else {
- g_warning("Invalid output from pipe-menu: %s", self->execute);
+ g_message(_("Invalid output from pipe-menu '%s'"), self->execute);
}
g_free(output);
g_assert(name != NULL);
if (!(self = g_hash_table_lookup(menu_hash, name)))
- g_warning("Attempted to access menu '%s' but it does not exist.",
+ g_message(_("Attempted to access menu '%s' but it does not exist"),
name);
return self;
}
if (self) {
XDestroyWindow(ob_display, self->text);
XDestroyWindow(ob_display, self->window);
- g_hash_table_insert(menu_frame_map, &self->text, self);
- g_hash_table_insert(menu_frame_map, &self->window, self);
+ g_hash_table_remove(menu_frame_map, &self->text);
+ g_hash_table_remove(menu_frame_map, &self->window);
if (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) {
XDestroyWindow(ob_display, self->icon);
- g_hash_table_insert(menu_frame_map, &self->icon, self);
+ g_hash_table_remove(menu_frame_map, &self->icon);
}
if (self->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) {
XDestroyWindow(ob_display, self->bullet);
- g_hash_table_insert(menu_frame_map, &self->bullet, self);
+ g_hash_table_remove(menu_frame_map, &self->bullet);
}
RrAppearanceFree(self->a_normal);
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
misc.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
mouse.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "frame.h"
#include "translate.h"
#include "mouse.h"
+#include "gettext.h"
+
#include <glib.h>
typedef struct {
GSList *it;
if (!translate_button(buttonstr, &state, &button)) {
- g_warning("invalid button '%s'", buttonstr);
+ g_message(_("Invalid button '%s' in pointer binding"), buttonstr);
return FALSE;
}
context = frame_context_from_string(contextstr);
if (!context) {
- g_warning("invalid context '%s'", contextstr);
+ g_message(_("Invalid context '%s' in pointer binding"), contextstr);
return FALSE;
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
mouse.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
moveresize.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "popup.h"
#include "moveresize.h"
#include "config.h"
+#include "event.h"
+#include "debug.h"
+#include "extensions.h"
#include "render/render.h"
#include "render/theme.h"
gboolean moveresize_in_progress = FALSE;
ObClient *moveresize_client = NULL;
+#ifdef SYNC
+XSyncAlarm moveresize_alarm = None;
+#endif
static gboolean moving = FALSE; /* TRUE - moving, FALSE - resizing */
static guint button;
static guint32 corner;
static ObCorner lockcorner;
+#ifdef SYNC
+static gboolean waiting_for_sync;
+#endif
static ObPopup *popup = NULL;
popup_position(popup, SouthGravity,
c->frame->area.x
+ c->frame->area.width/2,
- c->frame->area.y);
+ c->frame->area.y - ob_rr_theme->fbwidth);
else /* == "Center" */
popup_position(popup, CenterGravity,
c->frame->area.x + c->frame->size.left +
else
g_assert_not_reached();
+#ifdef SYNC
+ if (!moving && extensions_shape && moveresize_client->sync_request &&
+ moveresize_client->sync_counter)
+ {
+ /* Initialize values for the resize syncing, and create an alarm for
+ the client's xsync counter */
+
+ XSyncValue val;
+ XSyncAlarmAttributes aa;
+
+ /* set the counter to an initial value */
+ XSyncIntToValue(&val, 0);
+ XSyncSetCounter(ob_display, moveresize_client->sync_counter, val);
+
+ /* this will be incremented when we tell the client what we're
+ looking for */
+ moveresize_client->sync_counter_value = 0;
+
+ /* the next sequence we're waiting for with the alarm */
+ XSyncIntToValue(&val, 1);
+
+ /* set an alarm on the counter */
+ aa.trigger.counter = moveresize_client->sync_counter;
+ aa.trigger.wait_value = val;
+ aa.trigger.value_type = XSyncAbsolute;
+ aa.trigger.test_type = XSyncPositiveTransition;
+ aa.events = True;
+ XSyncIntToValue(&aa.delta, 1);
+ moveresize_alarm = XSyncCreateAlarm(ob_display,
+ XSyncCACounter |
+ XSyncCAValue |
+ XSyncCAValueType |
+ XSyncCATestType |
+ XSyncCADelta |
+ XSyncCAEvents,
+ &aa);
+
+ waiting_for_sync = FALSE;
+ }
+#endif
+
grab_pointer(TRUE, FALSE, cur);
grab_keyboard(TRUE);
}
(cancel ? start_cx : cur_x),
(cancel ? start_cy : cur_y));
} else {
+#ifdef SYNC
+ /* turn off the alarm */
+ if (moveresize_alarm != None) {
+ XSyncDestroyAlarm(ob_display, moveresize_alarm);
+ moveresize_alarm = None;
+ }
+#endif
+
client_configure(moveresize_client, lockcorner,
moveresize_client->area.x,
moveresize_client->area.y,
moveresize_client->frame->area.y);
}
-static void do_resize(gboolean resist)
+static void do_resize()
{
- /* resist_size_* needs the frame size */
- cur_x += moveresize_client->frame->size.left +
- moveresize_client->frame->size.right;
- cur_y += moveresize_client->frame->size.top +
- moveresize_client->frame->size.bottom;
+#ifdef SYNC
+ gint x, y, w, h, lw, lh;
+
+ /* see if it is actually going to resize */
+ x = moveresize_client->area.x;
+ y = moveresize_client->area.y;
+ w = cur_x;
+ h = cur_y;
+ client_try_configure(moveresize_client, lockcorner, &x, &y, &w, &h,
+ &lw, &lh, TRUE);
+ if (w == moveresize_client->area.width &&
+ h == moveresize_client->area.height)
+ {
+ return;
+ }
- if (resist) {
- resist_size_windows(moveresize_client, &cur_x, &cur_y, lockcorner);
- resist_size_monitors(moveresize_client, &cur_x, &cur_y, lockcorner);
+ if (extensions_sync && moveresize_client->sync_request &&
+ moveresize_client->sync_counter)
+ {
+ XEvent ce;
+ XSyncValue val;
+
+ /* are we already waiting for the sync counter to catch up? */
+ if (waiting_for_sync)
+ return;
+
+ /* increment the value we're waiting for */
+ ++moveresize_client->sync_counter_value;
+ XSyncIntToValue(&val, moveresize_client->sync_counter_value);
+
+ /* tell the client what we're waiting for */
+ ce.xclient.type = ClientMessage;
+ ce.xclient.message_type = prop_atoms.wm_protocols;
+ ce.xclient.display = ob_display;
+ ce.xclient.window = moveresize_client->window;
+ ce.xclient.format = 32;
+ ce.xclient.data.l[0] = prop_atoms.net_wm_sync_request;
+ ce.xclient.data.l[1] = event_curtime;
+ ce.xclient.data.l[2] = XSyncValueLow32(val);
+ ce.xclient.data.l[3] = XSyncValueHigh32(val);
+ ce.xclient.data.l[4] = 0l;
+ XSendEvent(ob_display, moveresize_client->window, FALSE,
+ NoEventMask, &ce);
+
+ waiting_for_sync = TRUE;
}
+#endif
- cur_x -= moveresize_client->frame->size.left +
- moveresize_client->frame->size.right;
- cur_y -= moveresize_client->frame->size.top +
- moveresize_client->frame->size.bottom;
-
client_configure(moveresize_client, lockcorner,
moveresize_client->area.x, moveresize_client->area.y,
cur_x, cur_y, TRUE, FALSE);
moveresize_client->logical_size.height);
}
+static void calc_resize(gboolean resist)
+{
+ /* resist_size_* needs the frame size */
+ cur_x += moveresize_client->frame->size.left +
+ moveresize_client->frame->size.right;
+ cur_y += moveresize_client->frame->size.top +
+ moveresize_client->frame->size.bottom;
+
+ if (resist) {
+ resist_size_windows(moveresize_client, &cur_x, &cur_y, lockcorner);
+ resist_size_monitors(moveresize_client, &cur_x, &cur_y, lockcorner);
+ }
+
+ cur_x -= moveresize_client->frame->size.left +
+ moveresize_client->frame->size.right;
+ cur_y -= moveresize_client->frame->size.top +
+ moveresize_client->frame->size.bottom;
+}
+
void moveresize_event(XEvent *e)
{
g_assert(moveresize_in_progress);
} else
g_assert_not_reached();
- do_resize(TRUE);
+ calc_resize(TRUE);
+ do_resize();
}
} else if (e->type == KeyPress) {
if (e->xkey.keycode == ob_keycode(OB_KEY_ESCAPE))
}
}
}
+#ifdef SYNC
+ else if (e->type == extensions_sync_event_basep + XSyncAlarmNotify)
+ {
+ waiting_for_sync = FALSE; /* we got our sync... */
+ do_resize(); /* ...so try resize if there is more change pending */
+ }
+#endif
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
moveresize.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <glib.h>
+#ifdef SYNC
+#include <X11/extensions/sync.h>
+#endif
+
struct _ObClient;
extern gboolean moveresize_in_progress;
extern struct _ObClient *moveresize_client;
+#ifdef SYNC
+extern XSyncAlarm moveresize_alarm;
+#endif
void moveresize_startup(gboolean reconfig);
void moveresize_shutdown(gboolean reconfig);
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
mwm.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
openbox.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
gint main(gint argc, gchar **argv)
{
-#ifdef DEBUG
- ob_debug_show_output(TRUE);
-#endif
-
state = OB_STATE_STARTING;
/* initialize the locale */
if (!setlocale(LC_ALL, ""))
- g_warning("Couldn't set locale from environment.\n");
+ g_message(_("Couldn't set locale from environment."));
bindtextdomain(PACKAGE_NAME, LOCALEDIR);
bind_textdomain_codeset(PACKAGE_NAME, "UTF-8");
textdomain(PACKAGE_NAME);
g_set_prgname(argv[0]);
if (chdir(g_get_home_dir()) == -1)
- g_warning("Unable to change to home directory (%s): %s",
+ g_message(_("Unable to change to home directory (%s): %s"),
g_get_home_dir(), g_strerror(errno));
/* parse out command line args */
/* check for locale support */
if (!XSupportsLocale())
- g_warning("X server does not support locale.");
+ g_message(_("X server does not support locale."));
if (!XSetLocaleModifiers(""))
- g_warning("Cannot set locale modifiers for the X server.");
+ g_message(_("Cannot set locale modifiers for the X server."));
/* set our error handler */
XSetErrorHandler(xerror_handler);
PROP_SETS(RootWindow(ob_display, ob_screen),
openbox_rc, config_file);
parse_tree(i, doc, node->xmlChildrenNode);
- } else
+ } else {
+ g_message(_("Unable to find a valid config file, using "
+ "some simple defaults"));
PROP_ERASE(RootWindow(ob_display, ob_screen), openbox_rc);
+ }
/* we're done with parsing now, kill it */
parse_close(doc);
parse_shutdown(i);
execvp(argvp[0], argvp);
g_strfreev(argvp);
} else {
- g_warning("failed to execute '%s': %s", restart_path,
- err->message);
+ g_message(_("Restart failed to execute new executable "
+ "'%s': %s"), restart_path, err->message);
g_error_free(err);
}
}
static void print_version()
{
g_print("Openbox %s\n", PACKAGE_VERSION);
- g_print("Copyright (c) 2007 Mikael Magnusson\n");
- g_print("Copyright (c) 2003-2007 Dana Jansens\n\n");
+ g_print(_("Copyright (c)"));
+ g_print(" 2007 Mikael Magnusson\n");
+ g_print(_("Copyright (c)"));
+ g_print(" 2003-2007 Dana Jansens\n\n");
g_print("This program comes with ABSOLUTELY NO WARRANTY.\n");
g_print("This is free software, and you are welcome to redistribute it\n");
g_print("under certain conditions. See the file COPYING for details.\n\n");
static void print_help()
{
- g_print("Syntax: openbox [options]\n\n");
- g_print("Options:\n\n");
- g_print(" --reconfigure Tell the currently running instance of "
- "Openbox to\n"
- " reconfigure (and then exit immediately)\n");
- g_print(" --config-file FILE Specify the file to load for the config "
- "file\n");
+ g_print(_("Syntax: openbox [options]\n\n"));
+ g_print(_("Options:\n\n"));
+ g_print(_(" --reconfigure Tell the currently running instance of "
+ "Openbox to\n"
+ " reconfigure (and then exit "
+ "immediately)\n"));
+ g_print(_(" --config-file FILE Specify the file to load for the config "
+ "file\n"));
#ifdef USE_SM
- g_print(" --sm-disable Disable connection to session manager\n");
- g_print(" --sm-client-id ID Specify session management ID\n");
- g_print(" --sm-save-file FILE Specify file to load a saved session"
- "from\n");
+ g_print(_(" --sm-disable Disable connection to session "
+ "manager\n"));
+ g_print(_(" --sm-client-id ID Specify session management ID\n"));
+ g_print(_(" --sm-save-file FILE Specify file to load a saved session"
+ "from\n"));
#endif
- g_print(" --replace Replace the currently running window "
- "manager\n");
- g_print(" --help Display this help and exit\n");
- g_print(" --version Display the version and exit\n");
- g_print(" --sync Run in synchronous mode (this is slow and "
- "meant for\n"
- " debugging X routines)\n");
- g_print(" --debug Display debugging output\n");
- g_print(" --debug-focus Display debugging output\n");
- g_print("\nPlease report bugs at %s\n\n", PACKAGE_BUGREPORT);
+ g_print(_(" --replace Replace the currently running window "
+ "manager\n"));
+ g_print(_(" --help Display this help and exit\n"));
+ g_print(_(" --version Display the version and exit\n"));
+ g_print(_(" --sync Run in synchronous mode (this is slow and"
+ " meant for\n"
+ " debugging X routines)\n"));
+ g_print(_(" --debug Display debugging output\n"));
+ g_print(_(" --debug-focus Display debugging output\n"));
+ g_print(_("\nPlease report bugs at %s\n\n"), PACKAGE_BUGREPORT);
}
static void parse_args(gint argc, gchar **argv)
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
openbox.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
if (client->transient_for != OB_TRAN_GROUP) {
ObClient *c = client;
ObClient *p = client->transient_for;
- *x = (p->frame->area.width - c->frame->area.width) / 2 +
- p->frame->area.x;
- *y = (p->frame->area.height - c->frame->area.height) / 2 +
- p->frame->area.y;
- return TRUE;
+
+ if (client_normal(p)) {
+ *x = (p->frame->area.width - c->frame->area.width) / 2 +
+ p->frame->area.x;
+ *y = (p->frame->area.height - c->frame->area.height) / 2 +
+ p->frame->area.y;
+ return TRUE;
+ }
} else {
GSList *it;
gboolean first = TRUE;
}
}
}
+
+ if (client->transient) {
+ Rect **areas;
+
+ areas = pick_head(client);
+
+ *x = (areas[0]->width - client->frame->area.width) / 2 + areas[0]->x;
+ *y = (areas[0]->height - client->frame->area.height) / 2 + areas[0]->y;
+
+ g_free(areas);
+ return TRUE;
+ }
+
return FALSE;
}
place.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
popup.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
popup.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
CREATE(net_frame_extents, "_NET_FRAME_EXTENTS");
/* CREATE(net_wm_ping, "_NET_WM_PING"); */
-
+#ifdef SYNC
+ CREATE(net_wm_sync_request, "_NET_WM_SYNC_REQUEST");
+ CREATE(net_wm_sync_request_counter, "_NET_WM_SYNC_REQUEST_COUNTER");
+#endif
+
CREATE(net_wm_window_type_desktop, "_NET_WM_WINDOW_TYPE_DESKTOP");
CREATE(net_wm_window_type_dock, "_NET_WM_WINDOW_TYPE_DOCK");
CREATE(net_wm_window_type_toolbar, "_NET_WM_WINDOW_TYPE_TOOLBAR");
void prop_set_string_utf8(Window win, Atom prop, const gchar *val)
{
XChangeProperty(ob_display, win, prop, prop_atoms.utf8, 8,
- PropModeReplace, (guchar*)val, strlen(val));
+ PropModeReplace, (const guchar*)val, strlen(val));
}
void prop_set_strings_utf8(Window win, Atom prop, gchar **strs)
Atom net_frame_extents;
/* application protocols */
-/* Atom Atom net_wm_ping; */
+/* Atom net_wm_ping; */
+#ifdef SYNC
+ Atom net_wm_sync_request;
+ Atom net_wm_sync_request_counter;
+#endif
Atom net_wm_window_type_desktop;
Atom net_wm_window_type_dock;
resist.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
resist.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "popup.h"
#include "extensions.h"
#include "render/render.h"
+#include "gettext.h"
#include <X11/Xlib.h>
#ifdef HAVE_UNISTD_H
current_wm_sn_owner = None;
if (current_wm_sn_owner) {
if (!ob_replace_wm) {
- g_warning("A window manager is already running on screen %d",
+ g_message(_("A window manager is already running on screen %d"),
ob_screen);
return FALSE;
}
timestamp);
if (XGetSelectionOwner(ob_display, wm_sn_atom) != screen_support_win) {
- g_warning("Could not acquire window manager selection on screen %d",
+ g_message(_("Could not acquire window manager selection on screen %d"),
ob_screen);
return FALSE;
}
}
if (wait >= timeout) {
- g_warning("Timeout expired while waiting for the current WM to die "
- "on screen %d", ob_screen);
+ g_message(_("Timeout expired while waiting for the current WM to die"
+ " on screen %d"), ob_screen);
return FALSE;
}
}
ROOT_EVENTMASK);
xerror_set_ignore(FALSE);
if (xerror_occured) {
- g_warning("A window manager is already running on screen %d",
+ g_message(_("A window manager is already running on screen %d"),
ob_screen);
XDestroyWindow(ob_display, screen_support_win);
/* set the _NET_SUPPORTED_ATOMS hint */
num_support = 55;
+#ifdef SYNC
+ num_support += 2;
+#endif
i = 0;
supported = g_new(gulong, num_support);
supported[i++] = prop_atoms.net_wm_full_placement;
supported[i++] = prop_atoms.net_wm_moveresize;
supported[i++] = prop_atoms.net_wm_user_time;
supported[i++] = prop_atoms.net_frame_extents;
+#ifdef SYNC
+ supported[i++] = prop_atoms.net_wm_sync_request;
+ supported[i++] = prop_atoms.net_wm_sync_request_counter;
+#endif
supported[i++] = prop_atoms.ob_wm_state_undecorated;
g_assert(i == num_support);
-/*
- supported[] = prop_atoms.net_wm_action_stick;
-*/
PROP_SETA32(RootWindow(ob_display, ob_screen),
net_supported, atom, supported, num_support);
void screen_install_colormap(ObClient *client, gboolean install)
{
- XWindowAttributes wa;
-
if (client == NULL) {
if (install)
XInstallColormap(RrDisplay(ob_rr_inst), RrColormap(ob_rr_inst));
else
XUninstallColormap(RrDisplay(ob_rr_inst), RrColormap(ob_rr_inst));
} else {
- if (XGetWindowAttributes(ob_display, client->window, &wa) &&
- wa.colormap != None) {
- xerror_set_ignore(TRUE);
- if (install)
- XInstallColormap(RrDisplay(ob_rr_inst), wa.colormap);
- else
- XUninstallColormap(RrDisplay(ob_rr_inst), wa.colormap);
- xerror_set_ignore(FALSE);
- }
+ xerror_set_ignore(TRUE);
+ if (install) {
+ if (client->colormap != None)
+ XInstallColormap(RrDisplay(ob_rr_inst), client->colormap);
+ } else
+ XUninstallColormap(RrDisplay(ob_rr_inst), client->colormap);
+ xerror_set_ignore(FALSE);
}
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
screen.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
session.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{
SmProp *props[2];
SmProp prop_cmd = { SmCloneCommand, SmLISTofARRAY8, 1, };
- SmProp prop_res = { SmRestartCommand, SmLISTofARRAY8, };
+ SmProp prop_res = { SmRestartCommand, SmLISTofARRAY8 };
gint i;
prop_cmd.vals = g_new(SmPropValue, sm_argc);
sm_sessions_path = g_build_filename(parse_xdg_data_home_path(),
"openbox", "sessions", NULL);
- if (!parse_mkdir_path(sm_sessions_path, 0700))
- g_warning(_("Unable to make directory '%s': %s"),
+ if (!parse_mkdir_path(sm_sessions_path, 0700)) {
+ g_message(_("Unable to make directory '%s': %s"),
sm_sessions_path, g_strerror(errno));
+ }
if (save_file)
session_load(save_file);
f = fopen(save_file, "w");
if (!f) {
success = FALSE;
- g_warning("unable to save the session to %s: %s",
+ g_message(_("Unable to save the session to '%s': %s"),
save_file, g_strerror(errno));
} else {
guint stack_pos = 0;
if (fflush(f)) {
success = FALSE;
- g_warning("error while saving the session to %s: %s",
+ g_message(_("Error while saving the session to '%s': %s"),
save_file, g_strerror(errno));
}
fclose(f);
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
session.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
stacking.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
stacking.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
startupnotify.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
startupnotify.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
translate.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "openbox.h"
#include "mouse.h"
+#include "gettext.h"
#include <glib.h>
#include <string.h>
#include <stdlib.h>
!g_ascii_strcasecmp("C", str)) return ControlMask;
else if (!g_ascii_strcasecmp("Shift", str) ||
!g_ascii_strcasecmp("S", str)) return ShiftMask;
- g_warning("Invalid modifier '%s' in binding.", str);
+ g_message(_("Invalid modifier key '%s' in key/pointer binding"), str);
return 0;
}
else if (!g_ascii_strcasecmp("Down", l)) *button = 5;
else if (!g_ascii_strncasecmp("Button", l, 6)) *button = atoi(l+6);
if (!*button) {
- g_warning("Invalid button '%s' in pointer binding.", l);
+ g_message(_("Invalid button '%s' in pointer binding"), l);
goto translation_fail;
}
/* take it directly */
*keycode = strtol(l, &end, 16);
if (*l == '\0' || *end != '\0') {
- g_warning("Invalid key code '%s' in key binding.", l);
+ g_message(_("Invalid key code '%s' in key binding"), l);
goto translation_fail;
}
} else {
/* figure out the keycode */
sym = XStringToKeysym(l);
if (sym == NoSymbol) {
- g_warning("Invalid key name '%s' in key binding.", l);
+ g_message(_("Invalid key name '%s' in key binding"), l);
goto translation_fail;
}
*keycode = XKeysymToKeycode(ob_display, sym);
}
if (!*keycode) {
- g_warning("Key '%s' does not exist on the display.", l);
+ g_message(_("Requested key '%s' does not exist on the display"), l);
goto translation_fail;
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
translate.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
xerror.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
#include "openbox.h"
+#include "gettext.h"
#include <glib.h>
#include <X11/Xlib.h>
if (!xerror_ignore) {
gchar errtxt[128];
- /*if (e->error_code != BadWindow) */
- {
- XGetErrorText(d, e->error_code, errtxt, 127);
- if (e->error_code == BadWindow)
- /*g_warning("X Error: %s", errtxt)*/;
- else
- g_error("X Error: %s", errtxt);
- }
+ XGetErrorText(d, e->error_code, errtxt, 127);
+ if (e->error_code == BadWindow)
+ /*g_message(_("X Error: %s\n"), errtxt)*/;
+ else
+ g_error(_("X Error: %s"), errtxt);
}
#else
(void)d; (void)e;
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
xerror.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
struct Callback *c;
if ((c = g_hash_table_lookup(i->callbacks, tag))) {
- g_warning("Tag '%s' already registered", tag);
+ g_error("Tag '%s' already registered", tag);
return;
}
g_free(path);
}
}
- if (!r)
- g_warning("Unable to find a valid config file, using defaults");
return r;
}
g_free(path);
}
}
- if (!r)
- g_warning("Unable to load the theme %s", name);
return r;
}
g_free(path);
}
}
- if (!r)
- g_warning("Unable to find a valid menu file '%s'", file);
return r;
}
if (!*root) {
xmlFreeDoc(*doc);
*doc = NULL;
- g_warning("%s is an empty document", path);
+ g_message("%s is an empty document", path);
} else {
if (xmlStrcmp((*root)->name, (const xmlChar*)rootname)) {
xmlFreeDoc(*doc);
*doc = NULL;
- g_warning("Document %s is of wrong type. root node is "
- "not '%s'", path, rootname);
+ g_message("XML Document %s is of wrong type. Root "
+ "node is not '%s'", path, rootname);
}
}
}
if (!*root) {
xmlFreeDoc(*doc);
*doc = NULL;
- g_warning("Given memory is an empty document");
+ g_message("Given memory is an empty document");
} else {
if (xmlStrcmp((*root)->name, (const xmlChar*)rootname)) {
xmlFreeDoc(*doc);
*doc = NULL;
- g_warning("Document in given memory is of wrong type. root "
- "node is not '%s'", rootname);
+ g_message("XML Document in given memory is of wrong "
+ "type. Root node is not '%s'\n", rootname);
}
}
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
parse.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
-COPYRIGHT_HOLDER = Mikael Magnusson
+COPYRIGHT_HOLDER = Dana Jansens
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
-MSGID_BUGS_ADDRESS = mikachu@icculus.org
+MSGID_BUGS_ADDRESS = http://bugzilla.icculus.org
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-01-25 20:41+0100\n"
"Last-Translator: David Majà Martínez <davidmaja@gmail.com>\n"
"Language-Team: catalan\n"
msgid "Desktops"
msgstr "Escriptoris"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restaura"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximitza"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Desenrotlla"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Enrotlla"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Tots els escriptoris"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Capa"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Sempre a sobre"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Sempre a sota"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "A l'escriptori"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menú del client"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimitza"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Posa a sobre"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Posa a sota"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Decoració"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Mou"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Redimensiona"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Tanca"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "No és pot crear el directori '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id necessita un argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file necessita un argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id necessita un argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "No és pot crear el directori '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "No és pot crear el directori '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "No s'ha pogut inicialitzar Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2006-06-11 10:41+0200\n"
"Last-Translator: Sebastian Vahl <svahl@web.de>\n"
"Language-Team: <de@li.org>\n"
msgid "Desktops"
msgstr ""
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Wiederherstellen"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximieren"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Abrollen"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Aufrollen"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Alle Desktops"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Fenster"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Immer im Vordergrund"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr ""
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Immer im Hintergrund"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "An Desktop senden"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr ""
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimieren"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "In den Vordergrund"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "In den Hintergrund"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Dekoriere"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Verschieben"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Größe ändern"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Schließen"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Das Verzeichnis '%s' konnte nicht angelegt werden: %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id benötigt ein Argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file benötigt ein Argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id benötigt ein Argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Das Verzeichnis '%s' konnte nicht angelegt werden: %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Das Verzeichnis '%s' konnte nicht angelegt werden: %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Xft konnte nicht initialisiert werden"
# English translations for openbox package.
-# Copyright (C) 2004 Mikael Magnusson
+# Copyright (C) 2007 Dana Jansens
# This file is distributed under the same license as the openbox package.
-# Automatically generated, 2004.
+# Automatically generated, 2007.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
#
msgid ""
msgstr ""
-"Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
-"PO-Revision-Date: 2004-11-07 12:52+0100\n"
+"Project-Id-Version: openbox 3.4.0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
+"PO-Revision-Date: 2007-04-24 03:05-0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
msgid "Desktops"
msgstr "Desktops"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restore"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximize"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Roll down"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Roll up"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "All desktops"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Layer"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Always on top"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Always on bottom"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Send to desktop"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Client menu"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Iconify"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Raise to top"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Lower to bottom"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Decorate"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Move"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Resize"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Close"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr "Couldn't set locale from environment."
+
+#: openbox/openbox.c:114
+#, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Unable to change to home directory (%s): %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr "X server does not support locale."
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr "Cannot set locale modifiers for the X server."
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr "Unable to find a valid config file, using some simple defaults"
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr "Restart failed to execute new executable '%s': %s"
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr "Copyright (c)"
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+"Syntax: openbox [options]\n"
+"\n"
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+"Options:\n"
+"\n"
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr " --config-file FILE Specify the file to load for the config file\n"
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr " --sm-disable Disable connection to session manager\n"
+
+#: openbox/openbox.c:411
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr " --sm-client-id ID Specify session management ID\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr " --replace Replace the currently running window manager\n"
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr " --help Display this help and exit\n"
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr " --version Display the version and exit\n"
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr " --debug Display debugging output\n"
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr " --debug-focus Display debugging output\n"
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+
+#: openbox/openbox.c:455
+msgid "--config-file requires an argument\n"
+msgstr "--config-file requires an argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id requires an argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Unable to make directory '%s': %s"
-#~ msgid "Couldn't initialize Xft."
-#~ msgstr "Couldn't initialize Xft."
-
-#~ msgid "Unable to load font: %s\n"
-#~ msgstr "Unable to load font: %s\n"
+#: openbox/session.c:343
+#, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Unable to save the session to '%s': %s"
-#~ msgid "Trying fallback font: %s\n"
-#~ msgstr "Trying fallback font: %s\n"
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr "Error while saving the session to '%s': %s"
# English translations for openbox package.
-# Copyright (C) 2004 Mikael Magnusson
+# Copyright (C) 2007 Dana Jansens
# This file is distributed under the same license as the openbox package.
-# Automatically generated, 2004.
+# Automatically generated, 2007.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
#
msgid ""
msgstr ""
-"Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
-"PO-Revision-Date: 2004-11-07 12:52+0100\n"
+"Project-Id-Version: openbox 3.4.0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
+"PO-Revision-Date: 2007-04-24 03:05-0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
msgid "Desktops"
msgstr "Desktops"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restore"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximize"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Roll down"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Roll up"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "All desktops"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Layer"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Always on top"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Always on bottom"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Send to desktop"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Client menu"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Iconify"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Raise to top"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Lower to bottom"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Decorate"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Move"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Resize"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Close"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr "Couldn't set locale from environment."
+
+#: openbox/openbox.c:114
+#, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Unable to change to home directory (%s): %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr "X server does not support locale."
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr "Cannot set locale modifiers for the X server."
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr "Unable to find a valid config file, using some simple defaults"
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr "Restart failed to execute new executable '%s': %s"
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr "Copyright (c)"
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+"Syntax: openbox [options]\n"
+"\n"
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+"Options:\n"
+"\n"
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr " --config-file FILE Specify the file to load for the config file\n"
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr " --sm-disable Disable connection to session manager\n"
+
+#: openbox/openbox.c:411
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr " --sm-client-id ID Specify session management ID\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr " --replace Replace the currently running window manager\n"
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr " --help Display this help and exit\n"
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr " --version Display the version and exit\n"
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr " --debug Display debugging output\n"
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr " --debug-focus Display debugging output\n"
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+
+#: openbox/openbox.c:455
+msgid "--config-file requires an argument\n"
+msgstr "--config-file requires an argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id requires an argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Unable to make directory '%s': %s"
-#~ msgid "Couldn't initialize Xft."
-#~ msgstr "Couldn't initialize Xft."
-
-#~ msgid "Unable to load font: %s\n"
-#~ msgstr "Unable to load font: %s\n"
+#: openbox/session.c:343
+#, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Unable to save the session to '%s': %s"
-#~ msgid "Trying fallback font: %s\n"
-#~ msgstr "Trying fallback font: %s\n"
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr "Error while saving the session to '%s': %s"
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2005-03-25 09:31+0100\n"
"Last-Translator: Miguel Calleja Gómez <mcg79@lycos.es>\n"
"Language-Team: None\n"
msgid "Desktops"
msgstr "Escritorios"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restaurar"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximizar"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Desenrollar"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Enrollar"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Todos los escritorios"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Capa"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Siempre encima"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Siempre debajo"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Enviar a escritorio"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menú del cliente"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimizar"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Poner en primer plano"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Poner en último plano"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Decorar"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Mover"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Redimensionar"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Cerrar"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "No se puede crear el directorio '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id necesita un argumento\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file necesita un argumento\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id necesita un argumento\n"
msgid "Unable to make directory '%s': %s"
msgstr "No se puede crear el directorio '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "No se puede crear el directorio '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "No se pudo iniciar Xft."
msgid ""
msgstr ""
"Project-Id-Version: openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2005-03-15 21:29+0200\n"
"Last-Translator: Pauli Virtanen <pauli.virtanen@hut.fi>\n"
"Language-Team: Finnish <fi@li.org>\n"
msgid "Desktops"
msgstr "Työtilat"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Palauta"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Suurenna"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Rullaa auki"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Rullaa"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Kaikkiin työtiloihin"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Kerros"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Aina päällimmäinen"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Tavallinen"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Aina alimmainen"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Siirrä työtilaan"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Ikkunan valikko"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Pienennä"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Nosta päällimmäiseksi"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Laske alimmaiseksi"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Piirrä/poista kehykset"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Siirrä"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Muuta kokoa"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Sulje"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Hakemiston \"%s\" luonti epäonnistui: %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id tarvitsee parametrin\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file tarvitsee parametrin\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id tarvitsee parametrin\n"
msgid "Unable to make directory '%s': %s"
msgstr "Hakemiston \"%s\" luonti epäonnistui: %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Hakemiston \"%s\" luonti epäonnistui: %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Xft:n käynnistys epäonnistui."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-06-11 23:06+0200\n"
"Last-Translator: Julien Louis <leonptitlouis@wanadoo.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
msgid "Desktops"
msgstr "Bureaux"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restaurer"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximiser"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Dérouler"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Enrouler"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Tous les bureaux"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Emplacement"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Toujours au premier plan"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Toujours en arrière plan"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Envoyer vers le bureau"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menu de la fenêtre"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Iconifier"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Mettre au premier plan"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Mettre en arrière plan"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Décorer"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Déplacer"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Redimensionner"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Fermer"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Impossible de créer le répertoire '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id requiert un argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file requiert un argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id requiert un argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Impossible de créer le répertoire '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Impossible de créer le répertoire '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Impossible d'initialiser Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2006-09-05 16:45+0100\n"
"Last-Translator: Daniel Radetic <drade@boobah.info>\n"
"Language-Team: None\n"
msgid "Desktops"
msgstr "Radne površine"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Ponovno uspostavi"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maksimiziraj"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Spusti dolje"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Povuci gore"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Sve radne površine"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Razina"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Uvijek na vrhu"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normalno"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Uvijek na dnu"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Pošalji na radnu površinu"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Meni klijenta"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Ikonificiraj"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Podigni na vrh"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Spusti na dno"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Dekoriraj"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Pomakni"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Promjeni veličinu"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Zatvori"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Nemogu napraviti direktorij '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id zahtjeva argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file zahtjeva argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id zahtjeva argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Nemogu napraviti direktorij '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Nemogu napraviti direktorij '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Nemogu pokrenuti Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.0\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2003-11-20 15:00+0900\n"
"Last-Translator: Yukihiro Nakai <nakai@gnome.gr.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
msgid "Desktops"
msgstr "デスクトップ"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "リストア"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "最大化"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "ロールダウン"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "ロールアップ"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "すべてのデスクトップ"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "レイヤー"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "常に最上位にする"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "ノーマル"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "常に最下位にする"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "デスクトップに送る"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "クライアントメニュー"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "アイコン化"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "最上位に上げる"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "最下位に下げる"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "装飾"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "移動"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "リサイズ"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "閉じる"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "ディレクトリ'%s'を作れません: %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id には引数が必要です\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file には引数が必要です\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id には引数が必要です\n"
#, c-format
msgid "Unable to make directory '%s': %s"
msgstr "ディレクトリ'%s'を作れません: %s"
+
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "ディレクトリ'%s'を作れません: %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
"Last-Translator: Øyvind Albrigtsen\n"
"Language-Team: None\n"
msgid "Desktops"
msgstr "Skrivebord"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Tilbakestill"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximer"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Rull ned"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Rull opp"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Alle skrivebord"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Lag"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Alltid øverst"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Alltid nederst"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Send til"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Klient meny"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimer"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Legg øverst"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Legg nederst"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Dekorer"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Flytt"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Endre størrelse"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Lukk"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Kunde ikke lage katalogen '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id krever et argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file krever et argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id krever et argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Kunde ikke lage katalogen '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Kunde ikke lage katalogen '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Kunde ikke initialisere Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-09-07 21:17+0200\n"
"Last-Translator: Madej <madej@afn.no-ip.org>\n"
"Language-Team: NONE\n"
msgid "Desktops"
msgstr "Pulpit"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Przywróć"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maksymalizuj"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Rozwiń"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Zwiń"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Wszystkie pulpity"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Warstwa"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Zawsze na wierzchu"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normalnie"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Zawsze pod spodem"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Wyślij na pulpit"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menu klienta"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimalizuj"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Wyślij na wierzch"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Wyślij na spód"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Obramówka"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Przesuń"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Zmień rozmiar"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Zamknij"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Nie mogę utworzyć katalogu '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id wymaga argumentu\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file wymaga argumentu\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id wymaga argumentu\n"
msgid "Unable to make directory '%s': %s"
msgstr "Nie mogę utworzyć katalogu '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Nie mogę utworzyć katalogu '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Błąd przy inicjalizacji Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
"Last-Translator: Gonçalo Ferreira <gonsas@gmail.com>\n"
"Language-Team: None\n"
msgid "Desktops"
msgstr "Áreas de trabalho"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Restaurar"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximizar"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Desenrolar"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Enrolar"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Todas as áreas de trabalho"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Camada"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Sempre em cima"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Sempre no fundo"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Enviar para área de trabalho"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menu de clientes"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimizar"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Elevar ao topo"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Baixar ao fundo"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Decorar"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Mover"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Redimensionar"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Fechar"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Incapaz de criar o directório '%s': %s "
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id requer um argumento\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file requer um argumento\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id requer um argumento\n"
msgid "Unable to make directory '%s': %s"
msgstr "Incapaz de criar o directório '%s': %s "
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Incapaz de criar o directório '%s': %s "
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Incapaz de inicializar Xft."
msgid ""
msgstr ""
"Project-Id-Version: openbox 3.2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-04-23 13:00+0300\n"
"Last-Translator: Alexey Remizov <alexey@remizov.pp.ru>\n"
"Language-Team: Russian <gnome-cyr@gnome.org>\n"
msgid "Desktops"
msgstr "Рабочие места"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Восстановить"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Развернуть на весь экран"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Раскрутить"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Скрутить"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Все рабочие места"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Расположить"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Всегда на переднем плане"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Обычно"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Всегда на заднем плане"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Переместить на рабочее место"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Меню клиента"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Свернуть"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Поднять на передний план"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Опустить на задний план"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Убрать оформление"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Переместить"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Изменить размер"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Закрыть"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Невозможно создать каталог '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id требует параметр\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file требует параметр\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id требует параметр\n"
msgid "Unable to make directory '%s': %s"
msgstr "Невозможно создать каталог '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Невозможно создать каталог '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Не удалось инициализировать Xft."
msgid ""
msgstr ""
"Project-Id-Version: Openbox-3.3rc2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2006-08-25 00:52+0200\n"
"Last-Translator: Jozef Riha <jose1711@gmail.com\n"
"Language-Team: Slovak <LL@li.org>\n"
msgid "Desktops"
msgstr "Plochy"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Obnoviť"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximalizovať"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Rozvinúť"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Zvinúť"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Všetky plochy"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Vrstva"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Vždy navrchu"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normálna"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Vždy dole"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Poslať na plochu"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Menu klienta"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Do ikony"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Presunúť navrch"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Presunúť naspodok"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Dekorácia"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Presunúť"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Zmena veľkosti"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Zavrieť"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Nebolo možné vytvoriť adresár '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id vyžaduje parameter\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file vyžaduje parameter\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id vyžaduje parameter\n"
msgid "Unable to make directory '%s': %s"
msgstr "Nebolo možné vytvoriť adresár '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Nebolo možné vytvoriť adresár '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Nepodarilo sa inicializovať Xft."
msgid ""
msgstr ""
"Project-Id-Version: openbox 3.3\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2004-03-29 18:33:39+0200\n"
"Last-Translator: Mikael Magnusson <mikachu@icculus.org>\n"
"Language-Team: None\n"
msgid "Desktops"
msgstr "Skrivbord"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "Återställ"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "Maximera"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "Rulla ner"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "Rulla upp"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "Alla skrivbord"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "Lager"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "Alltid överst"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "Normal"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "Alltid underst"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "Skicka till"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "Klientmeny"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "Minimera"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "Lägg överst"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "Lägg underst"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "Dekorera"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "Flytta"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "Ändra storlek"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "Stäng"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "Kunde inte skapa katalogen '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id kräver ett argument\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file kräver ett argument\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id kräver ett argument\n"
msgid "Unable to make directory '%s': %s"
msgstr "Kunde inte skapa katalogen '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "Kunde inte skapa katalogen '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "Kunde inte initialisera Xft."
msgid ""
msgstr ""
"Project-Id-Version: openbox 3.3rc2\n"
-"Report-Msgid-Bugs-To: mikachu@icculus.org\n"
-"POT-Creation-Date: 2007-03-25 13:41-0400\n"
+"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
+"POT-Creation-Date: 2007-04-24 03:05-0400\n"
"PO-Revision-Date: 2006-03-01 12:00+0800\n"
"Last-Translator: Wei-Lun Chao <william.chao@ossii.com.tw>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
msgid "Desktops"
msgstr "桌面"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Restore"
msgstr "還原"
-#: openbox/client_menu.c:78
+#: openbox/client_menu.c:76
msgid "Maximize"
msgstr "最大化"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll down"
msgstr "向下捲動"
-#: openbox/client_menu.c:84
+#: openbox/client_menu.c:82
msgid "Roll up"
msgstr "向上捲動"
-#: openbox/client_menu.c:146
+#: openbox/client_menu.c:144
msgid "All desktops"
msgstr "所有桌面"
-#: openbox/client_menu.c:170
+#: openbox/client_menu.c:168
msgid "Layer"
msgstr "圖層"
-#: openbox/client_menu.c:175
+#: openbox/client_menu.c:173
msgid "Always on top"
msgstr "最上層"
-#: openbox/client_menu.c:180
+#: openbox/client_menu.c:178
msgid "Normal"
msgstr "一般"
-#: openbox/client_menu.c:185
+#: openbox/client_menu.c:183
msgid "Always on bottom"
msgstr "最下層"
-#: openbox/client_menu.c:188
+#: openbox/client_menu.c:186
msgid "Send to desktop"
msgstr "傳送到桌面"
-#: openbox/client_menu.c:192
+#: openbox/client_menu.c:190
msgid "Client menu"
msgstr "客戶端選單"
-#: openbox/client_menu.c:205
+#: openbox/client_menu.c:199
msgid "Iconify"
msgstr "最小化"
-#: openbox/client_menu.c:222
+#: openbox/client_menu.c:216
msgid "Raise to top"
msgstr "提到最上層"
-#: openbox/client_menu.c:226
+#: openbox/client_menu.c:220
msgid "Lower to bottom"
msgstr "降到最下層"
-#: openbox/client_menu.c:239
+#: openbox/client_menu.c:233
msgid "Decorate"
msgstr "裝飾"
-#: openbox/client_menu.c:245
+#: openbox/client_menu.c:239
msgid "Move"
msgstr "移動"
-#: openbox/client_menu.c:249
+#: openbox/client_menu.c:243
msgid "Resize"
msgstr "重新調整大小"
-#: openbox/client_menu.c:255
+#: openbox/client_menu.c:249
msgid "Close"
msgstr "關閉"
+#: openbox/openbox.c:106
+msgid "Couldn't set locale from environment."
+msgstr ""
+
+#: openbox/openbox.c:114
+#, fuzzy, c-format
+msgid "Unable to change to home directory (%s): %s"
+msgstr "無法製作目錄 '%s': %s"
+
+#: openbox/openbox.c:165
+msgid "X server does not support locale."
+msgstr ""
+
+#: openbox/openbox.c:167
+msgid "Cannot set locale modifiers for the X server."
+msgstr ""
+
+#: openbox/openbox.c:229
+msgid "Unable to find a valid config file, using some simple defaults"
+msgstr ""
+
+#: openbox/openbox.c:349
+#, c-format
+msgid "Restart failed to execute new executable '%s': %s"
+msgstr ""
+
+#: openbox/openbox.c:389 openbox/openbox.c:391
+msgid "Copyright (c)"
+msgstr ""
+
+#: openbox/openbox.c:400
+msgid ""
+"Syntax: openbox [options]\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:401
+msgid ""
+"Options:\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:402
+msgid ""
+" --reconfigure Tell the currently running instance of Openbox to\n"
+" reconfigure (and then exit immediately)\n"
+msgstr ""
+
+#: openbox/openbox.c:406
+msgid " --config-file FILE Specify the file to load for the config file\n"
+msgstr ""
+
+#: openbox/openbox.c:409
+msgid " --sm-disable Disable connection to session manager\n"
+msgstr ""
+
+#: openbox/openbox.c:411
+#, fuzzy
+msgid " --sm-client-id ID Specify session management ID\n"
+msgstr "--sm-client-id 要求引數\n"
+
+#: openbox/openbox.c:412
+msgid " --sm-save-file FILE Specify file to load a saved sessionfrom\n"
+msgstr ""
+
+#: openbox/openbox.c:415
+msgid " --replace Replace the currently running window manager\n"
+msgstr ""
+
+#: openbox/openbox.c:417
+msgid " --help Display this help and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:418
+msgid " --version Display the version and exit\n"
+msgstr ""
+
+#: openbox/openbox.c:419
+msgid ""
+" --sync Run in synchronous mode (this is slow and meant for\n"
+" debugging X routines)\n"
+msgstr ""
+
+#: openbox/openbox.c:422
+msgid " --debug Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:423
+msgid " --debug-focus Display debugging output\n"
+msgstr ""
+
+#: openbox/openbox.c:424
+#, c-format
+msgid ""
+"\n"
+"Please report bugs at %s\n"
+"\n"
+msgstr ""
+
+#: openbox/openbox.c:455
+#, fuzzy
+msgid "--config-file requires an argument\n"
+msgstr "--sm-save-file 要求引數\n"
+
#: openbox/session.c:124
msgid "--sm-client-id requires an argument\n"
msgstr "--sm-client-id 要求引數\n"
msgid "Unable to make directory '%s': %s"
msgstr "無法製作目錄 '%s': %s"
+#: openbox/session.c:343
+#, fuzzy, c-format
+msgid "Unable to save the session to '%s': %s"
+msgstr "無法製作目錄 '%s': %s"
+
+#: openbox/session.c:433
+#, c-format
+msgid "Error while saving the session to '%s': %s"
+msgstr ""
+
#~ msgid "Couldn't initialize Xft."
#~ msgstr "無法初始化 Xft。"
color.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
xcol.blue = 0;
xcol.pixel = 0;
if (!XParseColor(RrDisplay(inst), RrColormap(inst), colorname, &xcol)) {
- g_warning("unable to parse color '%s'", colorname);
+ g_message("Unable to parse color '%s'", colorname);
return NULL;
}
return RrColorNew(inst, xcol.red >> 8, xcol.green >> 8, xcol.blue >> 8);
}
break;
default:
- g_warning("your bit depth is currently unhandled\n");
+ g_error("Your bit depth is currently unhandled\n");
+
}
}
case 1:
break;
default:
- g_warning("Your bit depth is currently unhandled");
+ g_error("Your bit depth (%i) is currently unhandled",
+ im->bits_per_pixel);
}
}
di += im->bytes_per_line;
}
break;
case 8:
- g_warning("this image bit depth is currently unhandled");
+ g_error("This image bit depth (%i) is currently unhandled", 8);
break;
case 1:
for (y = 0; y < im->height; y++) {
}
break;
default:
- g_warning("this image bit depth is currently unhandled");
+ g_error("This image bit depth (%i) is currently unhandled",
+ im->bits_per_pixel);
}
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
color.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
font.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
font.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
geom.h for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
gradient.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
gradient.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
icon.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
image.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
image.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
instance.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
_ncolors = RrPseudoNcolors(inst);
if (_ncolors > 1 << inst->depth) {
- g_warning("PseudoRenderControl: Invalid colormap size. Resizing.\n");
+ g_message("Invalid colormap size. Resizing.");
inst->pseudo_bpc = 1 << (inst->depth/3) >> 3;
_ncolors = 1 << (inst->pseudo_bpc * 3);
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
instance.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
mask.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
mask.h for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
render.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
test.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
if (name) {
db = loaddb(theme, name, &path);
if (db == NULL) {
- g_warning("Failed to load the theme '%s'\n"
- "Falling back to the default: '%s'",
- name, DEFAULT_THEME);
+ g_message("Unable to load the theme '%s'", name);
+ g_message("Falling back to the default theme '%s'",
+ DEFAULT_THEME);
}
}
if (db == NULL) {
db = loaddb(theme, DEFAULT_THEME, &path);
if (db == NULL) {
- g_warning("Failed to load the theme '%s'.", DEFAULT_THEME);
+ g_message("Unable to load the theme '%s'", DEFAULT_THEME);
return NULL;
}
}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
aspect.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
fullscreen.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
grav.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
- modal.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ grouptran.c for the Openbox window manager
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
-icons.c for the Openbox window manager
-Copyright (c) 2003 Ben Jansens
+ icons.c for the Openbox window manager
+ Copyright (c) 2003-2007 Dana Jansens
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-See the COPYING file for a copy of the GNU General Public License.
+ See the COPYING file for a copy of the GNU General Public License.
*/
#include <X11/Xlib.h>
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
modal.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
modal2.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
modal3.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
noresize.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
override.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- /dev/null
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
+
+ positioned.c for the Openbox window manager
+ Copyright (c) 2007 Dana Jansens
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ See the COPYING file for a copy of the GNU General Public License.
+*/
+
+#include <string.h>
+#include <stdio.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+int main (int argc, char **argv) {
+ Display *display;
+ Window win;
+ XEvent report;
+ int x=200,y=200,h=100,w=400,s;
+ XSizeHints *size;
+
+ display = XOpenDisplay(NULL);
+
+ if (display == NULL) {
+ fprintf(stderr, "couldn't connect to X server :0\n");
+ return 0;
+ }
+
+ win = XCreateWindow(display, RootWindow(display, 0),
+ x, y, w, h, 0, CopyFromParent, CopyFromParent,
+ CopyFromParent, 0, NULL);
+ XSetWindowBackground(display,win,WhitePixel(display,0));
+
+ size = XAllocSizeHints();
+ size->flags = PPosition;
+ XSetWMNormalHints(display,win,size);
+ XFree(size);
+
+ XFlush(display);
+ XMapWindow(display, win);
+
+ XSelectInput(display, win, StructureNotifyMask | ButtonPressMask);
+
+ while (1) {
+ XNextEvent(display, &report);
+
+ switch (report.type) {
+ case ButtonPress:
+ XUnmapWindow(display, win);
+ break;
+ case ConfigureNotify:
+ x = report.xconfigure.x;
+ y = report.xconfigure.y;
+ w = report.xconfigure.width;
+ h = report.xconfigure.height;
+ s = report.xconfigure.send_event;
+ printf("confignotify %i,%i-%ix%i (send: %d)\n",x,y,w,h,s);
+ break;
+ }
+
+ }
+
+ return 1;
+}
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
- fullscreen.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ strut.c for the Openbox window manager
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
- noresize.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ title.c for the Openbox window manager
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
urgent.c for the Openbox window manager
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by