diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Screen.cc | 4 | ||||
-rw-r--r-- | src/Screen.hh | 2 | ||||
-rw-r--r-- | src/Window.cc | 8 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 7924984..38ca9ff 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -287,6 +287,7 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm, | |||
287 | altscrname+".overlay.CapStyle"), | 287 | altscrname+".overlay.CapStyle"), |
288 | scroll_action(rm, "", scrname+".windowScrollAction", altscrname+".WindowScrollAction"), | 288 | scroll_action(rm, "", scrname+".windowScrollAction", altscrname+".WindowScrollAction"), |
289 | scroll_reverse(rm, false, scrname+".windowScrollReverse", altscrname+".WindowScrollReverse"), | 289 | scroll_reverse(rm, false, scrname+".windowScrollReverse", altscrname+".WindowScrollReverse"), |
290 | max_over_tabs(rm, false, scrname+".tabs.maxOver", altscrname+".Tabs.MaxOver"), | ||
290 | default_internal_tabs(rm, false /* TODO: autoconf option? */ , scrname+".tabs.intitlebar", altscrname+".Tabs.InTitlebar") { | 291 | default_internal_tabs(rm, false /* TODO: autoconf option? */ , scrname+".tabs.intitlebar", altscrname+".Tabs.InTitlebar") { |
291 | 292 | ||
292 | 293 | ||
@@ -1656,6 +1657,9 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1656 | _BOOLITEM(*tab_menu,Configmenu, TabsInTitlebar, | 1657 | _BOOLITEM(*tab_menu,Configmenu, TabsInTitlebar, |
1657 | "Tabs in Titlebar", "Tabs in Titlebar", | 1658 | "Tabs in Titlebar", "Tabs in Titlebar", |
1658 | *resource.default_internal_tabs, save_and_reconftabs); | 1659 | *resource.default_internal_tabs, save_and_reconftabs); |
1660 | tab_menu->insert(new BoolMenuItem(_FB_XTEXT(Common, MaximizeOver, | ||
1661 | "Maximize Over", "Maximize over this thing when maximizing"), | ||
1662 | *resource.max_over_tabs, save_and_reconfigure)); | ||
1659 | 1663 | ||
1660 | FbTk::MenuItem *tab_width_item = | 1664 | FbTk::MenuItem *tab_width_item = |
1661 | new IntResMenuItem(_FB_XTEXT(Configmenu, ExternalTabWidth, | 1665 | new IntResMenuItem(_FB_XTEXT(Configmenu, ExternalTabWidth, |
diff --git a/src/Screen.hh b/src/Screen.hh index d4aea5e..ecfc619 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -140,6 +140,7 @@ public: | |||
140 | inline const std::string &getScrollAction() const { return *resource.scroll_action; } | 140 | inline const std::string &getScrollAction() const { return *resource.scroll_action; } |
141 | inline const bool getScrollReverse() const { return *resource.scroll_reverse; } | 141 | inline const bool getScrollReverse() const { return *resource.scroll_reverse; } |
142 | inline const bool getDefaultInternalTabs() const { return *resource.default_internal_tabs; } | 142 | inline const bool getDefaultInternalTabs() const { return *resource.default_internal_tabs; } |
143 | inline const bool getMaxOverTabs() const { return *resource.max_over_tabs; } | ||
143 | 144 | ||
144 | inline unsigned int getTabWidth() const { return *resource.tab_width; } | 145 | inline unsigned int getTabWidth() const { return *resource.tab_width; } |
145 | 146 | ||
@@ -452,6 +453,7 @@ private: | |||
452 | FbTk::Resource<FbTk::GContext::CapStyle> gc_cap_style; | 453 | FbTk::Resource<FbTk::GContext::CapStyle> gc_cap_style; |
453 | FbTk::Resource<std::string> scroll_action; | 454 | FbTk::Resource<std::string> scroll_action; |
454 | FbTk::Resource<bool> scroll_reverse; | 455 | FbTk::Resource<bool> scroll_reverse; |
456 | FbTk::Resource<bool> max_over_tabs; | ||
455 | FbTk::Resource<bool> default_internal_tabs; | 457 | FbTk::Resource<bool> default_internal_tabs; |
456 | 458 | ||
457 | } resource; | 459 | } resource; |
diff --git a/src/Window.cc b/src/Window.cc index f2b57f2..fdff04c 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1728,6 +1728,10 @@ void FluxboxWindow::maximize(int type) { | |||
1728 | m_old_height = new_h; | 1728 | m_old_height = new_h; |
1729 | new_y = screen().maxTop(head); | 1729 | new_y = screen().maxTop(head); |
1730 | new_h = screen().maxBottom(head) - new_y - 2*frame().window().borderWidth(); | 1730 | new_h = screen().maxBottom(head) - new_y - 2*frame().window().borderWidth(); |
1731 | if (!screen().getMaxOverTabs()) { | ||
1732 | new_y += yOffset(); | ||
1733 | new_h -= heightOffset(); | ||
1734 | } | ||
1731 | } | 1735 | } |
1732 | maximized ^= MAX_VERT; | 1736 | maximized ^= MAX_VERT; |
1733 | } | 1737 | } |
@@ -1747,6 +1751,10 @@ void FluxboxWindow::maximize(int type) { | |||
1747 | m_old_width = new_w; | 1751 | m_old_width = new_w; |
1748 | new_x = screen().maxLeft(head); | 1752 | new_x = screen().maxLeft(head); |
1749 | new_w = screen().maxRight(head) - new_x - 2*frame().window().borderWidth(); | 1753 | new_w = screen().maxRight(head) - new_x - 2*frame().window().borderWidth(); |
1754 | if (!screen().getMaxOverTabs()) { | ||
1755 | new_x += xOffset(); | ||
1756 | new_w -= widthOffset(); | ||
1757 | } | ||
1750 | } | 1758 | } |
1751 | maximized ^= MAX_HORZ; | 1759 | maximized ^= MAX_HORZ; |
1752 | } | 1760 | } |