From 562fa2642354fb2bb7281fc70b777b3e22662df6 Mon Sep 17 00:00:00 2001
From: markt <markt>
Date: Mon, 2 Jul 2007 05:26:32 +0000
Subject: minor usability fix for :Tab command and fixed handle rendering when
 switching from a style without them

---
 ChangeLog               | 6 ++++++
 src/CurrentWindowCmd.cc | 7 ++++---
 src/FbWinFrame.cc       | 5 +++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 71ac769..4c5b440 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
  (Format: Year/Month/Day)
 Changes for 1.0.0:
 *07/07/02:
+   * Fixed handle rendering when switching from a style without them (Mark)
+     FbWinFrame.cc
+   * Changed :Tab <int> key command so that the last tab is focused if <int> is
+     larger than the number of tabs (or first if <int> is negative and |<int>|
+     is too large) (Mark)
+     CurrentWindowCmd.cc
    * Fixed some rendering problems when toolbar item borderwidth is too large
      and toolbar bevelwidth is set (Mark)
      Toolbar.cc
diff --git a/src/CurrentWindowCmd.cc b/src/CurrentWindowCmd.cc
index fcc141b..b6c3c0e 100644
--- a/src/CurrentWindowCmd.cc
+++ b/src/CurrentWindowCmd.cc
@@ -85,9 +85,10 @@ void TakeToPrevWorkspaceCmd::real_execute() {
 }
 
 void GoToTabCmd::real_execute() {
-    int num = m_tab_num + (m_tab_num > 0 ? 0 : fbwindow().numClients() + 1);
-    if (num < 1 || num > fbwindow().numClients())
-        return;
+    int num = m_tab_num;
+    if (num < 0) num += fbwindow().numClients() + 1;
+    if (num < 1) num = 1;
+    if (num > fbwindow().numClients()) num = fbwindow().numClients();
 
     FluxboxWindow::ClientList::iterator it = fbwindow().clientList().begin();
 
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc
index adef30c..5a9a301 100644
--- a/src/FbWinFrame.cc
+++ b/src/FbWinFrame.cc
@@ -833,10 +833,11 @@ bool FbWinFrame::showHandle() {
     if (m_use_handle || theme().handleWidth() == 0)
         return false;
 
+    m_use_handle = true;
+
     // weren't previously rendered...
     renderHandles();
-
-    m_use_handle = true;
+    applyHandles();
 
     m_handle.show();
     m_handle.showSubwindows(); // shows grips
-- 
cgit v0.11.2