Changeset View
Changeset View
Standalone View
Standalone View
useractions.cpp
Show First 20 Lines • Show All 1099 Lines • ▼ Show 20 Line(s) | 1095 | { | |||
---|---|---|---|---|---|
1100 | if (data.isValid()) { | 1100 | if (data.isValid()) { | ||
1101 | a->setData(data); | 1101 | a->setData(data); | ||
1102 | } | 1102 | } | ||
1103 | KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << shortcut); | 1103 | KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << shortcut); | ||
1104 | KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << shortcut); | 1104 | KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << shortcut); | ||
1105 | input()->registerShortcut(shortcut, a, receiver, slot); | 1105 | input()->registerShortcut(shortcut, a, receiver, slot); | ||
1106 | } | 1106 | } | ||
1107 | 1107 | | |||
1108 | /*! | 1108 | /** | ||
1109 | Create the global accel object \c keys. | 1109 | * Creates the global accel object \c keys. | ||
1110 | */ | 1110 | **/ | ||
1111 | void Workspace::initShortcuts() | 1111 | void Workspace::initShortcuts() | ||
1112 | { | 1112 | { | ||
1113 | #define IN_KWIN | 1113 | #define IN_KWIN | ||
1114 | #include "kwinbindings.cpp" | 1114 | #include "kwinbindings.cpp" | ||
1115 | #ifdef KWIN_BUILD_TABBOX | 1115 | #ifdef KWIN_BUILD_TABBOX | ||
1116 | TabBox::TabBox::self()->initShortcuts(); | 1116 | TabBox::TabBox::self()->initShortcuts(); | ||
1117 | #endif | 1117 | #endif | ||
1118 | VirtualDesktopManager::self()->initShortcuts(); | 1118 | VirtualDesktopManager::self()->initShortcuts(); | ||
▲ Show 20 Lines • Show All 165 Lines • ▼ Show 20 Line(s) | 1283 | case Options::CloseTabGroupOp: | |||
1284 | c->tabGroup()->closeAll(); | 1284 | c->tabGroup()->closeAll(); | ||
1285 | break; | 1285 | break; | ||
1286 | } | 1286 | } | ||
1287 | } | 1287 | } | ||
1288 | 1288 | | |||
1289 | /** | 1289 | /** | ||
1290 | * Called by the decoration in the new API to determine what buttons the user has configured for | 1290 | * Called by the decoration in the new API to determine what buttons the user has configured for | ||
1291 | * window tab dragging and the operations menu. | 1291 | * window tab dragging and the operations menu. | ||
1292 | */ | 1292 | **/ | ||
1293 | Options::WindowOperation Client::mouseButtonToWindowOperation(Qt::MouseButtons button) | 1293 | Options::WindowOperation Client::mouseButtonToWindowOperation(Qt::MouseButtons button) | ||
1294 | { | 1294 | { | ||
1295 | Options::MouseCommand com = Options::MouseNothing; | 1295 | Options::MouseCommand com = Options::MouseNothing; | ||
1296 | bool active = isActive(); | 1296 | bool active = isActive(); | ||
1297 | if (!wantsInput()) // we cannot be active, use it anyway | 1297 | if (!wantsInput()) // we cannot be active, use it anyway | ||
1298 | active = true; | 1298 | active = true; | ||
1299 | 1299 | | |||
1300 | if (button == Qt::LeftButton) | 1300 | if (button == Qt::LeftButton) | ||
1301 | com = active ? options->commandActiveTitlebar1() : options->commandInactiveTitlebar1(); | 1301 | com = active ? options->commandActiveTitlebar1() : options->commandInactiveTitlebar1(); | ||
1302 | else if (button == Qt::MidButton) | 1302 | else if (button == Qt::MidButton) | ||
1303 | com = active ? options->commandActiveTitlebar2() : options->commandInactiveTitlebar2(); | 1303 | com = active ? options->commandActiveTitlebar2() : options->commandInactiveTitlebar2(); | ||
1304 | else if (button == Qt::RightButton) | 1304 | else if (button == Qt::RightButton) | ||
1305 | com = active ? options->commandActiveTitlebar3() : options->commandInactiveTitlebar3(); | 1305 | com = active ? options->commandActiveTitlebar3() : options->commandInactiveTitlebar3(); | ||
1306 | 1306 | | |||
1307 | // TODO: Complete the list | 1307 | // TODO: Complete the list | ||
1308 | if (com == Options::MouseDragTab) | 1308 | if (com == Options::MouseDragTab) | ||
1309 | return Options::TabDragOp; | 1309 | return Options::TabDragOp; | ||
1310 | if (com == Options::MouseOperationsMenu) | 1310 | if (com == Options::MouseOperationsMenu) | ||
1311 | return Options::OperationsOp; | 1311 | return Options::OperationsOp; | ||
1312 | return Options::NoOp; | 1312 | return Options::NoOp; | ||
1313 | } | 1313 | } | ||
1314 | 1314 | | |||
1315 | /*! | 1315 | /** | ||
1316 | Performs a mouse command on this client (see options.h) | 1316 | * Performs a mouse command on this client (see options.h) | ||
1317 | */ | 1317 | **/ | ||
1318 | bool Client::performMouseCommand(Options::MouseCommand command, const QPoint &globalPos) | 1318 | bool Client::performMouseCommand(Options::MouseCommand command, const QPoint &globalPos) | ||
1319 | { | 1319 | { | ||
1320 | bool replay = false; | 1320 | bool replay = false; | ||
1321 | switch(command) { | 1321 | switch(command) { | ||
1322 | case Options::MouseShade : | 1322 | case Options::MouseShade : | ||
1323 | toggleShade(); | 1323 | toggleShade(); | ||
1324 | cancelShadeHoverTimer(); | 1324 | cancelShadeHoverTimer(); | ||
1325 | break; | 1325 | break; | ||
▲ Show 20 Lines • Show All 94 Lines • ▼ Show 20 Line(s) | |||||
1420 | } | 1420 | } | ||
1421 | 1421 | | |||
1422 | void Workspace::slotWindowToPrevScreen() | 1422 | void Workspace::slotWindowToPrevScreen() | ||
1423 | { | 1423 | { | ||
1424 | if (USABLE_ACTIVE_CLIENT) | 1424 | if (USABLE_ACTIVE_CLIENT) | ||
1425 | sendClientToScreen(active_client, (active_client->screen() + screens()->count() - 1) % screens()->count()); | 1425 | sendClientToScreen(active_client, (active_client->screen() + screens()->count() - 1) % screens()->count()); | ||
1426 | } | 1426 | } | ||
1427 | 1427 | | |||
1428 | /*! | 1428 | /** | ||
1429 | Maximizes the popup client | 1429 | * Maximizes the active client. | ||
1430 | */ | 1430 | **/ | ||
1431 | void Workspace::slotWindowMaximize() | 1431 | void Workspace::slotWindowMaximize() | ||
1432 | { | 1432 | { | ||
1433 | if (USABLE_ACTIVE_CLIENT) | 1433 | if (USABLE_ACTIVE_CLIENT) | ||
1434 | performWindowOperation(active_client, Options::MaximizeOp); | 1434 | performWindowOperation(active_client, Options::MaximizeOp); | ||
1435 | } | 1435 | } | ||
1436 | 1436 | | |||
1437 | /*! | 1437 | /** | ||
1438 | Maximizes the popup client vertically | 1438 | * Maximizes the active client vertically. | ||
1439 | */ | 1439 | **/ | ||
1440 | void Workspace::slotWindowMaximizeVertical() | 1440 | void Workspace::slotWindowMaximizeVertical() | ||
1441 | { | 1441 | { | ||
1442 | if (USABLE_ACTIVE_CLIENT) | 1442 | if (USABLE_ACTIVE_CLIENT) | ||
1443 | performWindowOperation(active_client, Options::VMaximizeOp); | 1443 | performWindowOperation(active_client, Options::VMaximizeOp); | ||
1444 | } | 1444 | } | ||
1445 | 1445 | | |||
1446 | /*! | 1446 | /** | ||
1447 | Maximizes the popup client horiozontally | 1447 | * Maximizes the active client horiozontally. | ||
1448 | */ | 1448 | **/ | ||
1449 | void Workspace::slotWindowMaximizeHorizontal() | 1449 | void Workspace::slotWindowMaximizeHorizontal() | ||
1450 | { | 1450 | { | ||
1451 | if (USABLE_ACTIVE_CLIENT) | 1451 | if (USABLE_ACTIVE_CLIENT) | ||
1452 | performWindowOperation(active_client, Options::HMaximizeOp); | 1452 | performWindowOperation(active_client, Options::HMaximizeOp); | ||
1453 | } | 1453 | } | ||
1454 | 1454 | | |||
1455 | 1455 | | |||
1456 | /*! | 1456 | /** | ||
1457 | Minimizes the popup client | 1457 | * Minimizes the active client. | ||
1458 | */ | 1458 | **/ | ||
1459 | void Workspace::slotWindowMinimize() | 1459 | void Workspace::slotWindowMinimize() | ||
1460 | { | 1460 | { | ||
1461 | if (USABLE_ACTIVE_CLIENT) | 1461 | if (USABLE_ACTIVE_CLIENT) | ||
1462 | performWindowOperation(active_client, Options::MinimizeOp); | 1462 | performWindowOperation(active_client, Options::MinimizeOp); | ||
1463 | } | 1463 | } | ||
1464 | 1464 | | |||
1465 | /*! | 1465 | /** | ||
1466 | Shades/unshades the popup client respectively | 1466 | * Shades/unshades the active client respectively. | ||
1467 | */ | 1467 | **/ | ||
1468 | void Workspace::slotWindowShade() | 1468 | void Workspace::slotWindowShade() | ||
1469 | { | 1469 | { | ||
1470 | if (USABLE_ACTIVE_CLIENT) | 1470 | if (USABLE_ACTIVE_CLIENT) | ||
1471 | performWindowOperation(active_client, Options::ShadeOp); | 1471 | performWindowOperation(active_client, Options::ShadeOp); | ||
1472 | } | 1472 | } | ||
1473 | 1473 | | |||
1474 | /*! | 1474 | /** | ||
1475 | Raises the popup client | 1475 | * Raises the active client. | ||
1476 | */ | 1476 | **/ | ||
1477 | void Workspace::slotWindowRaise() | 1477 | void Workspace::slotWindowRaise() | ||
1478 | { | 1478 | { | ||
1479 | if (USABLE_ACTIVE_CLIENT) | 1479 | if (USABLE_ACTIVE_CLIENT) | ||
1480 | raiseClient(active_client); | 1480 | raiseClient(active_client); | ||
1481 | } | 1481 | } | ||
1482 | 1482 | | |||
1483 | /*! | 1483 | /** | ||
1484 | Lowers the popup client | 1484 | * Lowers the active client. | ||
1485 | */ | 1485 | **/ | ||
1486 | void Workspace::slotWindowLower() | 1486 | void Workspace::slotWindowLower() | ||
1487 | { | 1487 | { | ||
1488 | if (USABLE_ACTIVE_CLIENT) { | 1488 | if (USABLE_ACTIVE_CLIENT) { | ||
1489 | lowerClient(active_client); | 1489 | lowerClient(active_client); | ||
1490 | // As this most likely makes the window no longer visible change the | 1490 | // As this most likely makes the window no longer visible change the | ||
1491 | // keyboard focus to the next available window. | 1491 | // keyboard focus to the next available window. | ||
1492 | //activateNextClient( c ); // Doesn't work when we lower a child window | 1492 | //activateNextClient( c ); // Doesn't work when we lower a child window | ||
1493 | if (active_client->isActive() && options->focusPolicyIsReasonable()) { | 1493 | if (active_client->isActive() && options->focusPolicyIsReasonable()) { | ||
1494 | if (options->isNextFocusPrefersMouse()) { | 1494 | if (options->isNextFocusPrefersMouse()) { | ||
1495 | AbstractClient *next = clientUnderMouse(active_client->screen()); | 1495 | AbstractClient *next = clientUnderMouse(active_client->screen()); | ||
1496 | if (next && next != active_client) | 1496 | if (next && next != active_client) | ||
1497 | requestFocus(next, false); | 1497 | requestFocus(next, false); | ||
1498 | } else { | 1498 | } else { | ||
1499 | activateClient(topClientOnDesktop(VirtualDesktopManager::self()->current(), -1)); | 1499 | activateClient(topClientOnDesktop(VirtualDesktopManager::self()->current(), -1)); | ||
1500 | } | 1500 | } | ||
1501 | } | 1501 | } | ||
1502 | } | 1502 | } | ||
1503 | } | 1503 | } | ||
1504 | 1504 | | |||
1505 | /*! | 1505 | /** | ||
1506 | Does a toggle-raise-and-lower on the popup client; | 1506 | * Does a toggle-raise-and-lower on the active client. | ||
1507 | */ | 1507 | **/ | ||
1508 | void Workspace::slotWindowRaiseOrLower() | 1508 | void Workspace::slotWindowRaiseOrLower() | ||
1509 | { | 1509 | { | ||
1510 | if (USABLE_ACTIVE_CLIENT) | 1510 | if (USABLE_ACTIVE_CLIENT) | ||
1511 | raiseOrLowerClient(active_client); | 1511 | raiseOrLowerClient(active_client); | ||
1512 | } | 1512 | } | ||
1513 | 1513 | | |||
1514 | void Workspace::slotWindowOnAllDesktops() | 1514 | void Workspace::slotWindowOnAllDesktops() | ||
1515 | { | 1515 | { | ||
Show All 25 Lines | 1540 | if (USABLE_ACTIVE_CLIENT) | |||
1541 | performWindowOperation(active_client, Options::KeepBelowOp); | 1541 | performWindowOperation(active_client, Options::KeepBelowOp); | ||
1542 | } | 1542 | } | ||
1543 | void Workspace::slotSetupWindowShortcut() | 1543 | void Workspace::slotSetupWindowShortcut() | ||
1544 | { | 1544 | { | ||
1545 | if (USABLE_ACTIVE_CLIENT) | 1545 | if (USABLE_ACTIVE_CLIENT) | ||
1546 | performWindowOperation(active_client, Options::SetupWindowShortcutOp); | 1546 | performWindowOperation(active_client, Options::SetupWindowShortcutOp); | ||
1547 | } | 1547 | } | ||
1548 | 1548 | | |||
1549 | /*! | 1549 | /** | ||
1550 | Toggles show desktop | 1550 | * Toggles show desktop. | ||
1551 | */ | 1551 | **/ | ||
1552 | void Workspace::slotToggleShowDesktop() | 1552 | void Workspace::slotToggleShowDesktop() | ||
1553 | { | 1553 | { | ||
1554 | setShowingDesktop(!showingDesktop()); | 1554 | setShowingDesktop(!showingDesktop()); | ||
1555 | } | 1555 | } | ||
1556 | 1556 | | |||
1557 | template <typename Direction> | 1557 | template <typename Direction> | ||
1558 | void windowToDesktop(AbstractClient *c) | 1558 | void windowToDesktop(AbstractClient *c) | ||
1559 | { | 1559 | { | ||
1560 | VirtualDesktopManager *vds = VirtualDesktopManager::self(); | 1560 | VirtualDesktopManager *vds = VirtualDesktopManager::self(); | ||
1561 | Workspace *ws = Workspace::self(); | 1561 | Workspace *ws = Workspace::self(); | ||
1562 | Direction functor; | 1562 | Direction functor; | ||
1563 | // TODO: why is options->isRollOverDesktops() not honored? | 1563 | // TODO: why is options->isRollOverDesktops() not honored? | ||
1564 | const auto desktop = functor(nullptr, true); | 1564 | const auto desktop = functor(nullptr, true); | ||
1565 | if (c && !c->isDesktop() | 1565 | if (c && !c->isDesktop() | ||
1566 | && !c->isDock()) { | 1566 | && !c->isDock()) { | ||
1567 | ws->setClientIsMoving(c); | 1567 | ws->setClientIsMoving(c); | ||
1568 | vds->setCurrent(desktop); | 1568 | vds->setCurrent(desktop); | ||
1569 | ws->setClientIsMoving(NULL); | 1569 | ws->setClientIsMoving(NULL); | ||
1570 | } | 1570 | } | ||
1571 | } | 1571 | } | ||
1572 | 1572 | | |||
1573 | /*! | 1573 | /** | ||
1574 | Move window to next desktop | 1574 | * Moves the active client to the next desktop. | ||
1575 | */ | 1575 | **/ | ||
1576 | void Workspace::slotWindowToNextDesktop() | 1576 | void Workspace::slotWindowToNextDesktop() | ||
1577 | { | 1577 | { | ||
1578 | if (USABLE_ACTIVE_CLIENT) | 1578 | if (USABLE_ACTIVE_CLIENT) | ||
1579 | windowToNextDesktop(active_client); | 1579 | windowToNextDesktop(active_client); | ||
1580 | } | 1580 | } | ||
1581 | 1581 | | |||
1582 | void Workspace::windowToNextDesktop(AbstractClient* c) | 1582 | void Workspace::windowToNextDesktop(AbstractClient* c) | ||
1583 | { | 1583 | { | ||
1584 | windowToDesktop<DesktopNext>(c); | 1584 | windowToDesktop<DesktopNext>(c); | ||
1585 | } | 1585 | } | ||
1586 | 1586 | | |||
1587 | /*! | 1587 | /** | ||
1588 | Move window to previous desktop | 1588 | * Moves the active client to the previous desktop. | ||
1589 | */ | 1589 | **/ | ||
1590 | void Workspace::slotWindowToPreviousDesktop() | 1590 | void Workspace::slotWindowToPreviousDesktop() | ||
1591 | { | 1591 | { | ||
1592 | if (USABLE_ACTIVE_CLIENT) | 1592 | if (USABLE_ACTIVE_CLIENT) | ||
1593 | windowToPreviousDesktop(active_client); | 1593 | windowToPreviousDesktop(active_client); | ||
1594 | } | 1594 | } | ||
1595 | 1595 | | |||
1596 | void Workspace::windowToPreviousDesktop(AbstractClient* c) | 1596 | void Workspace::windowToPreviousDesktop(AbstractClient* c) | ||
1597 | { | 1597 | { | ||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | |||||
1655 | } | 1655 | } | ||
1656 | 1656 | | |||
1657 | void Workspace::slotUntab() | 1657 | void Workspace::slotUntab() | ||
1658 | { | 1658 | { | ||
1659 | if (active_client) | 1659 | if (active_client) | ||
1660 | active_client->untab(active_client->geometry().translated(cascadeOffset(active_client))); | 1660 | active_client->untab(active_client->geometry().translated(cascadeOffset(active_client))); | ||
1661 | } | 1661 | } | ||
1662 | 1662 | | |||
1663 | /*! | 1663 | /** | ||
1664 | Kill Window feature, similar to xkill | 1664 | * Kill Window feature, similar to xkill. | ||
1665 | */ | 1665 | **/ | ||
1666 | void Workspace::slotKillWindow() | 1666 | void Workspace::slotKillWindow() | ||
1667 | { | 1667 | { | ||
1668 | if (m_windowKiller.isNull()) { | 1668 | if (m_windowKiller.isNull()) { | ||
1669 | m_windowKiller.reset(new KillWindow()); | 1669 | m_windowKiller.reset(new KillWindow()); | ||
1670 | } | 1670 | } | ||
1671 | m_windowKiller->start(); | 1671 | m_windowKiller->start(); | ||
1672 | } | 1672 | } | ||
1673 | 1673 | | |||
1674 | /*! | 1674 | /** | ||
1675 | Switches to the nearest window in given direction | 1675 | * Switches to the nearest window in given direction. | ||
1676 | */ | 1676 | **/ | ||
1677 | void Workspace::switchWindow(Direction direction) | 1677 | void Workspace::switchWindow(Direction direction) | ||
1678 | { | 1678 | { | ||
1679 | if (!active_client) | 1679 | if (!active_client) | ||
1680 | return; | 1680 | return; | ||
1681 | AbstractClient *c = active_client; | 1681 | AbstractClient *c = active_client; | ||
1682 | int desktopNumber = c->isOnAllDesktops() ? VirtualDesktopManager::self()->current() : c->desktop(); | 1682 | int desktopNumber = c->isOnAllDesktops() ? VirtualDesktopManager::self()->current() : c->desktop(); | ||
1683 | 1683 | | |||
1684 | // Centre of the active window | 1684 | // Centre of the active window | ||
▲ Show 20 Lines • Show All 75 Lines • ▼ Show 20 Line(s) | 1759 | if (switchTo) { | |||
1760 | if (switchTo->tabGroup()) | 1760 | if (switchTo->tabGroup()) | ||
1761 | switchTo = switchTo->tabGroup()->current(); | 1761 | switchTo = switchTo->tabGroup()->current(); | ||
1762 | activateClient(switchTo); | 1762 | activateClient(switchTo); | ||
1763 | } | 1763 | } | ||
1764 | 1764 | | |||
1765 | return switchTo; | 1765 | return switchTo; | ||
1766 | } | 1766 | } | ||
1767 | 1767 | | |||
1768 | /*! | 1768 | /** | ||
1769 | Shows the window operations popup menu for the activeClient() | 1769 | * Shows the window operations popup menu for the active client. | ||
1770 | */ | 1770 | **/ | ||
1771 | void Workspace::slotWindowOperations() | 1771 | void Workspace::slotWindowOperations() | ||
1772 | { | 1772 | { | ||
1773 | if (!active_client) | 1773 | if (!active_client) | ||
1774 | return; | 1774 | return; | ||
1775 | QPoint pos = active_client->pos() + active_client->clientPos(); | 1775 | QPoint pos = active_client->pos() + active_client->clientPos(); | ||
1776 | showWindowMenu(QRect(pos, pos), active_client); | 1776 | showWindowMenu(QRect(pos, pos), active_client); | ||
1777 | } | 1777 | } | ||
1778 | 1778 | | |||
1779 | void Workspace::showWindowMenu(const QRect &pos, AbstractClient* cl) | 1779 | void Workspace::showWindowMenu(const QRect &pos, AbstractClient* cl) | ||
1780 | { | 1780 | { | ||
1781 | m_userActionsMenu->show(pos, cl); | 1781 | m_userActionsMenu->show(pos, cl); | ||
1782 | } | 1782 | } | ||
1783 | 1783 | | |||
1784 | void Workspace::showApplicationMenu(const QRect &pos, AbstractClient *c, int actionId) | 1784 | void Workspace::showApplicationMenu(const QRect &pos, AbstractClient *c, int actionId) | ||
1785 | { | 1785 | { | ||
1786 | ApplicationMenu::self()->showApplicationMenu(c->geometry().topLeft() + pos.bottomLeft(), c, actionId); | 1786 | ApplicationMenu::self()->showApplicationMenu(c->geometry().topLeft() + pos.bottomLeft(), c, actionId); | ||
1787 | } | 1787 | } | ||
1788 | 1788 | | |||
1789 | /*! | 1789 | /** | ||
1790 | Closes the popup client | 1790 | * Closes the active client. | ||
1791 | */ | 1791 | **/ | ||
1792 | void Workspace::slotWindowClose() | 1792 | void Workspace::slotWindowClose() | ||
1793 | { | 1793 | { | ||
1794 | // TODO: why? | 1794 | // TODO: why? | ||
1795 | // if ( tab_box->isVisible()) | 1795 | // if ( tab_box->isVisible()) | ||
1796 | // return; | 1796 | // return; | ||
1797 | if (USABLE_ACTIVE_CLIENT) | 1797 | if (USABLE_ACTIVE_CLIENT) | ||
1798 | performWindowOperation(active_client, Options::CloseOp); | 1798 | performWindowOperation(active_client, Options::CloseOp); | ||
1799 | } | 1799 | } | ||
1800 | 1800 | | |||
1801 | /*! | 1801 | /** | ||
1802 | Starts keyboard move mode for the popup client | 1802 | * Starts keyboard move mode for the active client. | ||
1803 | */ | 1803 | **/ | ||
1804 | void Workspace::slotWindowMove() | 1804 | void Workspace::slotWindowMove() | ||
1805 | { | 1805 | { | ||
1806 | if (USABLE_ACTIVE_CLIENT) | 1806 | if (USABLE_ACTIVE_CLIENT) | ||
1807 | performWindowOperation(active_client, Options::UnrestrictedMoveOp); | 1807 | performWindowOperation(active_client, Options::UnrestrictedMoveOp); | ||
1808 | } | 1808 | } | ||
1809 | 1809 | | |||
1810 | /*! | 1810 | /** | ||
1811 | Starts keyboard resize mode for the popup client | 1811 | * Starts keyboard resize mode for the active client. | ||
1812 | */ | 1812 | **/ | ||
1813 | void Workspace::slotWindowResize() | 1813 | void Workspace::slotWindowResize() | ||
1814 | { | 1814 | { | ||
1815 | if (USABLE_ACTIVE_CLIENT) | 1815 | if (USABLE_ACTIVE_CLIENT) | ||
1816 | performWindowOperation(active_client, Options::UnrestrictedResizeOp); | 1816 | performWindowOperation(active_client, Options::UnrestrictedResizeOp); | ||
1817 | } | 1817 | } | ||
1818 | 1818 | | |||
1819 | #undef USABLE_ACTIVE_CLIENT | 1819 | #undef USABLE_ACTIVE_CLIENT | ||
1820 | 1820 | | |||
▲ Show 20 Lines • Show All 104 Lines • Show Last 20 Lines |