diff options
Diffstat (limited to 'src/Keys.cc')
-rw-r--r-- | src/Keys.cc | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/Keys.cc b/src/Keys.cc index a9879b5..48db064 100644 --- a/src/Keys.cc +++ b/src/Keys.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | //$Id: Keys.cc,v 1.27 2003/04/26 18:27:56 fluxgen Exp $ | 22 | //$Id: Keys.cc,v 1.28 2003/06/08 14:32:28 rathnor Exp $ |
23 | 23 | ||
24 | 24 | ||
25 | #include "Keys.hh" | 25 | #include "Keys.hh" |
@@ -135,6 +135,8 @@ Keys::t_actionstr Keys::m_actionlist[] = { | |||
135 | {"ToggleDecor", TOGGLEDECOR}, | 135 | {"ToggleDecor", TOGGLEDECOR}, |
136 | {"ToggleTab", TOGGLETAB}, | 136 | {"ToggleTab", TOGGLETAB}, |
137 | {"RootMenu", ROOTMENU}, | 137 | {"RootMenu", ROOTMENU}, |
138 | {"Reconfigure", RECONFIGURE}, | ||
139 | {"Restart", RESTART}, | ||
138 | {"Quit", QUIT}, | 140 | {"Quit", QUIT}, |
139 | {0, LASTKEYGRAB} | 141 | {0, LASTKEYGRAB} |
140 | }; | 142 | }; |
@@ -294,12 +296,14 @@ bool Keys::load(const char *filename) { | |||
294 | 296 | ||
295 | last_key->action = m_actionlist[i].action; | 297 | last_key->action = m_actionlist[i].action; |
296 | switch(last_key->action) { | 298 | switch(last_key->action) { |
299 | case Keys::RESTART: | ||
297 | case Keys::EXECUTE: | 300 | case Keys::EXECUTE: |
298 | last_key->execcommand = | 301 | last_key->execcommand = |
299 | const_cast<char *> | 302 | const_cast<char *> |
300 | (FbTk::StringUtil::strcasestr(linebuffer.c_str(), | 303 | (FbTk::StringUtil::strcasestr( |
301 | getActionStr(Keys::EXECUTE))+ | 304 | linebuffer.c_str(), |
302 | strlen(getActionStr(Keys::EXECUTE))); | 305 | getActionStr(last_key->action)) |
306 | + strlen(getActionStr(last_key->action)) + 1); | ||
303 | break; | 307 | break; |
304 | case WORKSPACE: | 308 | case WORKSPACE: |
305 | case SENDTOWORKSPACE: | 309 | case SENDTOWORKSPACE: |
@@ -481,7 +485,8 @@ Keys::KeyAction Keys::getAction(XKeyEvent *ke) { | |||
481 | next_key = m_keylist[i]; | 485 | next_key = m_keylist[i]; |
482 | break; //end for-loop | 486 | break; //end for-loop |
483 | } else { | 487 | } else { |
484 | if (m_keylist[i]->action == Keys::EXECUTE) | 488 | if (m_keylist[i]->action == Keys::EXECUTE || |
489 | m_keylist[i]->action == Keys::RESTART) | ||
485 | m_execcmdstring = m_keylist[i]->execcommand; //update execcmdstring if action is grabExecute | 490 | m_execcmdstring = m_keylist[i]->execcommand; //update execcmdstring if action is grabExecute |
486 | m_param = m_keylist[i]->param; | 491 | m_param = m_keylist[i]->param; |
487 | return m_keylist[i]->action; | 492 | return m_keylist[i]->action; |
@@ -496,14 +501,16 @@ Keys::KeyAction Keys::getAction(XKeyEvent *ke) { | |||
496 | next_key = temp_key; | 501 | next_key = temp_key; |
497 | } else { | 502 | } else { |
498 | next_key = 0; | 503 | next_key = 0; |
499 | if (temp_key->action == Keys::EXECUTE) | 504 | if (temp_key->action == Keys::EXECUTE || |
505 | temp_key->action == Keys::RESTART) | ||
500 | m_execcmdstring = temp_key->execcommand; //update execcmdstring if action is grabExecute | 506 | m_execcmdstring = temp_key->execcommand; //update execcmdstring if action is grabExecute |
501 | return temp_key->action; | 507 | return temp_key->action; |
502 | } | 508 | } |
503 | } else { | 509 | } else { |
504 | temp_key = next_key; | 510 | temp_key = next_key; |
505 | next_key = 0; | 511 | next_key = 0; |
506 | if (temp_key->action == Keys::EXECUTE) | 512 | if (temp_key->action == Keys::EXECUTE || |
513 | temp_key->action == Keys::RESTART) | ||
507 | m_execcmdstring = temp_key->execcommand; //update execcmdstring if action is grabExecute | 514 | m_execcmdstring = temp_key->execcommand; //update execcmdstring if action is grabExecute |
508 | return temp_key->action; | 515 | return temp_key->action; |
509 | } | 516 | } |