make ob_debug use the g_log system, and make openbox log messages to..a log file ! this will help everyone since most people do not run openbox in a terminal..

This commit is contained in:
Dana Jansens 2008-01-20 12:36:42 -05:00
parent 20b8fcfa33
commit a21840cbb7
13 changed files with 301 additions and 213 deletions

View file

@ -264,7 +264,7 @@ void client_manage(Window window)
XFree(wmhint);
}
ob_debug("Managing window: 0x%lx\n", window);
ob_debug("Managing window: 0x%lx", window);
map_time = event_get_server_time();
@ -288,8 +288,8 @@ void client_manage(Window window)
/* get all the stuff off the window */
client_get_all(self, TRUE);
ob_debug("Window type: %d\n", self->type);
ob_debug("Window group: 0x%x\n", self->group?self->group->leader:0);
ob_debug("Window type: %d", self->type);
ob_debug("Window group: 0x%x", 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
@ -356,7 +356,7 @@ void client_manage(Window window)
/* figure out placement for the window if the window is new */
if (ob_state() == OB_STATE_RUNNING) {
ob_debug("Positioned: %s @ %d %d\n",
ob_debug("Positioned: %s @ %d %d",
(!self->positioned ? "no" :
(self->positioned == PPosition ? "program specified" :
(self->positioned == USPosition ? "user specified" :
@ -364,7 +364,7 @@ void client_manage(Window window)
"program + user specified" :
"BADNESS !?")))), place.x, place.y);
ob_debug("Sized: %s @ %d %d\n",
ob_debug("Sized: %s @ %d %d",
(!self->sized ? "no" :
(self->sized == PSize ? "program specified" :
(self->sized == USSize ? "user specified" :
@ -436,7 +436,7 @@ void client_manage(Window window)
place.width = MIN(place.width, a->width);
place.height = MIN(place.height, a->height);
ob_debug("setting window size to %dx%d\n", place.width, place.height);
ob_debug("setting window size to %dx%d", place.width, place.height);
/* get the size of the client back */
place.width -= self->frame->size.left + self->frame->size.right;
@ -446,11 +446,11 @@ void client_manage(Window window)
}
ob_debug("placing window 0x%x at %d, %d with size %d x %d. "
"some restrictions may apply\n",
"some restrictions may apply",
self->window, place.x, place.y, place.width, place.height);
if (self->session)
ob_debug(" but session requested %d, %d %d x %d instead, "
"overriding\n",
"overriding",
self->session->x, self->session->y,
self->session->w, self->session->h);
@ -465,7 +465,7 @@ void client_manage(Window window)
g_free(monitor);
monitor = NULL;
ob_debug_type(OB_DEBUG_FOCUS, "Going to try activate new window? %s\n",
ob_debug_type(OB_DEBUG_FOCUS, "Going to try activate new window? %s",
activate ? "yes" : "no");
if (activate) {
gboolean raise = FALSE;
@ -473,7 +473,7 @@ void client_manage(Window window)
/* This is focus stealing prevention */
ob_debug_type(OB_DEBUG_FOCUS,
"Want to focus new window 0x%x at time %u "
"launched at %u (last user interaction time %u)\n",
"launched at %u (last user interaction time %u)",
self->window, map_time, launch_time,
event_last_user_time);
@ -483,7 +483,7 @@ void client_manage(Window window)
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because the user is inside "
"an Openbox menu or is move/resizing a window and "
"we don't want to interrupt them\n");
"we don't want to interrupt them");
}
/* if it's on another desktop */
@ -497,7 +497,7 @@ void client_manage(Window window)
raise = TRUE;
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because its on another "
"desktop\n");
"desktop");
}
/* If something is focused, and it's not our relative... */
else if (focus_client && client_search_focus_tree_full(self) == NULL &&
@ -514,14 +514,14 @@ void client_manage(Window window)
activate = FALSE;
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because the user is "
"working in another window\n");
"working in another window");
}
/* If its a transient (and its parents aren't focused) */
else if (client_has_parent(self)) {
activate = FALSE;
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because it is a "
"transient, and its relatives aren't focused\n");
"transient, and its relatives aren't focused");
}
/* Don't steal focus from globally active clients.
I stole this idea from KWin. It seems nice.
@ -532,7 +532,7 @@ void client_manage(Window window)
activate = FALSE;
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because a globally "
"active client has focus\n");
"active client has focus");
}
/* Don't move focus if it's not going to go to this window
anyway */
@ -541,7 +541,7 @@ void client_manage(Window window)
raise = TRUE;
ob_debug_type(OB_DEBUG_FOCUS,
"Not focusing the window because another window "
"would get the focus anyway\n");
"would get the focus anyway");
}
else if (!(self->desktop == screen_desktop ||
self->desktop == DESKTOP_ALL))
@ -557,7 +557,7 @@ void client_manage(Window window)
if (!activate) {
ob_debug_type(OB_DEBUG_FOCUS,
"Focus stealing prevention activated for %s at "
"time %u (last user interactioon time %u)\n",
"time %u (last user interactioon time %u)",
self->title, map_time, event_last_user_time);
/* if the client isn't focused, then hilite it so the user
knows it is there */
@ -623,7 +623,7 @@ void client_manage(Window window)
/* free the ObAppSettings shallow copy */
g_free(settings);
ob_debug("Managed window 0x%lx plate 0x%x (%s)\n",
ob_debug("Managed window 0x%lx plate 0x%x (%s)",
window, self->frame->window, self->class);
return;
@ -635,7 +635,7 @@ ObClient *client_fake_manage(Window window)
ObClient *self;
ObAppSettings *settings;
ob_debug("Pretend-managing window: %lx\n", window);
ob_debug("Pretend-managing window: %lx", window);
/* do this minimal stuff to figure out the client's decorations */
@ -653,7 +653,7 @@ ObClient *client_fake_manage(Window window)
self->frame = frame_new(self);
frame_adjust_area(self->frame, FALSE, TRUE, TRUE);
ob_debug("gave extents left %d right %d top %d bottom %d\n",
ob_debug("gave extents left %d right %d top %d bottom %d",
self->frame->size.left, self->frame->size.right,
self->frame->size.top, self->frame->size.bottom);
@ -675,7 +675,7 @@ void client_unmanage(ObClient *self)
GSList *it;
gulong ignore_start;
ob_debug("Unmanaging window: 0x%x plate 0x%x (%s) (%s)\n",
ob_debug("Unmanaging window: 0x%x plate 0x%x (%s) (%s)",
self->window, self->frame->window,
self->class, self->title ? self->title : "");
@ -794,7 +794,7 @@ void client_unmanage(ObClient *self)
/* update the list hints */
client_set_list();
ob_debug("Unmanaged window 0x%lx\n", self->window);
ob_debug("Unmanaged window 0x%lx", self->window);
/* free all data allocated in the client struct */
g_slist_free(self->transients);
@ -852,7 +852,7 @@ static ObAppSettings *client_get_settings_state(ObClient *self)
match = FALSE;
if (match) {
ob_debug("Window matching: %s\n", app->name);
ob_debug("Window matching: %s", app->name);
/* copy the settings to our struct, overriding the existing
settings if they are not defaults */
@ -907,17 +907,17 @@ static void client_restore_session_state(ObClient *self)
GList *it;
ob_debug_type(OB_DEBUG_SM,
"Restore session for client %s\n", self->title);
"Restore session for client %s", self->title);
if (!(it = session_state_find(self))) {
ob_debug_type(OB_DEBUG_SM,
"Session data not found for client %s\n", self->title);
"Session data not found for client %s", self->title);
return;
}
self->session = it->data;
ob_debug_type(OB_DEBUG_SM, "Session data loaded for client %s\n",
ob_debug_type(OB_DEBUG_SM, "Session data loaded for client %s",
self->title);
RECT_SET_POINT(self->area, self->session->x, self->session->y);
@ -1170,7 +1170,7 @@ static void client_get_area(ObClient *self)
POINT_SET(self->root_pos, wattrib.x, wattrib.y);
self->border_width = wattrib.border_width;
ob_debug("client area: %d %d %d %d bw %d\n", wattrib.x, wattrib.y,
ob_debug("client area: %d %d %d %d bw %d", wattrib.x, wattrib.y,
wattrib.width, wattrib.height, wattrib.border_width);
}
@ -1183,7 +1183,7 @@ static void client_get_desktop(ObClient *self)
self->desktop = screen_num_desktops - 1;
else
self->desktop = d;
ob_debug("client requested desktop 0x%x\n", self->desktop);
ob_debug("client requested desktop 0x%x", self->desktop);
} else {
GSList *it;
gboolean first = TRUE;
@ -1206,7 +1206,7 @@ static void client_get_desktop(ObClient *self)
if (all != screen_num_desktops) {
self->desktop = all;
ob_debug("client desktop set from parents: 0x%x\n",
ob_debug("client desktop set from parents: 0x%x",
self->desktop);
}
/* try get from the startup-notification protocol */
@ -1214,13 +1214,13 @@ static void client_get_desktop(ObClient *self)
if (self->desktop >= screen_num_desktops &&
self->desktop != DESKTOP_ALL)
self->desktop = screen_num_desktops - 1;
ob_debug("client desktop set from startup-notification: 0x%x\n",
ob_debug("client desktop set from startup-notification: 0x%x",
self->desktop);
}
/* defaults to the current desktop */
else {
self->desktop = screen_desktop;
ob_debug("client desktop set to the current desktop: %d\n",
ob_debug("client desktop set to the current desktop: %d",
self->desktop);
}
}
@ -1575,7 +1575,7 @@ void client_update_colormap(ObClient *self, Colormap colormap)
{
if (colormap == self->colormap) return;
ob_debug("Setting client %s colormap: 0x%x\n", self->title, colormap);
ob_debug("Setting client %s colormap: 0x%x", self->title, colormap);
if (client_focused(self)) {
screen_install_colormap(self, FALSE); /* uninstall old one */
@ -1630,15 +1630,15 @@ void client_update_normal_hints(ObClient *self)
if (size.flags & PResizeInc && size.width_inc && size.height_inc)
SIZE_SET(self->size_inc, size.width_inc, size.height_inc);
ob_debug("Normal hints: min size (%d %d) max size (%d %d)\n "
"size inc (%d %d) base size (%d %d)\n",
ob_debug("Normal hints: min size (%d %d) max size (%d %d)",
self->min_size.width, self->min_size.height,
self->max_size.width, self->max_size.height,
self->max_size.width, self->max_size.height);
ob_debug("size inc (%d %d) base size (%d %d)",
self->size_inc.width, self->size_inc.height,
self->base_size.width, self->base_size.height);
}
else
ob_debug("Normal hints: not set\n");
ob_debug("Normal hints: not set");
}
void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
@ -2645,7 +2645,7 @@ static void client_apply_startup_state(ObClient *self,
pre-max/pre-fullscreen values
*/
client_try_configure(self, &x, &y, &w, &h, &l, &l, FALSE);
ob_debug("placed window 0x%x at %d, %d with size %d x %d\n",
ob_debug("placed window 0x%x at %d, %d with size %d x %d",
self->window, x, y, w, h);
/* save the area, and make it where it should be for the premax stuff */
oldarea = self->area;
@ -3025,7 +3025,7 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
event.xconfigure.event = self->window;
event.xconfigure.window = self->window;
ob_debug("Sending ConfigureNotify to %s for %d,%d %dx%d\n",
ob_debug("Sending ConfigureNotify to %s for %d,%d %dx%d",
self->title, self->root_pos.x, self->root_pos.y, w, h);
/* root window real coords */
@ -3094,7 +3094,7 @@ void client_fullscreen(ObClient *self, gboolean fs)
RECT_SET(self->pre_fullscreen_area, 0, 0, 0, 0);
}
ob_debug("Window %s going fullscreen (%d)\n",
ob_debug("Window %s going fullscreen (%d)",
self->title, self->fullscreen);
client_setup_decor_and_functions(self, FALSE);
@ -3120,7 +3120,7 @@ static void client_iconify_recursive(ObClient *self,
if (self->iconic != iconic) {
ob_debug("%sconifying window: 0x%lx\n", (iconic ? "I" : "Uni"),
ob_debug("%sconifying window: 0x%lx", (iconic ? "I" : "Uni"),
self->window);
if (iconic) {
@ -3294,7 +3294,7 @@ void client_kill(ObClient *self)
if (!self->client_machine && self->pid) {
/* running on the local host */
if (!self->close_tried_term) {
ob_debug("killing window 0x%x with pid %lu, with SIGTERM\n",
ob_debug("killing window 0x%x with pid %lu, with SIGTERM",
self->window, self->pid);
kill(self->pid, SIGTERM);
self->close_tried_term = TRUE;
@ -3303,7 +3303,7 @@ void client_kill(ObClient *self)
client_update_title(self);
}
else {
ob_debug("killing window 0x%x with pid %lu, with SIGKILL\n",
ob_debug("killing window 0x%x with pid %lu, with SIGKILL",
self->window, self->pid);
kill(self->pid, SIGKILL); /* kill -9 */
}
@ -3338,7 +3338,7 @@ static void client_set_desktop_recursive(ObClient *self,
if (target != self->desktop && self->type != OB_CLIENT_TYPE_DESKTOP) {
ob_debug("Setting desktop %u\n", target+1);
ob_debug("Setting desktop %u", target+1);
g_assert(target < screen_num_desktops || target == DESKTOP_ALL);
@ -3640,12 +3640,12 @@ gboolean client_focus(ObClient *self)
if (!client_can_focus(self)) {
ob_debug_type(OB_DEBUG_FOCUS,
"Client %s can't be focused\n", self->title);
"Client %s can't be focused", self->title);
return FALSE;
}
ob_debug_type(OB_DEBUG_FOCUS,
"Focusing client \"%s\" (0x%x) at time %u\n",
"Focusing client \"%s\" (0x%x) at time %u",
self->title, self->window, event_curtime);
/* if using focus_delay, stop the timer now so that focus doesn't
@ -3687,7 +3687,7 @@ gboolean client_focus(ObClient *self)
obt_display_ignore_errors(FALSE);
ob_debug_type(OB_DEBUG_FOCUS, "Error focusing? %d\n",
ob_debug_type(OB_DEBUG_FOCUS, "Error focusing? %d",
obt_display_error_occured);
return !obt_display_error_occured;
}
@ -4014,15 +4014,15 @@ static void detect_edge(Rect area, ObDirection dir,
g_assert_not_reached();
}
ob_debug("my head %d size %d\n", my_head, my_size);
ob_debug("head %d tail %d deest %d\n", head, tail, *dest);
ob_debug("my head %d size %d", my_head, my_size);
ob_debug("head %d tail %d deest %d", head, tail, *dest);
if (!skip_head) {
ob_debug("using near edge %d\n", head);
ob_debug("using near edge %d", head);
*dest = head;
*near_edge = TRUE;
}
else if (!skip_tail) {
ob_debug("using far edge %d\n", tail);
ob_debug("using far edge %d", tail);
*dest = tail;
*near_edge = FALSE;
}
@ -4087,7 +4087,7 @@ void client_find_edge_directional(ObClient *self, ObDirection dir,
cur->desktop != screen_desktop)
continue;
ob_debug("trying window %s\n", cur->title);
ob_debug("trying window %s", cur->title);
detect_edge(cur->frame->area, dir, my_head, my_size, my_edge_start,
my_edge_size, dest, near_edge);
@ -4208,10 +4208,10 @@ void client_find_resize_directional(ObClient *self, ObDirection side,
g_assert_not_reached();
}
ob_debug("head %d dir %d\n", head, dir);
ob_debug("head %d dir %d", head, dir);
client_find_edge_directional(self, dir, head, 1,
e_start, e_size, &e, &near);
ob_debug("edge %d\n", e);
ob_debug("edge %d", e);
*x = self->frame->area.x;
*y = self->frame->area.y;
*w = self->frame->area.width;

View file

@ -17,62 +17,145 @@
*/
#include "debug.h"
#include "gettext.h"
#include "obt/paths.h"
#include <glib.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <errno.h>
static gboolean show;
static gboolean enabled_types[OB_DEBUG_TYPE_NUM] = {FALSE};
static FILE *log_file = NULL;
static guint rr_handler_id = 0;
static guint obt_handler_id = 0;
static guint ob_handler_id = 0;
void ob_debug_show_output(gboolean enable)
static void log_handler(const gchar *log_domain, GLogLevelFlags log_level,
const gchar *message, gpointer user_data);
void ob_debug_startup(void)
{
show = enable;
ObtPaths *p = obt_paths_new();
gchar *dir = g_build_filename(obt_paths_cache_home(p),
"openbox", NULL);
/* log messages to a log file! fancy, no? */
if (!obt_paths_mkdir_path(dir, 0777))
g_message(_("Unable to make directory '%s': %s"),
dir, g_strerror(errno));
else {
gchar *name = g_build_filename(obt_paths_cache_home(p),
"openbox", "openbox.log", NULL);
log_file = fopen(name, "w");
g_free(name);
}
rr_handler_id =
g_log_set_handler("ObRender", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL |
G_LOG_FLAG_RECURSION, log_handler, NULL);
obt_handler_id =
g_log_set_handler("Obt", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL |
G_LOG_FLAG_RECURSION, log_handler, NULL);
ob_handler_id =
g_log_set_handler("Openbox", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL |
G_LOG_FLAG_RECURSION, log_handler, NULL);
g_free(dir);
}
void ob_debug(const gchar *a, ...)
void ob_debug_shutdown(void)
{
va_list vl;
g_log_remove_handler("ObRender", rr_handler_id);
g_log_remove_handler("Obt", obt_handler_id);
g_log_remove_handler("Openbox", ob_handler_id);
if (show) {
fprintf(stderr, "DEBUG: ");
va_start(vl, a);
vfprintf(stderr, a, vl);
va_end(vl);
if (log_file) {
fclose(log_file);
log_file = NULL;
}
}
static gboolean enabled_types[OB_DEBUG_TYPE_NUM] = {FALSE};
void ob_debug_enable(ObDebugType type, gboolean enable)
{
g_assert(type < OB_DEBUG_TYPE_NUM);
enabled_types[type] = enable;
}
static inline void log_print(FILE *out, const gchar* log_domain,
const gchar *level, const gchar *message)
{
fprintf(out, log_domain);
fprintf(out, "-");
fprintf(out, level);
fprintf(out, ": ");
fprintf(out, message);
fprintf(out, "\n");
fflush(out);
}
static void log_handler(const gchar *log_domain, GLogLevelFlags log_level,
const gchar *message, gpointer data)
{
FILE *out;
const gchar *level;
switch (log_level & G_LOG_LEVEL_MASK) {
case G_LOG_LEVEL_DEBUG: level = "Debug"; out = stdout; break;
case G_LOG_LEVEL_INFO: level = "Info"; out = stdout; break;
case G_LOG_LEVEL_MESSAGE: level = "Message"; out = stdout; break;
case G_LOG_LEVEL_WARNING: level = "Warning"; out = stderr; break;
case G_LOG_LEVEL_CRITICAL: level = "Critical"; out = stderr; break;
case G_LOG_LEVEL_ERROR: level = "Error"; out = stderr; break;
default: g_assert_not_reached(); /* invalid level.. */
}
log_print(out, log_domain, level, message);
if (log_file) log_print(log_file, log_domain, level, message);
}
static inline void log_argv(ObDebugType type,
const gchar *format, va_list args)
{
const gchar *prefix;
gchar *message;
g_assert(type < OB_DEBUG_TYPE_NUM);
if (!enabled_types[type]) return;
switch (type) {
case OB_DEBUG_FOCUS: prefix = "(FOCUS) "; break;
case OB_DEBUG_APP_BUGS: prefix = "(APPLICATION BUG) "; break;
case OB_DEBUG_SM: prefix = "(SESSION) "; break;
default: prefix = NULL; break;
}
message = g_strdup_vprintf(format, args);
if (prefix) {
gchar *a = message;
message = g_strconcat(prefix, message, NULL);
g_free(a);
}
g_debug(message);
g_free(message);
}
void ob_debug(const gchar *a, ...)
{
va_list vl;
va_start(vl, a);
log_argv(OB_DEBUG_NORMAL, a, vl);
va_end(vl);
}
void ob_debug_type(ObDebugType type, const gchar *a, ...)
{
va_list vl;
g_assert(type < OB_DEBUG_TYPE_NUM);
if (show && enabled_types[type]) {
switch (type) {
case OB_DEBUG_FOCUS:
fprintf(stderr, "FOCUS: ");
break;
case OB_DEBUG_APP_BUGS:
fprintf(stderr, "APPLICATION BUG: ");
break;
case OB_DEBUG_SM:
fprintf(stderr, "SESSION: ");
break;
default:
g_assert_not_reached();
}
va_start(vl, a);
vfprintf(stderr, a, vl);
va_end(vl);
}
va_start(vl, a);
log_argv(type, a, vl);
va_end(vl);
}

View file

@ -21,11 +21,13 @@
#include <glib.h>
void ob_debug_show_output(gboolean enable);
void ob_debug_startup();
void ob_debug_shutdown();
void ob_debug(const gchar *a, ...);
typedef enum {
OB_DEBUG_NORMAL,
OB_DEBUG_FOCUS,
OB_DEBUG_APP_BUGS,
OB_DEBUG_SM,

View file

@ -182,7 +182,7 @@ void dock_add(Window win, XWMHints *wmhints)
dock_app_grab_button(app, TRUE);
ob_debug("Managed Dock App: 0x%lx (%s)\n", app->icon_win, app->class);
ob_debug("Managed Dock App: 0x%lx (%s)", app->icon_win, app->class);
}
void dock_remove_all(void)
@ -206,7 +206,7 @@ void dock_remove(ObDockApp *app, gboolean reparent)
dock->dock_apps = g_list_remove(dock->dock_apps, app);
dock_configure();
ob_debug("Unmanaged Dock App: 0x%lx (%s)\n", app->icon_win, app->class);
ob_debug("Unmanaged Dock App: 0x%lx (%s)", app->icon_win, app->class);
g_free(app->name);
g_free(app->class);

View file

@ -425,7 +425,7 @@ static void print_focusevent(XEvent *e)
g_assert(modestr);
g_assert(detailstr);
ob_debug_type(OB_DEBUG_FOCUS, "Focus%s 0x%x mode=%s detail=%s\n",
ob_debug_type(OB_DEBUG_FOCUS, "Focus%s 0x%x mode=%s detail=%s",
(e->xfocus.type == FocusIn ? "In" : "Out"),
win,
modestr, detailstr);
@ -525,7 +525,7 @@ static void event_process(const XEvent *ec, gpointer data)
XEvent ce;
ob_debug_type(OB_DEBUG_FOCUS,
"Focus went to root or pointer root/none\n");
"Focus went to root or pointer root/none");
if (e->xfocus.detail == NotifyInferior ||
e->xfocus.detail == NotifyNonlinear)
@ -551,7 +551,7 @@ static void event_process(const XEvent *ec, gpointer data)
{
XPutBackEvent(obt_display, &ce);
ob_debug_type(OB_DEBUG_FOCUS,
" but another FocusIn is coming\n");
" but another FocusIn is coming");
} else {
/* Focus has been reverted.
@ -567,7 +567,7 @@ static void event_process(const XEvent *ec, gpointer data)
else if (!client)
{
ob_debug_type(OB_DEBUG_FOCUS,
"Focus went to a window that is already gone\n");
"Focus went to a window that is already gone");
/* If you send focus to a window and then it disappears, you can
get the FocusIn for it, after it is unmanaged.
@ -598,12 +598,12 @@ static void event_process(const XEvent *ec, gpointer data)
root != obt_root(ob_screen))
{
ob_debug_type(OB_DEBUG_FOCUS,
"Focus went to another screen !\n");
"Focus went to another screen !");
focus_left_screen = TRUE;
}
else
ob_debug_type(OB_DEBUG_FOCUS,
"Focus went to a black hole !\n");
"Focus went to a black hole !");
obt_display_ignore_errors(FALSE);
/* nothing is focused */
focus_set_client(NULL);
@ -615,7 +615,7 @@ static void event_process(const XEvent *ec, gpointer data)
/* The FocusIn was ignored, this means it was on a window
that isn't a client. */
ob_debug_type(OB_DEBUG_FOCUS,
"Focus went to an unmanaged window 0x%x !\n",
"Focus went to an unmanaged window 0x%x !",
ce.xfocus.window);
focus_fallback(TRUE, config_focus_under_mouse, TRUE, TRUE);
}
@ -643,7 +643,7 @@ static void event_process(const XEvent *ec, gpointer data)
else if (e->type == MappingNotify) {
/* keyboard layout changes for modifier mapping changes. reload the
modifier map, and rebind all the key bindings as appropriate */
ob_debug("Kepboard map changed. Reloading keyboard bindings.\n");
ob_debug("Kepboard map changed. Reloading keyboard bindings.");
obt_keyboard_reload();
keyboard_rebind();
}
@ -736,7 +736,7 @@ static void event_handle_root(XEvent *e)
switch(e->type) {
case SelectionClear:
ob_debug("Another WM has requested to replace us. Exiting.\n");
ob_debug("Another WM has requested to replace us. Exiting.");
ob_exit_replace();
break;
@ -751,7 +751,7 @@ static void event_handle_root(XEvent *e)
if (event_curtime == 0)
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_CURRENT_DESKTOP message is missing "
"a timestamp\n");
"a timestamp");
screen_set_desktop(d, TRUE);
}
} else if (msgtype == OBT_PROP_ATOM(NET_NUMBER_OF_DESKTOPS)) {
@ -761,7 +761,7 @@ static void event_handle_root(XEvent *e)
} else if (msgtype == OBT_PROP_ATOM(NET_SHOWING_DESKTOP)) {
screen_show_desktop(e->xclient.data.l[0] != 0, NULL);
} else if (msgtype == OBT_PROP_ATOM(OB_CONTROL)) {
ob_debug("OB_CONTROL: %d\n", e->xclient.data.l[0]);
ob_debug("OB_CONTROL: %d", e->xclient.data.l[0]);
if (e->xclient.data.l[0] == 1)
ob_reconfigure();
else if (e->xclient.data.l[0] == 2)
@ -775,7 +775,7 @@ static void event_handle_root(XEvent *e)
break;
case PropertyNotify:
if (e->xproperty.atom == OBT_PROP_ATOM(NET_DESKTOP_NAMES)) {
ob_debug("UPDATE DESKTOP NAMES\n");
ob_debug("UPDATE DESKTOP NAMES");
screen_update_desktop_names();
}
else if (e->xproperty.atom == OBT_PROP_ATOM(NET_DESKTOP_LAYOUT))
@ -988,7 +988,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
event_end_ignore_all_enters(event_start_ignore_all_enters());
ob_debug_type(OB_DEBUG_FOCUS,
"%sNotify mode %d detail %d on %lx\n",
"%sNotify mode %d detail %d on %lx",
(e->type == EnterNotify ? "Enter" : "Leave"),
e->xcrossing.mode,
e->xcrossing.detail, (client?client->window:0));
@ -1045,7 +1045,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
{
ob_debug_type(OB_DEBUG_FOCUS,
"%sNotify mode %d detail %d serial %lu on %lx "
"IGNORED\n",
"IGNORED",
(e->type == EnterNotify ? "Enter" : "Leave"),
e->xcrossing.mode,
e->xcrossing.detail,
@ -1055,7 +1055,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
else {
ob_debug_type(OB_DEBUG_FOCUS,
"%sNotify mode %d detail %d serial %lu on %lx, "
"focusing window\n",
"focusing window",
(e->type == EnterNotify ? "Enter" : "Leave"),
e->xcrossing.mode,
e->xcrossing.detail,
@ -1086,10 +1086,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
RECT_TO_DIMS(client->area, x, y, w, h);
ob_debug("ConfigureRequest for \"%s\" desktop %d wmstate %d "
"visibile %d\n"
" x %d y %d w %d h %d b %d\n",
"visibile %d",
client->title,
screen_desktop, client->wmstate, client->frame->visible,
screen_desktop, client->wmstate, client->frame->visible);
ob_debug(" x %d y %d w %d h %d b %d",
x, y, w, h, client->border_width);
if (e->xconfigurerequest.value_mask & CWBorderWidth)
@ -1169,7 +1169,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
}
ob_debug("ConfigureRequest x(%d) %d y(%d) %d w(%d) %d h(%d) %d "
"move %d resize %d\n",
"move %d resize %d",
e->xconfigurerequest.value_mask & CWX, x,
e->xconfigurerequest.value_mask & CWY, y,
e->xconfigurerequest.value_mask & CWWidth, w,
@ -1195,7 +1195,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
ob_debug_type(OB_DEBUG_APP_BUGS,
"Application %s is trying to move via "
"ConfigureRequest to it's root window position "
"but it is not using StaticGravity\n",
"but it is not using StaticGravity",
client->title);
/* don't move it */
x = client->area.x;
@ -1223,7 +1223,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
client_find_onscreen(client, &x, &y, w, h, FALSE);
ob_debug("Granting ConfigureRequest x %d y %d w %d h %d\n",
ob_debug("Granting ConfigureRequest x %d y %d w %d h %d",
x, y, w, h);
client_configure(client, x, y, w, h, FALSE, TRUE, TRUE);
}
@ -1231,7 +1231,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
}
case UnmapNotify:
ob_debug("UnmapNotify for window 0x%x eventwin 0x%x sendevent %d "
"ignores left %d\n",
"ignores left %d",
client->window, e->xunmap.event, e->xunmap.from_configure,
client->ignore_unmaps);
if (client->ignore_unmaps) {
@ -1241,7 +1241,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
client_unmanage(client);
break;
case DestroyNotify:
ob_debug("DestroyNotify for window 0x%x\n", client->window);
ob_debug("DestroyNotify for window 0x%x", client->window);
client_unmanage(client);
break;
case ReparentNotify:
@ -1259,11 +1259,11 @@ static void event_handle_client(ObClient *client, XEvent *e)
X server to deal with after we unmanage the window */
XPutBackEvent(obt_display, e);
ob_debug("ReparentNotify for window 0x%x\n", client->window);
ob_debug("ReparentNotify for window 0x%x", client->window);
client_unmanage(client);
break;
case MapRequest:
ob_debug("MapRequest for 0x%lx\n", client->window);
ob_debug("MapRequest for 0x%lx", client->window);
if (!client->iconic) break; /* this normally doesn't happen, but if it
does, we don't want it!
it can happen now when the window is on
@ -1313,7 +1313,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
gulong ignore_start;
/* can't compress these */
ob_debug("net_wm_state %s %ld %ld for 0x%lx\n",
ob_debug("net_wm_state %s %ld %ld for 0x%lx",
(e->xclient.data.l[0] == 0 ? "Remove" :
e->xclient.data.l[0] == 1 ? "Add" :
e->xclient.data.l[0] == 2 ? "Toggle" : "INVALID"),
@ -1328,10 +1328,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (!config_focus_under_mouse)
event_end_ignore_all_enters(ignore_start);
} else if (msgtype == OBT_PROP_ATOM(NET_CLOSE_WINDOW)) {
ob_debug("net_close_window for 0x%lx\n", client->window);
ob_debug("net_close_window for 0x%lx", client->window);
client_close(client);
} else if (msgtype == OBT_PROP_ATOM(NET_ACTIVE_WINDOW)) {
ob_debug("net_active_window for 0x%lx source=%s\n",
ob_debug("net_active_window for 0x%lx source=%s",
client->window,
(e->xclient.data.l[0] == 0 ? "unknown" :
(e->xclient.data.l[0] == 1 ? "application" :
@ -1345,16 +1345,16 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (e->xclient.data.l[1] == 0)
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_ACTIVE_WINDOW message for window %s is"
" missing a timestamp\n", client->title);
" missing a timestamp", client->title);
} else
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_ACTIVE_WINDOW message for window %s is "
"missing source indication\n");
"missing source indication");
client_activate(client, FALSE, TRUE, TRUE,
(e->xclient.data.l[0] == 0 ||
e->xclient.data.l[0] == 2));
} else if (msgtype == OBT_PROP_ATOM(NET_WM_MOVERESIZE)) {
ob_debug("net_wm_moveresize for 0x%lx direction %d\n",
ob_debug("net_wm_moveresize for 0x%lx direction %d",
client->window, e->xclient.data.l[2]);
if ((Atom)e->xclient.data.l[2] ==
OBT_PROP_ATOM(NET_WM_MOVERESIZE_SIZE_TOPLEFT) ||
@ -1427,7 +1427,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
else
h = client->area.height;
ob_debug("MOVERESIZE x %d %d y %d %d (gravity %d)\n",
ob_debug("MOVERESIZE x %d %d y %d %d (gravity %d)",
e->xclient.data.l[0] & 1 << 8, x,
e->xclient.data.l[0] & 1 << 9, y,
client->gravity);
@ -1441,7 +1441,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (e->xclient.data.l[0] != 2) {
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_RESTACK_WINDOW sent for window %s with "
"invalid source indication %ld\n",
"invalid source indication %ld",
client->title, e->xclient.data.l[0]);
} else {
ObClient *sibling = NULL;
@ -1455,7 +1455,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (sibling == NULL)
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_RESTACK_WINDOW sent for window %s "
"with invalid sibling 0x%x\n",
"with invalid sibling 0x%x",
client->title, e->xclient.data.l[1]);
}
if (e->xclient.data.l[2] == Below ||
@ -1480,7 +1480,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
} else
ob_debug_type(OB_DEBUG_APP_BUGS,
"_NET_RESTACK_WINDOW sent for window %s "
"with invalid detail %d\n",
"with invalid detail %d",
client->title, e->xclient.data.l[2]);
}
}
@ -1523,7 +1523,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
msgtype = e->xproperty.atom;
if (msgtype == XA_WM_NORMAL_HINTS) {
ob_debug("Update NORMAL hints\n");
ob_debug("Update NORMAL hints");
client_update_normal_hints(client);
/* normal hints can make a window non-resizable */
client_setup_decor_and_functions(client, FALSE);
@ -1945,7 +1945,7 @@ static void event_ignore_enter_range(gulong start, gulong end)
r->end = end;
ignore_serials = g_slist_prepend(ignore_serials, r);
ob_debug_type(OB_DEBUG_FOCUS, "ignoring enters from %lu until %lu\n",
ob_debug_type(OB_DEBUG_FOCUS, "ignoring enters from %lu until %lu",
r->start, r->end);
/* increment the serial so we don't ignore events we weren't meant to */
@ -1992,19 +1992,19 @@ void event_cancel_all_key_grabs(void)
{
if (actions_interactive_act_running()) {
actions_interactive_cancel_act();
ob_debug("KILLED interactive action\n");
ob_debug("KILLED interactive action");
}
else if (menu_frame_visible) {
menu_frame_hide_all();
ob_debug("KILLED open menus\n");
ob_debug("KILLED open menus");
}
else if (moveresize_in_progress) {
moveresize_end(TRUE);
ob_debug("KILLED interactive moveresize\n");
ob_debug("KILLED interactive moveresize");
}
else if (grab_on_keyboard()) {
ungrab_keyboard();
ob_debug("KILLED active grab on keyboard\n");
ob_debug("KILLED active grab on keyboard");
}
else
ungrab_passive_key();

View file

@ -66,7 +66,7 @@ void focus_set_client(ObClient *client)
Window active;
ob_debug_type(OB_DEBUG_FOCUS,
"focus_set_client 0x%lx\n", client ? client->window : 0);
"focus_set_client 0x%lx", client ? client->window : 0);
if (focus_client == client)
return;
@ -103,18 +103,18 @@ static ObClient* focus_fallback_target(gboolean allow_refocus,
GList *it;
ObClient *c;
ob_debug_type(OB_DEBUG_FOCUS, "trying pointer stuff\n");
ob_debug_type(OB_DEBUG_FOCUS, "trying pointer stuff");
if (allow_pointer && config_focus_follow)
if ((c = client_under_pointer()) &&
(allow_refocus || client_focus_target(c) != old) &&
(client_normal(c) &&
client_focus(c)))
{
ob_debug_type(OB_DEBUG_FOCUS, "found in pointer stuff\n");
ob_debug_type(OB_DEBUG_FOCUS, "found in pointer stuff");
return c;
}
ob_debug_type(OB_DEBUG_FOCUS, "trying the focus order\n");
ob_debug_type(OB_DEBUG_FOCUS, "trying the focus order");
for (it = focus_order; it; it = g_list_next(it)) {
c = it->data;
/* fallback focus to a window if:
@ -130,12 +130,12 @@ static ObClient* focus_fallback_target(gboolean allow_refocus,
(allow_refocus || client_focus_target(c) != old) &&
client_focus(c))
{
ob_debug_type(OB_DEBUG_FOCUS, "found in focus order\n");
ob_debug_type(OB_DEBUG_FOCUS, "found in focus order");
return c;
}
}
ob_debug_type(OB_DEBUG_FOCUS, "trying a desktop window\n");
ob_debug_type(OB_DEBUG_FOCUS, "trying a desktop window");
for (it = focus_order; it; it = g_list_next(it)) {
c = it->data;
/* fallback focus to a window if:
@ -149,7 +149,7 @@ static ObClient* focus_fallback_target(gboolean allow_refocus,
(allow_refocus || client_focus_target(c) != old) &&
client_focus(c))
{
ob_debug_type(OB_DEBUG_FOCUS, "found a desktop window\n");
ob_debug_type(OB_DEBUG_FOCUS, "found a desktop window");
return c;
}
}

View file

@ -116,6 +116,8 @@ gint main(gint argc, gchar **argv)
state = OB_STATE_STARTING;
ob_debug_startup();
/* initialize the locale */
if (!setlocale(LC_ALL, ""))
g_message("Couldn't set locale from environment.");
@ -123,10 +125,6 @@ gint main(gint argc, gchar **argv)
bind_textdomain_codeset(PACKAGE_NAME, "UTF-8");
textdomain(PACKAGE_NAME);
if (chdir(g_get_home_dir()) == -1)
g_message(_("Unable to change to home directory '%s': %s"),
g_get_home_dir(), g_strerror(errno));
/* parse the command line args, which can change the argv[0] */
parse_args(&argc, argv);
/* parse the environment variables */
@ -420,6 +418,8 @@ gint main(gint argc, gchar **argv)
g_free(ob_sm_id);
g_free(program_name);
ob_debug_shutdown();
return exitcode;
}
@ -427,11 +427,11 @@ static void signal_handler(gint signal, gpointer data)
{
switch (signal) {
case SIGUSR1:
ob_debug("Caught signal %d. Restarting.\n", signal);
ob_debug("Caught signal %d. Restarting.", signal);
ob_restart();
break;
case SIGUSR2:
ob_debug("Caught signal %d. Reconfiguring.\n", signal);
ob_debug("Caught signal %d. Reconfiguring.", signal);
ob_reconfigure();
break;
case SIGCHLD:
@ -439,7 +439,7 @@ static void signal_handler(gint signal, gpointer data)
while (waitpid(-1, NULL, WNOHANG) > 0);
break;
default:
ob_debug("Caught signal %d. Exiting.\n", signal);
ob_debug("Caught signal %d. Exiting.", signal);
/* TERM and INT return a 0 code */
ob_exit(!(signal == SIGTERM || signal == SIGINT));
}
@ -473,6 +473,7 @@ static void print_help()
g_print(_(" --sync Run in synchronous mode\n"));
g_print(_(" --debug Display debugging output\n"));
g_print(_(" --debug-focus Display debugging output for focus handling\n"));
g_print(_(" --debug-session Display debugging output for session managment\n"));
g_print(_(" --debug-xinerama Split the display into fake xinerama screens\n"));
g_print(_("\nPlease report bugs at %s\n"), PACKAGE_BUGREPORT);
}
@ -519,16 +520,19 @@ static void parse_args(gint *argc, gchar **argv)
xsync = TRUE;
}
else if (!strcmp(argv[i], "--debug")) {
ob_debug_show_output(TRUE);
ob_debug_enable(OB_DEBUG_SM, TRUE);
ob_debug_enable(OB_DEBUG_NORMAL, TRUE);
ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
}
else if (!strcmp(argv[i], "--debug-focus")) {
ob_debug_show_output(TRUE);
ob_debug_enable(OB_DEBUG_SM, TRUE);
ob_debug_enable(OB_DEBUG_NORMAL, TRUE);
ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
ob_debug_enable(OB_DEBUG_FOCUS, TRUE);
}
else if (!strcmp(argv[i], "--debug-session")) {
ob_debug_enable(OB_DEBUG_NORMAL, TRUE);
ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
ob_debug_enable(OB_DEBUG_SM, TRUE);
}
else if (!strcmp(argv[i], "--debug-xinerama")) {
ob_debug_xinerama = TRUE;
}
@ -549,7 +553,7 @@ static void parse_args(gint *argc, gchar **argv)
ob_sm_save_file = g_strdup(argv[i+1]);
remove_args(argc, argv, i, 2);
--i; /* this arg was removed so go back */
ob_debug_type(OB_DEBUG_SM, "--sm-save-file %s\n",
ob_debug_type(OB_DEBUG_SM, "--sm-save-file %s",
ob_sm_save_file);
}
}
@ -561,7 +565,7 @@ static void parse_args(gint *argc, gchar **argv)
ob_sm_id = g_strdup(argv[i+1]);
remove_args(argc, argv, i, 2);
--i; /* this arg was removed so go back */
ob_debug_type(OB_DEBUG_SM, "--sm-client-id %s\n", ob_sm_id);
ob_debug_type(OB_DEBUG_SM, "--sm-client-id %s", ob_sm_id);
}
}
else if (!strcmp(argv[i], "--sm-disable")) {

View file

@ -99,7 +99,7 @@ void ping_got_pong(guint32 id)
ObPingTarget *t;
if ((t = g_hash_table_lookup(ping_ids, &id))) {
/*ob_debug("-PONG: '%s' (id %u)\n", t->client->title, t->id);*/
/*ob_debug("-PONG: '%s' (id %u)", t->client->title, t->id);*/
if (t->waiting > PING_TIMEOUT_WARN) {
/* we had notified that they weren't responding, so now we
need to notify that they are again */
@ -108,7 +108,7 @@ void ping_got_pong(guint32 id)
t->waiting = 0; /* not waiting for a reply anymore */
}
else
ob_debug("Got PONG with id %u but not waiting for one\n", id);
ob_debug("Got PONG with id %u but not waiting for one", id);
}
static gboolean find_client(gpointer key, gpointer value, gpointer client)
@ -131,7 +131,7 @@ static void ping_send(ObPingTarget *t)
g_hash_table_insert(ping_ids, &t->id, t);
}
/*ob_debug("+PING: '%s' (id %u)\n", t->client->title, t->id);*/
/*ob_debug("+PING: '%s' (id %u)", t->client->title, t->id);*/
OBT_PROP_MSG_TO(t->client->window, t->client->window, WM_PROTOCOLS,
OBT_PROP_ATOM(NET_WM_PING), t->id, t->client->window, 0, 0,
NoEventMask);

View file

@ -76,7 +76,7 @@ static Rect **pick_head(ObClient *c)
/* try direct parent first */
if ((p = client_direct_parent(c))) {
add_choice(choice, client_monitor(p));
ob_debug("placement adding choice %d for parent\n",
ob_debug("placement adding choice %d for parent",
client_monitor(p));
}
@ -92,7 +92,7 @@ static Rect **pick_head(ObClient *c)
itc->desktop == DESKTOP_ALL || c->desktop == DESKTOP_ALL))
{
add_choice(choice, client_monitor(it->data));
ob_debug("placement adding choice %d for group sibling\n",
ob_debug("placement adding choice %d for group sibling",
client_monitor(it->data));
}
}
@ -103,7 +103,7 @@ static Rect **pick_head(ObClient *c)
if (itc != c) {
add_choice(choice, client_monitor(it->data));
ob_debug("placement adding choice %d for group sibling on "
"another desktop\n", client_monitor(it->data));
"another desktop", client_monitor(it->data));
}
}
}
@ -113,7 +113,7 @@ static Rect **pick_head(ObClient *c)
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",
ob_debug("placement adding choice %d for normal focused window",
client_monitor(focus_client));
}
@ -125,7 +125,7 @@ static Rect **pick_head(ObClient *c)
g_free(monitor);
if (contain) {
add_choice(choice, i);
ob_debug("placement adding choice %d for mouse pointer\n", i);
ob_debug("placement adding choice %d for mouse pointer", i);
break;
}
}

View file

@ -662,7 +662,7 @@ void screen_set_desktop(guint num, gboolean dofocus)
obt_main_loop_timeout_add(ob_main_loop, REMEMBER_LAST_DESKTOP_TIME,
last_desktop_func, NULL, NULL, NULL);
ob_debug("Moving to desktop %d\n", num+1);
ob_debug("Moving to desktop %d", num+1);
/* ignore enter events caused by the move */
ignore_start = event_start_ignore_all_enters();
@ -719,7 +719,7 @@ void screen_add_desktop(gboolean current)
parent - which will have to be on the same desktop */
!client_direct_parent(c))
{
ob_debug("moving window %s\n", c->title);
ob_debug("moving window %s", c->title);
client_set_desktop(c, c->desktop+1, FALSE, TRUE);
}
}
@ -760,7 +760,7 @@ void screen_remove_desktop(gboolean current)
parent - which will have to be on the same desktop */
!client_direct_parent(c))
{
ob_debug("moving window %s\n", c->title);
ob_debug("moving window %s", c->title);
client_set_desktop(c, c->desktop - 1, TRUE, TRUE);
}
/* raise all the windows that are on the current desktop which
@ -770,7 +770,7 @@ void screen_remove_desktop(gboolean current)
(d == DESKTOP_ALL || d == screen_desktop))
{
stacking_raise(CLIENT_AS_WINDOW(c));
ob_debug("raising window %s\n", c->title);
ob_debug("raising window %s", c->title);
}
}
}
@ -778,7 +778,7 @@ void screen_remove_desktop(gboolean current)
/* fallback focus like we're changing desktops */
if (screen_desktop < screen_num_desktops - 1) {
screen_fallback_focus();
ob_debug("fake desktop change\n");
ob_debug("fake desktop change");
}
screen_set_num_desktops(screen_num_desktops-1);

View file

@ -110,7 +110,7 @@ void session_startup(gint argc, gchar **argv)
if (ob_sm_save_file != NULL) {
if (ob_sm_restore) {
ob_debug_type(OB_DEBUG_SM, "Loading from session file %s\n",
ob_debug_type(OB_DEBUG_SM, "Loading from session file %s",
ob_sm_save_file);
session_load_file(ob_sm_save_file);
}
@ -177,7 +177,7 @@ static gboolean session_connect()
/* connect to the server */
oldid = ob_sm_id;
ob_debug_type(OB_DEBUG_SM, "Connecting to SM with id: %s\n",
ob_debug_type(OB_DEBUG_SM, "Connecting to SM with id: %s",
oldid ? oldid : "(null)");
sm_conn = SmcOpenConnection(NULL, NULL, 1, 0,
SmcSaveYourselfProcMask |
@ -187,9 +187,9 @@ static gboolean session_connect()
&cb, oldid, &ob_sm_id,
SM_ERR_LEN-1, sm_err);
g_free(oldid);
ob_debug_type(OB_DEBUG_SM, "Connected to SM with id: %s\n", ob_sm_id);
ob_debug_type(OB_DEBUG_SM, "Connected to SM with id: %s", ob_sm_id);
if (sm_conn == NULL)
ob_debug("Failed to connect to session manager: %s\n", sm_err);
ob_debug("Failed to connect to session manager: %s", sm_err);
return sm_conn != NULL;
}
@ -206,7 +206,7 @@ static void session_setup_program()
.vals = &vals
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting program: %s\n", sm_argv[0]);
ob_debug_type(OB_DEBUG_SM, "Setting program: %s", sm_argv[0]);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
@ -227,7 +227,7 @@ static void session_setup_user()
.vals = &vals
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting user: %s\n", user);
ob_debug_type(OB_DEBUG_SM, "Setting user: %s", user);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
@ -249,7 +249,7 @@ static void session_setup_restart_style(gboolean restart)
.vals = &vals
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting restart: %d\n", restart);
ob_debug_type(OB_DEBUG_SM, "Setting restart: %d", restart);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
@ -270,7 +270,7 @@ static void session_setup_pid()
.vals = &vals
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting pid: %s\n", pid);
ob_debug_type(OB_DEBUG_SM, "Setting pid: %s", pid);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
@ -293,7 +293,7 @@ static void session_setup_priority()
.vals = &vals
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting priority: %d\n", priority);
ob_debug_type(OB_DEBUG_SM, "Setting priority: %d", priority);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
g_free(prop.type);
@ -312,11 +312,11 @@ static void session_setup_clone_command()
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting clone command: (%d)\n", sm_argc);
ob_debug_type(OB_DEBUG_SM, "Setting clone command: (%d)", sm_argc);
for (i = 0; i < sm_argc; ++i) {
vals[i].value = sm_argv[i];
vals[i].length = strlen(sm_argv[i]) + 1;
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value);
}
SmcSetProperties(sm_conn, 1, &list);
@ -338,26 +338,26 @@ static void session_setup_restart_command()
};
SmProp *list = &prop;
ob_debug_type(OB_DEBUG_SM, "Setting restart command: (%d)\n", sm_argc+4);
ob_debug_type(OB_DEBUG_SM, "Setting restart command: (%d)", sm_argc+4);
for (i = 0; i < sm_argc; ++i) {
vals[i].value = sm_argv[i];
vals[i].length = strlen(sm_argv[i]) + 1;
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value);
}
vals[i].value = g_strdup("--sm-client-id");
vals[i].length = strlen("--sm-client-id") + 1;
vals[i+1].value = ob_sm_id;
vals[i+1].length = strlen(ob_sm_id) + 1;
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value);
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+1].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i+1].value);
vals[i+2].value = g_strdup("--sm-save-file");
vals[i+2].length = strlen("--sm-save-file") + 1;
vals[i+3].value = ob_sm_save_file;
vals[i+3].length = strlen(ob_sm_save_file) + 1;
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+2].value);
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+3].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i+2].value);
ob_debug_type(OB_DEBUG_SM, " %s", vals[i+3].value);
SmcSetProperties(sm_conn, 1, &list);
g_free(prop.name);
@ -385,9 +385,9 @@ static void sm_save_yourself_2(SmcConn conn, SmPointer data)
ObSMSaveData *savedata = data;
/* save the current state */
ob_debug_type(OB_DEBUG_SM, "Session save phase 2 requested\n");
ob_debug_type(OB_DEBUG_SM, "Session save phase 2 requested");
ob_debug_type(OB_DEBUG_SM,
" Saving session to file '%s'\n", ob_sm_save_file);
" Saving session to file '%s'", ob_sm_save_file);
if (savedata == NULL)
savedata = sm_save_get_data();
success = session_save_to_file(savedata);
@ -396,7 +396,7 @@ static void sm_save_yourself_2(SmcConn conn, SmPointer data)
/* tell the session manager how to restore this state */
if (success) session_setup_restart_command();
ob_debug_type(OB_DEBUG_SM, "Saving is done (success = %d)\n", success);
ob_debug_type(OB_DEBUG_SM, "Saving is done (success = %d)", success);
SmcSaveYourselfDone(conn, success);
}
@ -407,10 +407,10 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type,
ObSMSaveData *savedata = NULL;
gchar *vendor;
ob_debug_type(OB_DEBUG_SM, "Session save requested\n");
ob_debug_type(OB_DEBUG_SM, "Session save requested");
vendor = SmcVendor(sm_conn);
ob_debug_type(OB_DEBUG_SM, "Session manager's vendor: %s\n", vendor);
ob_debug_type(OB_DEBUG_SM, "Session manager's vendor: %s", vendor);
if (!strcmp(vendor, "KDE")) {
/* ksmserver guarantees that phase 1 will complete before allowing any
@ -421,7 +421,7 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type,
free(vendor);
if (!SmcRequestSaveYourselfPhase2(conn, sm_save_yourself_2, savedata)) {
ob_debug_type(OB_DEBUG_SM, "Requst for phase 2 failed\n");
ob_debug_type(OB_DEBUG_SM, "Requst for phase 2 failed");
g_free(savedata);
SmcSaveYourselfDone(conn, FALSE);
}
@ -429,18 +429,18 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type,
static void sm_die(SmcConn conn, SmPointer data)
{
ob_debug_type(OB_DEBUG_SM, "Die requested\n");
ob_debug_type(OB_DEBUG_SM, "Die requested");
ob_exit(0);
}
static void sm_save_complete(SmcConn conn, SmPointer data)
{
ob_debug_type(OB_DEBUG_SM, "Save complete\n");
ob_debug_type(OB_DEBUG_SM, "Save complete");
}
static void sm_shutdown_cancelled(SmcConn conn, SmPointer data)
{
ob_debug_type(OB_DEBUG_SM, "Shutdown cancelled\n");
ob_debug_type(OB_DEBUG_SM, "Shutdown cancelled");
}
static gboolean session_save_to_file(const ObSMSaveData *savedata)
@ -498,18 +498,18 @@ static gboolean session_save_to_file(const ObSMSaveData *savedata)
if (!c->sm_client_id) {
ob_debug_type(OB_DEBUG_SM, "Client %s does not have a "
"session id set\n",
"session id set",
c->title);
if (!c->wm_command) {
ob_debug_type(OB_DEBUG_SM, "Client %s does not have an "
"oldskool wm_command set either. We won't "
"be saving its data\n",
"be saving its data",
c->title);
continue;
}
}
ob_debug_type(OB_DEBUG_SM, "Saving state for client %s\n",
ob_debug_type(OB_DEBUG_SM, "Saving state for client %s",
c->title);
prex = c->area.x;
@ -608,20 +608,20 @@ static void session_state_free(ObSessionState *state)
static gboolean session_state_cmp(ObSessionState *s, ObClient *c)
{
ob_debug_type(OB_DEBUG_SM, "Comparing client against saved state: \n");
ob_debug_type(OB_DEBUG_SM, " client id: %s \n", c->sm_client_id);
ob_debug_type(OB_DEBUG_SM, " client name: %s \n", c->name);
ob_debug_type(OB_DEBUG_SM, " client class: %s \n", c->class);
ob_debug_type(OB_DEBUG_SM, " client role: %s \n", c->role);
ob_debug_type(OB_DEBUG_SM, " client type: %d \n", c->type);
ob_debug_type(OB_DEBUG_SM, " client command: %s \n",
ob_debug_type(OB_DEBUG_SM, "Comparing client against saved state: ");
ob_debug_type(OB_DEBUG_SM, " client id: %s ", c->sm_client_id);
ob_debug_type(OB_DEBUG_SM, " client name: %s ", c->name);
ob_debug_type(OB_DEBUG_SM, " client class: %s ", c->class);
ob_debug_type(OB_DEBUG_SM, " client role: %s ", c->role);
ob_debug_type(OB_DEBUG_SM, " client type: %d ", c->type);
ob_debug_type(OB_DEBUG_SM, " client command: %s ",
c->wm_command ? c->wm_command : "(null)");
ob_debug_type(OB_DEBUG_SM, " state id: %s \n", s->id);
ob_debug_type(OB_DEBUG_SM, " state name: %s \n", s->name);
ob_debug_type(OB_DEBUG_SM, " state class: %s \n", s->class);
ob_debug_type(OB_DEBUG_SM, " state role: %s \n", s->role);
ob_debug_type(OB_DEBUG_SM, " state type: %d \n", s->type);
ob_debug_type(OB_DEBUG_SM, " state command: %s \n",
ob_debug_type(OB_DEBUG_SM, " state id: %s ", s->id);
ob_debug_type(OB_DEBUG_SM, " state name: %s ", s->name);
ob_debug_type(OB_DEBUG_SM, " state class: %s ", s->class);
ob_debug_type(OB_DEBUG_SM, " state role: %s ", s->role);
ob_debug_type(OB_DEBUG_SM, " state type: %d ", s->type);
ob_debug_type(OB_DEBUG_SM, " state command: %s ",
s->command ? s->command : "(null)");
if ((c->sm_client_id && s->id && !strcmp(c->sm_client_id, s->id)) ||

View file

@ -624,21 +624,20 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
sibling->iconic))
{
ob_debug("Setting restack sibling to NULL, they are not on the same "
"desktop or it is iconified\n");
"desktop or it is iconified");
sibling = NULL;
}
switch (detail) {
case Below:
ob_debug("Restack request Below for client %s sibling %s\n",
ob_debug("Restack request Below for client %s sibling %s",
client->title, sibling ? sibling->title : "(all)");
/* just lower it */
stacking_lower(CLIENT_AS_WINDOW(client));
ret = TRUE;
break;
case BottomIf:
ob_debug("Restack request BottomIf for client %s sibling "
"%s\n",
ob_debug("Restack request BottomIf for client %s sibling %s",
client->title, sibling ? sibling->title : "(all)");
/* if this client occludes sibling (or anything if NULL), then
lower it to the bottom */
@ -648,13 +647,13 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
}
break;
case Above:
ob_debug("Restack request Above for client %s sibling %s\n",
ob_debug("Restack request Above for client %s sibling %s",
client->title, sibling ? sibling->title : "(all)");
stacking_raise(CLIENT_AS_WINDOW(client));
ret = TRUE;
break;
case TopIf:
ob_debug("Restack request TopIf for client %s sibling %s\n",
ob_debug("Restack request TopIf for client %s sibling %s",
client->title, sibling ? sibling->title : "(all)");
if (stacking_occluded(client, sibling)) {
stacking_raise(CLIENT_AS_WINDOW(client));
@ -662,8 +661,7 @@ gboolean stacking_restack_request(ObClient *client, ObClient *sibling,
}
break;
case Opposite:
ob_debug("Restack request Opposite for client %s sibling "
"%s\n",
ob_debug("Restack request Opposite for client %s sibling %s",
client->title, sibling ? sibling->title : "(all)");
if (stacking_occluded(client, sibling)) {
stacking_raise(CLIENT_AS_WINDOW(client));

View file

@ -6,6 +6,7 @@ openbox/client_list_combined_menu.c
openbox/client_list_menu.c
openbox/client_menu.c
openbox/config.c
openbox/debug.c
openbox/keyboard.c
openbox/menu.c
openbox/mouse.c