From 265cf6c9478860336816570a141198d9257a27a1 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 10 Feb 2003 16:56:03 +0000 Subject: show desktop mode works! --- src/client.cc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/client.cc') 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(); } -- cgit v1.2.3