aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Screen.cc40
1 files changed, 17 insertions, 23 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 2ee7c28..805d19d 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -424,6 +424,7 @@ BScreen::~BScreen() {
424 424
425 destroyAndClearList(m_workspaces_list); 425 destroyAndClearList(m_workspaces_list);
426 destroyAndClearList(m_netizen_list); 426 destroyAndClearList(m_netizen_list);
427 destroyAndClearList(m_managed_resources);
427 428
428 //why not destroyAndClearList(m_icon_list); ? 429 //why not destroyAndClearList(m_icon_list); ?
429 //problem with that: a delete FluxboxWindow* calls m_diesig.notify() 430 //problem with that: a delete FluxboxWindow* calls m_diesig.notify()
@@ -1414,8 +1415,7 @@ void BScreen::initMenu() {
1414 FbTk::RefCount<FbTk::Command> exit_fb(CommandParser::instance().parseLine("exit")); 1415 FbTk::RefCount<FbTk::Command> exit_fb(CommandParser::instance().parseLine("exit"));
1415 FbTk::RefCount<FbTk::Command> execute_xterm(CommandParser::instance().parseLine("exec xterm")); 1416 FbTk::RefCount<FbTk::Command> execute_xterm(CommandParser::instance().parseLine("exec xterm"));
1416 m_rootmenu->setInternalMenu(); 1417 m_rootmenu->setInternalMenu();
1417 m_rootmenu->insert(_FBTEXT(Menu, xterm, "xterm", "xterm - in fallback menu"), 1418 m_rootmenu->insert("xterm", execute_xterm);
1418 execute_xterm);
1419 m_rootmenu->insert(_FBTEXT(Menu, Restart, "Restart", "Restart command"), 1419 m_rootmenu->insert(_FBTEXT(Menu, Restart, "Restart", "Restart command"),
1420 restart_fb); 1420 restart_fb);
1421 m_rootmenu->insert(_FBTEXT(Menu, Exit, "Exit", "Exit command"), 1421 m_rootmenu->insert(_FBTEXT(Menu, Exit, "Exit", "Exit command"),
@@ -1442,6 +1442,11 @@ void BScreen::removeConfigMenu(FbTk::Menu &menu) {
1442 1442
1443} 1443}
1444 1444
1445
1446void BScreen::addManagedResource(FbTk::Resource_base *resource) {
1447 m_managed_resources.push_back(resource);
1448}
1449
1445void BScreen::setupConfigmenu(FbTk::Menu &menu) { 1450void BScreen::setupConfigmenu(FbTk::Menu &menu) {
1446 _FB_USES_NLS; 1451 _FB_USES_NLS;
1447 1452
@@ -1631,14 +1636,9 @@ void BScreen::showPosition(int x, int y) {
1631 1636
1632 pos_visible = true; 1637 pos_visible = true;
1633 } 1638 }
1634 char label[256];
1635 1639
1636 _FB_USES_NLS; 1640 char label[256];
1637 1641 sprintf(label, "X: %4d x Y: %4d", x, y);
1638 sprintf(label,
1639 _FBTEXT(Screen, PositionFormat,
1640 "X: %4d x Y: %4d",
1641 "Format for screen coordinates - %4d for X, and %4d for Y"), x, y);
1642 1642
1643 m_pos_window.clear(); 1643 m_pos_window.clear();
1644 1644
@@ -1748,16 +1748,17 @@ void BScreen::leftWorkspace(const int delta) {
1748 1748
1749 1749
1750void BScreen::renderGeomWindow() { 1750void BScreen::renderGeomWindow() {
1751
1752 char label[256];
1751 _FB_USES_NLS; 1753 _FB_USES_NLS;
1752 1754
1753 const char *s = _FBTEXT(Screen, 1755 sprintf(label,
1754 GeometryLength, 1756 _FBTEXT(Screen, GeometryFormat,
1755 "W: 0000 x H: 0000", 1757 "W: %4d x H: %4d", "Representative maximum sized text for width and height dialog"),
1756 "Representative maximum sized text for width and height dialog"); 1758 0, 0);
1757 int l = strlen(s);
1758 1759
1759 int geom_h = winFrameTheme().font().height() + winFrameTheme().bevelWidth()*2; 1760 int geom_h = winFrameTheme().font().height() + winFrameTheme().bevelWidth()*2;
1760 int geom_w = winFrameTheme().font().textWidth(s, l) + winFrameTheme().bevelWidth()*2; 1761 int geom_w = winFrameTheme().font().textWidth(label, strlen(label)) + winFrameTheme().bevelWidth()*2;
1761 m_geom_window.resize(geom_w, geom_h); 1762 m_geom_window.resize(geom_w, geom_h);
1762 1763
1763 m_geom_window.setBorderWidth(winFrameTheme().border().width()); 1764 m_geom_window.setBorderWidth(winFrameTheme().border().width());
@@ -1793,16 +1794,9 @@ void BScreen::renderGeomWindow() {
1793 1794
1794 1795
1795void BScreen::renderPosWindow() { 1796void BScreen::renderPosWindow() {
1796 _FB_USES_NLS;
1797
1798 const char *s = _FBTEXT(Screen,
1799 PositionLength,
1800 "0: 0000 x 0: 0000",
1801 "Representative maximum sized text for X and Y dialog");
1802 int l = strlen(s);
1803 1797
1804 int pos_h = winFrameTheme().font().height() + winFrameTheme().bevelWidth()*2; 1798 int pos_h = winFrameTheme().font().height() + winFrameTheme().bevelWidth()*2;
1805 int pos_w = winFrameTheme().font().textWidth(s, l) + winFrameTheme().bevelWidth()*2; 1799 int pos_w = winFrameTheme().font().textWidth("0: 0000 x 0: 0000", 17) + winFrameTheme().bevelWidth()*2;
1806 m_pos_window.resize(pos_w, pos_h); 1800 m_pos_window.resize(pos_w, pos_h);
1807 1801
1808 m_pos_window.setBorderWidth(winFrameTheme().border().width()); 1802 m_pos_window.setBorderWidth(winFrameTheme().border().width());