po/quot.sed
po/remove-potcdate.sin
po/stamp-po
+po/en@boldquot.insert-header
+po/en@quot.insert-header
+po/remove-potcdate.sed
*.gmo
render/obrender-4.0.pc
obt/obt-4.0.pc
version.h
.libs
.deps
+tests/aspect
+tests/big
+tests/borderchange
+tests/confignotify
+tests/confignotifymax
+tests/duplicatesession
+tests/extentsrequest
+tests/fakeunmap
+tests/fallback
+tests/focusout
+tests/fullscreen
+tests/grav
+tests/groupmodal
+tests/grouptran
+tests/grouptran2
+tests/grouptrancircular
+tests/grouptrancircular2
+tests/icons
+tests/mapiconic
+tests/modal
+tests/modal2
+tests/modal3
+tests/noresize
+tests/override
+tests/positioned
+tests/resize
+tests/restack
+tests/shape
+tests/showhide
+tests/skiptaskbar
+tests/skiptaskbar2
+tests/stacking
+tests/strut
+tests/title
+tests/urgent
+tests/usertimewin
dist_clearlooks_theme_DATA= \
themes/Clearlooks/openbox-3/themerc
+clearlooks34_themedir = $(themedir)/Clearlooks/openbox-3
+dist_clearlooks34_theme_DATA= \
+ themes/Clearlooks-3.4/openbox-3/themerc
+
clearlooksolive_themedir = $(themedir)/Clearlooks-Olive/openbox-3
dist_clearlooksolive_theme_DATA= \
themes/Clearlooks-Olive/openbox-3/themerc
# our config tool
ConfigExec=obconf
+
+[Window Manager]
+SessionManaged=true
<center>yes</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
- <active>no</active>
- <!-- force new windows ont the active monitor on a multi-head system, unless
- they are part of an application already on another monitor -->
+ <monitor>Any</monitor>
+ <!-- with Smart placement on a multi-monitor system, try to place new windows
+ on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
+ the active window is -->
</placement>
<theme>
<name>Clearlooks</name>
<titleLayout>NLIMC</titleLayout>
<!--
- avaible characters are NDSLIMC, each can occur at most once.
+ available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
</xsd:annotation>
<xsd:element name="policy" type="ob:placementpolicy"/>
<xsd:element name="center" type="ob:bool"/>
- <xsd:element name="active" type="ob:bool"/>
+ <xsd:element name="monitor" type="ob:placementmonitor"/>
</xsd:complexType>
<xsd:complexType name="margins">
<xsd:annotation>
<xsd:enumeration value="UnderMouse"/>
</xsd:restriction>
</xsd:simpleType>
+ <xsd:simpleType name="placementmonitor">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Any"/>
+ <xsd:enumeration value="Mouse"/>
+ <xsd:enumeration value="Active"/>
+ </xsd:restriction>
+ </xsd:simpleType>
<xsd:simpleType name="popupposition">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Top"/>
else if (config_focus_follow &&
data->context != OB_FRAME_CONTEXT_CLIENT)
{
- if (!data->button && data->client && !config_focus_under_mouse)
- event_end_ignore_all_enters(ignore_start);
- else {
+ if (data->uact == OB_USER_ACTION_MOUSE_PRESS) {
struct _ObClient *c;
/* usually this is sorta redundant, but with a press action
event_enter_client(c);
}
}
+ else if (!data->button && !config_focus_under_mouse)
+ event_end_ignore_all_enters(ignore_start);
}
}
#include "obt/paths.h"
#include "gettext.h"
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
typedef struct {
gchar *cmd;
gboolean sn;
program = g_path_get_basename(argv[0]);
/* sets up the environment */
sn_setup_spawn_environment(program, o->sn_name, o->sn_icon,
+ o->sn_wmclass,
/* launch it on the current desktop */
screen_desktop);
}
}
}
+ /* manage windows in reverse order from how they were originally mapped.
+ this is an attempt to manage children windows before their parents, so
+ that when the parent is mapped, it can find the child */
for (i = 0; i < nchild; ++i) {
if (children[i] == None)
continue;
ob_debug("Window type: %d\n", self->type);
ob_debug("Window group: 0x%x\n", self->group?self->group->leader:0);
+ /* now we have all of the window's information so we can set this up.
+ do this before creating the frame, so it can tell that we are still
+ mapping and doesn't go applying things right away */
+ client_setup_decor_and_functions(self, FALSE);
+
/* specify that if we exit, the window should not be destroyed and
should be reparented back to root automatically */
XChangeSaveSet(obt_display, window, SetModeInsert);
/* the session should get the last say though */
client_restore_session_state(self);
- /* now we have all of the window's information so we can set this up */
- client_setup_decor_and_functions(self, FALSE);
-
/* tell startup notification that this app started */
- launch_time = sn_app_started(self->startup_id, self->class);
+ launch_time = sn_app_started(self->startup_id, self->class, self->name);
/* do this after we have a frame.. it uses the frame to help determine the
WM_STATE to apply. */
g_free(self->icons[j].data);
if (self->nicons > 0)
g_free(self->icons);
+ g_free(self->startup_id);
g_free(self->wm_command);
g_free(self->title);
g_free(self->icon_title);
OBT_PROP_SETA32(self->window, NET_WM_ALLOWED_ACTIONS, ATOM, actions, num);
- /* make sure the window isn't breaking any rules now
+ /* make sure the window isn't breaking any rules now
- don't check ICONIFY here. just cuz a window can't iconify doesnt mean
- it can't be iconified with its parent
- */
+ don't check ICONIFY here. just cuz a window can't iconify doesnt mean
+ it can't be iconified with its parent
+ */
if (!(self->functions & OB_CLIENT_FUNC_SHADE) && self->shaded) {
if (self->frame) client_shade(self, FALSE);
}
}
+/* Avoid storing icons above this size if possible */
+#define AVOID_ABOVE 64
+
void client_update_icons(ObClient *self)
{
guint num;
guint32 *data;
guint w, h, i, j;
+ guint num_seen; /* number of icons present */
+ guint num_small_seen; /* number of icons small enough present */
+ guint smallest, smallest_area;
for (i = 0; i < self->nicons; ++i)
g_free(self->icons[i].data);
if (OBT_PROP_GETA32(self->window, NET_WM_ICON, CARDINAL, &data, &num)) {
/* figure out how many valid icons are in here */
i = 0;
- while (num - i > 2) {
- w = data[i++];
- h = data[i++];
- i += w * h;
- if (i > num || w*h == 0) break;
- ++self->nicons;
- }
+ num_seen = num_small_seen = 0;
+ smallest = smallest_area = 0;
+ if (num > 2)
+ while (i < num) {
+ w = data[i++];
+ h = data[i++];
+ i += w * h;
+ /* watch for it being too small for the specified size, or for
+ zero sized icons. */
+ if (i > num || w == 0 || h == 0) break;
+
+ if (!smallest_area || w*h < smallest_area) {
+ smallest = num_seen;
+ smallest_area = w*h;
+ }
+ ++num_seen;
+ if (w <= AVOID_ABOVE && h <= AVOID_ABOVE)
+ ++num_small_seen;
+ }
+ if (num_small_seen > 0)
+ self->nicons = num_small_seen;
+ else if (num_seen)
+ self->nicons = 1;
self->icons = g_new(ObClientIcon, self->nicons);
/* store the icons */
i = 0;
- for (j = 0; j < self->nicons; ++j) {
+ for (j = 0; j < self->nicons;) {
guint x, y, t;
w = self->icons[j].width = data[i++];
h = self->icons[j].height = data[i++];
- if (w*h == 0) continue;
+ /* if there are some icons smaller than the threshold, we're
+ skipping all the ones above */
+ if (num_small_seen > 0) {
+ if (w > AVOID_ABOVE || h > AVOID_ABOVE) {
+ i += w*h;
+ continue;
+ }
+ }
+ /* if there were no icons smaller than the threshold, then we are
+ only taking the smallest available one we saw */
+ else if (j != smallest) {
+ i += w*h;
+ continue;
+ }
self->icons[j].data = g_new(RrPixel32, w * h);
for (x = 0, y = 0, t = 0; t < w * h; ++t, ++x, ++i) {
(((data[i] >> 0) & 0xff) << RrDefaultBlueOffset);
}
g_assert(i <= num);
+
+ ++j;
}
g_free(data);
RECT_SET(self->icon_geometry, 0, 0, 0, 0);
if (OBT_PROP_GETA32(self->window, NET_WM_ICON_GEOMETRY, CARDINAL,
- &data, &num) && num == 4)
+ &data, &num))
{
- /* don't let them set it with an area < 0 */
- RECT_SET(self->icon_geometry, data[0], data[1],
- MAX(data[2],0), MAX(data[3],0));
+ if (num == 4)
+ /* don't let them set it with an area < 0 */
+ RECT_SET(self->icon_geometry, data[0], data[1],
+ MAX(data[2],0), MAX(data[3],0));
+ g_free(data);
}
}
#include "menuframe.h"
#include "screen.h"
#include "client.h"
+#include "client_list_combined_menu.h"
#include "focus.h"
#include "config.h"
#include "gettext.h"
#include "menuframe.h"
#include "screen.h"
#include "client.h"
+#include "client_list_menu.h"
#include "focus.h"
#include "config.h"
#include "gettext.h"
#include "config.h"
#include "screen.h"
#include "client.h"
+#include "client_menu.h"
#include "openbox.h"
#include "frame.h"
#include "moveresize.h"
gboolean config_focus_last;
gboolean config_focus_under_mouse;
-ObPlacePolicy config_place_policy;
-gboolean config_place_center;
-gboolean config_place_active;
+ObPlacePolicy config_place_policy;
+gboolean config_place_center;
+ObPlaceMonitor config_place_monitor;
StrutPartial config_margins;
RrFont *config_font_menutitle;
RrFont *config_font_osd;
-gint config_desktops_num;
+guint config_desktops_num;
GSList *config_desktops_names;
guint config_screen_firstdesk;
guint config_desktop_popup_time;
config_place_policy = OB_PLACE_POLICY_MOUSE;
if ((n = obt_parse_find_node(node, "center")))
config_place_center = obt_parse_node_bool(n);
- if ((n = obt_parse_find_node(node, "active")))
- config_place_active = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "monitor"))) {
+ if (obt_parse_node_contains(n, "active"))
+ config_place_monitor = OB_PLACE_MONITOR_ACTIVE;
+ else if (obt_parse_node_contains(n, "mouse"))
+ config_place_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
}
static void parse_margins(xmlNodePtr node, gpointer d)
if ((n = obt_parse_find_node(node, "number"))) {
gint d = obt_parse_node_int(n);
if (d > 0)
- config_desktops_num = d;
+ config_desktops_num = (unsigned) d;
}
if ((n = obt_parse_find_node(node, "firstdesk"))) {
gint d = obt_parse_node_int(n);
config_place_policy = OB_PLACE_POLICY_SMART;
config_place_center = TRUE;
- config_place_active = FALSE;
+ config_place_monitor = OB_PLACE_MONITOR_ANY;
obt_parse_register(i, "placement", parse_placement, NULL);
RrFontClose(config_font_inactivewindow);
RrFontClose(config_font_menuitem);
RrFontClose(config_font_menutitle);
+ RrFontClose(config_font_osd);
for (it = config_desktops_names; it; it = g_slist_next(it))
g_free(it->data);
extern gboolean config_place_center;
/*! Place windows on the active monitor (unless they are part of an application
already on another monitor) */
-extern gboolean config_place_active;
+extern ObPlaceMonitor config_place_monitor;
/*! User-specified margins around the edge of the screen(s) */
extern StrutPartial config_margins;
extern RrFont *config_font_osd;
/*! The number of desktops */
-extern gint config_desktops_num;
+extern guint config_desktops_num;
/*! Desktop to start on, put 5 to start in the center of a 3x3 grid */
extern guint config_screen_firstdesk;
/*! Names for the desktops */
}
}
- dock->area.width += l + r;
- dock->area.height += t + b;
+ if (dock->dock_apps) {
+ dock->area.width += l + r;
+ dock->area.height += t + b;
+ }
hspot = l;
vspot = t;
if (!dock->dock_apps) {
STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0);
- } else if (config_dock_floating || config_dock_nostrut)
- {
+ }
+ else if (config_dock_floating || config_dock_nostrut) {
STRUT_PARTIAL_SET(dock_strut, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0);
- } else {
+ }
+ else {
switch (config_dock_pos) {
case OB_DIRECTION_NORTHWEST:
switch (config_dock_orient) {
} else
XUnmapWindow(obt_display, dock->frame);
- /* but they are useful outside of this function! */
- dock->area.width += ob_rr_theme->obwidth * 2;
- dock->area.height += ob_rr_theme->obwidth * 2;
+ /* but they are useful outside of this function! but don't add it if the
+ dock is actually not visible */
+ if (dock->dock_apps) {
+ dock->area.width += ob_rr_theme->obwidth * 2;
+ dock->area.height += ob_rr_theme->obwidth * 2;
+ }
screen_update_areas();
magic. Our X core protocol stuff won't work, so we use this to
find what the modifier state is instead. */
if (XkbGetState(obt_display, XkbUseCoreKbd, &xkb_state) == Success)
- e->xkey.state = xkb_state.compat_state;
+ e->xkey.state =
+ obt_keyboard_only_modmasks(xkb_state.compat_state);
else
#endif
{
gulong event_start_ignore_all_enters(void)
{
- XSync(obt_display, FALSE);
- return LastKnownRequestProcessed(obt_display);
+ return NextRequest(obt_display);
}
static void event_ignore_enter_range(gulong start, gulong end)
r->start, r->end);
/* increment the serial so we don't ignore events we weren't meant to */
- XSync(obt_display, FALSE);
+ OBT_PROP_ERASE(screen_support_win, MOTIF_WM_HINTS);
}
void event_end_ignore_all_enters(gulong start)
{
- XSync(obt_display, FALSE);
- event_ignore_enter_range(start, LastKnownRequestProcessed(obt_display));
+ /* Use (NextRequest-1) so that we ignore up to the current serial only.
+ Inside event_ignore_enter_range, we increment the serial by one, but if
+ we ignore that serial too, then any enter events generated by mouse
+ movement will be ignored until we create some further network traffic.
+ Instead ignore up to NextRequest-1, then when we increment the serial,
+ we will be *past* the range of ignored serials */
+ event_ignore_enter_range(start, NextRequest(obt_display)-1);
}
static gboolean is_enter_focus_event_ignored(XEvent *e)
*/
gint x, y, w, h;
gint wt, wl, wr, wb;
+ gulong ignore_start;
wt = wl = wr = wb = FOCUS_INDICATOR_WIDTH;
w = c->frame->area.width;
h = wt;
+ /* kill enter events cause by this moving */
+ ignore_start = event_start_ignore_all_enters();
+
XMoveResizeWindow(obt_display, focus_indicator.top.window,
x, y, w, h);
a_focus_indicator->texture[0].data.lineart.x1 = 0;
XMapWindow(obt_display, focus_indicator.right.window);
XMapWindow(obt_display, focus_indicator.bottom.window);
+ event_end_ignore_all_enters(ignore_start);
+
visible = TRUE;
}
}
g_free(t->text);
XDestroyWindow(obt_display, t->win);
+ g_free(t);
popup.targets = g_list_delete_link(popup.targets, popup.targets);
}
ob_rr_theme->paddingx + 1, ob_rr_theme->title_height);
XResizeWindow(obt_display, self->trrresize,
ob_rr_theme->paddingx + 1, ob_rr_theme->title_height);
-
- /* set up the dynamic appearances */
- self->a_unfocused_title = RrAppearanceCopy(ob_rr_theme->a_unfocused_title);
- self->a_focused_title = RrAppearanceCopy(ob_rr_theme->a_focused_title);
- self->a_unfocused_label = RrAppearanceCopy(ob_rr_theme->a_unfocused_label);
- self->a_focused_label = RrAppearanceCopy(ob_rr_theme->a_focused_label);
- self->a_unfocused_handle =
- RrAppearanceCopy(ob_rr_theme->a_unfocused_handle);
- self->a_focused_handle = RrAppearanceCopy(ob_rr_theme->a_focused_handle);
- self->a_icon = RrAppearanceCopy(ob_rr_theme->a_icon);
}
static void free_theme_statics(ObFrame *self)
{
- RrAppearanceFree(self->a_unfocused_title);
- RrAppearanceFree(self->a_focused_title);
- RrAppearanceFree(self->a_unfocused_label);
- RrAppearanceFree(self->a_focused_label);
- RrAppearanceFree(self->a_unfocused_handle);
- RrAppearanceFree(self->a_focused_handle);
- RrAppearanceFree(self->a_icon);
}
void frame_free(ObFrame *self)
Colormap colormap;
- RrAppearance *a_unfocused_title;
- RrAppearance *a_focused_title;
- RrAppearance *a_unfocused_label;
- RrAppearance *a_focused_label;
- RrAppearance *a_icon;
- RrAppearance *a_unfocused_handle;
- RrAppearance *a_focused_handle;
-
- GSList *clients;
-
gint icon_on; /* if the window icon button is on */
gint label_on; /* if the window title is on */
gint iconify_on; /* if the window iconify button is on */
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
RrAppearance *t, *l, *m, *n, *i, *d, *s, *c, *clear;
if (self->focused) {
-
- t = self->a_focused_title;
- l = self->a_focused_label;
-
+ t = ob_rr_theme->a_focused_title;
+ l = ob_rr_theme->a_focused_label;
m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
ob_rr_theme->a_disabled_focused_max :
(self->client->max_vert || self->client->max_horz ?
(self->max_hover ?
ob_rr_theme->a_hover_focused_max :
ob_rr_theme->a_focused_unpressed_max))));
- n = self->a_icon;
+ n = ob_rr_theme->a_icon;
i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
ob_rr_theme->a_disabled_focused_iconify :
(self->iconify_press ?
ob_rr_theme->a_hover_focused_close :
ob_rr_theme->a_focused_unpressed_close)));
} else {
- t = self->a_unfocused_title;
- l = self->a_unfocused_label;
+ t = ob_rr_theme->a_unfocused_title;
+ l = ob_rr_theme->a_unfocused_label;
m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
ob_rr_theme->a_disabled_unfocused_max :
(self->client->max_vert || self->client->max_horz ?
(self->max_hover ?
ob_rr_theme->a_hover_unfocused_max :
ob_rr_theme->a_unfocused_unpressed_max))));
- n = self->a_icon;
+ n = ob_rr_theme->a_icon;
i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
ob_rr_theme->a_disabled_unfocused_iconify :
(self->iconify_press ?
RrAppearance *h, *g;
h = (self->focused ?
- self->a_focused_handle : self->a_unfocused_handle);
+ ob_rr_theme->a_focused_handle : ob_rr_theme->a_unfocused_handle);
RrPaint(h, self->handle, self->width, ob_rr_theme->handle_height);
XSetWindowAttributes attr;
self = g_new0(ObMenuFrame, 1);
- self->type = OB_WINDOW_CLASS_MENUFRAME;
+ self->obwin.type = OB_WINDOW_CLASS_MENUFRAME;
self->menu = menu;
self->selected = NULL;
self->client = client;
XSetWindowBorder(obt_display, self->window,
RrColorPixel(ob_rr_theme->menu_border_color));
- self->a_title = RrAppearanceCopy(ob_rr_theme->a_menu_title);
self->a_items = RrAppearanceCopy(ob_rr_theme->a_menu);
window_add(&self->window, MENUFRAME_AS_WINDOW(self));
stacking_remove(MENUFRAME_AS_WINDOW(self));
window_remove(self->window);
- XDestroyWindow(obt_display, self->window);
-
RrAppearanceFree(self->a_items);
- RrAppearanceFree(self->a_title);
+
+ XDestroyWindow(obt_display, self->window);
g_free(self);
}
XMapWindow(obt_display, self->window);
XMapWindow(obt_display, self->text);
- self->a_normal = RrAppearanceCopy(ob_rr_theme->a_menu_normal);
- self->a_selected = RrAppearanceCopy(ob_rr_theme->a_menu_selected);
- self->a_disabled = RrAppearanceCopy(ob_rr_theme->a_menu_disabled);
- self->a_disabled_selected =
- RrAppearanceCopy(ob_rr_theme->a_menu_disabled_selected);
-
- if (entry->type == OB_MENU_ENTRY_TYPE_SEPARATOR) {
- self->a_separator = RrAppearanceCopy(ob_rr_theme->a_clear_tex);
- self->a_separator->texture[0].type = RR_TEXTURE_LINE_ART;
- } else {
- self->a_icon = RrAppearanceCopy(ob_rr_theme->a_clear_tex);
- self->a_icon->texture[0].type = RR_TEXTURE_RGBA;
- self->a_mask = RrAppearanceCopy(ob_rr_theme->a_clear_tex);
- self->a_mask->texture[0].type = RR_TEXTURE_MASK;
- self->a_bullet_normal =
- RrAppearanceCopy(ob_rr_theme->a_menu_bullet_normal);
- self->a_bullet_selected =
- RrAppearanceCopy(ob_rr_theme->a_menu_bullet_selected);
- }
-
- self->a_text_normal =
- RrAppearanceCopy(ob_rr_theme->a_menu_text_normal);
- self->a_text_selected =
- RrAppearanceCopy(ob_rr_theme->a_menu_text_selected);
- self->a_text_disabled =
- RrAppearanceCopy(ob_rr_theme->a_menu_text_disabled);
- self->a_text_disabled_selected =
- RrAppearanceCopy(ob_rr_theme->a_menu_text_disabled_selected);
- self->a_text_title =
- RrAppearanceCopy(ob_rr_theme->a_menu_text_title);
-
window_add(&self->window, MENUFRAME_AS_WINDOW(self->frame));
return self;
g_hash_table_remove(menu_frame_map, &self->bullet);
}
- RrAppearanceFree(self->a_normal);
- RrAppearanceFree(self->a_selected);
- RrAppearanceFree(self->a_disabled);
- RrAppearanceFree(self->a_disabled_selected);
-
- RrAppearanceFree(self->a_separator);
- RrAppearanceFree(self->a_icon);
- RrAppearanceFree(self->a_mask);
- RrAppearanceFree(self->a_text_normal);
- RrAppearanceFree(self->a_text_selected);
- RrAppearanceFree(self->a_text_disabled);
- RrAppearanceFree(self->a_text_disabled_selected);
- RrAppearanceFree(self->a_text_title);
- RrAppearanceFree(self->a_bullet_normal);
- RrAppearanceFree(self->a_bullet_selected);
-
g_free(self);
}
}
!self->entry->data.normal.enabled ?
/* disabled */
(self == self->frame->selected ?
- self->a_disabled_selected : self->a_disabled) :
+ ob_rr_theme->a_menu_disabled_selected :
+ ob_rr_theme->a_menu_disabled) :
/* enabled */
(self == self->frame->selected ?
- self->a_selected : self->a_normal));
+ ob_rr_theme->a_menu_selected :
+ ob_rr_theme->a_menu_normal));
th = ITEM_HEIGHT;
break;
case OB_MENU_ENTRY_TYPE_SEPARATOR:
if (self->entry->data.separator.label) {
- item_a = self->frame->a_title;
+ item_a = ob_rr_theme->a_menu_title;
th = ob_rr_theme->menu_title_height;
} else {
- item_a = self->a_normal;
+ item_a = ob_rr_theme->a_menu_normal;
th = SEPARATOR_HEIGHT + 2*PADDING;
}
break;
!self->entry->data.normal.enabled ?
/* disabled */
(self == self->frame->selected ?
- self->a_text_disabled_selected : self->a_text_disabled) :
+ ob_rr_theme->a_menu_text_disabled_selected :
+ ob_rr_theme->a_menu_text_disabled) :
/* enabled */
(self == self->frame->selected ?
- self->a_text_selected : self->a_text_normal));
+ ob_rr_theme->a_menu_text_selected :
+ ob_rr_theme->a_menu_text_normal));
text_a->texture[0].data.text.string = self->entry->data.normal.label;
if (self->entry->data.normal.shortcut &&
(self->frame->menu->show_all_shortcuts ||
break;
case OB_MENU_ENTRY_TYPE_SUBMENU:
text_a = (self == self->frame->selected ?
- self->a_text_selected :
- self->a_text_normal);
+ ob_rr_theme->a_menu_text_selected :
+ ob_rr_theme->a_menu_text_normal);
sub = self->entry->data.submenu.submenu;
text_a->texture[0].data.text.string = sub ? sub->title : "";
if (sub->shortcut && (self->frame->menu->show_all_shortcuts ||
break;
case OB_MENU_ENTRY_TYPE_SEPARATOR:
if (self->entry->data.separator.label != NULL)
- text_a = self->a_text_title;
+ text_a = ob_rr_theme->a_menu_text_title;
else
- text_a = self->a_text_normal;
+ text_a = ob_rr_theme->a_menu_text_normal;
break;
}
ob_rr_theme->menu_title_height -
2*ob_rr_theme->paddingy);
} else {
+ RrAppearance *clear;
+
/* unlabeled separaator */
XMoveResizeWindow(obt_display, self->text, PADDING, PADDING,
self->area.width - 2*PADDING, SEPARATOR_HEIGHT);
- self->a_separator->surface.parent = item_a;
- self->a_separator->surface.parentx = PADDING;
- self->a_separator->surface.parenty = PADDING;
- self->a_separator->texture[0].data.lineart.color =
+
+ clear = ob_rr_theme->a_clear_tex;
+ clear->texture[0].type = RR_TEXTURE_LINE_ART;
+ clear->surface.parent = item_a;
+ clear->surface.parentx = PADDING;
+ clear->surface.parenty = PADDING;
+ clear->texture[0].data.lineart.color =
text_a->texture[0].data.text.color;
- self->a_separator->texture[0].data.lineart.x1 = 2*PADDING;
- self->a_separator->texture[0].data.lineart.y1 = SEPARATOR_HEIGHT/2;
- self->a_separator->texture[0].data.lineart.x2 =
- self->area.width - 4*PADDING;
- self->a_separator->texture[0].data.lineart.y2 = SEPARATOR_HEIGHT/2;
- RrPaint(self->a_separator, self->text,
+ clear->texture[0].data.lineart.x1 = 2*PADDING;
+ clear->texture[0].data.lineart.y1 = SEPARATOR_HEIGHT/2;
+ clear->texture[0].data.lineart.x2 = self->area.width - 4*PADDING;
+ clear->texture[0].data.lineart.y2 = SEPARATOR_HEIGHT/2;
+ RrPaint(clear, self->text,
self->area.width - 2*PADDING, SEPARATOR_HEIGHT);
}
break;
if (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL &&
self->entry->data.normal.icon_data)
{
+ RrAppearance *clear;
+
XMoveResizeWindow(obt_display, self->icon,
PADDING, frame->item_margin.top,
ITEM_HEIGHT - frame->item_margin.top
- frame->item_margin.bottom,
ITEM_HEIGHT - frame->item_margin.top
- frame->item_margin.bottom);
- self->a_icon->texture[0].data.rgba.width =
+
+ clear = ob_rr_theme->a_clear_tex;
+ clear->texture[0].type = RR_TEXTURE_RGBA;
+ clear->texture[0].data.rgba.width =
self->entry->data.normal.icon_width;
- self->a_icon->texture[0].data.rgba.height =
+ clear->texture[0].data.rgba.height =
self->entry->data.normal.icon_height;
- self->a_icon->texture[0].data.rgba.alpha =
+ clear->texture[0].data.rgba.alpha =
self->entry->data.normal.icon_alpha;
- self->a_icon->texture[0].data.rgba.data =
+ clear->texture[0].data.rgba.data =
self->entry->data.normal.icon_data;
- self->a_icon->surface.parent = item_a;
- self->a_icon->surface.parentx = PADDING;
- self->a_icon->surface.parenty = frame->item_margin.top;
- RrPaint(self->a_icon, self->icon,
+ clear->surface.parent = item_a;
+ clear->surface.parentx = PADDING;
+ clear->surface.parenty = frame->item_margin.top;
+ RrPaint(clear, self->icon,
ITEM_HEIGHT - frame->item_margin.top
- frame->item_margin.bottom,
ITEM_HEIGHT - frame->item_margin.top
self->entry->data.normal.mask)
{
RrColor *c;
+ RrAppearance *clear;
XMoveResizeWindow(obt_display, self->icon,
PADDING, frame->item_margin.top,
- frame->item_margin.bottom,
ITEM_HEIGHT - frame->item_margin.top
- frame->item_margin.bottom);
- self->a_mask->texture[0].data.mask.mask =
+
+ clear = ob_rr_theme->a_clear_tex;
+ clear->texture[0].type = RR_TEXTURE_MASK;
+ clear->texture[0].data.mask.mask =
self->entry->data.normal.mask;
c = (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL &&
(self == self->frame->selected ?
self->entry->data.normal.mask_selected_color :
self->entry->data.normal.mask_normal_color));
- self->a_mask->texture[0].data.mask.color = c;
+ clear->texture[0].data.mask.color = c;
- self->a_mask->surface.parent = item_a;
- self->a_mask->surface.parentx = PADDING;
- self->a_mask->surface.parenty = frame->item_margin.top;
- RrPaint(self->a_mask, self->icon,
+ clear->surface.parent = item_a;
+ clear->surface.parentx = PADDING;
+ clear->surface.parenty = frame->item_margin.top;
+ RrPaint(clear, self->icon,
ITEM_HEIGHT - frame->item_margin.top
- frame->item_margin.bottom,
ITEM_HEIGHT - frame->item_margin.top
ITEM_HEIGHT - 2*PADDING,
ITEM_HEIGHT - 2*PADDING);
bullet_a = (self == self->frame->selected ?
- self->a_bullet_selected :
- self->a_bullet_normal);
+ ob_rr_theme->a_menu_bullet_selected :
+ ob_rr_theme->a_menu_bullet_normal);
bullet_a->surface.parent = item_a;
bullet_a->surface.parentx =
self->frame->text_x + self->frame->text_w - ITEM_HEIGHT + PADDING;
gint l, t, r, b;
e = self->entries->data;
- e->a_text_normal->texture[0].data.text.string = "";
- tw = RrMinWidth(e->a_text_normal);
+ ob_rr_theme->a_menu_text_normal->texture[0].data.text.string = "";
+ tw = RrMinWidth(ob_rr_theme->a_menu_text_normal);
tw += 2*PADDING;
th = ITEM_HEIGHT;
- RrMargins(e->a_normal, &l, &t, &r, &b);
+ RrMargins(ob_rr_theme->a_menu_normal, &l, &t, &r, &b);
STRUT_SET(self->item_margin,
MAX(self->item_margin.left, l),
MAX(self->item_margin.top, t),
MAX(self->item_margin.right, r),
MAX(self->item_margin.bottom, b));
- RrMargins(e->a_selected, &l, &t, &r, &b);
+ RrMargins(ob_rr_theme->a_menu_selected, &l, &t, &r, &b);
STRUT_SET(self->item_margin,
MAX(self->item_margin.left, l),
MAX(self->item_margin.top, t),
MAX(self->item_margin.right, r),
MAX(self->item_margin.bottom, b));
- RrMargins(e->a_disabled, &l, &t, &r, &b);
+ RrMargins(ob_rr_theme->a_menu_disabled, &l, &t, &r, &b);
STRUT_SET(self->item_margin,
MAX(self->item_margin.left, l),
MAX(self->item_margin.top, t),
MAX(self->item_margin.right, r),
MAX(self->item_margin.bottom, b));
- RrMargins(e->a_disabled_selected, &l, &t, &r, &b);
+ RrMargins(ob_rr_theme->a_menu_disabled_selected, &l, &t, &r, &b);
STRUT_SET(self->item_margin,
MAX(self->item_margin.left, l),
MAX(self->item_margin.top, t),
!e->entry->data.normal.enabled ?
/* disabled */
(e == self->selected ?
- e->a_text_disabled_selected : e->a_text_disabled) :
+ ob_rr_theme->a_menu_text_disabled_selected :
+ ob_rr_theme->a_menu_text_disabled) :
/* enabled */
(e == self->selected ?
- e->a_text_selected : e->a_text_normal));
+ ob_rr_theme->a_menu_text_selected :
+ ob_rr_theme->a_menu_text_normal));
switch (e->entry->type) {
case OB_MENU_ENTRY_TYPE_NORMAL:
text_a->texture[0].data.text.string = e->entry->data.normal.label;
break;
case OB_MENU_ENTRY_TYPE_SEPARATOR:
if (e->entry->data.separator.label != NULL) {
- e->a_text_title->texture[0].data.text.string =
+ ob_rr_theme->a_menu_text_title->texture[0].data.text.string =
e->entry->data.separator.label;
- tw = RrMinWidth(e->a_text_title) + 2*ob_rr_theme->paddingx;
+ tw = RrMinWidth(ob_rr_theme->a_menu_text_title) +
+ 2*ob_rr_theme->paddingx;
tw = MIN(tw, MAX_MENU_WIDTH);
th = ob_rr_theme->menu_title_height +
(ob_rr_theme->mbwidth - PADDING) *2;
struct _ObMenuFrame
{
/* stuff to be an ObWindow */
- ObWindow type;
+ ObWindow obwin;
Window window;
struct _ObMenu *menu;
gint monitor; /* monitor on which to show the menu in xinerama */
- RrAppearance *a_title;
+ /* We make a copy of this for each menu, so that we don't have to re-render
+ the background of the entire menu each time we render an item inside it.
+ */
RrAppearance *a_items;
gboolean got_press; /* don't allow a KeyRelease event to run things in the
Window icon;
Window text;
Window bullet;
-
- RrAppearance *a_normal;
- RrAppearance *a_selected;
- RrAppearance *a_disabled;
- RrAppearance *a_disabled_selected;
-
- RrAppearance *a_icon;
- RrAppearance *a_mask;
- RrAppearance *a_bullet_normal;
- RrAppearance *a_bullet_selected;
- RrAppearance *a_separator;
- RrAppearance *a_text_normal;
- RrAppearance *a_text_selected;
- RrAppearance *a_text_disabled;
- RrAppearance *a_text_disabled_selected;
- RrAppearance *a_text_title;
};
extern GHashTable *menu_frame_map;
#ifdef SYNC
if (config_resize_redraw && !moving && obt_display_extension_sync &&
- moveresize_client->sync_request && moveresize_client->sync_counter)
+ moveresize_client->sync_request && moveresize_client->sync_counter &&
+ !moveresize_client->not_responding)
{
/* Initialize values for the resize syncing, and create an alarm for
the client's xsync counter */
#ifdef SYNC
if (config_resize_redraw && obt_display_extension_sync &&
- moveresize_client->sync_request && moveresize_client->sync_counter)
+ moveresize_client->sync_request && moveresize_client->sync_counter &&
+ !moveresize_client->not_responding)
{
XEvent ce;
XSyncValue val;
#include "focus_cycle_popup.h"
#include "moveresize.h"
#include "frame.h"
+#include "framerender.h"
#include "keyboard.h"
#include "mouse.h"
#include "menuframe.h"
/* set the DISPLAY environment variable for any lauched children, to the
display we're using, so they open in the right place. */
- putenv(g_strdup_printf("DISPLAY=%s", DisplayString(obt_display)));
+ setenv("DISPLAY", DisplayString(obt_display), TRUE);
/* create available cursors */
cursors[OB_CURSOR_NONE] = None;
static void parse_env()
{
/* unset this so we don't pass it on unknowingly */
- gchar *s = g_strdup("DESKTOP_STARTUP_ID");
- putenv(s);
- g_free(s);
+ unsetenv("DESKTOP_STARTUP_ID");
}
static void parse_args(gint *argc, gchar **argv)
}
}
- if (focus_client && client_normal(focus_client)) {
+ /* skip this if placing by the mouse position */
+ if (focus_client && client_normal(focus_client) &&
+ config_place_monitor != OB_PLACE_MONITOR_MOUSE)
+ {
add_choice(choice, client_monitor(focus_client));
ob_debug("placement adding choice %d for normal focused window\n",
client_monitor(focus_client));
guint i;
areas = pick_head(client);
- i = config_place_active ? 0 : g_random_int_range(0, screen_num_monitors);
+ i = (config_place_monitor != OB_PLACE_MONITOR_ANY) ?
+ 0 : g_random_int_range(0, screen_num_monitors);
l = areas[i]->x;
t = areas[i]->y;
/* try ignoring different things to find empty space */
for (ignore = 0; ignore < IGNORE_END && !ret; ignore++) {
/* try all monitors in order of preference, but only the first one
- if config_place_active is true */
- for (i = 0; (i < (config_place_active ? 1 : screen_num_monitors) &&
- !ret); ++i)
+ if config_place_monitor is MOUSE or ACTIVE */
+ for (i = 0; (i < (config_place_monitor != OB_PLACE_MONITOR_ANY ?
+ 1 : screen_num_monitors) && !ret); ++i)
{
GList *it;
OB_PLACE_POLICY_MOUSE
} ObPlacePolicy;
+typedef enum
+{
+ OB_PLACE_MONITOR_ANY,
+ OB_PLACE_MONITOR_ACTIVE,
+ OB_PLACE_MONITOR_MOUSE
+} ObPlaceMonitor;
+
gboolean place_client(struct _ObClient *client, gint *x, gint *y,
struct _ObAppSettings *settings);
x=MAX(MIN(x, area->x+area->width-w),area->x);
y=MAX(MIN(y, area->y+area->height-h),area->y);
+ g_free(area);
+
if (m == screen_num_monitors) {
RECT_SET(mon, x, y, w, h);
m = screen_find_monitor(&mon);
x=MAX(MIN(x, area->x+area->width-w),area->x);
y=MAX(MIN(y, area->y+area->height-h),area->y);
+
+ g_free(area);
}
/* set the windows/appearances up */
popup_show_timeout(self);
}
}
-
- g_free(area);
}
void popup_hide(ObPopup *self)
screen_num_desktops = 0;
if (OBT_PROP_GET32(obt_root(ob_screen),
NET_NUMBER_OF_DESKTOPS, CARDINAL, &d))
+ {
+ if (d != config_desktops_num) {
+ g_warning(_("Openbox is configured for %d desktops, but the current session has %d. Overriding the Openbox configuration."),
+ config_desktops_num, d);
+ }
screen_set_num_desktops(d);
+ }
/* restore from session if possible */
else if (session_num_desktops)
screen_set_num_desktops(session_num_desktops);
gint l, r, t, b;
if (ob_debug_xinerama) {
- g_print("Using fake xinerama !\n");
gint w = WidthOfScreen(ScreenOfDisplay(obt_display, ob_screen));
gint h = HeightOfScreen(ScreenOfDisplay(obt_display, ob_screen));
*nxin = 2;
#include "group.h"
#include "frame.h"
#include "window.h"
+#include "event.h"
#include "debug.h"
#include "obt/prop.h"
{
Window win[2];
GList *it;
+ gulong start;
/* don't use this for internal windows..! it would lower them.. */
g_assert(window_layer(window) < OB_STACKING_LAYER_INTERNAL);
}
win[1] = window_top(window);
+ start = event_start_ignore_all_enters();
XRestackWindows(obt_display, win, 2);
+ event_end_ignore_all_enters(start);
pause_changes = TRUE;
}
Window *win;
GList *it;
gint i;
+ gulong start;
win = g_new(Window, g_list_length(stacking_list) + 1);
win[0] = screen_support_win;
for (i = 1, it = stacking_list; it; ++i, it = g_list_next(it))
win[i] = window_top(it->data);
+ start = event_start_ignore_all_enters();
XRestackWindows(obt_display, win, i);
+ event_end_ignore_all_enters(start);
g_free(win);
pause_changes = FALSE;
#include "gettext.h"
#include "event.h"
-#include <stdlib.h>
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
#ifndef USE_LIBSN
void sn_startup(gboolean reconfig) {}
void sn_shutdown(gboolean reconfig) {}
gboolean sn_app_starting() { return FALSE; }
-Time sn_app_started(const gchar *id, const gchar *wmclass)
+Time sn_app_started(const gchar *id, const gchar *wmclass, const gchar *name)
{
return CurrentTime;
}
gboolean sn_get_desktop(gchar *id, guint *desktop) { return FALSE; }
-void sn_setup_spawn_environment(gchar *program, gchar *name,
- gchar *icon_name, gint desktop) {}
+void sn_setup_spawn_environment(const gchar *program, const gchar *name,
+ const gchar *icon_name, const gchar *wmclass,
+ gint desktop) {}
void sn_spawn_cancel() {}
#else
void sn_startup(gboolean reconfig)
{
- gchar *s;
-
if (reconfig) return;
- /* unset this so we don't pass it on unknowingly */
- s = g_strdup("DESKTOP_STARTUP_ID");
- putenv(s);
- g_free(s);
-
sn_display = sn_display_new(obt_display, NULL, NULL);
sn_context = sn_monitor_context_new(sn_display, ob_screen,
sn_event_func, NULL, NULL);
screen_set_root_cursor();
}
-Time sn_app_started(const gchar *id, const gchar *wmclass)
+Time sn_app_started(const gchar *id, const gchar *wmclass, const gchar *name)
{
GSList *it;
Time t = CurrentTime;
for (it = sn_waits; it; it = g_slist_next(it)) {
SnStartupSequence *seq = it->data;
gboolean found = FALSE;
- const gchar *seqid, *seqclass, *seqname, *seqbin;
+ const gchar *seqid, *seqclass, *seqbin;
seqid = sn_startup_sequence_get_id(seq);
seqclass = sn_startup_sequence_get_wmclass(seq);
- seqname = sn_startup_sequence_get_name(seq);
seqbin = sn_startup_sequence_get_binary_name(seq);
if (id && seqid) {
accuracy */
if (!strcmp(seqid, id))
found = TRUE;
- } else {
- seqclass = sn_startup_sequence_get_wmclass(seq);
- seqname = sn_startup_sequence_get_name(seq);
- seqbin = sn_startup_sequence_get_binary_name(seq);
-
- if ((seqname && !g_ascii_strcasecmp(seqname, wmclass)) ||
- (seqbin && !g_ascii_strcasecmp(seqbin, wmclass)) ||
- (seqclass && !strcmp(seqclass, wmclass)))
- found = TRUE;
+ }
+ else if (seqclass) {
+ /* seqclass = "a string to match against the "resource name" or
+ "resource class" hints. These are WM_CLASS[0] and WM_CLASS[1]"
+ - from the startup-notification spec
+ */
+ found = (seqclass && !strcmp(seqclass, wmclass)) ||
+ (seqclass && !strcmp(seqclass, name));
+ }
+ else if (seqbin) {
+ /* Check the binary name against the class and name hints
+ as well, to help apps that don't have the class set
+ correctly */
+ found = (seqbin && !g_ascii_strcasecmp(seqbin, wmclass)) ||
+ (seqbin && !g_ascii_strcasecmp(seqbin, name));
}
if (found) {
return FALSE; /* don't repeat */
}
-void sn_setup_spawn_environment(gchar *program, gchar *name,
- gchar *icon_name, gint desktop)
+void sn_setup_spawn_environment(const gchar *program, const gchar *name,
+ const gchar *icon_name, const gchar *wmclass,
+ gint desktop)
{
gchar *desc;
const char *id;
sn_launcher_context_set_icon_name(sn_launcher, icon_name ?
icon_name : program);
sn_launcher_context_set_binary_name(sn_launcher, program);
+ if (wmclass) sn_launcher_context_set_wmclass(sn_launcher, wmclass);
if (desktop >= 0 && (unsigned) desktop < screen_num_desktops)
sn_launcher_context_set_workspace(sn_launcher, (signed) desktop);
sn_launcher_context_initiate(sn_launcher, "openbox", program,
g_direct_equal,
(GDestroyNotify)sn_launcher_context_unref);
- putenv(g_strdup_printf("DESKTOP_STARTUP_ID=%s", id));
+ setenv("DESKTOP_STARTUP_ID", id, TRUE);
g_free(desc);
}
gboolean sn_app_starting();
-/*! Notify that an app has started */
-Time sn_app_started(const gchar *id, const gchar *wmclass);
+/*! Notify that an app has started
+ @param wmclass the WM_CLASS[1] hint
+ @param name the WM_CLASS[0] hint
+ */
+Time sn_app_started(const gchar *id, const gchar *wmclass, const gchar *name);
/*! Get the desktop requested via the startup-notiication protocol if one
was requested */
gboolean sn_get_desktop(gchar *id, guint *desktop);
/* Get the environment to run the program in, with startup notification */
-void sn_setup_spawn_environment(gchar *program, gchar *name,
- gchar *icon_name, gint desktop);
+void sn_setup_spawn_environment(const gchar *program, const gchar *name,
+ const gchar *icon_name, const gchar *wmclass,
+ gint desktop);
/* Tell startup notification we're not actually running the program we
told it we were
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-21 14:43+0300\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "فشلت في تحويل المسار '%s' من utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "فشلت في تنفيذ '%s': %s"
"\n"
"من فضلك أبلغ عن العلل إلى %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "معامل سطر أوامر غير سليم '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "مدير النوافذ على الشاشة %Id لا وجود له"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "سطح المكتب %Ii"
msgid "Error while saving the session to '%s': %s"
msgstr "خطأ أثناء حفظ الجلسة إلى '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "تشغيل %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-06-01 19:02+0530\n"
"Last-Translator: Runa Bhattacharjee <runabh@gmail.com>\n"
"Language-Team: Bengali (India) <en@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "'%s' পাথটি utf8 থেকে রূপান্তর করতে ব্যর্থ"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "'%s' সঞ্চালন করতে ব্যর্থ: %s"
"\n"
"অনুগ্রহ করে %s-এ বাগ সংক্রান্ত সূচনা দায়ের করুন\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "অবৈধ কমান্ড-লাইন আর্গুমেন্ট '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "পর্দা %d-র উপর চলমান উইন্ডো পরিচালন ব্যবস্থাটি বন্ধ করতে ব্যর্থ"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "desktop %i"
msgid "Error while saving the session to '%s': %s"
msgstr "'%s'-এ সেশান সংরক্ষণকালে সমস্যা: %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "%s সঞ্চালিত হচ্ছে\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-05-28 15:54+0200\n"
"Last-Translator: David Majà Martínez <davidmaja@gmail.com>\n"
"Language-Team: catalan\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "No s'ha pogut convertir el camí '%s' des de utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "No s'ha pogut executar '%s': %s"
"\n"
"Informeu dels errors a %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Opció '%s' no vàlida a la línia d'ordres\n"
msgid "The WM on screen %d is not exiting"
msgstr "El gestor de finestres de la pantalla %d no està sortint"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "escriptori %i"
msgid "Error while saving the session to '%s': %s"
msgstr "S'ha produït un error mentre es desava la sessió a '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Executant %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-21 00:15+0200\n"
"Last-Translator: tezlo <tezlo@gmx.net>\n"
"Language-Team: Czech <cs@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Nepodařilo se převést cestu '%s' z utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Nepodařilo se spustit '%s': %s"
"\n"
"Prosím hlašte chyby na %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Neplatný argument příkazové řádky '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Window manager na obrazovce %d ne a ne skončit"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "plochu %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Chyba během ukládání session do '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Spouštím %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-17 22:49+0100\n"
"Last-Translator: Finn Zirngibl <finn@s23.org>\n"
"Language-Team: <de@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Konnte Pfad '%s' nicht von utf8 konvertieren"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Konnte '%s' nicht ausführen: %s"
"\n"
"Bitte melden Sie Bugreports an: %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Ungültiges Kommandozeilen Argument '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Der Fenstermanager auf Bildschirm %d beendet sich nicht"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "desktop %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Fehler beim Speichern der Sitzung nach '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Starte %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: openbox 3.999.0\n"
+"Project-Id-Version: openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-25 03:51+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Failed to convert the path ‘\e[1m%s\e[0m’ from utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Failed to execute '%s': %s"
"\n"
"Please report bugs at %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Invalid command line argument ‘\e[1m%s\e[0m’\n"
msgid "The WM on screen %d is not exiting"
msgstr "The WM on screen %d is not exiting"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "desktop %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Error while saving the session to '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Running %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: openbox 3.999.0\n"
+"Project-Id-Version: openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-25 03:51+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Failed to convert the path ‘%s’ from utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Failed to execute '%s': %s"
"\n"
"Please report bugs at %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Invalid command line argument ‘%s’\n"
msgid "The WM on screen %d is not exiting"
msgstr "The WM on screen %d is not exiting"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "desktop %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Error while saving the session to '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Running %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-21 21:26+0200\n"
"Last-Translator: David Merino <rastiazul at yahoo . com>\n"
"Language-Team: None\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Falló al convertir el path '%s' desde utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Falló al ejecutar '%s': %s"
"\n"
"Por favor reportar errores a %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Argumento de linea de comando inválido '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "El WM en la pantalla %d no esta saliendo"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "Escritorio %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Error mientras se salvaba la sesión a '%s': '%s'"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Ejecutando %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-20 16:54+0200\n"
"Last-Translator: Andres Järv <andresjarv@gmail.com>\n"
"Language-Team: Estonian <et@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Raja '%s' ümberkodeerimine UTF8-st ebaõnnestus"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "'%s' käivitamine ebaõnnestus: %s"
"\n"
"Palun teata vigadest siia %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Vigane käsurea argument '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Aknahaldur ekraanil %d ei sulgu"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "töölaud %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Seansi '%s' salvestamisel ilmnes viga: %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Jooksev %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-19 14:34+0100\n"
"Last-Translator: Inko I. A. <inkoia@gmail.com>\n"
"Language-Team: Inko I. A. <inkoia@gmail.com>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Hutsegitea '%s' helbidea utf8-tik bihurtzean"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Hutsegitea '%s' exekutatzean: %s"
"\n"
"%s helbidean erroreen berri eman mesedez\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "'%s' komando lerro argumentu baliogabea\n"
msgid "The WM on screen %d is not exiting"
msgstr "%d bistaratze pantailako leiho-kudeatzailea ez da irteten"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "%i Idazmahaia"
msgid "Error while saving the session to '%s': %s"
msgstr "Errorea saioa '%s'-n gordetzean: %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Egikaritzen %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-18 14:55+0100\n"
"Last-Translator: Jarkko Piiroinen <jarkkop@iki.fi>\n"
"Language-Team: None\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Polun muuntaminen utf8:sta epäonnistui: '%s'"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Ohjelman suorittaminen epäonnistui '%s': %s"
#: openbox/openbox.c:405
#, c-format
msgid "Restart failed to execute new executable '%s': %s"
-msgstr "Uudelleenkäynnistys ei onnistunut käynnistämään uutta ohjelmaa '%s': %s"
+msgstr ""
+"Uudelleenkäynnistys ei onnistunut käynnistämään uutta ohjelmaa '%s': %s"
#: openbox/openbox.c:475 openbox/openbox.c:477
msgid "Copyright (c)"
"\n"
"Ilmoita virheistä: %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Virheellinen valitsin '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Ikkunointiohjelma ruudulla %d ei sulkeudu"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "työtila %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Virhe tallennettaessa istuntoa hakemistoon '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Suoritetaan %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-17 22:53+0100\n"
"Last-Translator: Cyrille Bagard <nocbos@gmail.com>\n"
"Language-Team: français <fr@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Échec de la conversion du chemin « %s » depuis l'UTF-8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Échec de l'exécution de « %s » : %s"
"\n"
"Veuillez soumettre les rapports de bogues à %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Argument de la ligne de commande invalide « %s »\n"
msgstr ""
"Le gestionnaire de fenêtres sur l'écran %d n'est pas en train de se terminer"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "bureau %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Erreur lors de la sauvegarde de la session depuis « %s » : %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Exécution de %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-12-21 14:33+0100\n"
"Last-Translator: Robert Kuszinger <hiding@freemail.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Az útvonalat nem sikerült átalakítani utf8-ból: '%s'"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Nem sikerült futtatni ezt a programot '%s': %s"
"\n"
"Légyszi jelentsd a hibát itt: %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Érvénytelen parancssori opció: '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Ezen a képernyőn: %d az ablakkezelő nem lép ki"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "%i. munkaasztal"
msgid "Error while saving the session to '%s': %s"
msgstr "Hiba a futási környezet mentése közben '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Futtatás %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-20 15:18+0200\n"
"Last-Translator: Davide Truffa <davide@catoblepa.org>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Impossibile convertire il percorso utf8 '%s'"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Impossibile eseguire il comando '%s': %s"
"\n"
"Segnalate eventuali bug a %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Argomento da linea di comando non valido '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Il WM sullo schermo %d non è terminato"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "desktop %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Errore durante il salvataggio della sessione in '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Sto eseguendo %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-06-07 14:49+0200\n"
"Last-Translator: Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "パス'%s'を utf8 から変換するのに失敗しました。"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "'%s'の実行に失敗しました: %s"
"Please report bugs at %s\n"
msgstr ""
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "不正なコマンドライン引数 '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "スクリーン%dのWMが終了しません。"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "デスクトップ%i"
msgid "Error while saving the session to '%s': %s"
msgstr "セッションを'%s'に保存中にエラーが起きました: %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "起動中 %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-12 13:01+0200\n"
"Last-Translator: Jochem Kossen <jkossen@xs4all.nl>\n"
"Language-Team: Dutch <nl@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Converteren van het pad '%s' vanuit utf8 mislukt"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Uitvoeren van '%s' mislukt: %s"
"\n"
"Gelieve bugs te melden bij %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Onbekende optie '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "De window manager op scherm %d sluit zichzelf niet af"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "bureaublad %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Fout tijdens het opslaan van de sessie naar '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Starten %s\n"
# Copyright (C) 2007 Dana Jansens
# This file is distributed under the same license as the openbox package.
#
-# Michael Kjelbergvik Thung <postlogic@switch-case.org>, 2007.
+# Michael Kjelbergvik Thung <postlogic@gmail.com>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.3\n"
+"Project-Id-Version: Openbox 3.4.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2007-05-20 18:41+0200\n"
-"Last-Translator: Michael Kjelbergvik Thung <postlogic@switch-case.org>\n"
+"POT-Creation-Date: 2008-01-29 13:43+0100\n"
+"PO-Revision-Date: 2008-01-29 13:37+0100\n"
+"Last-Translator: Michael Kjelbergvik Thung <postlogic@gmail.com>\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Invalid action '%s' requested. No such action exists."
msgstr "Ugyldig operasjon '%s' etterspurt. Operasjonen finnes ikke."
-#: openbox/actions/execute.c:88
+#: openbox/actions/execute.c:92
#, c-format
msgid "Failed to convert the path '%s' from utf8"
msgstr "Feil ved konvertering av '%s' fra utf8 "
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:101 openbox/actions/execute.c:120
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Kunne ikke kjøre '%s': %s"
-#: openbox/client.c:1973 openbox/client.c:2005
+#: openbox/client.c:1979 openbox/client.c:2011
msgid "Killing..."
-msgstr ""
+msgstr "Dreper..."
-#: openbox/client.c:1975 openbox/client.c:2007
+#: openbox/client.c:1981 openbox/client.c:2013
msgid "Not Responding"
-msgstr ""
+msgstr "Svarer Ikke"
-#: openbox/client_list_combined_menu.c:90 openbox/client_list_menu.c:93
+#: openbox/client_list_combined_menu.c:91 openbox/client_list_menu.c:94
msgid "Go there..."
msgstr "Gå dit..."
-#: openbox/client_list_combined_menu.c:96
+#: openbox/client_list_combined_menu.c:97
msgid "Manage desktops"
msgstr "Behandle skrivebord"
-#: openbox/client_list_combined_menu.c:97 openbox/client_list_menu.c:156
+#: openbox/client_list_combined_menu.c:98 openbox/client_list_menu.c:157
msgid "_Add new desktop"
msgstr "_Nytt skrivebord"
-#: openbox/client_list_combined_menu.c:98 openbox/client_list_menu.c:157
+#: openbox/client_list_combined_menu.c:99 openbox/client_list_menu.c:158
msgid "_Remove last desktop"
msgstr "_Fjern siste skrivebord"
-#: openbox/client_list_combined_menu.c:150
+#: openbox/client_list_combined_menu.c:151
msgid "Windows"
msgstr "Vinduer"
-#: openbox/client_list_menu.c:203
+#: openbox/client_list_menu.c:204
msgid "Desktops"
msgstr "Skrivebord"
-#: openbox/client_menu.c:256
+#: openbox/client_menu.c:257
msgid "All desktops"
msgstr "Alle skrivebord"
-#: openbox/client_menu.c:360
+#: openbox/client_menu.c:361
msgid "_Layer"
msgstr "La_g"
-#: openbox/client_menu.c:365
+#: openbox/client_menu.c:366
msgid "Always on _top"
msgstr "Alltid ø_verst"
-#: openbox/client_menu.c:366
+#: openbox/client_menu.c:367
msgid "_Normal"
msgstr "Nor_mal"
-#: openbox/client_menu.c:367
+#: openbox/client_menu.c:368
msgid "Always on _bottom"
msgstr "Alltid _nederst"
-#: openbox/client_menu.c:370
+#: openbox/client_menu.c:371
msgid "_Send to desktop"
msgstr "_Send til"
-#: openbox/client_menu.c:374
+#: openbox/client_menu.c:375
msgid "Client menu"
msgstr "Klient-meny"
-#: openbox/client_menu.c:384
+#: openbox/client_menu.c:385
msgid "R_estore"
msgstr "Tilbak_estill"
-#: openbox/client_menu.c:392
+#: openbox/client_menu.c:393
msgid "_Move"
msgstr "_Flytt"
-#: openbox/client_menu.c:394
+#: openbox/client_menu.c:395
msgid "Resi_ze"
msgstr "Endre s_tørrelse"
-#: openbox/client_menu.c:396
+#: openbox/client_menu.c:397
msgid "Ico_nify"
msgstr "_Minimer"
-#: openbox/client_menu.c:404
+#: openbox/client_menu.c:405
msgid "Ma_ximize"
msgstr "Ma_ximer"
-#: openbox/client_menu.c:412
+#: openbox/client_menu.c:413
msgid "_Roll up/down"
msgstr "_Rull opp/ned"
-#: openbox/client_menu.c:414
+#: openbox/client_menu.c:415
msgid "Un/_Decorate"
msgstr "Fjern/Legg til _dekorasjon"
-#: openbox/client_menu.c:418
+#: openbox/client_menu.c:419
msgid "_Close"
msgstr "_Lukk"
-#: openbox/config.c:746
+#: openbox/config.c:750
#, c-format
msgid "Invalid button '%s' specified in config file"
msgstr "Ugyldig tast '%s' spesifisert i konfigurasjonsfilen"
msgid "Invalid context '%s' in mouse binding"
msgstr "Ugyldig innhold '%s' i binding for mus"
-#: openbox/openbox.c:130
+#: openbox/openbox.c:131
#, c-format
msgid "Unable to change to home directory '%s': %s"
msgstr "Kan ikke endre til hjemmekatalogen '%s': %s"
-#: openbox/openbox.c:150
+#: openbox/openbox.c:151
msgid "Failed to open the display from the DISPLAY environment variable."
msgstr "Kunne ikke åpne displayet fra DISPLAY-miljøvariabelen"
-#: openbox/openbox.c:181
+#: openbox/openbox.c:182
msgid "Failed to initialize the obrender library."
msgstr "Kunne ikke starte obrender-biblioteket."
-#: openbox/openbox.c:187
+#: openbox/openbox.c:188
msgid "X server does not support locale."
msgstr "X-serveren støtter ikke lokalisering."
-#: openbox/openbox.c:189
+#: openbox/openbox.c:190
msgid "Cannot set locale modifiers for the X server."
msgstr "Kan ikke stille inn lokaliseringsmodifikatorene for X-serveren."
-#: openbox/openbox.c:252
+#: openbox/openbox.c:253
msgid "Unable to find a valid config file, using some simple defaults"
msgstr "Kunne ikke finne en gyldig konfigurasjonsfil, bruker standardverdier"
-#: openbox/openbox.c:278
+#: openbox/openbox.c:279
msgid "Unable to load a theme."
msgstr "Kan ikke laste et tema."
-#: openbox/openbox.c:405
+#: openbox/openbox.c:406
#, c-format
msgid "Restart failed to execute new executable '%s': %s"
msgstr "Restart kunne ikke starte nytt program '%s': %s"
-#: openbox/openbox.c:475 openbox/openbox.c:477
+#: openbox/openbox.c:476 openbox/openbox.c:478
msgid "Copyright (c)"
-msgstr ""
+msgstr "Copyright (c)"
-#: openbox/openbox.c:486
+#: openbox/openbox.c:487
msgid "Syntax: openbox [options]\n"
msgstr "Syntax: openbox [alternativer\n"
-#: openbox/openbox.c:487
+#: openbox/openbox.c:488
msgid ""
"\n"
"Options:\n"
"\n"
"Alternativ:\n"
-#: openbox/openbox.c:488
+#: openbox/openbox.c:489
msgid " --help Display this help and exit\n"
msgstr " --help Vise denne hjelpeteksten og avslutt\n"
-#: openbox/openbox.c:489
+#: openbox/openbox.c:490
msgid " --version Display the version and exit\n"
msgstr " --version Vis versjonsnummeret og avslutt\n"
-#: openbox/openbox.c:490
+#: openbox/openbox.c:491
msgid " --replace Replace the currently running window manager\n"
msgstr " --replace Erstatt den kjørende vindusbehandleren\n"
-#: openbox/openbox.c:491
+#: openbox/openbox.c:492
msgid " --sm-disable Disable connection to the session manager\n"
msgstr " --sm-disable Deaktiver tilkobling til sesjonsbehandleren\n"
-#: openbox/openbox.c:492
+#: openbox/openbox.c:493
msgid ""
"\n"
"Passing messages to a running Openbox instance:\n"
"\n"
"Sender beskjeder til en kjørende Openbox-instans:\n"
-#: openbox/openbox.c:493
+#: openbox/openbox.c:494
msgid " --reconfigure Reload Openbox's configuration\n"
msgstr " --reconfigure Oppdater Openbox' konfigurasjon\n"
-#: openbox/openbox.c:494
+#: openbox/openbox.c:495
msgid " --restart Restart Openbox\n"
msgstr " --restart Start Openbox på nytt\n"
-#: openbox/openbox.c:495
+#: openbox/openbox.c:496
msgid " --exit Exit Openbox\n"
-msgstr ""
+msgstr " --exit Avslutt Openbox\n"
-#: openbox/openbox.c:496
+#: openbox/openbox.c:497
msgid ""
"\n"
"Debugging options:\n"
"\n"
"Debug-alternativ:\n"
-#: openbox/openbox.c:497
+#: openbox/openbox.c:498
msgid " --sync Run in synchronous mode\n"
msgstr " --sync Kjør i synkron-modus\n"
-#: openbox/openbox.c:498
+#: openbox/openbox.c:499
msgid " --debug Display debugging output\n"
msgstr " --debug Vis debuggingsinformasjon\n"
-#: openbox/openbox.c:499
+#: openbox/openbox.c:500
msgid " --debug-focus Display debugging output for focus handling\n"
msgstr " --debug-focus Vis debuggingsinformasjon for fokus-håndtering\n"
-#: openbox/openbox.c:500
+#: openbox/openbox.c:501
msgid " --debug-xinerama Split the display into fake xinerama screens\n"
msgstr " -debug-xinerama Splitt displayet for falske xinerama-skjermer\n"
-#: openbox/openbox.c:501
+#: openbox/openbox.c:502
#, c-format
msgid ""
"\n"
"\n"
"Vennligst rapporter bugs til %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:603
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Ugyldig kommandolinje-argument '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Vindusbehandleren på skjerm %d vil ikke avslutte"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr "Openbox er innstillt til %d skrivebord, men nåværende sesjon har %d. Benytter sesjonens innstilling."
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "skrivebord %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Feil ved lagring av sesjon til '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:243
#, c-format
msgid "Running %s\n"
msgstr "Kjører %s\n"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr ""
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr ""
"Please report bugs at %s\n"
msgstr ""
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr ""
msgid "The WM on screen %d is not exiting"
msgstr ""
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr ""
msgid "Error while saving the session to '%s': %s"
msgstr ""
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr ""
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-14 00:43+0200\n"
"Last-Translator: Piotr Drąg <raven@pmail.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Nie można przekonwertować ścieżki '%s' z UTF-8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Wykonanie '%s' nie powiodło się: %s"
"\n"
"Proszę zgłaszać błędy (w języku angielskim) pod adresem %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Nieprawidłowy argument wiersza poleceń '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Menedżer okien na ekranie %d nie kończy działania"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "pulpit %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Wystąpił błąd podczas zapisywania sesji do '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Uruchamianie %s\n"
# Copyright (C) 2007 Mikael Magnusson
# This file is distributed under the same license as the openbox package.
# Gonçalo Ferreira <gonsas@gmail.com>, 2006.
-# Althaser <Althaser@gmail.com>, 2007.
+# Althaser <Althaser@gmail.com>, 2008.
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.3\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2007-07-21 18:03+0200\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-22 22:17+0100\n"
"Last-Translator: Althaser <Althaser@gmail.com>\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Falha a converter o caminho '%s' do utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Falha a executar '%s': %s"
#: openbox/client.c:1973 openbox/client.c:2005
msgid "Killing..."
-msgstr ""
+msgstr "Terminando..."
#: openbox/client.c:1975 openbox/client.c:2007
msgid "Not Responding"
-msgstr ""
+msgstr "Não está a responder"
#: openbox/client_list_combined_menu.c:90 openbox/client_list_menu.c:93
msgid "Go there..."
#: openbox/client_menu.c:412
msgid "_Roll up/down"
-msgstr "En/Desen_rolar"
+msgstr "Des/en_rolar"
#: openbox/client_menu.c:414
msgid "Un/_Decorate"
#: openbox/openbox.c:495
msgid " --exit Exit Openbox\n"
-msgstr ""
+msgstr " --saida Sai do Openbox\n"
#: openbox/openbox.c:496
msgid ""
"\n"
"Por favor reporte erros em %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Argumento inválido na linha de comandos '%s'\n"
#: openbox/screen.c:145
#, c-format
msgid "The WM on screen %d is not exiting"
-msgstr "O gestor de janelas no ecrã %d não está fechando"
+msgstr "O gestor de janelas no ecrã %d não está a fechar"
+
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
-#: openbox/screen.c:1162
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "área de trabalho %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Erro enquanto guardava a sessão em '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Executando %s\n"
# Copyright (C) 2007 Mikael Magnusson
# This file is distributed under the same license as the openbox package.
# crimeboy, 2007.
-# Og Maciel <ogmaciel@ubuntu.com>, 2007.
+# Og Maciel <ogmaciel@gnome.org>, 2007, 2008.
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.3\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2007-07-20 16:43+0200\n"
-"Last-Translator: Og Maciel <ogmaciel@ubuntu.com>\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-22 21:42+0100\n"
+"Last-Translator: Og Maciel <ogmaciel@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Falha ao converter o caminho '%s' do utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Falha ao executar '%s': %s"
#: openbox/client.c:1973 openbox/client.c:2005
msgid "Killing..."
-msgstr ""
+msgstr "Terminando..."
#: openbox/client.c:1975 openbox/client.c:2007
msgid "Not Responding"
-msgstr ""
+msgstr "Não Responsivo"
#: openbox/client_list_combined_menu.c:90 openbox/client_list_menu.c:93
msgid "Go there..."
#: openbox/openbox.c:495
msgid " --exit Exit Openbox\n"
-msgstr ""
+msgstr " --exit Sai do Openbox\n"
#: openbox/openbox.c:496
msgid ""
"\n"
"Por favor reporte erros em %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Argumento de linha de comando inválido '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "O gerenciador de janelas na tela %d não está saindo"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "área de trabalho %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Erro enquanto salvando a sessão em '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Executando %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.3\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2007-08-17 22:36+0200\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-22 07:56+0100\n"
"Last-Translator: Nikita Bukhvostov <dragon.djanic@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
#: openbox/actions.c:149
#, c-format
msgid "Invalid action '%s' requested. No such action exists."
-msgstr ""
+msgstr "Запрошенное действие '%s' не найдено."
#: openbox/actions/execute.c:88
#, c-format
msgid "Failed to convert the path '%s' from utf8"
msgstr "Не удалось сконвертировать путь '%s' из utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Не удалось запустить '%s': %s"
#: openbox/client.c:1973 openbox/client.c:2005
msgid "Killing..."
-msgstr ""
+msgstr "Завершение..."
#: openbox/client.c:1975 openbox/client.c:2007
msgid "Not Responding"
-msgstr ""
+msgstr "Не отвечает"
#: openbox/client_list_combined_menu.c:90 openbox/client_list_menu.c:93
msgid "Go there..."
#: openbox/openbox.c:495
msgid " --exit Exit Openbox\n"
-msgstr ""
+msgstr " --exit Выход из Openbox\n"
#: openbox/openbox.c:496
msgid ""
"\n"
"Пожалуйста, сообщайте об ошибках на %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Некорректный командный параметр '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Менеджер окон на экране %d не завершается"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "рабочий стол %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Ошибка при сохранении сессии в '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Запущен %s\n"
msgstr ""
"Project-Id-Version: Openbox-3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-12-7 13:43Central Europe Daylight Time\n"
"Last-Translator: Jozef Riha <jose1711@gmail.com\n"
"Language-Team: Slovak <sk@sk.org>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Nepodarilo sa skonvertovať cestu '%s' z utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Nepodarilo sa spustiť '%s': %s"
msgstr " --restart Restartuje Openbox\n"
#: openbox/openbox.c:495
-#, fuzzy
msgid " --exit Exit Openbox\n"
-msgstr " --restart Restartuje Openbox\n"
+msgstr ""
#: openbox/openbox.c:496
msgid ""
"\n"
"Prosim hlaste chyby na %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Neplatny parameter prikazoveho riadku '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Okenný manažér na obrazovke %d sa neukončuje"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "plocha %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Chyba pri ukladaní sedenia do '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Spúšťam %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
-"PO-Revision-Date: 2008-01-17 22:19+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
+"PO-Revision-Date: 2008-01-25 03:52+0100\n"
"Last-Translator: Mikael Magnusson <mikachu@icculus.org>\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Lyckades inte konvertera sökvägen '%s' från utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Kunde inte exekvera '%s': %s"
"\n"
"Rapportera buggar till %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Ogiltigt kommandoradsargument '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Fönsterhanteraren på skärm %d avslutar inte"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+"Openbox är inställt på %d skrivbord, men nuvarande session har %d. Använder "
+"sessionens inställning."
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "skrivbord %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Fel inträffade när sessionen skulle sparas till '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Kör %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-06-16 13:02+0200\n"
"Last-Translator: Dmitriy Moroz <zux@dimaka.org.ua>\n"
"Language-Team: Ukrainian <root@archlinux.org.ua>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Не вдалося сконвертувати шлях '%s' з utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Невдалося виконати '%s': %s"
"\n"
"Будь-ласка, повідомляйте про помилки на %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Некоректний командний аргумент '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Менеджео вікон на дисплеї %d не завершується"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "стільниця %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Помилка при збереженні сесії в '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Виконується %s\n"
#
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-17 23:08+0100\n"
"Last-Translator: Quan Tran <qeed.quan@gmail.com>\n"
"Language-Team: None\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "Không thể chuyển chỗ '%s' từ utf8"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "Làm không được '%s': %s"
"\n"
"Làm ơn báo cáo bugs ở chỗ %s\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "Mệnh lệnh viết sai '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "Chương trình quản lý cửa sổ trên màn hình %d không đi ra"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "chỗ làm việc %i"
msgid "Error while saving the session to '%s': %s"
msgstr "Bĩ trục chật lúc tiết kiệm thời kỳ cho '%s': %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "Đan Chạy %s\n"
# Shaodong Di <gnuyhlfh@gmail.com>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: Openbox 3.4.6\n"
+"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2008-01-18 15:02+0100\n"
"Last-Translator: Shaodong Di <gnuyhlfh@gmail.com>\n"
"Language-Team: 简体中文\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "从 utf8 转换路径 '%s' 时失败"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "执行 '%s' 时失败: %s"
"\n"
"请向 %s 报告错误\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "无效的命令行参数 '%s'\n"
msgid "The WM on screen %d is not exiting"
msgstr "屏幕 %d 的窗口管理器没有退出"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "桌面 %i"
msgid "Error while saving the session to '%s': %s"
msgstr "在保存会话到 '%s' 时出错: %s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "运行 %s\n"
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2008-01-17 22:13+0100\n"
+"POT-Creation-Date: 2008-01-25 03:51+0100\n"
"PO-Revision-Date: 2007-07-23 23:22+0200\n"
"Last-Translator: Wei-Lun Chao <chaoweilun@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
msgid "Failed to convert the path '%s' from utf8"
msgstr "轉換路徑「%s」自 utf8 時失敗"
-#: openbox/actions/execute.c:97 openbox/actions/execute.c:115
+#: openbox/actions/execute.c:97 openbox/actions/execute.c:116
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "執行「%s」時失敗:%s"
"\n"
"請向 %s 報告錯誤\n"
-#: openbox/openbox.c:604
+#: openbox/openbox.c:602
#, c-format
msgid "Invalid command line argument '%s'\n"
msgstr "無效的命令列引數「%s」\n"
msgid "The WM on screen %d is not exiting"
msgstr "螢幕 %d 中的視窗管理員並未離開"
-#: openbox/screen.c:1162
+#: openbox/screen.c:407
+#, c-format
+msgid ""
+"Openbox is configured for %d desktops, but the current session has %d. "
+"Overriding the Openbox configuration."
+msgstr ""
+
+#: openbox/screen.c:1168
#, c-format
msgid "desktop %i"
msgstr "桌面 %i"
msgid "Error while saving the session to '%s': %s"
msgstr "當儲存執行階段「%s」時發生錯誤:%s"
-#: openbox/startupnotify.c:237
+#: openbox/startupnotify.c:241
#, c-format
msgid "Running %s\n"
msgstr "正在運行 %s\n"
gradient.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003-2007 Dana Jansens
+ Copyright (c) 2003-2008 Dana Jansens
Copyright (c) 2003 Derek Foreman
This program is free software; you can redistribute it and/or modify
#include "gradient.h"
#include "color.h"
#include <glib.h>
+#include <string.h>
static void highlight(RrSurface *s, RrPixel32 *x, RrPixel32 *y,
gboolean raised);
{
gint x, y;
RrPixel32 *data = sf->pixel_data, *datav;
- RrPixel32 current;
VARS(x);
SETUP(x, sf->primary, sf->secondary, w);
- for (x = w - 1; x > 0; --x) { /* 0 -> w-1 */
- current = COLOR(x);
- datav = data;
- for (y = h - 1; y >= 0; --y) { /* 0 -> h */
- *datav = current;
- datav += w;
- }
- ++data;
-
+ datav = data;
+ for (x = w - 1; x > 0; --x) { /* 0 -> w - 1 */
+ *datav = COLOR(x);
+ ++datav;
NEXT(x);
}
- current = COLOR(x);
- for (y = h - 1; y >= 0; --y) /* 0 -> h */
- *(data + y * w) = current;
+ *datav = COLOR(x);
+ ++datav;
+
+ for (y = h - 1; y > 0; --y) { /* 1 -> h */
+ memcpy(datav, data, w * sizeof(RrPixel32));
+ datav += w;
+ }
}
static void gradient_mirrorhorizontal(RrSurface *sf, gint w, gint h)
{
- gint x, y;
+ gint x, y, half1, half2;
RrPixel32 *data = sf->pixel_data, *datav;
- RrPixel32 current;
VARS(x);
- SETUP(x, sf->primary, sf->secondary, w/2);
- if (w > 1) {
- for (x = w - 1; x > w/2-1; --x) { /* 0 -> w-1 */
- current = COLOR(x);
- datav = data;
- for (y = h - 1; y >= 0; --y) { /* 0 -> h */
- *datav = current;
- datav += w;
- }
- ++data;
+ half1 = (w + 1) / 2;
+ half2 = w / 2;
+ SETUP(x, sf->primary, sf->secondary, half1);
+ datav = data;
+ for (x = half1 - 1; x > 0; --x) { /* 0 -> half1 - 1 */
+ *datav = COLOR(x);
+ ++datav;
+ NEXT(x);
+ }
+ *datav = COLOR(x);
+ ++datav;
+
+ if (half2 > 0) {
+ SETUP(x, sf->secondary, sf->primary, half2);
+ for (x = half2 - 1; x > 0; --x) { /* 0 -> half2 - 1 */
+ *datav = COLOR(x);
+ ++datav;
NEXT(x);
}
- SETUP(x, sf->secondary, sf->primary, w/2);
- for (x = w/2 - 1; x > 0; --x) { /* 0 -> w-1 */
- current = COLOR(x);
- datav = data;
- for (y = h - 1; y >= 0; --y) { /* 0 -> h */
- *datav = current;
- datav += w;
- }
- ++data;
+ *datav = COLOR(x);
+ ++datav;
+ }
- NEXT(x);
- }
+ for (y = h - 1; y > 0; --y) { /* 1 -> h */
+ memcpy(datav, data, w * sizeof(RrPixel32));
+ datav += w;
}
- current = COLOR(x);
- for (y = h - 1; y >= 0; --y) /* 0 -> h */
- *(data + y * w) = current;
}
static void gradient_vertical(RrSurface *sf, gint w, gint h)
RrFontClose(theme->win_font_unfocused);
RrFontClose(theme->menu_title_font);
RrFontClose(theme->menu_font);
+ RrFontClose(theme->osd_font);
RrAppearanceFree(theme->a_disabled_focused_max);
RrAppearanceFree(theme->a_disabled_unfocused_max);
--- /dev/null
+# Name: Clearlooks
+# Author: John McKnight <jmcknight@gmail.com>
+# Note: This is a port of the Clearlooks metacity theme to Openbox.
+
+### Menu
+#menu.border.color: #b5aa99
+
+menu.title.bg: Flat Border Gradient Vertical
+menu.title.bg.color: #589bda
+menu.title.bg.colorTo: #3c7cb7
+menu.title.bg.border.color: #7cb6ec
+menu.title.text.color: #ffffff
+menu.title.text.justify: Center
+
+menu.items.bg: Flat Solid
+menu.items.bg.color: #fcfbfa
+menu.items.text.color: #000000
+menu.items.disable.text.color: #b5b3ac
+
+menu.items.active.bg: Flat Gradient Vertical
+menu.items.active.bg.color: #5c9edb
+menu.items.active.bg.colorTo: #4489ca
+menu.items.active.text.color: #ffffff
+
+
+### Window active
+window.active.title.bg: Flat Border Gradient Vertical
+window.active.title.bg.color: #589bda
+window.active.title.bg.colorTo: #3c7cb7
+window.active.title.bg.border.color: #7cb6ec
+window.active.title.separator.color: #334c62
+
+window.active.label.bg: Parentrelative
+window.active.label.text.color: #ffffff
+
+window.active.handle.bg: Flat Border Solid
+window.active.handle.bg.color: #3c7cb7
+window.active.handle.bg.border.color: #7cb6ec
+
+window.active.grip.bg: Flat Border Solid
+window.active.grip.bg.color: #3c7cb7
+window.active.grip.bg.border.color: #7cb6ec
+
+window.active.button.unpressed.bg: Flat Border Gradient Vertical
+window.active.button.unpressed.bg.color: #5ea0dd
+window.active.button.unpressed.bg.colorTo: #3f85c5
+window.active.button.unpressed.bg.border.color: #36536f
+window.active.button.unpressed.image.color: #ffffff
+
+window.active.button.pressed.bg: Flat Border Gradient Vertical
+window.active.button.pressed.bg.color: #3c82c3
+window.active.button.pressed.bg.colorTo: #3c7ab5
+window.active.button.pressed.bg.border.color: #36536f
+window.active.button.pressed.image.color: #ffffff
+
+window.active.button.disabled.bg: Flat Border Gradient Vertical
+window.active.button.disabled.bg.color: #3c82c3
+window.active.button.disabled.bg.colorTo: #3c7ab5
+window.active.button.disabled.bg.border.color: #36536f
+window.active.button.disabled.image.color: #36536f
+
+window.active.button.toggled.bg: Flat Border Gradient Vertical
+window.active.button.toggled.bg.color: #5ea0dd
+window.active.button.toggled.bg.colorTo: #3f85c5
+window.active.button.toggled.bg.border.color: #36536f
+window.active.button.toggled.image.color: #dcd4c9
+
+
+### Window inactive
+window.inactive.border.color: #3d3a37
+
+window.inactive.title.bg: Flat Border Gradient Vertical
+window.inactive.title.bg.color: #efece6
+window.inactive.title.bg.colorTo: #d9d2c7
+window.inactive.title.bg.border.color: #ffffff
+window.inactive.title.separator.color: #9a8e7c
+
+window.inactive.label.bg: Parentrelative
+window.inactive.label.text.color: #000000
+
+window.inactive.handle.bg: Flat Border Solid
+window.inactive.handle.bg.color: #d9d2c7
+window.inactive.handle.bg.border.color: #ffffff
+
+window.inactive.grip.bg: Flat Border Solid
+window.inactive.grip.bg.color: #d9d2c7
+window.inactive.grip.bg.border.color: #ffffff
+
+window.inactive.button.unpressed.bg: Flat Border Gradient Vertical
+window.inactive.button.unpressed.bg.color: #ede9e3
+window.inactive.button.unpressed.bg.colorTo: #dbd5ca
+window.inactive.button.unpressed.bg.border.color: #8f8370
+window.inactive.button.unpressed.image.color: #000000
+
+window.inactive.button.pressed.bg: Flat Border Gradient Vertical
+window.inactive.button.pressed.bg.color: #ede9e3
+window.inactive.button.pressed.bg.colorTo: #dbd5ca
+window.inactive.button.pressed.bg.border.color: #8f8370
+window.inactive.button.pressed.image.color: #000000
+
+window.inactive.button.disabled.bg: Flat Border Gradient Vertical
+window.inactive.button.disabled.bg.color: #ede9e3
+window.inactive.button.disabled.bg.colorTo: #dbd5ca
+window.inactive.button.disabled.bg.border.color: #8f8370
+window.inactive.button.disabled.image.color: #000000
+
+window.inactive.button.toggled.bg: Flat Border Gradient Vertical
+window.inactive.button.toggled.bg.color: #ede9e3
+window.inactive.button.toggled.bg.colorTo: #dbd5ca
+window.inactive.button.toggled.bg.border.color: #8f8370
+window.inactive.button.toggled.image.color: #000000
+
+
+### Everything else
+border.width: 1
+padding.width: 2
+window.handle.width: 4
+window.client.padding.width: 0
+border.color: #1f252b
+menu.overlap: 0
+
+### Fonts
+window.active.label.text.font:
+window.inactive.label.text.font:
+menu.items.font:
+menu.title.text.font:
-# Name: Clearlooks
-# Author: John McKnight <jmcknight@gmail.com>
-# Note: This is a port of the Clearlooks metacity theme to Openbox.
+! Clearlooks Evolving
+! Clearlooks as it evolves in gnome-svn...
-### Menu
-#menu.border.color: #b5aa99
+# Fonts
+# these are really halos, but who cares?
+
+window.active.label.text.font:shadow=y:shadowtint=45:shadowoffset=1
+window.inactive.label.text.font:shadow=y:shadowtint=00:shadowoffset=0
+menu.title.text.font:shadow=y:shadowtint=20:shadowoffset=1
+menu.items.font:shadow=y:shadowtint=0:shadowoffset=2
+# lettuce set some stuff
+
+border.width: 1
+padding.width: 3
+padding.height: 2
+window.handle.width: 3
+window.client.padding.width: 0
+menu.overlap: 0
+*.justify: center
+*.bg.highlight: 50
+*.bg.shadow: 01
+
+# Menu settings
+
+menu.border.color: #aaaaaa
+menu.border.width: 1
+
+*.title.bg: Raised Gradient splitvertical
+*.title.bg.color: #8fb2de
+*.title.bg.color.splitTo: #9ebde5
+*.title.bg.colorTo: #86abd9
+*.title.bg.colorTo.splitTo: #749dcf
-menu.title.bg: Flat Border Gradient Vertical
-menu.title.bg.color: #589bda
-menu.title.bg.colorTo: #3c7cb7
-menu.title.bg.border.color: #7cb6ec
menu.title.text.color: #ffffff
-menu.title.text.justify: Center
menu.items.bg: Flat Solid
-menu.items.bg.color: #fcfbfa
-menu.items.text.color: #000000
-menu.items.disable.text.color: #b5b3ac
+menu.items.bg.color: #ffffff
+menu.items.text.color: #444444
+menu.items.disabled.text.color: #aaaaaa
+
+menu.items.active.bg: Flat Gradient splitvertical border
+
+menu.items.active.bg.color: #97b8e2
+menu.items.active.bg.color.splitTo: #a8c5e9
-menu.items.active.bg: Flat Gradient Vertical
-menu.items.active.bg.color: #5c9edb
-menu.items.active.bg.colorTo: #4489ca
+menu.items.active.bg.colorTo: #91b3de
+menu.items.active.bg.colorTo.splitTo: #80a7d6
+menu.items.active.bg.border.color: #4b6e99
menu.items.active.text.color: #ffffff
+# start with the active
+!# no handles
+#window.active.border.color: #455d7c
+!# handles
+window.active.border.color: #686a6d
+window.active.title.separator.color: #4e76a8
+!!!
+
+#window.active.title.bg: Raised Gradient splitvertical
+#window.active.title.bg.color: #8db0dd
+#window.active.title.bg.color.splitTo: #9ebde5
+#window.active.title.bg.colorTo: #86abd9
+#window.active.title.bg.colorTo.splitTo: #749dcf
+
+
+window.active.title.bg: Raised Gradient splitvertical
+window.active.title.bg.color: #8fb2de
+window.active.title.bg.color.splitTo: #9ebde5
+window.active.title.bg.colorTo: #86abd9
+window.active.title.bg.colorTo.splitTo: #749dcf
-### Window active
-window.active.title.bg: Flat Border Gradient Vertical
-window.active.title.bg.color: #589bda
-window.active.title.bg.colorTo: #3c7cb7
-window.active.title.bg.border.color: #7cb6ec
-window.active.title.separator.color: #334c62
+
+window.active.title.bg.highlight: 35
+window.active.title.bg.shadow: 00
window.active.label.bg: Parentrelative
window.active.label.text.color: #ffffff
-window.active.handle.bg: Flat Border Solid
-window.active.handle.bg.color: #3c7cb7
-window.active.handle.bg.border.color: #7cb6ec
-window.active.grip.bg: Flat Border Solid
-window.active.grip.bg.color: #3c7cb7
-window.active.grip.bg.border.color: #7cb6ec
+window.active.button.*.bg: Flat Gradient splitvertical Border
-window.active.button.unpressed.bg: Flat Border Gradient Vertical
-window.active.button.unpressed.bg.color: #5ea0dd
-window.active.button.unpressed.bg.colorTo: #3f85c5
-window.active.button.unpressed.bg.border.color: #36536f
-window.active.button.unpressed.image.color: #ffffff
+#window.active.button.*.bg.color: #94B5E0
+window.active.button.*.bg.color: #97b8e1
+window.active.button.*.bg.color.splitTo: #B7D0EF
+window.active.button.*.bg.colorTo: #86ABD9
+window.active.button.*.bg.colorTo.splitTo: #7099CC
+#window.active.button.*.bg.border.color: #4F77A9
+!#this is the real colour, but hey...
+window.active.button.*.bg.border.color: #49678B
+window.active.button.*.image.color: #F4F5F6
-window.active.button.pressed.bg: Flat Border Gradient Vertical
-window.active.button.pressed.bg.color: #3c82c3
-window.active.button.pressed.bg.colorTo: #3c7ab5
-window.active.button.pressed.bg.border.color: #36536f
-window.active.button.pressed.image.color: #ffffff
+window.active.button.hover.bg.color: #b5d3ef
+window.active.button.hover.bg.color.splitTo: #b5d3ef
+window.active.button.hover.bg.colorTo: #9cbae7
+window.active.button.hover.bg.colorTo.splitTo: #8caede
+window.active.button.hover.bg.border.color: #4A658C
+window.active.button.hover.image.color: #ffffff
-window.active.button.disabled.bg: Flat Border Gradient Vertical
-window.active.button.disabled.bg.color: #3c82c3
-window.active.button.disabled.bg.colorTo: #3c7ab5
-window.active.button.disabled.bg.border.color: #36536f
-window.active.button.disabled.image.color: #36536f
+window.active.button.pressed.bg: Flat solid Border
+window.active.button.pressed.bg.color: #7aa1d2
-window.active.button.toggled.bg: Flat Border Gradient Vertical
-window.active.button.toggled.bg.color: #5ea0dd
-window.active.button.toggled.bg.colorTo: #3f85c5
-window.active.button.toggled.bg.border.color: #36536f
-window.active.button.toggled.image.color: #dcd4c9
+window.active.button.hover.bg.border.color: #4A658C
+# inactive
-### Window inactive
-window.inactive.border.color: #3d3a37
+window.inactive.border.color: #7e8285
+window.inactive.title.separator.color: #96999d
-window.inactive.title.bg: Flat Border Gradient Vertical
-window.inactive.title.bg.color: #efece6
-window.inactive.title.bg.colorTo: #d9d2c7
-window.inactive.title.bg.border.color: #ffffff
-window.inactive.title.separator.color: #9a8e7c
+window.inactive.title.bg: Raised Gradient splitvertical
+window.inactive.title.bg.color: #e0e2e3
+window.inactive.title.bg.color.splitTo: #e9eaeb
+window.inactive.title.bg.colorTo: #dadcde
+window.inactive.title.bg.colorTo.splitTo: #d0d2d4
+window.inactive.title.bg.highlight: 30
+window.inactive.title.bg.shadow: 00
window.inactive.label.bg: Parentrelative
-window.inactive.label.text.color: #000000
-
-window.inactive.handle.bg: Flat Border Solid
-window.inactive.handle.bg.color: #d9d2c7
-window.inactive.handle.bg.border.color: #ffffff
-
-window.inactive.grip.bg: Flat Border Solid
-window.inactive.grip.bg.color: #d9d2c7
-window.inactive.grip.bg.border.color: #ffffff
-
-window.inactive.button.unpressed.bg: Flat Border Gradient Vertical
-window.inactive.button.unpressed.bg.color: #ede9e3
-window.inactive.button.unpressed.bg.colorTo: #dbd5ca
-window.inactive.button.unpressed.bg.border.color: #8f8370
-window.inactive.button.unpressed.image.color: #000000
-
-window.inactive.button.pressed.bg: Flat Border Gradient Vertical
-window.inactive.button.pressed.bg.color: #ede9e3
-window.inactive.button.pressed.bg.colorTo: #dbd5ca
-window.inactive.button.pressed.bg.border.color: #8f8370
-window.inactive.button.pressed.image.color: #000000
-
-window.inactive.button.disabled.bg: Flat Border Gradient Vertical
-window.inactive.button.disabled.bg.color: #ede9e3
-window.inactive.button.disabled.bg.colorTo: #dbd5ca
-window.inactive.button.disabled.bg.border.color: #8f8370
-window.inactive.button.disabled.image.color: #000000
-
-window.inactive.button.toggled.bg: Flat Border Gradient Vertical
-window.inactive.button.toggled.bg.color: #ede9e3
-window.inactive.button.toggled.bg.colorTo: #dbd5ca
-window.inactive.button.toggled.bg.border.color: #8f8370
-window.inactive.button.toggled.image.color: #000000
-
-
-### Everything else
-border.width: 1
-padding.width: 2
-window.handle.width: 4
-window.client.padding.width: 0
-border.color: #1f252b
-menu.overlap: 0
+window.inactive.label.text.color: #70747d
+
+window.*.handle.bg: Raised solid
+window.*.handle.bg.color: #eaebec
+
+window.*.grip.bg: Raised solid
+window.*.grip.bg.color: #eaebec
+
+window.inactive.button.*.bg: Flat Gradient splitVertical Border
+window.inactive.button.*.bg.color: #ffffff
+window.inactive.button.*.bg.color.splitto: #f8f8f9
+window.inactive.button.*.bg.colorTo: #f4f4f5
+window.inactive.button.*.bg.colorTo.splitto: #dfe1e2
+window.inactive.button.*.bg.border.color: #8a8e91
+window.inactive.button.*.image.color: #757676
+
+
+!#osd
+
+osd.border.width: 1
+osd.border.color: #5c5e5c
+
+osd.bg: flat border gradient splitvertical
+osd.bg.color: #EEEFF0
+osd.bg.color.splitto: #EEEFF0
+osd.bg.colorTo: #EAEBEC
+osd.bg.colorTo.splitto: #EAEBEC
+
+osd.bg.border.color: #ffffff
+
+osd.label.bg: parentrelative
+osd.label.bg.color: #efefef
+osd.label.bg.border.color: #9c9e9c
-### Fonts
-window.active.label.text.font:
-window.inactive.label.text.font:
-menu.items.font:
-menu.title.text.font:
+osd.label.text.color: #444
+!# yeah whatever, this is fine anyhoo?
+osd.hilight.bg: flat vertical gradient
+osd.hilight.bg.color: #9ebde5
+osd.hilight.bg.colorTo: #749dcf
+osd.unhilight.bg: flat vertical gradient
+osd.unhilight.bg.color: #BABDB6
+osd.unhilight.bg.colorTo: #efefef