--- /dev/null
+configure
+build-stamp
+Makefile.in
+config.rpath
+config.log
+depcomp
+compile
+config.guess
+ltmain.sh
+config.sub
+ABOUT-NLS
+config.status.lineno
+Makefile
+mkinstalldirs
+config.status
+libtool
+autom4te.cache
+missing
+version.h
+aclocal.m4
OB_MAJOR_VERSION=3
OB_MINOR_VERSION=4
OB_MICRO_VERSION=11
-OB_INTERFACE_AGE=5
+OB_INTERFACE_AGE=0
OB_BINARY_AGE=5
OB_VERSION=$OB_MAJOR_VERSION.$OB_MINOR_VERSION
--- /dev/null
+openbox.desktop
+openbox-kde.desktop
+openbox-gnome.desktop
+openbox-session
+openbox-kde-session
+openbox-gnome-session
--- /dev/null
+openbox.postinst.debhelper
+openbox.postrm.debhelper
+changelog
+files
+openbox.substvars
+openbox
--- /dev/null
+openbox-session.1
+openbox-kde-session.1
+openbox-gnome-session.1
+openbox.1
--- /dev/null
+
+lib-link.m4
+printf-posix.m4
+Makefile.in
+intldir.m4
+uintmax_t.m4
+signed.m4
+iconv.m4
+inttypes.m4
+longlong.m4
+glibc21.m4
+codeset.m4
+inttypes_h.m4
+visibility.m4
+lock.m4
+longdouble.m4
+nls.m4
+Makefile
+intmax.m4
+lib-prefix.m4
+glibc2.m4
+xsize.m4
+lcmessage.m4
+lib-ld.m4
+ulonglong.m4
+wint_t.m4
+inttypes-h.m4
+intl.m4
+progtest.m4
+inttypes-pri.m4
+stdint_h.m4
+intdiv0.m4
+po.m4
+isc-posix.m4
+size_max.m4
+gettext.m4
+wchar_t.m4
}
if (ob_rr_theme == NULL)
ob_exit_with_error(_("Unable to load a theme."));
+
+ PROP_SETS(RootWindow(ob_display, ob_screen),
+ ob_theme, theme->name);
}
if (reconfigure) {
*/
CREATE(openbox_pid, "_OPENBOX_PID");
- CREATE(ob_config, "_OB_CONFIG");
+ CREATE(ob_theme, "_OB_THEME");
CREATE(ob_wm_action_undecorate, "_OB_WM_ACTION_UNDECORATE");
CREATE(ob_wm_state_undecorated, "_OB_WM_STATE_UNDECORATED");
CREATE(ob_control, "_OB_CONTROL");
Atom ob_wm_action_undecorate;
Atom ob_wm_state_undecorated;
Atom openbox_pid; /* this is depreecated in favour of ob_control */
- Atom ob_config;
+ Atom ob_theme;
Atom ob_control;
} Atoms;
Atoms prop_atoms;
static gboolean screen_validate_layout(ObDesktopLayout *l);
static gboolean replace_wm();
+static void screen_tell_ksplash();
guint screen_num_desktops;
guint screen_num_monitors;
supported[i++] = prop_atoms.ob_wm_action_undecorate;
supported[i++] = prop_atoms.ob_wm_state_undecorated;
supported[i++] = prop_atoms.openbox_pid;
- supported[i++] = prop_atoms.ob_config;
+ supported[i++] = prop_atoms.ob_theme;
supported[i++] = prop_atoms.ob_control;
g_assert(i == num_support);
net_supported, atom, supported, num_support);
g_free(supported);
+ screen_tell_ksplash();
+
return TRUE;
}
+static void screen_tell_ksplash()
+{
+ XEvent e;
+ const char *args[] = { "dcop", "ksplash", "ksplash",
+ "upAndRunning(QString)", "wm started", NULL };
+
+ /* tell the dcop server through the command line interface */
+ g_spawn_async(NULL, args, NULL,
+ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
+ NULL, NULL, NULL, NULL);
+
+ /* i'm not sure why we do this, kwin does it, but ksplash doesn't seem to
+ hear it anyways. perhaps it is for old ksplash. or new ksplash. or
+ something. oh well. */
+ e.xclient.type = ClientMessage;
+ e.xclient.display = ob_display;
+ e.xclient.window = RootWindow(ob_display, ob_screen);
+ e.xclient.message_type =
+ XInternAtom(ob_display, "_KDE_SPLASH_PROGRESS", False );
+ e.xclient.format = 8;
+ strcpy(e.xclient.data.b, "wm started");
+ XSendEvent(ob_display, RootWindow(ob_display, ob_screen),
+ False, SubstructureNotifyMask, &e );
+}
+
void screen_startup(gboolean reconfig)
{
gchar **names = NULL;
--- /dev/null
+*.gmo
+Makefile.in
+remove-potcdate.sin
+Makefile.in.in
+quot.sed
+Makefile
+Rules-quot
+insert-header.sin
+Makevars.template
+POTFILES
+stamp-po
+en@quot.header
+en@boldquot.header
+boldquot.sed
msgstr ""
"Project-Id-Version: Openbox 3.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
-"POT-Creation-Date: 2007-05-23 16:20+0200\n"
-"PO-Revision-Date: 2007-05-28 01:32+0200\n"
+"POT-Creation-Date: 2007-05-28 07:55+0200\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"
"MIME-Version: 1.0\n"
#: openbox/action.c:954
#, c-format
msgid "Invalid action '%s' requested. No such action exists."
-msgstr "L''acció sol·licitada '%s' no és vàlida. Aquesta acció no existeix."
+msgstr "L'acció sol·licitada '%s' no és vàlida. Aquesta acció no existeix."
#: openbox/action.c:957
#, c-format
msgid "Invalid use of action '%s'. Action will be ignored."
-msgstr "L''ús de l'acció '%s' no és vàlid. S'ignorarà aquesta acció."
+msgstr "L'ús de l'acció '%s' no és vàlid. S'ignorarà aquesta acció."
-#: openbox/action.c:1226 openbox/action.c:1244 openbox/action.c:1257
+#: openbox/action.c:1224 openbox/action.c:1242 openbox/action.c:1255
#, c-format
msgid "Failed to execute '%s': %s"
msgstr "No s'ha pogut executar '%s': %s"
-#: openbox/action.c:1265
+#: openbox/action.c:1263
#, c-format
msgid "Failed to convert the path '%s' from utf8"
msgstr "No s'ha pogut convertir el camí '%s' des de utf8"
msgid "Windows"
msgstr "Finestres"
-#: openbox/client_list_menu.c:196
+#: openbox/client_list_menu.c:195
msgid "Desktops"
msgstr "Escriptoris"
#: openbox/menu.c:149
#, c-format
msgid "Failed to execute command for pipe-menu '%s': %s"
-msgstr "S'ha produït un error en executar l'ordre per al menú de conducte '%s': %s"
+msgstr ""
+"S'ha produït un error en executar l'ordre per al menú de conducte '%s': %s"
#: openbox/menu.c:166
#, c-format
#: openbox/openbox.c:249
msgid "Unable to find a valid config file, using some simple defaults"
-msgstr "No s'ha pogut trobat un fitxer de configuració vàlid, s'utilitzaran alguns valors predeterminats"
+msgstr ""
+"No s'ha pogut trobat un fitxer de configuració vàlid, s'utilitzaran alguns "
+"valors predeterminats"
#: openbox/openbox.c:275
msgid "Unable to load a theme."
#: openbox/openbox.c:394
#, c-format
msgid "Restart failed to execute new executable '%s': %s"
-msgstr "S'ha produït un error en tornar a iniciar i executar el nou executable '%s': %s"
+msgstr ""
+"S'ha produït un error en tornar a iniciar i executar el nou executable '%s': "
+"%s"
#: openbox/openbox.c:464 openbox/openbox.c:466
msgid "Copyright (c)"
#: openbox/openbox.c:479
msgid " --replace Replace the currently running window manager\n"
-msgstr " --replace Reemplaça el gestor de finestres que s'està executant actualment\n"
+msgstr ""
+" --replace Reemplaça el gestor de finestres que s'està executant "
+"actualment\n"
#: openbox/openbox.c:480
msgid " --sm-disable Disable connection to the session manager\n"
"Passing messages to a running Openbox instance:\n"
msgstr ""
"\n"
-"S'està transferint missatges a la instància del Openbox que s'està executant:\n"
+"S'està transferint missatges a la instància del Openbox que s'està "
+"executant:\n"
#: openbox/openbox.c:482
msgid " --reconfigure Reload Openbox's configuration\n"
#: openbox/openbox.c:487
msgid " --debug-focus Display debugging output for focus handling\n"
-msgstr " --debug-focus Mostra la sortida de depuració per a la gestió del focus\n"
+msgstr ""
+" --debug-focus Mostra la sortida de depuració per a la gestió del "
+"focus\n"
#: openbox/openbox.c:488
msgid " --debug-xinerama Split the display into fake xinerama screens\n"
-msgstr " --debug-xinerama Divideix la visualització en pantalles xinerama falses\n"
+msgstr ""
+" --debug-xinerama Divideix la visualització en pantalles xinerama "
+"falses\n"
#: openbox/openbox.c:489
#, c-format
#: openbox/screen.c:125
#, c-format
msgid "Could not acquire window manager selection on screen %d"
-msgstr "No s'ha pogut adquirir la selecció del gestor de finestres en la pantalla %d"
+msgstr ""
+"No s'ha pogut adquirir la selecció del gestor de finestres en la pantalla %d"
#: openbox/screen.c:146
#, c-format
msgid "The WM on screen %d is not exiting"
msgstr "El gestor de finestres de la pantalla %d no està sortint"
-#: openbox/screen.c:939
+#: openbox/screen.c:950
#, c-format
msgid "desktop %i"
msgstr "escriptori %i"
#: openbox/translate.c:58
#, c-format
msgid "Invalid modifier key '%s' in key/mouse binding"
-msgstr "La tecla modificadora '%s' no és vàlida en la vinculació de tecles/ratolí"
+msgstr ""
+"La tecla modificadora '%s' no és vàlida en la vinculació de tecles/ratolí"
#: openbox/translate.c:135
#, c-format
msgid "Requested key '%s' does not exist on the display"
msgstr "La tecla seleccionada '%s' no existeix a la pantalla"
-#: openbox/xerror.c:39
+#: openbox/xerror.c:38
#, c-format
msgid "X Error: %s"
-msgstr "Error d''X: %s"
+msgstr "Error d'X: %s"
theme = g_new0(RrTheme, 1);
theme->inst = inst;
+ theme->name = g_strdup(name);
theme->a_disabled_focused_max = RrAppearanceNew(inst, 1);
theme->a_disabled_unfocused_max = RrAppearanceNew(inst, 1);
void RrThemeFree(RrTheme *theme)
{
if (theme) {
+ g_free(theme->name);
+
RrColorFree(theme->menu_border_color);
RrColorFree(theme->frame_focused_border_color);
RrColorFree(theme->frame_unfocused_border_color);
RrAppearance *osd_hilite_label; /* can be parent relative */
RrAppearance *osd_unhilite_fg; /* can never be parent relative */
+ gchar *name;
};
/*! The font values are all optional. If a NULL is used for any of them, then
--- /dev/null
+title
+confignotify
+fallback
+grouptran2
+grouptrancircular
+fakeunmap
+showhide
+modal2
+skiptaskbar
+modal3
+override
+grouptran
+borderchange
+grouptrancircular2
+restack
+stacking
+groupmodal
+icons
+duplicatesession
+aspect
+modal
+noresize
+shape
+big
+urgent
+focusout
+positioned
+strut
+grav
+resize
+fullscreen
+mapiconic
+extentsrequest
+usertimewin
+confignotifymax
--- /dev/null
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
+
+ confignotify.c for the Openbox window manager
+ Copyright (c) 2003-2007 Dana Jansens
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ See the COPYING file for a copy of the GNU General Public License.
+*/
+
+#include <stdio.h>
+#include <unistd.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
+int main () {
+ Display *display;
+ Window win;
+ XEvent report;
+ XEvent msg;
+ Atom _net_max[2],_net_state;
+ int x=10,y=10,h=100,w=100;
+
+ display = XOpenDisplay(NULL);
+
+ if (display == NULL) {
+ fprintf(stderr, "couldn't connect to X server :0\n");
+ return 0;
+ }
+
+ _net_state = XInternAtom(display, "_NET_WM_STATE", False);
+ _net_max[0] = XInternAtom(display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
+ _net_max[1] = XInternAtom(display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
+
+ win = XCreateWindow(display, RootWindow(display, 0),
+ x, y, w, h, 0, CopyFromParent, CopyFromParent,
+ CopyFromParent, 0, NULL);
+
+ XSetWindowBackground(display,win,WhitePixel(display,0));
+ XChangeProperty(display, win, _net_state, XA_ATOM, 32,
+ PropModeReplace, (unsigned char*)&_net_max, 2);
+
+ XSelectInput(display, win, (ExposureMask | StructureNotifyMask |
+ GravityNotify));
+
+ XMapWindow(display, win);
+ XFlush(display);
+
+ //sleep(1);
+ //XResizeWindow(display, win, w+5, h+5);
+ //XMoveWindow(display, win, x, y);
+
+ while (1) {
+ XNextEvent(display, &report);
+
+ switch (report.type) {
+ case MapNotify:
+ printf("map notify\n");
+ break;
+ case Expose:
+ printf("exposed\n");
+ break;
+ case GravityNotify:
+ printf("gravity notify event 0x%x window 0x%x x %d y %d\n",
+ report.xgravity.event, report.xgravity.window,
+ report.xgravity.x, report.xgravity.y);
+ break;
+ case ConfigureNotify: {
+ int se = report.xconfigure.send_event;
+ int event = report.xconfigure.event;
+ int window = report.xconfigure.window;
+ int x = report.xconfigure.x;
+ int y = report.xconfigure.y;
+ int w = report.xconfigure.width;
+ int h = report.xconfigure.height;
+ int bw = report.xconfigure.border_width;
+ int above = report.xconfigure.above;
+ int or = report.xconfigure.override_redirect;
+ printf("confignotify send %d ev 0x%x win 0x%x %i,%i-%ix%i bw %i\n"
+ " above 0x%x ovrd %d\n",
+ se,event,window,x,y,w,h,bw,above,or);
+ break;
+ }
+ }
+
+ }
+
+ return 1;
+}
--- /dev/null
+.dirstamp
+themetoxml
+.libs
+.deps