#include <monitor.h>
Inherits Container< P, LT, LTI, T >< Display, list< Workspace * >, LWorkspace::iterator, Workspace >, and Rectangle.
Inheritance diagram for Monitor:
Definition at line 51 of file monitor.h.
Monitor::Monitor | ( | Display * | display, | |
unsigned int | id | |||
) |
Definition at line 43 of file monitor.cpp.
References Container< P, LT, LTI, T >::attached(), clientIds_, commonSettings_, displayString_, fixed_, Util::get(), id_, initBars(), initDisplayString(), initFonts(), initGC(), Theme::initTheme(), initWorkspaces(), KERNEL, LOGDEBUG, maxThing_, Cursors::NORMAL_CURSOR, prefix_, resizeFactor_, rootWindow_, sessionSettings_, Rectangle::setHeight(), Rectangle::setWidth(), Util::strToUInt(), theme_, themeSettings_, and XCORE.
Here is the call graph for this function:
Monitor::~Monitor | ( | ) |
unsigned int Monitor::id | ( | ) | const |
Window Monitor::rootWindow | ( | ) | const |
Returns the root window of this monitor.
Definition at line 924 of file monitor.cpp.
References rootWindow_.
Referenced by Widget::initWindow(), Kernel::rootWindow(), and Kernel::runResizeMode().
string Monitor::displayString | ( | ) | const |
Definition at line 928 of file monitor.cpp.
References displayString_.
Referenced by Launcher::exec().
Theme * Monitor::theme | ( | ) | const |
Definition at line 932 of file monitor.cpp.
References theme_.
Referenced by Bar::Bar(), Box::Box(), Menu::Menu(), and Thing::Thing().
unsigned int Monitor::resizeFactor | ( | ) | const |
Definition at line 936 of file monitor.cpp.
References resizeFactor_.
Referenced by Workspace::moveClient(), Workspace::resizeClient(), and Workspace::resizeFrame().
string Monitor::prefix | ( | ) | const |
Definition at line 940 of file monitor.cpp.
References prefix_.
Referenced by Workspace::Workspace().
void Monitor::serialize | ( | ) |
Definition at line 723 of file monitor.cpp.
References Container< P, LT, LTI, T >::begin(), Container< P, LT, LTI, T >::end(), Container< P, LT, LTI, T >::focused(), prefix_, and Container< P, LT, LTI, T >::size().
Here is the call graph for this function:
StatusBar * Monitor::statusBar | ( | ) | const |
Definition at line 948 of file monitor.cpp.
References statusBar_.
Referenced by Client::handlePropertyNotify(), and Workspace::show().
ClientBar * Monitor::clientBar | ( | ) | const |
Definition at line 952 of file monitor.cpp.
References clientBar_.
Referenced by Menu::escape(), Client::handlePropertyNotify(), Workspace::show(), and Actions::toggleClientBarMode().
InputBar * Monitor::inputBar | ( | ) | const |
Definition at line 984 of file monitor.cpp.
References inputBar_.
Referenced by StatusBar::handleButtonRelease(), Kernel::handleKeyPress(), Kernel::handlePropertyNotify(), Actions::inputMode(), Kernel::isInputMode(), and Validators::validateInputMode().
void Monitor::toggleStatusBar | ( | ) |
Definition at line 535 of file monitor.cpp.
References commonSettings_, DOWN, Container< P, LT, LTI, T >::focused(), Util::get(), Widget::hide(), Widget::isVisible(), matchWorkspace(), Widget::show(), statusBar_, and UP.
Referenced by Actions::toggleStatusBar().
Here is the call graph for this function:
void Monitor::toggleClientBar | ( | ) |
Definition at line 517 of file monitor.cpp.
References clientBar_, commonSettings_, DOWN, Container< P, LT, LTI, T >::focused(), Util::get(), Widget::hide(), Widget::isVisible(), matchWorkspace(), Widget::show(), and UP.
Referenced by Actions::toggleClientBar().
Here is the call graph for this function:
void Monitor::scanWindows | ( | ) |
Definition at line 266 of file monitor.cpp.
References addClient(), attachClient(), barWindow(), box_, clientForWindow(), LOGDEBUG, menuWindow(), rootWindow_, Widget::window(), and XCORE.
Here is the call graph for this function:
void Monitor::updateBars | ( | ) |
Definition at line 833 of file monitor.cpp.
References clientBar_, ClientBar::illuminate(), StatusBar::illuminate(), LOGDEBUG, Atoms::NCWM_METERTEXT, Atoms::NCWM_STATUSTEXT, rootWindow_, StatusBar::setMeterText(), StatusBar::setText(), statusBar_, and XCORE.
Referenced by destroyWorkspace(), focus(), Kernel::handlePropertyNotify(), and Workspace::illuminate().
Here is the call graph for this function:
Client * Monitor::focusedClient | ( | ) |
Definition at line 473 of file monitor.cpp.
References Container< P, LT, LTI, T >::focused().
Referenced by Actions::moveClientDown(), Actions::moveClientLeft(), Actions::moveClientRight(), Actions::moveClientUp(), Actions::sendClientDown(), Actions::sendClientLeft(), Actions::sendClientRight(), and Actions::sendClientUp().
Here is the call graph for this function:
Client * Monitor::clientForWindow | ( | Window | window | ) |
Returns the client for the given window if it exists, otherwise 0
. If the window is the root window or 0
then 0
will be returned.
Definition at line 440 of file monitor.cpp.
References clients_, and rootWindow_.
Referenced by scanWindows().
void Monitor::addClient | ( | Client * | client | ) |
Adds client.
Definition at line 456 of file monitor.cpp.
References clients_, and Client::clientWindow().
Referenced by Kernel::addClient(), Kernel::handleMapRequest(), and scanWindows().
Here is the call graph for this function:
void Monitor::removeClient | ( | Client * | client | ) |
Removes the specified client.
Definition at line 477 of file monitor.cpp.
References Client::attached(), clients_, Client::clientWindow(), Container< P, LT, LTI, T >::detach(), Workspace::detachClient(), detachedClients_, Container< P, LT, LTI, T >::focused(), StatusBar::illuminate(), Thing::isVisible(), LOGDEBUG, matchWorkspace(), Client::mode(), statusBar_, and XCORE.
Referenced by cleanup(), and Kernel::handleDestroyNotify().
Here is the call graph for this function:
void Monitor::detachClient | ( | ) |
Definition at line 618 of file monitor.cpp.
References Container< P, LT, LTI, T >::focused().
Referenced by Workspace::destroyFrame(), destroyWorkspace(), detachAllClients(), Actions::detachClient(), Menu::handleButtonPress(), Frame::handleButtonRelease(), Client::handleButtonRelease(), and Kernel::handleClientMessage().
Here is the call graph for this function:
void Monitor::detachClient | ( | Client * | client | ) |
Definition at line 604 of file monitor.cpp.
References Container< P, LT, LTI, T >::attach(), Client::attached(), Workspace::detachClient(), and detachedClients_.
Here is the call graph for this function:
void Monitor::attachLastClient | ( | ) |
Definition at line 636 of file monitor.cpp.
References attachClient(), Container< P, LT, LTI, T >::detach(), detachedClients_, and Container< P, LT, LTI, T >::focused().
Referenced by Actions::attachLastClient(), and Menu::handleButtonPress().
Here is the call graph for this function:
void Monitor::attachClientByName | ( | string | name | ) |
Definition at line 622 of file monitor.cpp.
References attachClient(), Container< P, LT, LTI, T >::begin(), Container< P, LT, LTI, T >::detach(), detachedClients_, Container< P, LT, LTI, T >::end(), and Thing::name().
Referenced by Actions::attachClient().
Here is the call graph for this function:
void Monitor::attachClient | ( | Client * | client | ) |
Definition at line 645 of file monitor.cpp.
References Container< P, LT, LTI, T >::attach(), Client::attached(), Container< P, LT, LTI, T >::contains(), Container< P, LT, LTI, T >::detach(), detachedClients_, focus(), Container< P, LT, LTI, T >::focused(), Client::hooked(), Client::initICCCM(), LOGDEBUG, Client::mode(), Client::state(), Client::transient(), and workspaceForName().
Referenced by attachAllClients(), attachClientByName(), attachDetachedClient(), attachLastClient(), Kernel::handleMapRequest(), and scanWindows().
Here is the call graph for this function:
void Monitor::attachAllClients | ( | ) |
Attaches all detached clients.
Definition at line 571 of file monitor.cpp.
References attachClient(), Container< P, LT, LTI, T >::begin(), Container< P, LT, LTI, T >::detach(), detachedClients_, and Container< P, LT, LTI, T >::size().
Referenced by Actions::attachAllClients().
Here is the call graph for this function:
void Monitor::detachAllClients | ( | ) |
Definition at line 580 of file monitor.cpp.
References Container< P, LT, LTI, T >::begin(), detachClient(), Workspace::floatingClients(), Container< P, LT, LTI, T >::focused(), Workspace::focusedFrame(), StatusBar::illuminate(), Workspace::isFrameMode(), Container< P, LT, LTI, T >::size(), and statusBar_.
Referenced by Actions::detachAllClients().
Here is the call graph for this function:
void Monitor::toggleAllClientStates | ( | ) |
Definition at line 553 of file monitor.cpp.
References Workspace::changeClientMode(), Client::FLOAT, Container< P, LT, LTI, T >::focused(), Workspace::focusedThing(), Thing::FRAME, StatusBar::illuminate(), Container< P, LT, LTI, T >::size(), statusBar_, and Thing::type().
Here is the call graph for this function:
CClient * Monitor::detachedClients | ( | ) |
Definition at line 956 of file monitor.cpp.
References detachedClients_.
Referenced by Validators::existDetachedClients(), Validators::existsDetachedClient(), Item::Item(), Binder::queryDetachedClientsForPattern(), and Menu::updateItemTree().
void Monitor::toggleThingMaximization | ( | ) |
Maximization handling.
Definition at line 850 of file monitor.cpp.
References Rectangle::copy(), Container< P, LT, LTI, T >::focused(), Workspace::focusedThing(), Rectangle::height(), Thing::illuminate(), maxThing_, Thing::prevRectangle(), Thing::resize(), Rectangle::setHeight(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), Rectangle::width(), Thing::window(), Rectangle::x(), XCORE, and Rectangle::y().
Referenced by Frame::handleButtonRelease(), Client::handleButtonRelease(), Action::perform(), and Actions::toggleMaximization().
Here is the call graph for this function:
bool Monitor::isThingMaximized | ( | ) |
Attaches detached client to workspace.
Definition at line 687 of file monitor.cpp.
References attachClient(), Container< P, LT, LTI, T >::detach(), detachedClients_, and focus().
Referenced by Menu::handleButtonPress().
Here is the call graph for this function:
unsigned int Monitor::titleBarHeight | ( | ) | const |
Definition at line 976 of file monitor.cpp.
References font_, and WFont::height().
Referenced by initBars(), Thing::initFrameWindow(), and Actions::toggleBar().
Here is the call graph for this function:
unsigned int Monitor::buttonWidth | ( | ) | const |
Definition at line 992 of file monitor.cpp.
References font_, and WFont::height().
Referenced by StatusBar::calculateMetersWidth(), Frame::illuminate(), Client::illuminate(), Thing::illuminateBorder(), StatusBar::invokeClickedThing(), ClientBar::invokeClickedThing(), ClientBar::updateClientInfo(), ClientBar::updateClientPager(), StatusBar::updateInputModeButton(), and StatusBar::updateMeters().
Here is the call graph for this function:
void Monitor::createNewWorkspace | ( | string | name | ) |
Definition at line 694 of file monitor.cpp.
References Container< P, LT, LTI, T >::attach(), Container< P, LT, LTI, T >::focused(), LEFT, matchWorkspace(), prefix_, and Container< P, LT, LTI, T >::size().
Referenced by Actions::createWorkspace().
Here is the call graph for this function:
void Monitor::focus | ( | Workspace * | workspace | ) |
Definition at line 739 of file monitor.cpp.
References Container< P, LT, LTI, T >::focused(), LOGDEBUG, Workspace::setRequestsFocus(), updateBars(), and XCORE.
Referenced by attachClient(), attachDetachedClient(), Actions::cycleWorkspaceNext(), Actions::cycleWorkspacePrev(), focusClient(), focusWorkspaceNum(), StatusBar::handleButtonPress(), Menu::handleButtonPress(), initWorkspaces(), and Actions::selectWorkspace().
Here is the call graph for this function:
void Monitor::focusWorkspaceNum | ( | unsigned int | workspaceNum | ) |
Definition at line 798 of file monitor.cpp.
References Container< P, LT, LTI, T >::begin(), Container< P, LT, LTI, T >::end(), and focus().
Referenced by StatusBar::invokeClickedThing().
Here is the call graph for this function:
void Monitor::focusWorkspaceByName | ( | string | name | ) |
void Monitor::focusClientByName | ( | string | name | ) |
Definition at line 775 of file monitor.cpp.
References clients_, focusClient(), and Thing::name().
Referenced by Actions::selectClient().
Here is the call graph for this function:
void Monitor::focusClientById | ( | string | id | ) |
Definition at line 762 of file monitor.cpp.
References clients_, focusClient(), and Client::id().
Referenced by Actions::selectClientId().
Here is the call graph for this function:
void Monitor::destroyWorkspace | ( | Workspace * | workspace | ) |
Definition at line 810 of file monitor.cpp.
References Workspace::clients(), clients(), Container< P, LT, LTI, T >::detach(), detachClient(), Container< P, LT, LTI, T >::focused(), KERNEL, Workspace::prefix(), Util::remove(), sessionSettings_, Container< P, LT, LTI, T >::size(), and updateBars().
Referenced by Actions::destroyWorkspace().
Here is the call graph for this function:
void Monitor::renameWorkspace | ( | Workspace * | workspace, | |
string | newName | |||
) |
Rename methods.
Definition at line 828 of file monitor.cpp.
References Workspace::prefix(), and Workspace::setName().
Referenced by Actions::renameWorkspace().
Here is the call graph for this function:
Definition at line 507 of file monitor.cpp.
References Workspace::matchBarNeighbors(), rectForWorkspace(), and Rectangle::y().
Referenced by createNewWorkspace(), initWorkspaces(), removeClient(), toggleClientBar(), and toggleStatusBar().
Here is the call graph for this function:
void Monitor::illuminateTransRect | ( | Rectangle * | rect, | |
unsigned int | barHeight = 0 | |||
) |
Definition at line 884 of file monitor.cpp.
References Draw::drawTransRectangle(), Rectangle::height(), illuminateTransText(), KERNEL, pseudoBorderGC_, rootWindow_, Rectangle::width(), Rectangle::x(), and Rectangle::y().
Referenced by Kernel::runResizeMode().
Here is the call graph for this function:
void Monitor::illuminateTransText | ( | Rectangle * | rect, | |
string | text | |||
) |
Definition at line 902 of file monitor.cpp.
References WFont::ascent(), WFont::drawText(), fixed_, font(), font_, WFont::height(), Rectangle::height(), WFont::NORMAL, pseudoBorderGC_, rootWindow_, WFont::textWidth(), WFont::type(), Rectangle::width(), Rectangle::x(), and Rectangle::y().
Referenced by illuminateTransRect().
Here is the call graph for this function:
Thing * Monitor::thingWindow | ( | Window | window | ) |
Definition at line 315 of file monitor.cpp.
References Container< P, LT, LTI, T >::begin(), and Container< P, LT, LTI, T >::end().
Here is the call graph for this function:
Bar * Monitor::barWindow | ( | Window | window | ) |
Definition at line 328 of file monitor.cpp.
References clientBar_, inputBar_, statusBar_, and Widget::window().
Referenced by scanWindows().
Here is the call graph for this function:
Menu * Monitor::menuWindow | ( | Window | window | ) |
Definition at line 342 of file monitor.cpp.
References clientBar_, ClientBar::menu(), and Widget::window().
Referenced by scanWindows().
Here is the call graph for this function:
unsigned int Monitor::nextClientId | ( | ) |
Used for differentiation of clients, each client has an unique id.
Definition at line 897 of file monitor.cpp.
References clientIds_.
Referenced by Client::Client().
void Monitor::resetClientId | ( | ) | [inline] |
GC Monitor::borderGC | ( | ) |
CClient * Monitor::stickyClients | ( | ) |
Definition at line 968 of file monitor.cpp.
References stickyClients_.
Referenced by Workspace::attachClient(), Workspace::detachClient(), Workspace::hide(), Item::Item(), Workspace::show(), and Menu::updateItemTree().
WFont * Monitor::font | ( | ) | const |
Definition at line 972 of file monitor.cpp.
References font_.
Referenced by illuminateTransText(), Widget::initGC(), Thing::initGC(), and Label::Label().
void Monitor::cleanup | ( | ) |
Reparents all client windows to the root window, destroys all frames and NCWM related items of clients.
Definition at line 461 of file monitor.cpp.
References clients_, Client::clientWindow(), removeClient(), Client::transient(), and XCORE.
Here is the call graph for this function:
MClient * Monitor::clients | ( | ) |
Definition at line 980 of file monitor.cpp.
References clients_.
Referenced by destroyWorkspace(), Binder::queryClientIdsForPattern(), and Binder::queryClientsForPattern().
void Monitor::banish | ( | ) |
Definition at line 988 of file monitor.cpp.
References Rectangle::height(), rootWindow_, Rectangle::width(), and XCORE.
Referenced by Actions::banish().
Here is the call graph for this function:
Workspace * Monitor::workspaceForName | ( | string | name | ) |
Definition at line 788 of file monitor.cpp.
References Container< P, LT, LTI, T >::begin(), and Container< P, LT, LTI, T >::end().
Referenced by attachClient(), and Actions::selectWorkspace().
Here is the call graph for this function:
Box * Monitor::box | ( | ) | const |
void Monitor::hookClient | ( | ) |
Definition at line 996 of file monitor.cpp.
References Container< P, LT, LTI, T >::focused(), and Client::setHooked().
Referenced by Actions::hookClient().
Here is the call graph for this function:
void Monitor::unhookClient | ( | ) |
Definition at line 1019 of file monitor.cpp.
References Container< P, LT, LTI, T >::focused(), and Client::setHooked().
Referenced by Actions::unhookClient().
Here is the call graph for this function:
void Monitor::initFonts | ( | ) | [private] |
Inits all fonts.
Definition at line 94 of file monitor.cpp.
References fixed_, font_, Util::get(), KERNEL, XFont::load(), WFont::load(), LOGERROR, LOGWARN, MINIMAL_BARHEIGHT, and WFont::XFT.
Referenced by Monitor().
Here is the call graph for this function:
void Monitor::initDisplayString | ( | ) | [private] |
Inits display string.
Definition at line 246 of file monitor.cpp.
References Container< P, LT, LTI, T >::attached(), displayString_, id_, and LOGDEBUG.
Referenced by Monitor().
Here is the call graph for this function:
void Monitor::initWorkspaces | ( | ) | [private] |
Inits workspaces.
Definition at line 221 of file monitor.cpp.
References Container< P, LT, LTI, T >::attach(), focus(), Util::get(), KERNEL, LEFT, LOGDEBUG, matchWorkspace(), prefix_, sessionSettings_, Util::strToUInt(), and XCORE.
Referenced by Monitor().
Here is the call graph for this function:
void Monitor::initBars | ( | ) | [private] |
Inits the bar.
Definition at line 120 of file monitor.cpp.
References box_, clientBar_, commonSettings_, Util::get(), Rectangle::height(), inputBar_, Rectangle::setY(), statusBar_, titleBarHeight(), and Rectangle::width().
Referenced by Monitor().
Here is the call graph for this function:
void Monitor::initGC | ( | ) | [private] |
Inits gc.
Definition at line 141 of file monitor.cpp.
References borderGC_, font_, Theme::FRAME_PSEUDO, Util::get(), KERNEL, WFont::NORMAL, pseudoBorderGC_, rootWindow_, Util::strToUInt(), theme_, WFont::type(), and XCORE.
Referenced by Monitor().
Here is the call graph for this function:
void Monitor::rectForWorkspace | ( | Workspace * | workspace | ) | [private] |
Initializes rectangle with workspace size.
Definition at line 182 of file monitor.cpp.
References clientBar_, commonSettings_, Util::get(), Rectangle::height(), Workspace::isClientBarVisible(), Workspace::isStatusBarVisible(), LEFT, Rectangle::setHeight(), Rectangle::setWidth(), Rectangle::setX(), Rectangle::setY(), statusBar_, Rectangle::width(), and Rectangle::x().
Referenced by matchWorkspace().
Here is the call graph for this function:
void Monitor::focusClient | ( | Client * | client | ) | [private] |
Definition at line 753 of file monitor.cpp.
References Client::attached(), and focus().
Referenced by focusClientById(), focusClientByName(), and Client::handleButtonPress().
Here is the call graph for this function:
GC Monitor::pseudoBorderGC_ [private] |
Definition at line 226 of file monitor.h.
Referenced by illuminateTransRect(), illuminateTransText(), and initGC().
GC Monitor::borderGC_ [private] |
Window Monitor::rootWindow_ [private] |
Definition at line 228 of file monitor.h.
Referenced by banish(), clientForWindow(), illuminateTransRect(), illuminateTransText(), initGC(), Monitor(), rootWindow(), scanWindows(), and updateBars().
WFont* Monitor::font_ [private] |
Definition at line 229 of file monitor.h.
Referenced by buttonWidth(), font(), illuminateTransText(), initFonts(), initGC(), and titleBarHeight().
XFont* Monitor::fixed_ [private] |
Definition at line 230 of file monitor.h.
Referenced by illuminateTransText(), initFonts(), and Monitor().
Box* Monitor::box_ [private] |
StatusBar* Monitor::statusBar_ [private] |
Definition at line 235 of file monitor.h.
Referenced by barWindow(), detachAllClients(), initBars(), rectForWorkspace(), removeClient(), statusBar(), toggleAllClientStates(), toggleStatusBar(), updateBars(), and ~Monitor().
ClientBar* Monitor::clientBar_ [private] |
Definition at line 236 of file monitor.h.
Referenced by barWindow(), clientBar(), initBars(), menuWindow(), rectForWorkspace(), toggleClientBar(), updateBars(), and ~Monitor().
InputBar* Monitor::inputBar_ [private] |
unsigned int Monitor::resizeFactor_ [private] |
unsigned int Monitor::id_ [private] |
string Monitor::displayString_ [private] |
Definition at line 251 of file monitor.h.
Referenced by displayString(), initDisplayString(), and Monitor().
Theme* Monitor::theme_ [private] |
MClient Monitor::clients_ [private] |
Definition at line 255 of file monitor.h.
Referenced by addClient(), cleanup(), clientForWindow(), clients(), focusClientById(), focusClientByName(), removeClient(), and ~Monitor().
CClient Monitor::detachedClients_ [private] |
Definition at line 257 of file monitor.h.
Referenced by attachAllClients(), attachClient(), attachClientByName(), attachDetachedClient(), attachLastClient(), detachClient(), detachedClients(), and removeClient().
CClient Monitor::stickyClients_ [private] |
MSettings* Monitor::themeSettings_ [private] |
MSettings* Monitor::sessionSettings_ [private] |
Definition at line 261 of file monitor.h.
Referenced by destroyWorkspace(), initWorkspaces(), and Monitor().
MSettings* Monitor::commonSettings_ [private] |
Definition at line 262 of file monitor.h.
Referenced by initBars(), Monitor(), rectForWorkspace(), toggleClientBar(), and toggleStatusBar().
string Monitor::prefix_ [private] |
Definition at line 263 of file monitor.h.
Referenced by createNewWorkspace(), initWorkspaces(), Monitor(), prefix(), and serialize().
Thing* Monitor::maxThing_ [private] |
Definition at line 265 of file monitor.h.
Referenced by isThingMaximized(), Monitor(), and toggleThingMaximization().
unsigned int Monitor::clientIds_ [private] |
Definition at line 267 of file monitor.h.
Referenced by Monitor(), nextClientId(), and resetClientId().