diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/IconButton.cc | 1 | ||||
-rw-r--r-- | src/Screen.cc | 23 | ||||
-rw-r--r-- | src/Screen.hh | 3 | ||||
-rw-r--r-- | src/Window.cc | 13 |
4 files changed, 32 insertions, 8 deletions
diff --git a/src/IconButton.cc b/src/IconButton.cc index 04fc391..34fe532 100644 --- a/src/IconButton.cc +++ b/src/IconButton.cc | |||
@@ -65,6 +65,7 @@ IconButton::IconButton(const FbTk::FbWindow &parent, IconbarTheme &theme, | |||
65 | 65 | ||
66 | FbTk::EventManager::instance()->add(*this, m_icon_window); | 66 | FbTk::EventManager::instance()->add(*this, m_icon_window); |
67 | 67 | ||
68 | reconfigTheme(); | ||
68 | update(0); | 69 | update(0); |
69 | } | 70 | } |
70 | 71 | ||
diff --git a/src/Screen.cc b/src/Screen.cc index d433907..65ac45a 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -286,6 +286,7 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm, | |||
286 | image_dither(rm, false, scrname+".imageDither", altscrname+".ImageDither"), | 286 | image_dither(rm, false, scrname+".imageDither", altscrname+".ImageDither"), |
287 | opaque_move(rm, false, scrname + ".opaqueMove", altscrname+".OpaqueMove"), | 287 | opaque_move(rm, false, scrname + ".opaqueMove", altscrname+".OpaqueMove"), |
288 | full_max(rm, false, scrname+".fullMaximization", altscrname+".FullMaximization"), | 288 | full_max(rm, false, scrname+".fullMaximization", altscrname+".FullMaximization"), |
289 | max_ignore_inc(rm, true, scrname+".maxIgnoreIncrement", altscrname+".MaxIgnoreIncrement"), | ||
289 | workspace_warping(rm, true, scrname+".workspacewarping", altscrname+".WorkspaceWarping"), | 290 | workspace_warping(rm, true, scrname+".workspacewarping", altscrname+".WorkspaceWarping"), |
290 | show_window_pos(rm, true, scrname+".showwindowposition", altscrname+".ShowWindowPosition"), | 291 | show_window_pos(rm, true, scrname+".showwindowposition", altscrname+".ShowWindowPosition"), |
291 | auto_raise(rm, true, scrname+".autoRaise", altscrname+".AutoRaise"), | 292 | auto_raise(rm, true, scrname+".autoRaise", altscrname+".AutoRaise"), |
@@ -1809,6 +1810,25 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1809 | 1810 | ||
1810 | // END focus menu | 1811 | // END focus menu |
1811 | 1812 | ||
1813 | // BEGIN maximize menu | ||
1814 | |||
1815 | FbTk::FbString maxmenu_label = _FB_XTEXT(Configmenu, MaxMenu, | ||
1816 | "Maximize Options", "heading for maximization options"); | ||
1817 | FbTk::Menu *maxmenu = createMenu(maxmenu_label); | ||
1818 | |||
1819 | _BOOLITEM(*maxmenu, Configmenu, FullMax, | ||
1820 | "Full Maximization", "Maximise over slit, toolbar, etc", | ||
1821 | *resource.full_max, saverc_cmd); | ||
1822 | _BOOLITEM(*maxmenu, Configmenu, MaxIgnoreInc, | ||
1823 | "Ignore Resize Increment", | ||
1824 | "Maximizing Ignores Resize Increment (e.g. xterm)", | ||
1825 | *resource.max_ignore_inc, saverc_cmd); | ||
1826 | |||
1827 | maxmenu->updateMenu(); | ||
1828 | menu.insert(maxmenu_label, maxmenu); | ||
1829 | |||
1830 | // END maximize menu | ||
1831 | |||
1812 | // BEGIN tab menu | 1832 | // BEGIN tab menu |
1813 | 1833 | ||
1814 | FbTk::FbString tabmenu_label = _FB_XTEXT(Configmenu, TabMenu, | 1834 | FbTk::FbString tabmenu_label = _FB_XTEXT(Configmenu, TabMenu, |
@@ -1881,9 +1901,6 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1881 | "Opaque Window Moving", | 1901 | "Opaque Window Moving", |
1882 | "Window Moving with whole window visible (as opposed to outline moving)", | 1902 | "Window Moving with whole window visible (as opposed to outline moving)", |
1883 | *resource.opaque_move, saverc_cmd); | 1903 | *resource.opaque_move, saverc_cmd); |
1884 | _BOOLITEM(menu, Configmenu, FullMax, | ||
1885 | "Full Maximization", "Maximise over slit, toolbar, etc", | ||
1886 | *resource.full_max, saverc_cmd); | ||
1887 | try { | 1904 | try { |
1888 | _BOOLITEM(menu, Configmenu, FocusNew, | 1905 | _BOOLITEM(menu, Configmenu, FocusNew, |
1889 | "Focus New Windows", "Focus newly created windows", | 1906 | "Focus New Windows", "Focus newly created windows", |
diff --git a/src/Screen.hh b/src/Screen.hh index 0354b99..b459f3f 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -123,6 +123,7 @@ public: | |||
123 | bool clickRaises() const { return *resource.click_raises; } | 123 | bool clickRaises() const { return *resource.click_raises; } |
124 | bool doOpaqueMove() const { return *resource.opaque_move; } | 124 | bool doOpaqueMove() const { return *resource.opaque_move; } |
125 | bool doFullMax() const { return *resource.full_max; } | 125 | bool doFullMax() const { return *resource.full_max; } |
126 | bool getMaxIgnoreIncrement() const { return *resource.max_ignore_inc; } | ||
126 | bool doShowWindowPos() const { return *resource.show_window_pos; } | 127 | bool doShowWindowPos() const { return *resource.show_window_pos; } |
127 | bool decorateTransient() const { return *resource.decorate_transient; } | 128 | bool decorateTransient() const { return *resource.decorate_transient; } |
128 | const std::string &defaultDeco() const { return *resource.default_deco; } | 129 | const std::string &defaultDeco() const { return *resource.default_deco; } |
@@ -559,7 +560,7 @@ private: | |||
559 | const std::string &altscrname); | 560 | const std::string &altscrname); |
560 | 561 | ||
561 | FbTk::Resource<bool> image_dither, opaque_move, full_max, | 562 | FbTk::Resource<bool> image_dither, opaque_move, full_max, |
562 | workspace_warping, show_window_pos, | 563 | max_ignore_inc, workspace_warping, show_window_pos, |
563 | auto_raise, click_raises, decorate_transient; | 564 | auto_raise, click_raises, decorate_transient; |
564 | FbTk::Resource<std::string> default_deco; | 565 | FbTk::Resource<std::string> default_deco; |
565 | FbTk::Resource<std::string> rootcommand; | 566 | FbTk::Resource<std::string> rootcommand; |
diff --git a/src/Window.cc b/src/Window.cc index 09b048b..d0f28ce 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1716,10 +1716,15 @@ void FluxboxWindow::maximize(int type) { | |||
1716 | m_last_resize_w = new_w; | 1716 | m_last_resize_w = new_w; |
1717 | m_last_resize_h = new_h; | 1717 | m_last_resize_h = new_h; |
1718 | 1718 | ||
1719 | ResizeDirection old_resize_corner = m_resize_corner; | 1719 | // frankly, that xterm bug was pretty obscure, and it's really annoying not |
1720 | m_resize_corner = NOCORNER; | 1720 | // being able to maximize my terminals, so we make an option |
1721 | fixsize(0, 0, true); | 1721 | // but we do fix size hints when restoring the window to normal size |
1722 | m_resize_corner = old_resize_corner; | 1722 | if (!screen().getMaxIgnoreIncrement() || !maximized) { |
1723 | ResizeDirection old_resize_corner = m_resize_corner; | ||
1724 | m_resize_corner = NOCORNER; | ||
1725 | fixsize(0, 0, (maximized ? true : false)); | ||
1726 | m_resize_corner = old_resize_corner; | ||
1727 | } | ||
1723 | 1728 | ||
1724 | moveResize(m_last_resize_x, m_last_resize_y, m_last_resize_w, m_last_resize_h); | 1729 | moveResize(m_last_resize_x, m_last_resize_y, m_last_resize_w, m_last_resize_h); |
1725 | 1730 | ||