stop using a desktop number for iconic windows. woot!
This commit is contained in:
parent
12108e16e1
commit
4ef1514836
5 changed files with 104 additions and 105 deletions
|
@ -29,6 +29,7 @@ _disable = 0
|
||||||
def _focusable(client, desktop):
|
def _focusable(client, desktop):
|
||||||
if not client.normal(): return 0
|
if not client.normal(): return 0
|
||||||
if not (client.canFocus() or client.focusNotify()): return 0
|
if not (client.canFocus() or client.focusNotify()): return 0
|
||||||
|
if client.iconic(): return 0
|
||||||
if AVOID_SKIP_TASKBAR and client.skipTaskbar(): return 0
|
if AVOID_SKIP_TASKBAR and client.skipTaskbar(): return 0
|
||||||
|
|
||||||
desk = client.desktop()
|
desk = client.desktop()
|
||||||
|
|
|
@ -45,7 +45,7 @@ Client::Client(int screen, Window window)
|
||||||
_positioned = false;
|
_positioned = false;
|
||||||
_disabled_decorations = 0;
|
_disabled_decorations = 0;
|
||||||
_group = None;
|
_group = None;
|
||||||
_desktop = _old_desktop = 0;
|
_desktop = 0;
|
||||||
|
|
||||||
getArea();
|
getArea();
|
||||||
getDesktop();
|
getDesktop();
|
||||||
|
@ -730,62 +730,46 @@ void Client::setWMState(long state)
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case IconicState:
|
case IconicState:
|
||||||
setDesktop(ICONIC_DESKTOP);
|
iconify(true);
|
||||||
break;
|
break;
|
||||||
case NormalState:
|
case NormalState:
|
||||||
setDesktop(openbox->screen(_screen)->desktop());
|
iconify(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Client::setDesktop(long target)
|
void Client::setDesktop(unsigned int target)
|
||||||
{
|
{
|
||||||
if (target == _desktop) return;
|
if (target == _desktop) return;
|
||||||
|
|
||||||
printf("Setting desktop %ld\n", target);
|
printf("Setting desktop %u\n", target);
|
||||||
|
|
||||||
if (!(target >= 0 || target == (signed)0xffffffff ||
|
if (!(target < openbox->screen(_screen)->numDesktops() ||
|
||||||
target == ICONIC_DESKTOP))
|
target == 0xffffffff))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_old_desktop = _desktop;
|
|
||||||
_desktop = target;
|
_desktop = target;
|
||||||
|
|
||||||
// set the desktop hint, but not if we're iconifying
|
// set the desktop hint
|
||||||
if (_desktop != ICONIC_DESKTOP)
|
otk::Property::set(_window, otk::Property::atoms.net_wm_desktop,
|
||||||
otk::Property::set(_window, otk::Property::atoms.net_wm_desktop,
|
otk::Property::atoms.cardinal, _desktop);
|
||||||
otk::Property::atoms.cardinal, (unsigned)_desktop);
|
|
||||||
|
|
||||||
// 'move' the window to the new desktop
|
// 'move' the window to the new desktop
|
||||||
if (_desktop == openbox->screen(_screen)->desktop() ||
|
showhide();
|
||||||
_desktop == (signed)0xffffffff)
|
|
||||||
|
openbox->screen(_screen)->updateStruts();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Client::showhide()
|
||||||
|
{
|
||||||
|
if (!_iconic &&
|
||||||
|
(_desktop == openbox->screen(_screen)->desktop() ||
|
||||||
|
_desktop == 0xffffffff))
|
||||||
frame->show();
|
frame->show();
|
||||||
else
|
else
|
||||||
frame->hide();
|
frame->hide();
|
||||||
|
|
||||||
// Handle Iconic state. Iconic state is maintained by the client being a
|
|
||||||
// member of the ICONIC_DESKTOP, so this is where we make iconifying and
|
|
||||||
// uniconifying happen.
|
|
||||||
bool i = _desktop == ICONIC_DESKTOP;
|
|
||||||
if (i != _iconic) { // has the state changed?
|
|
||||||
_iconic = i;
|
|
||||||
if (_iconic) {
|
|
||||||
_wmstate = IconicState;
|
|
||||||
ignore_unmaps++;
|
|
||||||
// we unmap the client itself so that we can get MapRequest events, and
|
|
||||||
// because the ICCCM tells us to!
|
|
||||||
XUnmapWindow(**otk::display, _window);
|
|
||||||
} else {
|
|
||||||
_wmstate = NormalState;
|
|
||||||
XMapWindow(**otk::display, _window);
|
|
||||||
}
|
|
||||||
changeState();
|
|
||||||
}
|
|
||||||
|
|
||||||
changeAllowedActions();
|
|
||||||
frame->adjustState();
|
|
||||||
openbox->screen(_screen)->updateStruts();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1029,14 +1013,14 @@ void Client::clientMessageHandler(const XClientMessageEvent &e)
|
||||||
printf("net_active_window for 0x%lx\n", _window);
|
printf("net_active_window for 0x%lx\n", _window);
|
||||||
#endif
|
#endif
|
||||||
if (_iconic)
|
if (_iconic)
|
||||||
setDesktop(openbox->screen(_screen)->desktop());
|
iconify(false);
|
||||||
if (_shaded)
|
if (_shaded)
|
||||||
shade(false);
|
shade(false);
|
||||||
focus();
|
focus();
|
||||||
openbox->screen(_screen)->raiseWindow(this);
|
openbox->screen(_screen)->raiseWindow(this);
|
||||||
} else if (e.message_type == otk::Property::atoms.openbox_active_window) {
|
} else if (e.message_type == otk::Property::atoms.openbox_active_window) {
|
||||||
if (_iconic)
|
if (_iconic)
|
||||||
setDesktop(openbox->screen(_screen)->desktop());
|
iconify(false);
|
||||||
if (e.data.l[0] && _shaded)
|
if (e.data.l[0] && _shaded)
|
||||||
shade(false);
|
shade(false);
|
||||||
focus();
|
focus();
|
||||||
|
@ -1325,7 +1309,7 @@ void Client::applyStartupState()
|
||||||
|
|
||||||
if (_iconic) {
|
if (_iconic) {
|
||||||
_iconic = false;
|
_iconic = false;
|
||||||
setDesktop(ICONIC_DESKTOP);
|
iconify(true);
|
||||||
}
|
}
|
||||||
if (_fullscreen) {
|
if (_fullscreen) {
|
||||||
_fullscreen = false;
|
_fullscreen = false;
|
||||||
|
@ -1395,8 +1379,7 @@ void Client::maximize(bool max, int dir, bool savearea)
|
||||||
if (dir == 2 && !_max_vert) return;
|
if (dir == 2 && !_max_vert) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const otk::Rect &a = openbox->screen(_screen)->area(_iconic ?
|
const otk::Rect &a = openbox->screen(_screen)->area(_desktop);
|
||||||
_old_desktop : _desktop);
|
|
||||||
int x = frame->area().x(), y = frame->area().y(),
|
int x = frame->area().x(), y = frame->area().y(),
|
||||||
w = _area.width(), h = _area.height();
|
w = _area.width(), h = _area.height();
|
||||||
|
|
||||||
|
@ -1541,9 +1524,7 @@ void Client::fullscreen(bool fs, bool savearea)
|
||||||
delete dimensions;
|
delete dimensions;
|
||||||
} else {
|
} else {
|
||||||
// pick some fallbacks...
|
// pick some fallbacks...
|
||||||
const otk::Rect &a = openbox->screen(_screen)->area(_iconic ?
|
const otk::Rect &a = openbox->screen(_screen)->area(_desktop);
|
||||||
_old_desktop :
|
|
||||||
_desktop);
|
|
||||||
x = a.x() + a.width() / 4;
|
x = a.x() + a.width() / 4;
|
||||||
y = a.y() + a.height() / 4;
|
y = a.y() + a.height() / 4;
|
||||||
w = a.width() / 2;
|
w = a.width() / 2;
|
||||||
|
@ -1564,6 +1545,32 @@ void Client::fullscreen(bool fs, bool savearea)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Client::iconify(bool iconic, bool curdesk)
|
||||||
|
{
|
||||||
|
if (_iconic == iconic) return; // nothing to do
|
||||||
|
|
||||||
|
_iconic = iconic;
|
||||||
|
|
||||||
|
if (_iconic) {
|
||||||
|
_wmstate = IconicState;
|
||||||
|
ignore_unmaps++;
|
||||||
|
// we unmap the client itself so that we can get MapRequest events, and
|
||||||
|
// because the ICCCM tells us to!
|
||||||
|
XUnmapWindow(**otk::display, _window);
|
||||||
|
} else {
|
||||||
|
if (curdesk)
|
||||||
|
setDesktop(openbox->screen(_screen)->desktop());
|
||||||
|
_wmstate = NormalState;
|
||||||
|
XMapWindow(**otk::display, _window);
|
||||||
|
}
|
||||||
|
changeState();
|
||||||
|
|
||||||
|
showhide();
|
||||||
|
|
||||||
|
openbox->screen(_screen)->updateStruts();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Client::disableDecorations(DecorationFlags flags)
|
void Client::disableDecorations(DecorationFlags flags)
|
||||||
{
|
{
|
||||||
_disabled_decorations = flags;
|
_disabled_decorations = flags;
|
||||||
|
@ -1856,7 +1863,7 @@ void Client::mapRequestHandler(const XMapRequestEvent &e)
|
||||||
assert(_iconic); // we shouldn't be able to get this unless we're iconic
|
assert(_iconic); // we shouldn't be able to get this unless we're iconic
|
||||||
|
|
||||||
// move to the current desktop (uniconify)
|
// move to the current desktop (uniconify)
|
||||||
setDesktop(openbox->screen(_screen)->desktop());
|
iconify(false);
|
||||||
// XXX: should we focus/raise the window? (basically a net_wm_active_window)
|
// XXX: should we focus/raise the window? (basically a net_wm_active_window)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -164,10 +164,6 @@ public:
|
||||||
static const long no_propagate_mask = ButtonPressMask | ButtonReleaseMask |
|
static const long no_propagate_mask = ButtonPressMask | ButtonReleaseMask |
|
||||||
ButtonMotionMask;
|
ButtonMotionMask;
|
||||||
|
|
||||||
//! The desktop value which indicated the window is iconified and not on any
|
|
||||||
//! desktop
|
|
||||||
static const long ICONIC_DESKTOP = 0xfffffffe;
|
|
||||||
|
|
||||||
//! The number of unmap events to ignore on the window
|
//! The number of unmap events to ignore on the window
|
||||||
int ignore_unmaps;
|
int ignore_unmaps;
|
||||||
|
|
||||||
|
@ -188,11 +184,7 @@ private:
|
||||||
Client::List _transients;
|
Client::List _transients;
|
||||||
|
|
||||||
//! The desktop on which the window resides (0xffffffff for all desktops)
|
//! The desktop on which the window resides (0xffffffff for all desktops)
|
||||||
long _desktop;
|
unsigned int _desktop;
|
||||||
|
|
||||||
//! The last desktop to which the window belonged, mostly useful when the
|
|
||||||
//! window is iconified, to see where it used to be.
|
|
||||||
long _old_desktop;
|
|
||||||
|
|
||||||
//! Normal window title
|
//! Normal window title
|
||||||
otk::ustring _title;
|
otk::ustring _title;
|
||||||
|
@ -380,11 +372,7 @@ private:
|
||||||
void setState(StateAction action, long data1, long data2);
|
void setState(StateAction action, long data1, long data2);
|
||||||
|
|
||||||
//! Sends the window to the specified desktop
|
//! Sends the window to the specified desktop
|
||||||
/*!
|
void setDesktop(unsigned int desktop);
|
||||||
A window is iconified by sending it to the ICONIC_DESKTOP, and restored
|
|
||||||
by sending it to any other valid desktop.
|
|
||||||
*/
|
|
||||||
void setDesktop(long desktop);
|
|
||||||
|
|
||||||
//! Calculates the stacking layer for the client window
|
//! Calculates the stacking layer for the client window
|
||||||
void calcLayer();
|
void calcLayer();
|
||||||
|
@ -446,6 +434,16 @@ private:
|
||||||
*/
|
*/
|
||||||
void fullscreen(bool fs, bool savearea = true);
|
void fullscreen(bool fs, bool savearea = true);
|
||||||
|
|
||||||
|
//! Iconifies or uniconifies the client window
|
||||||
|
/*!
|
||||||
|
@param iconic true if the window should be iconified; false if it should be
|
||||||
|
restored.
|
||||||
|
@param curdesk If iconic is false, then this determines if the window will
|
||||||
|
be uniconified to the current viewable desktop (true) or to
|
||||||
|
its previous desktop (false)
|
||||||
|
*/
|
||||||
|
void iconify(bool iconic, bool curdesk = true);
|
||||||
|
|
||||||
//! Maximize or unmaximize the client window
|
//! Maximize or unmaximize the client window
|
||||||
/*!
|
/*!
|
||||||
@param max true if the window should be maximized; false if it should be
|
@param max true if the window should be maximized; false if it should be
|
||||||
|
@ -532,7 +530,7 @@ BB @param window The window id that the Client class should handle
|
||||||
This value is a 0-based index.<br>
|
This value is a 0-based index.<br>
|
||||||
A value of 0xffffffff indicates that the window exists on all desktops.
|
A value of 0xffffffff indicates that the window exists on all desktops.
|
||||||
*/
|
*/
|
||||||
inline long desktop() const { return _desktop; }
|
inline unsigned int desktop() const { return _desktop; }
|
||||||
//! Returns the window's title
|
//! Returns the window's title
|
||||||
inline const otk::ustring &title() const { return _title; }
|
inline const otk::ustring &title() const { return _title; }
|
||||||
//! Returns the window's title when it is iconified
|
//! Returns the window's title when it is iconified
|
||||||
|
@ -653,6 +651,12 @@ BB @param window The window id that the Client class should handle
|
||||||
surroundings (struts, etc).
|
surroundings (struts, etc).
|
||||||
*/
|
*/
|
||||||
void remaximize();
|
void remaximize();
|
||||||
|
|
||||||
|
//! Shows the window if it should be shown, or hides it
|
||||||
|
/*!
|
||||||
|
Used when changing desktops, the window's state, etc.
|
||||||
|
*/
|
||||||
|
void showhide();
|
||||||
|
|
||||||
//! Choose a mask of decorations to not display on the client
|
//! Choose a mask of decorations to not display on the client
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -105,7 +105,7 @@ Screen::Screen(int screen)
|
||||||
|
|
||||||
_desktop = 0;
|
_desktop = 0;
|
||||||
|
|
||||||
if (!python_get_long("NUMBER_OF_DESKTOPS", &_num_desktops))
|
if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&_num_desktops))
|
||||||
_num_desktops = 1;
|
_num_desktops = 1;
|
||||||
changeNumDesktops(_num_desktops); // set the hint
|
changeNumDesktops(_num_desktops); // set the hint
|
||||||
|
|
||||||
|
@ -217,16 +217,16 @@ void Screen::updateStruts()
|
||||||
|
|
||||||
ClientList::const_iterator it, end = clients.end();
|
ClientList::const_iterator it, end = clients.end();
|
||||||
for (it = clients.begin(); it != end; ++it) {
|
for (it = clients.begin(); it != end; ++it) {
|
||||||
long desk = (*it)->desktop();
|
if ((*it)->iconic()) continue; // these dont count in the strut
|
||||||
|
|
||||||
|
unsigned int desk = (*it)->desktop();
|
||||||
const otk::Strut &s = (*it)->strut();
|
const otk::Strut &s = (*it)->strut();
|
||||||
|
|
||||||
if (desk == (signed) 0xffffffff)
|
if (desk == 0xffffffff)
|
||||||
for (unsigned int i = 0, e = _struts.size(); i < e; ++i)
|
for (unsigned int i = 0, e = _struts.size(); i < e; ++i)
|
||||||
apply(_struts[i], s);
|
apply(_struts[i], s);
|
||||||
else if ((unsigned)desk < _struts.size())
|
else if (desk < _struts.size())
|
||||||
apply(_struts[desk], s);
|
apply(_struts[desk], s);
|
||||||
else if (desk == Client::ICONIC_DESKTOP)
|
|
||||||
continue; // skip for the 'all desktops' strut
|
|
||||||
else
|
else
|
||||||
assert(false); // invalid desktop otherwise..
|
assert(false); // invalid desktop otherwise..
|
||||||
// apply to the 'all desktops' strut
|
// apply to the 'all desktops' strut
|
||||||
|
@ -239,7 +239,7 @@ void Screen::updateStruts()
|
||||||
void Screen::changeWorkArea()
|
void Screen::changeWorkArea()
|
||||||
{
|
{
|
||||||
unsigned long *dims = new unsigned long[4 * _num_desktops];
|
unsigned long *dims = new unsigned long[4 * _num_desktops];
|
||||||
for (long i = 0; i < _num_desktops + 1; ++i) {
|
for (unsigned int i = 0; i < _num_desktops + 1; ++i) {
|
||||||
otk::Rect old_area = _area[i];
|
otk::Rect old_area = _area[i];
|
||||||
/*
|
/*
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
|
@ -286,7 +286,7 @@ void Screen::changeWorkArea()
|
||||||
(*it)->remaximize();
|
(*it)->remaximize();
|
||||||
} else {
|
} else {
|
||||||
// the 'all desktops' size
|
// the 'all desktops' size
|
||||||
if ((*it)->desktop() == (signed) 0xffffffff)
|
if ((*it)->desktop() == 0xffffffff)
|
||||||
(*it)->remaximize();
|
(*it)->remaximize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -537,11 +537,7 @@ void Screen::manageWindow(Window window)
|
||||||
EventData ddata(_number, client, EventAction::DisplayingWindow, 0);
|
EventData ddata(_number, client, EventAction::DisplayingWindow, 0);
|
||||||
openbox->bindings()->fireEvent(&ddata);
|
openbox->bindings()->fireEvent(&ddata);
|
||||||
|
|
||||||
// if on the current desktop.. (or all desktops)
|
client->showhide();
|
||||||
if (client->desktop() == _desktop ||
|
|
||||||
client->desktop() == (signed)0xffffffff) {
|
|
||||||
client->frame->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
client->applyStartupState();
|
client->applyStartupState();
|
||||||
|
|
||||||
|
@ -708,13 +704,13 @@ void Screen::raiseWindow(Client *client)
|
||||||
changeStackingList();
|
changeStackingList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Screen::changeDesktop(long desktop)
|
void Screen::changeDesktop(unsigned int desktop)
|
||||||
{
|
{
|
||||||
if (!(desktop >= 0 && desktop < _num_desktops)) return;
|
if (desktop >= _num_desktops) return;
|
||||||
|
|
||||||
printf("Moving to desktop %ld\n", desktop);
|
printf("Moving to desktop %u\n", desktop);
|
||||||
|
|
||||||
long old = _desktop;
|
unsigned int old = _desktop;
|
||||||
|
|
||||||
_desktop = desktop;
|
_desktop = desktop;
|
||||||
otk::Property::set(_info->rootWindow(),
|
otk::Property::set(_info->rootWindow(),
|
||||||
|
@ -724,20 +720,15 @@ void Screen::changeDesktop(long desktop)
|
||||||
if (old == _desktop) return;
|
if (old == _desktop) return;
|
||||||
|
|
||||||
ClientList::iterator it, end = clients.end();
|
ClientList::iterator it, end = clients.end();
|
||||||
for (it = clients.begin(); it != end; ++it) {
|
for (it = clients.begin(); it != end; ++it)
|
||||||
if ((*it)->desktop() == old) {
|
(*it)->showhide();
|
||||||
(*it)->frame->hide();
|
|
||||||
} else if ((*it)->desktop() == _desktop) {
|
|
||||||
(*it)->frame->show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// force the callbacks to fire
|
// force the callbacks to fire
|
||||||
if (!openbox->focusedClient())
|
if (!openbox->focusedClient())
|
||||||
openbox->setFocusedClient(0);
|
openbox->setFocusedClient(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Screen::changeNumDesktops(long num)
|
void Screen::changeNumDesktops(unsigned int num)
|
||||||
{
|
{
|
||||||
assert(num > 0);
|
assert(num > 0);
|
||||||
|
|
||||||
|
@ -746,9 +737,8 @@ void Screen::changeNumDesktops(long num)
|
||||||
// move windows on desktops that will no longer exist!
|
// move windows on desktops that will no longer exist!
|
||||||
ClientList::iterator it, end = clients.end();
|
ClientList::iterator it, end = clients.end();
|
||||||
for (it = clients.begin(); it != end; ++it) {
|
for (it = clients.begin(); it != end; ++it) {
|
||||||
int d = (*it)->desktop();
|
unsigned int d = (*it)->desktop();
|
||||||
if (d >= num && !(d == (signed) 0xffffffff ||
|
if (d >= num && d != 0xffffffff) {
|
||||||
d == Client::ICONIC_DESKTOP)) {
|
|
||||||
XEvent ce;
|
XEvent ce;
|
||||||
ce.xclient.type = ClientMessage;
|
ce.xclient.type = ClientMessage;
|
||||||
ce.xclient.message_type = otk::Property::atoms.net_wm_desktop;
|
ce.xclient.message_type = otk::Property::atoms.net_wm_desktop;
|
||||||
|
@ -794,15 +784,13 @@ void Screen::updateDesktopNames()
|
||||||
otk::Property::atoms.net_desktop_names,
|
otk::Property::atoms.net_desktop_names,
|
||||||
otk::Property::utf8, &num, &_desktop_names))
|
otk::Property::utf8, &num, &_desktop_names))
|
||||||
_desktop_names.clear();
|
_desktop_names.clear();
|
||||||
while ((long)_desktop_names.size() < _num_desktops)
|
while (_desktop_names.size() < _num_desktops)
|
||||||
_desktop_names.push_back("Unnamed");
|
_desktop_names.push_back("Unnamed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Screen::setDesktopName(long i, const otk::ustring &name)
|
void Screen::setDesktopName(unsigned int i, const otk::ustring &name)
|
||||||
{
|
{
|
||||||
assert(i >= 0);
|
|
||||||
|
|
||||||
if (i >= _num_desktops) return;
|
if (i >= _num_desktops) return;
|
||||||
|
|
||||||
otk::Property::StringVect newnames = _desktop_names;
|
otk::Property::StringVect newnames = _desktop_names;
|
||||||
|
@ -813,10 +801,9 @@ void Screen::setDesktopName(long i, const otk::ustring &name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const otk::Rect& Screen::area(long desktop) const {
|
const otk::Rect& Screen::area(unsigned int desktop) const {
|
||||||
assert(desktop >= 0 || desktop == (signed) 0xffffffff);
|
assert(desktop < _num_desktops || desktop == 0xffffffff);
|
||||||
assert(desktop < _num_desktops || desktop == (signed) 0xffffffff);
|
if (desktop < _num_desktops)
|
||||||
if (desktop >= 0 && desktop < _num_desktops)
|
|
||||||
return _area[desktop];
|
return _area[desktop];
|
||||||
else
|
else
|
||||||
return _area[_num_desktops];
|
return _area[_num_desktops];
|
||||||
|
|
|
@ -80,10 +80,10 @@ private:
|
||||||
ClientList _stacking;
|
ClientList _stacking;
|
||||||
|
|
||||||
//! The desktop currently being displayed
|
//! The desktop currently being displayed
|
||||||
long _desktop;
|
unsigned int _desktop;
|
||||||
|
|
||||||
//! The number of desktops
|
//! The number of desktops
|
||||||
long _num_desktops;
|
unsigned int _num_desktops;
|
||||||
|
|
||||||
//! The names of all desktops
|
//! The names of all desktops
|
||||||
otk::Property::StringVect _desktop_names;
|
otk::Property::StringVect _desktop_names;
|
||||||
|
@ -118,14 +118,14 @@ private:
|
||||||
@param desktop The number of the desktop to switch to (starts from 0).
|
@param desktop The number of the desktop to switch to (starts from 0).
|
||||||
If the desktop is out of valid range, it is ignored.
|
If the desktop is out of valid range, it is ignored.
|
||||||
*/
|
*/
|
||||||
void changeDesktop(long desktop);
|
void changeDesktop(unsigned int desktop);
|
||||||
|
|
||||||
//! Changes the number of desktops.
|
//! Changes the number of desktops.
|
||||||
/*!
|
/*!
|
||||||
@param num The number of desktops that should exist. This value must be
|
@param num The number of desktops that should exist. This value must be
|
||||||
greater than 0 or it will be ignored.
|
greater than 0 or it will be ignored.
|
||||||
*/
|
*/
|
||||||
void changeNumDesktops(long num);
|
void changeNumDesktops(unsigned int num);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
|
@ -146,9 +146,9 @@ public:
|
||||||
//! An offscreen window which gets focus when nothing else has it
|
//! An offscreen window which gets focus when nothing else has it
|
||||||
inline Window focuswindow() const { return _focuswindow; }
|
inline Window focuswindow() const { return _focuswindow; }
|
||||||
//! Returns the desktop being displayed
|
//! Returns the desktop being displayed
|
||||||
inline long desktop() const { return _desktop; }
|
inline unsigned int desktop() const { return _desktop; }
|
||||||
//! Returns the number of desktops
|
//! Returns the number of desktops
|
||||||
inline long numDesktops() const { return _num_desktops; }
|
inline unsigned int numDesktops() const { return _num_desktops; }
|
||||||
|
|
||||||
//! Returns the area of the screen not reserved by applications' Struts
|
//! Returns the area of the screen not reserved by applications' Struts
|
||||||
/*!
|
/*!
|
||||||
|
@ -156,7 +156,7 @@ public:
|
||||||
0xffffffff will return an area that combines all struts
|
0xffffffff will return an area that combines all struts
|
||||||
on all desktops.
|
on all desktops.
|
||||||
*/
|
*/
|
||||||
const otk::Rect& area(long desktop) const;
|
const otk::Rect& area(unsigned int desktop) const;
|
||||||
|
|
||||||
//! Update's the screen's combined strut of all the clients.
|
//! Update's the screen's combined strut of all the clients.
|
||||||
/*!
|
/*!
|
||||||
|
@ -198,7 +198,7 @@ public:
|
||||||
@param name The name to set for the desktop
|
@param name The name to set for the desktop
|
||||||
If the index is too large, it is simply ignored.
|
If the index is too large, it is simply ignored.
|
||||||
*/
|
*/
|
||||||
void setDesktopName(long i, const otk::ustring &name);
|
void setDesktopName(unsigned int i, const otk::ustring &name);
|
||||||
|
|
||||||
void installColormap(bool install) const;
|
void installColormap(bool install) const;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue