diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-10 16:56:03 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-10 16:56:03 +0000 |
| commit | 265cf6c9478860336816570a141198d9257a27a1 (patch) | |
| tree | 0b41108bd976adc4fb6ce0bc64f7e8c82d8798d7 /src/client.cc | |
| parent | f305e7f18dd9745e99518da7ca70183c3084a991 (diff) | |
show desktop mode works!
Diffstat (limited to 'src/client.cc')
| -rw-r--r-- | src/client.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/client.cc b/src/client.cc index 8a3a46b8..453bf745 100644 --- a/src/client.cc +++ b/src/client.cc @@ -764,12 +764,17 @@ void Client::setDesktop(unsigned int target) void Client::showhide() { - if (!_iconic && - (_desktop == openbox->screen(_screen)->desktop() || - _desktop == 0xffffffff)) - frame->show(); - else - frame->hide(); + bool show; + Screen *s = openbox->screen(_screen); + + if (_iconic) show = false; + else if (!(_desktop == s->desktop() || + _desktop == 0xffffffff)) show = false; + else if (normal() && s->showingDesktop()) show = false; + else show = true; + + if (show) frame->show(); + else frame->hide(); } |
