all repos — openbox @ 35418ca0fcd3fd28ef579f4435b8bad3b7c87f04

openbox fork - make it a bit more like ryudo

remove the ob_root var, its redundant of what Xlib already provides
Dana Jansens danakj@orodu.net
commit

35418ca0fcd3fd28ef579f4435b8bad3b7c87f04

parent

ec908528cf2abad9d2b968db9c8f7287ef5f54fe

M openbox/client.copenbox/client.c

@@ -67,7 +67,8 @@ *win_it = ((ObClient*)it->data)->window;

} else windows = NULL; - PROP_SETA32(ob_root, net_client_list, window, (guint32*)windows, size); + PROP_SETA32(RootWindow(ob_display, ob_screen), + net_client_list, window, (guint32*)windows, size); if (windows) g_free(windows);

@@ -113,7 +114,8 @@ Window w, *children;

XWMHints *wmhints; XWindowAttributes attrib; - XQueryTree(ob_display, ob_root, &w, &w, &children, &nchild); + XQueryTree(ob_display, RootWindow(ob_display, ob_screen), + &w, &w, &children, &nchild); /* remove all icon windows from the list */ for (i = 0; i < nchild; i++) {

@@ -700,7 +702,7 @@ /* not transient to a client, see if it is transient for a

group */ if (t == self->group->leader || t == None || - t == ob_root) { + t == RootWindow(ob_display, ob_screen)) { /* window is a transient for its group! */ c = OB_TRAN_GROUP; }
M openbox/dock.copenbox/dock.c

@@ -27,7 +27,8 @@ dock->hidden = TRUE;

attrib.event_mask = DOCK_EVENT_MASK; attrib.override_redirect = True; - dock->frame = XCreateWindow(ob_display, ob_root, 0, 0, 1, 1, 0, + dock->frame = XCreateWindow(ob_display, RootWindow(ob_display, ob_screen), + 0, 0, 1, 1, 0, RrDepth(ob_rr_inst), InputOutput, RrVisual(ob_rr_inst), CWOverrideRedirect | CWEventMask,

@@ -134,7 +135,8 @@

g_hash_table_remove(window_map, &app->icon_win); if (reparent) - XReparentWindow(ob_display, app->icon_win, ob_root, app->x, app->y); + XReparentWindow(ob_display, app->icon_win, + RootWindow(ob_display, ob_screen), app->x, app->y); dock->dock_apps = g_list_remove(dock->dock_apps, app); dock_configure();
M openbox/event.copenbox/event.c

@@ -486,7 +486,7 @@ else if (dockapp)

event_handle_dockapp(dockapp, e); else if (dock) event_handle_dock(dock, e); - else if (window == ob_root) + else if (window == RootWindow(ob_display, ob_screen)) event_handle_root(e); else if (e->type == MapRequest) client_manage(window);
M openbox/focus.copenbox/focus.c

@@ -96,7 +96,8 @@

/* set the NET_ACTIVE_WINDOW hint, but preserve it on shutdown */ if (ob_state != OB_STATE_EXITING) { active = client ? client->window : None; - PROP_SET32(ob_root, net_active_window, window, active); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_active_window, window, active); } if (focus_client != NULL)
M openbox/frame.copenbox/frame.c

@@ -48,7 +48,8 @@ /* create all of the decor windows */

mask = CWOverrideRedirect | CWEventMask; attrib.event_mask = FRAME_EVENTMASK; attrib.override_redirect = TRUE; - self->window = createWindow(ob_root, mask, &attrib); + self->window = createWindow(RootWindow(ob_display, ob_screen), + mask, &attrib); mask = 0; self->plate = createWindow(self->window, mask, &attrib);

@@ -395,7 +396,8 @@ XMapWindow(ob_display, client->window); */

} else { /* according to the ICCCM - if the client doesn't reparent itself, then we will reparent the window to root for them */ - XReparentWindow(ob_display, client->window, ob_root, + XReparentWindow(ob_display, client->window, + RootWindow(ob_display, ob_screen), client->area.x, client->area.y); }

@@ -582,7 +584,7 @@ ObFrameContext frame_context(ObClient *client, Window win)

{ ObFrame *self; - if (win == ob_root) return OB_FRAME_CONTEXT_ROOT; + if (win == RootWindow(ob_display, ob_screen)) return OB_FRAME_CONTEXT_ROOT; if (client == NULL) return OB_FRAME_CONTEXT_NONE; if (win == client->window) return OB_FRAME_CONTEXT_CLIENT;
M openbox/grab.copenbox/grab.c

@@ -20,8 +20,9 @@ gboolean ret = FALSE;

if (grab) { if (kgrabs++ == 0) - ret = XGrabKeyboard(ob_display, ob_root, FALSE, GrabModeAsync, - GrabModeAsync, event_lasttime) == Success; + ret = XGrabKeyboard(ob_display, RootWindow(ob_display, ob_screen), + FALSE, GrabModeAsync, GrabModeAsync, + event_lasttime) == Success; else ret = TRUE; } else if (kgrabs > 0) {

@@ -39,10 +40,10 @@ gboolean ret = FALSE;

if (grab) { if (pgrabs++ == 0) - ret = XGrabPointer(ob_display, ob_root, False, GRAB_PTR_MASK, - GrabModeAsync, GrabModeAsync, FALSE, - ob_cursor(cur), - event_lasttime) == Success; + ret = XGrabPointer(ob_display, RootWindow(ob_display, ob_screen), + False, GRAB_PTR_MASK, GrabModeAsync, + GrabModeAsync, FALSE, + ob_cursor(cur), event_lasttime) == Success; else ret = TRUE; } else if (pgrabs > 0) {
M openbox/menu.copenbox/menu.c

@@ -212,7 +212,7 @@ self->plugin_data = NULL;

attrib.override_redirect = TRUE; attrib.event_mask = FRAME_EVENTMASK; - self->frame = createWindow(ob_root, + self->frame = createWindow(RootWindow(ob_display, ob_screen), CWOverrideRedirect|CWEventMask, &attrib); attrib.event_mask = TITLE_EVENTMASK; self->title = createWindow(self->frame, CWEventMask, &attrib);
M openbox/moveresize.copenbox/moveresize.c

@@ -42,7 +42,9 @@ popup = popup_new(FALSE);

popup_size_to_string(popup, "W: 0000 W: 0000"); attrib.save_under = True; - opaque_window.win = XCreateWindow(ob_display, ob_root, 0, 0, 1, 1, 0, + opaque_window.win = XCreateWindow(ob_display, + RootWindow(ob_display, ob_screen), + 0, 0, 1, 1, 0, RrDepth(ob_rr_inst), InputOutput, RrVisual(ob_rr_inst), CWSaveUnder, &attrib);
M openbox/openbox.copenbox/openbox.c

@@ -59,7 +59,6 @@ RrInstance *ob_rr_inst;

RrTheme *ob_rr_theme; Display *ob_display; gint ob_screen; -Window ob_root; ObState ob_state; Cursor ob_cursors[OB_NUM_CURSORS]; KeyCode ob_keys[OB_NUM_KEYS];

@@ -147,7 +146,6 @@ ob_sn_display = sn_display_new(ob_display, NULL, NULL);

#endif ob_screen = DefaultScreen(ob_display); - ob_root = RootWindow(ob_display, ob_screen); ob_rr_inst = RrInstanceNew(ob_display, ob_screen); if (ob_rr_inst == NULL)

@@ -550,7 +548,8 @@ Window w;

int i; guint u; - return !!XQueryPointer(ob_display, ob_root, &w, &w, x, y, &i, &i, &u); + return !!XQueryPointer(ob_display, RootWindow(ob_display, ob_screen), + &w, &w, x, y, &i, &i, &u); } #ifdef USE_SM
M openbox/openbox.hopenbox/openbox.h

@@ -26,8 +26,6 @@ #endif

/*! The number of the screen on which we're running */ extern gint ob_screen; -/*! The root window */ -extern Window ob_root; /* The state of execution of the window manager */ extern ObState ob_state;
M openbox/popup.copenbox/popup.c

@@ -42,7 +42,7 @@ self->mapped = FALSE;

self->a_bg = self->a_icon = self->a_text = NULL; attrib.override_redirect = True; - self->bg = XCreateWindow(ob_display, ob_root, + self->bg = XCreateWindow(ob_display, RootWindow(ob_display, ob_screen), 0, 0, 1, 1, 0, RrDepth(ob_rr_inst), InputOutput, RrVisual(ob_rr_inst), CWOverrideRedirect, &attrib);
M openbox/prop.copenbox/prop.c

@@ -407,6 +407,6 @@ ce.xclient.data.l[0] = data0;

ce.xclient.data.l[1] = data1; ce.xclient.data.l[2] = data2; ce.xclient.data.l[3] = data3; - XSendEvent(ob_display, ob_root, FALSE, + XSendEvent(ob_display, RootWindow(ob_display, ob_screen), FALSE, SubstructureNotifyMask | SubstructureRedirectMask, &ce); }
M openbox/screen.copenbox/screen.c

@@ -61,7 +61,8 @@ guint32 *supported;

xerror_set_ignore(TRUE); xerror_occured = FALSE; - XSelectInput(ob_display, ob_root, ROOT_EVENTMASK); + XSelectInput(ob_display, RootWindow(ob_display, ob_screen), + ROOT_EVENTMASK); xerror_set_ignore(FALSE); if (xerror_occured) { g_message("A window manager is already running on screen %d",

@@ -76,11 +77,13 @@ set_root_cursor();

/* set the OPENBOX_PID hint */ pid = getpid(); - PROP_SET32(ob_root, openbox_pid, cardinal, pid); + PROP_SET32(RootWindow(ob_display, ob_screen), + openbox_pid, cardinal, pid); /* create the netwm support window */ attrib.override_redirect = TRUE; - screen_support_win = XCreateWindow(ob_display, ob_root, + screen_support_win = XCreateWindow(ob_display, + RootWindow(ob_display, ob_screen), -100, -100, 1, 1, 0, CopyFromParent, InputOutput, CopyFromParent,

@@ -88,7 +91,8 @@ CWOverrideRedirect, &attrib);

XMapRaised(ob_display, screen_support_win); /* set supporting window */ - PROP_SET32(ob_root, net_supporting_wm_check, window, screen_support_win); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_supporting_wm_check, window, screen_support_win); /* set properties on the supporting window */ PROP_SETS(screen_support_win, net_wm_name, "Openbox");

@@ -165,7 +169,8 @@ /*

supported[] = prop_atoms.net_wm_action_stick; */ - PROP_SETA32(ob_root, net_supported, atom, supported, num_support); + PROP_SETA32(RootWindow(ob_display, ob_screen), + net_supported, atom, supported, num_support); g_free(supported); return TRUE;

@@ -185,7 +190,8 @@ g_slist_length(config_desktops_names) + 1);

for (i = 0, it = config_desktops_names; it; ++i, it = it->next) screen_desktop_names[i] = it->data; /* dont strdup */ screen_desktop_names[i] = NULL; - PROP_SETSS(ob_root, net_desktop_names, screen_desktop_names); + PROP_SETSS(RootWindow(ob_display, ob_screen), + net_desktop_names, screen_desktop_names); g_free(screen_desktop_names); /* dont free the individual strings */ screen_desktop_names = NULL;

@@ -198,7 +204,8 @@ screen_set_desktop(startup_desktop);

/* don't start in showing-desktop mode */ screen_showing_desktop = FALSE; - PROP_SET32(ob_root, net_showing_desktop, cardinal, screen_showing_desktop); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_showing_desktop, cardinal, screen_showing_desktop); screen_update_layout();

@@ -213,11 +220,14 @@ void screen_shutdown()

{ Rect **r; - XSelectInput(ob_display, ob_root, NoEventMask); + XSelectInput(ob_display, RootWindow(ob_display, ob_screen), NoEventMask); - PROP_ERASE(ob_root, openbox_pid); /* we're not running here no more! */ - PROP_ERASE(ob_root, net_supported); /* not without us */ - PROP_ERASE(ob_root, net_showing_desktop); /* don't keep this mode */ + /* we're not running here no more! */ + PROP_ERASE(RootWindow(ob_display, ob_screen), openbox_pid); + /* not without us */ + PROP_ERASE(RootWindow(ob_display, ob_screen), net_supported); + /* don't keep this mode */ + PROP_ERASE(RootWindow(ob_display, ob_screen), net_showing_desktop); XDestroyWindow(ob_display, screen_support_win);

@@ -244,7 +254,8 @@

/* Set the _NET_DESKTOP_GEOMETRY hint */ screen_physical_size.width = geometry[0] = w; screen_physical_size.height = geometry[1] = h; - PROP_SETA32(ob_root, net_desktop_geometry, cardinal, geometry, 2); + PROP_SETA32(RootWindow(ob_display, ob_screen), + net_desktop_geometry, cardinal, geometry, 2); if (ob_state == OB_STATE_STARTING) return;

@@ -266,11 +277,13 @@ g_assert(num > 0);

old = screen_num_desktops; screen_num_desktops = num; - PROP_SET32(ob_root, net_number_of_desktops, cardinal, num); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_number_of_desktops, cardinal, num); /* set the viewport hint */ viewport = g_new0(guint32, num * 2); - PROP_SETA32(ob_root, net_desktop_viewport, cardinal, viewport, num * 2); + PROP_SETA32(RootWindow(ob_display, ob_screen), + net_desktop_viewport, cardinal, viewport, num * 2); g_free(viewport); /* the number of rows/columns will differ */

@@ -316,7 +329,8 @@ g_assert(num < screen_num_desktops);

old = screen_desktop; screen_desktop = num; - PROP_SET32(ob_root, net_current_desktop, cardinal, num); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_current_desktop, cardinal, num); if (old == num) return;

@@ -366,7 +380,8 @@ guint32 *data;

guint num; gboolean valid = FALSE; - if (PROP_GETA32(ob_root, net_desktop_layout, cardinal, &data, &num)) { + if (PROP_GETA32(RootWindow(ob_display, ob_screen), + net_desktop_layout, cardinal, &data, &num)) { if (num == 3 || num == 4) { if (data[0] == prop_atoms.net_wm_orientation_vert)

@@ -444,7 +459,8 @@ /* empty the array */

g_strfreev(screen_desktop_names); screen_desktop_names = NULL; - if (PROP_GETSS(ob_root, net_desktop_names, utf8, &screen_desktop_names)) + if (PROP_GETSS(RootWindow(ob_display, ob_screen), + net_desktop_names, utf8, &screen_desktop_names)) for (i = 0; screen_desktop_names[i] && i <= screen_num_desktops; ++i); else i = 0;

@@ -496,7 +512,8 @@ focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);

} show = !!show; /* make it boolean */ - PROP_SET32(ob_root, net_showing_desktop, cardinal, show); + PROP_SET32(RootWindow(ob_display, ob_screen), + net_showing_desktop, cardinal, show); dispatch_ob(Event_Ob_ShowDesktop, show, 0); }

@@ -689,7 +706,7 @@ dims[(i * 4) + 2] = area[i][screen_num_monitors].width;

dims[(i * 4) + 3] = area[i][screen_num_monitors].height; } } - PROP_SETA32(ob_root, net_workarea, cardinal, + PROP_SETA32(RootWindow(ob_display, ob_screen), net_workarea, cardinal, dims, 4 * screen_num_desktops); g_free(dims);

@@ -728,10 +745,12 @@ static void set_root_cursor()

{ #ifdef USE_LIBSN if (sn_busy_cnt) - XDefineCursor(ob_display, ob_root, ob_cursor(OB_CURSOR_BUSY)); + XDefineCursor(ob_display, RootWindow(ob_display, ob_screen), + ob_cursor(OB_CURSOR_BUSY)); else #endif - XDefineCursor(ob_display, ob_root, ob_cursor(OB_CURSOR_POINTER)); + XDefineCursor(ob_display, RootWindow(ob_display, ob_screen), + ob_cursor(OB_CURSOR_POINTER)); } #ifdef USE_LIBSN
M openbox/stacking.copenbox/stacking.c

@@ -30,8 +30,8 @@ windows[i++] = WINDOW_AS_CLIENT(it->data)->window;

} } - PROP_SETA32(ob_root, net_client_list_stacking, window, - (guint32*)windows, i); + PROP_SETA32(RootWindow(ob_display, ob_screen), + net_client_list_stacking, window, (guint32*)windows, i); g_free(windows); }
M openbox/startup.copenbox/startup.c

@@ -13,8 +13,11 @@

void startup_save() { /* save the stacking order on startup! */ - PROP_GETA32(ob_root, net_client_list_stacking, window, + PROP_GETA32(RootWindow(ob_display, ob_screen), + net_client_list_stacking, window, (guint32**)&startup_stack_order, &startup_stack_size); - PROP_GET32(ob_root, net_active_window, window, &startup_active); - PROP_GET32(ob_root, net_current_desktop, cardinal, &startup_desktop); + PROP_GET32(RootWindow(ob_display, ob_screen), + net_active_window, window, &startup_active); + PROP_GET32(RootWindow(ob_display, ob_screen), + net_current_desktop, cardinal, &startup_desktop); }