summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Tiefenbruck <mark@fluxbox.org>2008-08-16 13:30:09 (GMT)
committerMark Tiefenbruck <mark@fluxbox.org>2008-08-16 13:30:09 (GMT)
commit72fd5e03a48396e6feec86534d266c68a9edd915 (patch)
treea822f86184eb84f44db5cda77866ef14800e6f2b
parent38654bae459716409ad2ee7975671fc2f131c869 (diff)
downloadfluxbox_lack-72fd5e03a48396e6feec86534d266c68a9edd915.zip
fluxbox_lack-72fd5e03a48396e6feec86534d266c68a9edd915.tar.bz2
revert focus when closing dialogs
-rw-r--r--src/CommandDialog.cc1
-rw-r--r--src/FbTk/TextButton.cc8
-rw-r--r--src/Keys.cc6
-rw-r--r--src/fluxbox.hh4
4 files changed, 10 insertions, 9 deletions
diff --git a/src/CommandDialog.cc b/src/CommandDialog.cc
index 8534dcd..5e7aa7d 100644
--- a/src/CommandDialog.cc
+++ b/src/CommandDialog.cc
@@ -130,7 +130,6 @@ void CommandDialog::keyPressEvent(XKeyEvent &event) {
130 XLookupString(&event, &keychar, 1, &ks, 0); 130 XLookupString(&event, &keychar, 1, &ks, 0);
131 131
132 if (ks == XK_Return) { 132 if (ks == XK_Return) {
133 hide(); // hide and return focus to a FluxboxWindow
134 // create Command<void> from line 133 // create Command<void> from line
135 auto_ptr<FbTk::Command<void> > cmd(FbTk::CommandParser<void>::instance().parse(m_precommand + m_textbox.text())); 134 auto_ptr<FbTk::Command<void> > cmd(FbTk::CommandParser<void>::instance().parse(m_precommand + m_textbox.text()));
136 if (cmd.get()) 135 if (cmd.get())
diff --git a/src/FbTk/TextButton.cc b/src/FbTk/TextButton.cc
index 79ed1ab..380537e 100644
--- a/src/FbTk/TextButton.cc
+++ b/src/FbTk/TextButton.cc
@@ -67,10 +67,10 @@ bool TextButton::setOrientation(FbTk::Orientation orient) {
67 return false; 67 return false;
68 invalidateBackground(); 68 invalidateBackground();
69 69
70 if ((m_orientation == FbTk::ROT0 || m_orientation == FbTk::ROT180) && 70 if (((m_orientation == FbTk::ROT0 || m_orientation == FbTk::ROT180) &&
71 (orient == FbTk::ROT90 || orient == FbTk::ROT270) || 71 (orient == FbTk::ROT90 || orient == FbTk::ROT270)) ||
72 (m_orientation == FbTk::ROT90 || m_orientation == FbTk::ROT270) && 72 ((m_orientation == FbTk::ROT90 || m_orientation == FbTk::ROT270) &&
73 (orient == FbTk::ROT0 || orient == FbTk::ROT180)) { 73 (orient == FbTk::ROT0 || orient == FbTk::ROT180))) {
74 // flip width and height 74 // flip width and height
75 m_orientation = orient; 75 m_orientation = orient;
76 resize(height(), width()); 76 resize(height(), width());
diff --git a/src/Keys.cc b/src/Keys.cc
index f201e64..637ccbb 100644
--- a/src/Keys.cc
+++ b/src/Keys.cc
@@ -403,9 +403,9 @@ bool Keys::addBinding(const string &linebuffer) {
403 // +[1-9] - number between +1 and +9 403 // +[1-9] - number between +1 and +9
404 // numbers 10 and above 404 // numbers 10 and above
405 // 405 //
406 } else if (!val[argc].empty() && (isdigit(val[argc][0]) && 406 } else if (!val[argc].empty() && ((isdigit(val[argc][0]) &&
407 (isdigit(val[argc][1]) || val[argc][1] == 'x') || 407 (isdigit(val[argc][1]) || val[argc][1] == 'x')) ||
408 val[argc][0] == '+' && isdigit(val[argc][1])) ) { 408 (val[argc][0] == '+' && isdigit(val[argc][1])))) {
409 409
410 key = strtoul(val[argc].c_str(), NULL, 0); 410 key = strtoul(val[argc].c_str(), NULL, 0);
411 type = KeyPress; 411 type = KeyPress;
diff --git a/src/fluxbox.hh b/src/fluxbox.hh
index fcbd368..e761eda 100644
--- a/src/fluxbox.hh
+++ b/src/fluxbox.hh
@@ -160,7 +160,9 @@ public:
160 160
161 void timed_reconfigure(); 161 void timed_reconfigure();
162 void revertFocus(); 162 void revertFocus();
163 void setShowingDialog(bool value) { m_showing_dialog = value; } 163 void setShowingDialog(bool value) {
164 m_showing_dialog = value; if (!value) revertFocus();
165 }
164 166
165 bool isStartup() const { return m_starting; } 167 bool isStartup() const { return m_starting; }
166 bool isRestarting() const { return m_restarting; } 168 bool isRestarting() const { return m_restarting; }