Changeset View
Changeset View
Standalone View
Standalone View
workspace.cpp
Show First 20 Lines • Show All 671 Lines • ▼ Show 20 Line(s) | |||||
672 | void Workspace::removeClient(Client* c) | 672 | void Workspace::removeClient(Client* c) | ||
673 | { | 673 | { | ||
674 | if (c == active_popup_client) | 674 | if (c == active_popup_client) | ||
675 | closeActivePopup(); | 675 | closeActivePopup(); | ||
676 | if (m_userActionsMenu->isMenuClient(c)) { | 676 | if (m_userActionsMenu->isMenuClient(c)) { | ||
677 | m_userActionsMenu->close(); | 677 | m_userActionsMenu->close(); | ||
678 | } | 678 | } | ||
679 | 679 | | |||
680 | c->untab(QRect(), true); | | |||
681 | | ||||
682 | if (client_keys_client == c) | 680 | if (client_keys_client == c) | ||
683 | setupWindowShortcutDone(false); | 681 | setupWindowShortcutDone(false); | ||
684 | if (!c->shortcut().isEmpty()) { | 682 | if (!c->shortcut().isEmpty()) { | ||
685 | c->setShortcut(QString()); // Remove from client_keys | 683 | c->setShortcut(QString()); // Remove from client_keys | ||
686 | clientShortcutUpdated(c); // Needed, since this is otherwise delayed by setShortcut() and wouldn't run | 684 | clientShortcutUpdated(c); // Needed, since this is otherwise delayed by setShortcut() and wouldn't run | ||
687 | } | 685 | } | ||
688 | 686 | | |||
689 | Q_ASSERT(clients.contains(c) || desktops.contains(c)); | 687 | Q_ASSERT(clients.contains(c) || desktops.contains(c)); | ||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | 743 | { | |||
754 | } | 752 | } | ||
755 | } | 753 | } | ||
756 | 754 | | |||
757 | void Workspace::updateToolWindows(bool also_hide) | 755 | void Workspace::updateToolWindows(bool also_hide) | ||
758 | { | 756 | { | ||
759 | // TODO: What if Client's transiency/group changes? should this be called too? (I'm paranoid, am I not?) | 757 | // TODO: What if Client's transiency/group changes? should this be called too? (I'm paranoid, am I not?) | ||
760 | if (!options->isHideUtilityWindowsForInactive()) { | 758 | if (!options->isHideUtilityWindowsForInactive()) { | ||
761 | for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) | 759 | for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) | ||
762 | if (!(*it)->tabGroup() || (*it)->tabGroup()->current() == *it) | | |||
763 | (*it)->hideClient(false); | 760 | (*it)->hideClient(false); | ||
zzag: It ensures that all clients(utilities) are shown. Keep it. | |||||
764 | return; | 761 | return; | ||
765 | } | 762 | } | ||
766 | const Group* group = nullptr; | 763 | const Group* group = nullptr; | ||
767 | auto client = active_client; | 764 | auto client = active_client; | ||
768 | // Go up in transiency hiearchy, if the top is found, only tool transients for the top mainwindow | 765 | // Go up in transiency hiearchy, if the top is found, only tool transients for the top mainwindow | ||
769 | // will be shown; if a group transient is group, all tools in the group will be shown | 766 | // will be shown; if a group transient is group, all tools in the group will be shown | ||
770 | while (client != nullptr) { | 767 | while (client != nullptr) { | ||
771 | if (!client->isTransient()) | 768 | if (!client->isTransient()) | ||
▲ Show 20 Lines • Show All 1019 Lines • Show Last 20 Lines |
It ensures that all clients(utilities) are shown. Keep it.