From 14efe686cdc8023f9c984fc067206d40b07b2ad5 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 26 Jul 2006 01:22:42 +0000 Subject: added resource and menu item for maximizing over tabs --- ChangeLog | 3 +++ src/Screen.cc | 4 ++++ src/Screen.hh | 2 ++ src/Window.cc | 8 ++++++++ 4 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index e12a650..f60d954 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ (Format: Year/Month/Day) Changes for 1.0rc3: +*06/07/26: + * Added resource and menu item for maximizing over external tabs (Mark) + Screen.cc/hh Window.cc *06/07/25: * Fix so that focus doesn't revert away from command dialogs (Mark) fluxbox.cc/hh CommandDialog.cc 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, altscrname+".overlay.CapStyle"), scroll_action(rm, "", scrname+".windowScrollAction", altscrname+".WindowScrollAction"), scroll_reverse(rm, false, scrname+".windowScrollReverse", altscrname+".WindowScrollReverse"), + max_over_tabs(rm, false, scrname+".tabs.maxOver", altscrname+".Tabs.MaxOver"), default_internal_tabs(rm, false /* TODO: autoconf option? */ , scrname+".tabs.intitlebar", altscrname+".Tabs.InTitlebar") { @@ -1656,6 +1657,9 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { _BOOLITEM(*tab_menu,Configmenu, TabsInTitlebar, "Tabs in Titlebar", "Tabs in Titlebar", *resource.default_internal_tabs, save_and_reconftabs); + tab_menu->insert(new BoolMenuItem(_FB_XTEXT(Common, MaximizeOver, + "Maximize Over", "Maximize over this thing when maximizing"), + *resource.max_over_tabs, save_and_reconfigure)); FbTk::MenuItem *tab_width_item = 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: inline const std::string &getScrollAction() const { return *resource.scroll_action; } inline const bool getScrollReverse() const { return *resource.scroll_reverse; } inline const bool getDefaultInternalTabs() const { return *resource.default_internal_tabs; } + inline const bool getMaxOverTabs() const { return *resource.max_over_tabs; } inline unsigned int getTabWidth() const { return *resource.tab_width; } @@ -452,6 +453,7 @@ private: FbTk::Resource gc_cap_style; FbTk::Resource scroll_action; FbTk::Resource scroll_reverse; + FbTk::Resource max_over_tabs; FbTk::Resource default_internal_tabs; } 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) { m_old_height = new_h; new_y = screen().maxTop(head); new_h = screen().maxBottom(head) - new_y - 2*frame().window().borderWidth(); + if (!screen().getMaxOverTabs()) { + new_y += yOffset(); + new_h -= heightOffset(); + } } maximized ^= MAX_VERT; } @@ -1747,6 +1751,10 @@ void FluxboxWindow::maximize(int type) { m_old_width = new_w; new_x = screen().maxLeft(head); new_w = screen().maxRight(head) - new_x - 2*frame().window().borderWidth(); + if (!screen().getMaxOverTabs()) { + new_x += xOffset(); + new_w -= widthOffset(); + } } maximized ^= MAX_HORZ; } -- cgit v0.11.2