X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=eb2e487745ff5317d94b309707a6c8727460f435;hb=4d50b21835d7dd00ecc40efd64c5573d7e048500;hp=b0fc5c20a7f0bfb1fb5339c29baed835b21d81ed;hpb=740c5b2a20d5110435d0874f8cc6a4c9dfd14777;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index b0fc5c20..eb2e4877 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -1,6 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- screen.c for the Openbox window manager + Copyright (c) 2006 Mikael Magnusson Copyright (c) 2003 Ben Jansens This program is free software; you can redistribute it and/or modify @@ -43,9 +44,9 @@ /*! The event mask to grab on the root window */ #define ROOT_EVENTMASK (StructureNotifyMask | PropertyChangeMask | \ - EnterWindowMask | LeaveWindowMask | \ - SubstructureNotifyMask | SubstructureRedirectMask | \ - ButtonPressMask | ButtonReleaseMask | ButtonMotionMask) + EnterWindowMask | LeaveWindowMask | \ + SubstructureNotifyMask | SubstructureRedirectMask | \ + ButtonPressMask | ButtonReleaseMask | ButtonMotionMask) guint screen_num_desktops; guint screen_num_monitors; @@ -155,7 +156,7 @@ gboolean screen_annex() XSetWindowAttributes attrib; pid_t pid; gint i, num_support; - guint32 *supported; + gulong *supported; /* create the netwm support window */ attrib.override_redirect = TRUE; @@ -182,7 +183,7 @@ gboolean screen_annex() ob_screen); XDestroyWindow(ob_display, screen_support_win); - return FALSE; + return FALSE; } @@ -205,7 +206,7 @@ gboolean screen_annex() /* set the _NET_SUPPORTED_ATOMS hint */ num_support = 51; i = 0; - supported = g_new(guint32, num_support); + supported = g_new(gulong, num_support); supported[i++] = prop_atoms.net_current_desktop; supported[i++] = prop_atoms.net_number_of_desktops; supported[i++] = prop_atoms.net_desktop_geometry; @@ -283,7 +284,7 @@ void screen_startup(gboolean reconfig) /* set the names */ screen_desktop_names = g_new(gchar*, g_slist_length(config_desktops_names) + 1); - for (i = 0, it = config_desktops_names; it; ++i, it = it->next) + for (i = 0, it = config_desktops_names; it; ++i, it = g_slist_next(it)) screen_desktop_names[i] = it->data; /* dont strdup */ screen_desktop_names[i] = NULL; PROP_SETSS(RootWindow(ob_display, ob_screen), @@ -295,7 +296,7 @@ void screen_startup(gboolean reconfig) screen_num_desktops = 0; screen_set_num_desktops(config_desktops_num); if (!reconfig) { - screen_set_desktop(0); + screen_set_desktop(MIN(config_screen_firstdesk, screen_num_desktops) - 1); /* don't start in showing-desktop mode */ screen_showing_desktop = FALSE; @@ -339,7 +340,7 @@ void screen_resize() static gint oldw = 0, oldh = 0; gint w, h; GList *it; - guint32 geometry[2]; + gulong geometry[2]; w = WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen)); h = HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen)); @@ -355,19 +356,19 @@ void screen_resize() net_desktop_geometry, cardinal, geometry, 2); if (ob_state() == OB_STATE_STARTING) - return; + return; screen_update_areas(); dock_configure(); - for (it = client_list; it; it = it->next) + for (it = client_list; it; it = g_list_next(it)) client_move_onscreen(it->data, FALSE); } void screen_set_num_desktops(guint num) { guint i, old; - guint32 *viewport; + gulong *viewport; GList *it; g_assert(num > 0); @@ -380,7 +381,7 @@ void screen_set_num_desktops(guint num) net_number_of_desktops, cardinal, num); /* set the viewport hint */ - viewport = g_new0(guint32, num * 2); + viewport = g_new0(gulong, num * 2); PROP_SETA32(RootWindow(ob_display, ob_screen), net_desktop_viewport, cardinal, viewport, num * 2); g_free(viewport); @@ -392,7 +393,7 @@ void screen_set_num_desktops(guint num) screen_update_desktop_names(); /* move windows on desktops that will no longer exist! */ - for (it = client_list; it != NULL; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; if (c->desktop >= num && c->desktop != DESKTOP_ALL) client_set_desktop(c, num - 1, FALSE); @@ -403,7 +404,7 @@ void screen_set_num_desktops(guint num) /* change our desktop if we're on one that no longer exists! */ if (screen_desktop >= screen_num_desktops) - screen_set_desktop(num - 1); + screen_set_desktop(num - 1); /* update the focus lists */ /* free our lists for the desktops which have disappeared */ @@ -605,7 +606,6 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, gboolean dialog, gboolean done, gboolean cancel) { static gboolean first = TRUE; - static gboolean lin; static guint origd, d; guint r, c; @@ -617,13 +617,12 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, } if (first) { first = FALSE; - lin = linear; d = origd = screen_desktop; } get_row_col(d, &r, &c); - if (lin) { + if (linear) { switch (dir) { case OB_DIRECTION_EAST: if (d < screen_num_desktops - 1) @@ -854,7 +853,7 @@ void screen_update_desktop_names() screen_num_desktops + 1); screen_desktop_names[screen_num_desktops] = NULL; for (; i < screen_num_desktops; ++i) - screen_desktop_names[i] = g_strdup("Unnamed Desktop"); + screen_desktop_names[i] = g_strdup_printf("Desktop %i", i + 1); } } @@ -868,7 +867,7 @@ void screen_show_desktop(gboolean show) if (show) { /* bottom to top */ - for (it = g_list_last(stacking_list); it != NULL; it = it->prev) { + for (it = g_list_last(stacking_list); it; it = g_list_previous(it)) { if (WINDOW_IS_CLIENT(it->data)) { ObClient *client = it->data; if (client->frame->visible && !client_should_show(client)) @@ -877,7 +876,7 @@ void screen_show_desktop(gboolean show) } } else { /* top to bottom */ - for (it = stacking_list; it != NULL; it = it->next) { + for (it = stacking_list; it; it = g_list_next(it)) { if (WINDOW_IS_CLIENT(it->data)) { ObClient *client = it->data; if (!client->frame->visible && client_should_show(client)) @@ -888,7 +887,7 @@ void screen_show_desktop(gboolean show) if (show) { /* focus desktop */ - for (it = focus_order[screen_desktop]; it; it = it->next) + for (it = focus_order[screen_desktop]; it; it = g_list_next(it)) if (((ObClient*)it->data)->type == OB_CLIENT_TYPE_DESKTOP && client_focus(it->data)) break; @@ -970,7 +969,7 @@ screen_area_add_strut_bottom(const StrutPartial *s, const Rect *monitor_area, void screen_update_areas() { guint i, x; - guint32 *dims; + gulong *dims; GList *it; gint o; @@ -988,7 +987,7 @@ void screen_update_areas() area[i] = g_new0(Rect, screen_num_monitors + 1); area[i] = NULL; - dims = g_new(guint32, 4 * screen_num_desktops); + dims = g_new(gulong, 4 * screen_num_desktops); for (i = 0; i < screen_num_desktops + 1; ++i) { Strut *struts; @@ -1021,7 +1020,7 @@ void screen_update_areas() o = MIN(o, area[i][x].x); for (x = 0; x < screen_num_monitors; ++x) { - for (it = client_list; it; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; screen_area_add_strut_left(&c->strut, &monitor_area[x], @@ -1043,7 +1042,7 @@ void screen_update_areas() o = MIN(o, area[i][x].y); for (x = 0; x < screen_num_monitors; ++x) { - for (it = client_list; it; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; screen_area_add_strut_top(&c->strut, &monitor_area[x], @@ -1065,7 +1064,7 @@ void screen_update_areas() o = MAX(o, area[i][x].x + area[i][x].width - 1); for (x = 0; x < screen_num_monitors; ++x) { - for (it = client_list; it; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; screen_area_add_strut_right(&c->strut, &monitor_area[x], @@ -1090,7 +1089,7 @@ void screen_update_areas() o = MAX(o, area[i][x].y + area[i][x].height - 1); for (x = 0; x < screen_num_monitors; ++x) { - for (it = client_list; it; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; screen_area_add_strut_bottom(&c->strut, &monitor_area[x], @@ -1126,7 +1125,7 @@ void screen_update_areas() /* the area has changed, adjust all the maximized windows */ - for (it = client_list; it; it = it->next) { + for (it = client_list; it; it = g_list_next(it)) { ObClient *c = it->data; if (i < screen_num_desktops) { if (c->desktop == i) @@ -1161,9 +1160,9 @@ Rect *screen_area_monitor(guint desktop, guint head) if (head > screen_num_monitors) return NULL; if (desktop >= screen_num_desktops) { - if (desktop == DESKTOP_ALL) - return &area[screen_num_desktops][head]; - return NULL; + if (desktop == DESKTOP_ALL) + return &area[screen_num_desktops][head]; + return NULL; } return &area[desktop][head]; }