/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
screen.c for the Openbox window manager
+ Copyright (c) 2004 Mikael Magnusson
Copyright (c) 2003 Ben Jansens
This program is free software; you can redistribute it and/or modify
/*! 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;
ob_screen);
XDestroyWindow(ob_display, screen_support_win);
- return FALSE;
+ return FALSE;
}
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;
net_desktop_geometry, cardinal, geometry, 2);
if (ob_state() == OB_STATE_STARTING)
- return;
+ return;
screen_update_areas();
dock_configure();
/* 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 */
gboolean dialog, gboolean done, gboolean cancel)
{
static gboolean first = TRUE;
- static gboolean lin;
static guint origd, d;
guint r, c;
}
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)
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);
}
}
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];
}