Changeset View
Changeset View
Standalone View
Standalone View
workspace.cpp
Show First 20 Lines • Show All 689 Lines • ▼ Show 20 Line(s) | |||||
690 | void Workspace::removeClient(Client* c) | 690 | void Workspace::removeClient(Client* c) | ||
691 | { | 691 | { | ||
692 | if (c == active_popup_client) | 692 | if (c == active_popup_client) | ||
693 | closeActivePopup(); | 693 | closeActivePopup(); | ||
694 | if (m_userActionsMenu->isMenuClient(c)) { | 694 | if (m_userActionsMenu->isMenuClient(c)) { | ||
695 | m_userActionsMenu->close(); | 695 | m_userActionsMenu->close(); | ||
696 | } | 696 | } | ||
697 | 697 | | |||
698 | c->untab(QRect(), true); | | |||
699 | | ||||
700 | if (client_keys_client == c) | 698 | if (client_keys_client == c) | ||
701 | setupWindowShortcutDone(false); | 699 | setupWindowShortcutDone(false); | ||
702 | if (!c->shortcut().isEmpty()) { | 700 | if (!c->shortcut().isEmpty()) { | ||
703 | c->setShortcut(QString()); // Remove from client_keys | 701 | c->setShortcut(QString()); // Remove from client_keys | ||
704 | clientShortcutUpdated(c); // Needed, since this is otherwise delayed by setShortcut() and wouldn't run | 702 | clientShortcutUpdated(c); // Needed, since this is otherwise delayed by setShortcut() and wouldn't run | ||
705 | } | 703 | } | ||
706 | 704 | | |||
707 | Q_ASSERT(clients.contains(c) || desktops.contains(c)); | 705 | Q_ASSERT(clients.contains(c) || desktops.contains(c)); | ||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Line(s) | 761 | { | |||
775 | } | 773 | } | ||
776 | } | 774 | } | ||
777 | 775 | | |||
778 | void Workspace::updateToolWindows(bool also_hide) | 776 | void Workspace::updateToolWindows(bool also_hide) | ||
779 | { | 777 | { | ||
780 | // TODO: What if Client's transiency/group changes? should this be called too? (I'm paranoid, am I not?) | 778 | // TODO: What if Client's transiency/group changes? should this be called too? (I'm paranoid, am I not?) | ||
781 | if (!options->isHideUtilityWindowsForInactive()) { | 779 | if (!options->isHideUtilityWindowsForInactive()) { | ||
782 | for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) | 780 | for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) | ||
783 | if (!(*it)->tabGroup() || (*it)->tabGroup()->current() == *it) | | |||
784 | (*it)->hideClient(false); | 781 | (*it)->hideClient(false); | ||
zzag: It ensures that all clients(utilities) are shown. Keep it. | |||||
785 | return; | 782 | return; | ||
786 | } | 783 | } | ||
787 | const Group* group = nullptr; | 784 | const Group* group = nullptr; | ||
788 | auto client = active_client; | 785 | auto client = active_client; | ||
789 | // Go up in transiency hiearchy, if the top is found, only tool transients for the top mainwindow | 786 | // Go up in transiency hiearchy, if the top is found, only tool transients for the top mainwindow | ||
790 | // will be shown; if a group transient is group, all tools in the group will be shown | 787 | // will be shown; if a group transient is group, all tools in the group will be shown | ||
791 | while (client != nullptr) { | 788 | while (client != nullptr) { | ||
792 | if (!client->isTransient()) | 789 | if (!client->isTransient()) | ||
▲ Show 20 Lines • Show All 1019 Lines • Show Last 20 Lines |
It ensures that all clients(utilities) are shown. Keep it.