diff options
Diffstat (limited to 'src/Screen.cc')
-rw-r--r-- | src/Screen.cc | 87 |
1 files changed, 28 insertions, 59 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index a051941..98cc782 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -31,7 +31,6 @@ | |||
31 | #include "Workspace.hh" | 31 | #include "Workspace.hh" |
32 | 32 | ||
33 | #include "Layer.hh" | 33 | #include "Layer.hh" |
34 | #include "FocusControl.hh" | ||
35 | #include "ScreenPlacement.hh" | 34 | #include "ScreenPlacement.hh" |
36 | 35 | ||
37 | // menu items | 36 | // menu items |
@@ -184,7 +183,7 @@ int calcSquareDistance(int x1, int y1, int x2, int y2) { | |||
184 | class TabPlacementMenuItem: public FbTk::RadioMenuItem { | 183 | class TabPlacementMenuItem: public FbTk::RadioMenuItem { |
185 | public: | 184 | public: |
186 | TabPlacementMenuItem(const FbTk::FbString & label, BScreen &screen, | 185 | TabPlacementMenuItem(const FbTk::FbString & label, BScreen &screen, |
187 | FbWinFrame::TabPlacement place): | 186 | Placement place): |
188 | FbTk::RadioMenuItem(label), | 187 | FbTk::RadioMenuItem(label), |
189 | m_screen(screen), | 188 | m_screen(screen), |
190 | m_place(place) { | 189 | m_place(place) { |
@@ -200,42 +199,12 @@ public: | |||
200 | 199 | ||
201 | private: | 200 | private: |
202 | BScreen &m_screen; | 201 | BScreen &m_screen; |
203 | FbWinFrame::TabPlacement m_place; | 202 | Placement m_place; |
204 | }; | 203 | }; |
205 | 204 | ||
206 | struct TabPlacementString { | ||
207 | FbWinFrame::TabPlacement placement; | ||
208 | const char* str; | ||
209 | }; | ||
210 | |||
211 | |||
212 | |||
213 | } // end anonymous namespace | 205 | } // end anonymous namespace |
214 | 206 | ||
215 | 207 | ||
216 | |||
217 | namespace FbTk { | ||
218 | |||
219 | template<> | ||
220 | const EnumTraits<FbWinFrame::TabPlacement>::Pair EnumTraits<FbWinFrame::TabPlacement>::s_map[] = { | ||
221 | { "TopLeft", FbWinFrame::TOPLEFT }, | ||
222 | { "Top", FbWinFrame::TOP }, | ||
223 | { "TopRight", FbWinFrame::TOPRIGHT }, | ||
224 | { "BottomLeft", FbWinFrame::BOTTOMLEFT }, | ||
225 | { "Bottom", FbWinFrame::BOTTOM }, | ||
226 | { "BottomRight", FbWinFrame::BOTTOMRIGHT }, | ||
227 | { "LeftBottom", FbWinFrame::LEFTBOTTOM }, | ||
228 | { "Left", FbWinFrame::LEFT }, | ||
229 | { "LeftTop", FbWinFrame::LEFTTOP }, | ||
230 | { "RightBottom", FbWinFrame::RIGHTBOTTOM }, | ||
231 | { "Right", FbWinFrame::RIGHT }, | ||
232 | { "RightTop", FbWinFrame::RIGHTTOP }, | ||
233 | { NULL, FbWinFrame::RIGHTTOP } | ||
234 | }; | ||
235 | |||
236 | } // end namespace FbTk | ||
237 | |||
238 | |||
239 | BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager_base &rm, | 208 | BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager_base &rm, |
240 | const string &scrname): | 209 | const string &scrname): |
241 | workspace_names(rm, std::vector<std::string>(), scrname + ".workspaceNames", | 210 | workspace_names(rm, std::vector<std::string>(), scrname + ".workspaceNames", |
@@ -250,7 +219,7 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager_base &rm, | |||
250 | auto_raise(rm, true, scrname+".autoRaise"), | 219 | auto_raise(rm, true, scrname+".autoRaise"), |
251 | click_raises(rm, true, scrname+".clickRaises"), | 220 | click_raises(rm, true, scrname+".clickRaises"), |
252 | default_deco(rm, "NORMAL", scrname+".defaultDeco"), | 221 | default_deco(rm, "NORMAL", scrname+".defaultDeco"), |
253 | tab_placement(rm, FbWinFrame::TOPLEFT, scrname+".tab.placement"), | 222 | tab_placement(rm, TOPLEFT, scrname+".tab.placement"), |
254 | windowmenufile(rm, Fluxbox::instance()->getDefaultDataFilename("windowmenu.lua"), scrname+".windowMenu"), | 223 | windowmenufile(rm, Fluxbox::instance()->getDefaultDataFilename("windowmenu.lua"), scrname+".windowMenu"), |
255 | typing_delay(rm, 0, scrname+".noFocusWhileTypingDelay"), | 224 | typing_delay(rm, 0, scrname+".noFocusWhileTypingDelay"), |
256 | workspaces(rm, 4, scrname+".workspaces"), | 225 | workspaces(rm, 4, scrname+".workspaces"), |
@@ -460,7 +429,7 @@ BScreen::BScreen(FbTk::ResourceManager_base &rm, | |||
460 | changeWorkspaceID(first_desktop); | 429 | changeWorkspaceID(first_desktop); |
461 | 430 | ||
462 | #ifdef SLIT | 431 | #ifdef SLIT |
463 | m_slit.reset(new Slit(*this, *layerManager().getLayer(ResourceLayer::DESKTOP))); | 432 | m_slit.reset(new Slit(*this, *layerManager().getLayer(LAYERDESKTOP))); |
464 | #endif // SLIT | 433 | #endif // SLIT |
465 | 434 | ||
466 | XFlush(disp); | 435 | XFlush(disp); |
@@ -539,7 +508,7 @@ void BScreen::initWindows() { | |||
539 | 508 | ||
540 | #ifdef USE_TOOLBAR | 509 | #ifdef USE_TOOLBAR |
541 | m_toolbar.reset(new Toolbar(*this, | 510 | m_toolbar.reset(new Toolbar(*this, |
542 | *layerManager().getLayer(::ResourceLayer::NORMAL))); | 511 | *layerManager().getLayer(LAYERNORMAL))); |
543 | #endif // USE_TOOLBAR | 512 | #endif // USE_TOOLBAR |
544 | 513 | ||
545 | unsigned int nchild; | 514 | unsigned int nchild; |
@@ -796,7 +765,7 @@ void BScreen::cycleFocus(int options, const ClientPattern *pat, bool reverse) { | |||
796 | FbMenu *BScreen::createMenu(const string &label) { | 765 | FbMenu *BScreen::createMenu(const string &label) { |
797 | FbMenu *menu = new FbMenu(menuTheme(), | 766 | FbMenu *menu = new FbMenu(menuTheme(), |
798 | imageControl(), | 767 | imageControl(), |
799 | *layerManager().getLayer(ResourceLayer::MENU)); | 768 | *layerManager().getLayer(LAYERMENU)); |
800 | if (!label.empty()) | 769 | if (!label.empty()) |
801 | menu->setLabel(label); | 770 | menu->setLabel(label); |
802 | 771 | ||
@@ -806,7 +775,7 @@ FbMenu *BScreen::createMenu(const string &label) { | |||
806 | FbMenu *BScreen::createToggleMenu(const string &label) { | 775 | FbMenu *BScreen::createToggleMenu(const string &label) { |
807 | FbMenu *menu = new ToggleMenu(menuTheme(), | 776 | FbMenu *menu = new ToggleMenu(menuTheme(), |
808 | imageControl(), | 777 | imageControl(), |
809 | *layerManager().getLayer(ResourceLayer::MENU)); | 778 | *layerManager().getLayer(LAYERMENU)); |
810 | if (!label.empty()) | 779 | if (!label.empty()) |
811 | menu->setLabel(label); | 780 | menu->setLabel(label); |
812 | 781 | ||
@@ -1462,24 +1431,24 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1462 | 1431 | ||
1463 | _FOCUSITEM(Configmenu, ClickFocus, | 1432 | _FOCUSITEM(Configmenu, ClickFocus, |
1464 | "Click To Focus", "Click to focus", | 1433 | "Click To Focus", "Click to focus", |
1465 | FocusControl::CLICKFOCUS); | 1434 | CLICKFOCUS); |
1466 | _FOCUSITEM(Configmenu, MouseFocus, | 1435 | _FOCUSITEM(Configmenu, MouseFocus, |
1467 | "Mouse Focus (Keyboard Friendly)", | 1436 | "Mouse Focus (Keyboard Friendly)", |
1468 | "Mouse Focus (Keyboard Friendly)", | 1437 | "Mouse Focus (Keyboard Friendly)", |
1469 | FocusControl::MOUSEFOCUS); | 1438 | MOUSEFOCUS); |
1470 | _FOCUSITEM(Configmenu, StrictMouseFocus, | 1439 | _FOCUSITEM(Configmenu, StrictMouseFocus, |
1471 | "Mouse Focus (Strict)", | 1440 | "Mouse Focus (Strict)", |
1472 | "Mouse Focus (Strict)", | 1441 | "Mouse Focus (Strict)", |
1473 | FocusControl::STRICTMOUSEFOCUS); | 1442 | STRICTMOUSEFOCUS); |
1474 | #undef _FOCUSITEM | 1443 | #undef _FOCUSITEM |
1475 | 1444 | ||
1476 | focus_menu->insert(new FbTk::MenuSeparator()); | 1445 | focus_menu->insert(new FbTk::MenuSeparator()); |
1477 | focus_menu->insert(new TabFocusModelMenuItem(_FB_XTEXT(Configmenu, | 1446 | focus_menu->insert(new TabFocusModelMenuItem(_FB_XTEXT(Configmenu, |
1478 | ClickTabFocus, "ClickTabFocus", "Click tab to focus windows"), | 1447 | ClickTabFocus, "ClickTabFocus", "Click tab to focus windows"), |
1479 | focusControl(), FocusControl::CLICKTABFOCUS, reconf_cmd)); | 1448 | focusControl(), CLICKTABFOCUS, reconf_cmd)); |
1480 | focus_menu->insert(new TabFocusModelMenuItem(_FB_XTEXT(Configmenu, | 1449 | focus_menu->insert(new TabFocusModelMenuItem(_FB_XTEXT(Configmenu, |
1481 | MouseTabFocus, "MouseTabFocus", "Hover over tab to focus windows"), | 1450 | MouseTabFocus, "MouseTabFocus", "Hover over tab to focus windows"), |
1482 | focusControl(), FocusControl::MOUSETABFOCUS, reconf_cmd)); | 1451 | focusControl(), MOUSETABFOCUS, reconf_cmd)); |
1483 | focus_menu->insert(new FbTk::MenuSeparator()); | 1452 | focus_menu->insert(new FbTk::MenuSeparator()); |
1484 | 1453 | ||
1485 | try { | 1454 | try { |
@@ -1560,25 +1529,25 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1560 | // menu is 3 wide, 5 down | 1529 | // menu is 3 wide, 5 down |
1561 | struct PlacementP { | 1530 | struct PlacementP { |
1562 | const FbTk::FbString label; | 1531 | const FbTk::FbString label; |
1563 | FbWinFrame::TabPlacement placement; | 1532 | Placement placement; |
1564 | }; | 1533 | }; |
1565 | static const PlacementP place_menu[] = { | 1534 | static const PlacementP place_menu[] = { |
1566 | 1535 | ||
1567 | { _FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), FbWinFrame::TOPLEFT}, | 1536 | { _FB_XTEXT(Align, TopLeft, "Top Left", "Top Left"), TOPLEFT}, |
1568 | { _FB_XTEXT(Align, LeftTop, "Left Top", "Left Top"), FbWinFrame::LEFTTOP}, | 1537 | { _FB_XTEXT(Align, LeftTop, "Left Top", "Left Top"), LEFTTOP}, |
1569 | { _FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), FbWinFrame::LEFT}, | 1538 | { _FB_XTEXT(Align, LeftCenter, "Left Center", "Left Center"), LEFTCENTER}, |
1570 | { _FB_XTEXT(Align, LeftBottom, "Left Bottom", "Left Bottom"), FbWinFrame::LEFTBOTTOM}, | 1539 | { _FB_XTEXT(Align, LeftBottom, "Left Bottom", "Left Bottom"), LEFTBOTTOM}, |
1571 | { _FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), FbWinFrame::BOTTOMLEFT}, | 1540 | { _FB_XTEXT(Align, BottomLeft, "Bottom Left", "Bottom Left"), BOTTOMLEFT}, |
1572 | { _FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), FbWinFrame::TOP}, | 1541 | { _FB_XTEXT(Align, TopCenter, "Top Center", "Top Center"), TOPCENTER}, |
1573 | { "", FbWinFrame::TOPLEFT}, | 1542 | { "", TOPLEFT}, |
1574 | { "", FbWinFrame::TOPLEFT}, | 1543 | { "", TOPLEFT}, |
1575 | { "", FbWinFrame::TOPLEFT}, | 1544 | { "", TOPLEFT}, |
1576 | { _FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), FbWinFrame::BOTTOM}, | 1545 | { _FB_XTEXT(Align, BottomCenter, "Bottom Center", "Bottom Center"), BOTTOMCENTER}, |
1577 | { _FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), FbWinFrame::TOPRIGHT}, | 1546 | { _FB_XTEXT(Align, TopRight, "Top Right", "Top Right"), TOPRIGHT}, |
1578 | { _FB_XTEXT(Align, RightTop, "Right Top", "Right Top"), FbWinFrame::RIGHTTOP}, | 1547 | { _FB_XTEXT(Align, RightTop, "Right Top", "Right Top"), RIGHTTOP}, |
1579 | { _FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), FbWinFrame::RIGHT}, | 1548 | { _FB_XTEXT(Align, RightCenter, "Right Center", "Right Center"), RIGHTCENTER}, |
1580 | { _FB_XTEXT(Align, RightBottom, "Right Bottom", "Right Bottom"), FbWinFrame::RIGHTBOTTOM}, | 1549 | { _FB_XTEXT(Align, RightBottom, "Right Bottom", "Right Bottom"), RIGHTBOTTOM}, |
1581 | { _FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), FbWinFrame::BOTTOMRIGHT} | 1550 | { _FB_XTEXT(Align, BottomRight, "Bottom Right", "Bottom Right"), BOTTOMRIGHT} |
1582 | }; | 1551 | }; |
1583 | 1552 | ||
1584 | tabplacement_menu->setMinimumColumns(3); | 1553 | tabplacement_menu->setMinimumColumns(3); |