From 072249d5d4dd431c97465b76bb09e4368ec85bca Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Wed, 5 Feb 2020 00:12:44 -0600 Subject: [PATCH 1/4] - Corrected chromebook config file and updated the initialization of the keyswap service file to work when re-running the installer on a currently running version of kinto --- defaults.json | 8 ++++---- keyswap_service.sh | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/defaults.json b/defaults.json index df83f75..8ea15a6 100644 --- a/defaults.json +++ b/defaults.json @@ -49,7 +49,7 @@ "type":"chromebook", "active": false, "description":"Standard Chromebook Keyboards", - "gui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.chromebook.gui $DISPLAY", + "gui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui $DISPLAY", "term":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.term $DISPLAY", "xkb_symbols_gui":"+chromebook(swap_lalt_lctrl)+mac_gui(mac_levelssym)", "xkb_symbols_term":"+altwin(swap_alt_win)+mac_term_chromebook(mac_levelssym)", @@ -62,9 +62,9 @@ "type":"chromebook", "active": false, "description":"Chromebook with Windows 104 Keyboard", - "gui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.chromebook.gui $DISPLAY; setxkbmap -device $usbid -option altwin:ctrl_alt_win", + "gui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui $DISPLAY; setxkbmap -device $usbid -option altwin:ctrl_alt_win", "term":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.term $DISPLAY", - "fallbackgui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.chromebook.gui $DISPLAY", + "fallbackgui":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui $DISPLAY", "xkb_symbols_gui":"+chromebook(swap_lalt_lctrl)+mac_gui(mac_levelssym)", "xkb_symbols_term":"+altwin(swap_alt_win)+mac_term_chromebook(mac_levelssym)", "xkb_types_gui":"+mac_gui(addmac_levels)", @@ -76,7 +76,7 @@ "type":"chromebook", "active": false, "description":"Chromebook with Mac Keyboard", - "gui":"setxkbmap -option;setxkbmap -option ctrl:swap_lwin_lctl; xkbcomp -w0 -i $internalid -I$HOME/.xkb ~/.xkb/keymap/kbd.chromebook.gui $DISPLAY", + "gui":"setxkbmap -option;setxkbmap -option ctrl:swap_lwin_lctl; xkbcomp -w0 -i $internalid -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.gui $DISPLAY", "term":"setxkbmap -option;xkbcomp -w0 -I$HOME/.xkb ~/.xkb/keymap/kbd.mac.term $DISPLAY", "xkb_symbols_gui":"+chromebook(swap_lalt_lctrl)+mac_gui(mac_levelssym)", "xkb_symbols_term":"+altwin(swap_alt_win)+mac_term_chromebook(mac_levelssym)", diff --git a/keyswap_service.sh b/keyswap_service.sh index 8e0d807..fef6436 100755 --- a/keyswap_service.sh +++ b/keyswap_service.sh @@ -1,5 +1,7 @@ #!/bin/bash +systemctl --user stop keyswap >/dev/null 2>&1 +systemctl --user disable keyswap >/dev/null 2>&1 swapcmd="\/bin\/bash\ \/home\/`whoami`\/.config\/kinto\/xactive.sh" mkdir -p ~/.config/systemd/user mkdir -p ~/.config/autostart @@ -10,4 +12,5 @@ cp ./system-config/xactive.sh ~/.config/kinto/xactive.sh sed -i "s/{username}/`whoami`/g" ~/.config/systemd/user/keyswap.service sed -i "s/ExecStart=/ExecStart=${swapcmd}/g" ~/.config/systemd/user/keyswap.service systemctl --user enable keyswap.timer -systemctl --user start keyswap.timer \ No newline at end of file +systemctl --user start keyswap.timer +systemctl --user start keyswap \ No newline at end of file From 2f2afecb6d8f1e969b74656c3863534da4537e53 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Wed, 5 Feb 2020 02:41:47 -0600 Subject: [PATCH 2/4] - Added more verbosity to kintox11 and added more functions to increase accuracy of the keyswap on all windows --- kintox11/binary/kintox11 | Bin 236232 -> 236320 bytes kintox11/src/kintox11.c | 31 ++++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/kintox11/binary/kintox11 b/kintox11/binary/kintox11 index 32748f9f480615796eb668957d13f99ec2c6ca79..9864e1e93b783848983cc338de81fb9672424e46 100755 GIT binary patch delta 52194 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 q_+veG*22R(4=L}UD-#FJ+r`P3YdnKjsY6M*JR diff --git a/kintox11/src/kintox11.c b/kintox11/src/kintox11.c index 8aa739a..c18ca4e 100644 --- a/kintox11/src/kintox11.c +++ b/kintox11/src/kintox11.c @@ -108,7 +108,7 @@ Window get_top_window(Display* d, Window start){ if (s) XFree(children); - if(xerror){ + if(xerror || w == 0){ printf("fail\n"); exit(1); } @@ -121,6 +121,17 @@ Window get_top_window(Display* d, Window start){ return w; } +// search a named window (that has a WM_STATE prop) +// on the descendent windows of the argment Window. +Window get_named_window(Display* d, Window start){ + Window w; + // printf("getting named window ... "); + w = XmuClientWindow(d, start); // see man + // if(w == start) + // printf("fail\n"); + // printf("success (window: %d)\n", (int) w); + return w; +} const char * str_window_class(Display* d, Window w, char *prior_app ){ Status s; @@ -161,7 +172,8 @@ int main(void){ int system(const char *command); size_t i,n,r; - + + printf("Importing user_config.json...\n"); fp = fopen("user_config.json","r"); fread(buffer, 10240, 1, fp); fclose(fp); @@ -266,6 +278,8 @@ int main(void){ } } + + printf("Data from user_config.json imported successfully.\n"); for (i = 0; i < init_len; i++) { init_array[i] = json_object_get_int(json_object_array_get_idx(init, i)); @@ -292,9 +306,12 @@ int main(void){ int remap_bool = 2; + printf("Starting keyswap...\n"); + // get active window w = get_focus_window(d); w = get_top_window(d, w); + w = get_named_window(d, w); // XFetchName(d, w, &name); // printf("window:%#x name:%s\n", w, name); @@ -339,6 +356,7 @@ int main(void){ break; } // Else command for ignoring similar app category based on config else if((strcicmp(appnames_array[i][n], current_app) == 0 && remap_bool == 0)){ + printf(" %s\n",current_app); // printf("in 2nd elseif %s i:%ld n:%ld %s\n",name_array[i],i,n,appnames_array[i][n]); // printf("%s\n","4"); breakouter = 1; @@ -365,6 +383,12 @@ int main(void){ fflush(stdout); breakouter = 1; break; + } // GUI app still - no switching needed + else if ((i == arraylen-1 && appnames_max == n+1) && remap_bool == 1){ + printf(" %s\n",current_app); + } + else if ((i == arraylen-1 && appnames_max == n+1)){ + printf("%s - Failed to match any keyswap requirements\n",current_app); } } } @@ -381,6 +405,7 @@ int main(void){ XEvent e; XNextEvent(d, &e); w = get_focus_window(d); - + w = get_top_window(d, w); + w = get_named_window(d, w); } } \ No newline at end of file From a30671b08cb7a6b8067addbb442c05f842ad3eca Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Wed, 5 Feb 2020 02:47:53 -0600 Subject: [PATCH 3/4] - Enabled full error handling --- kintox11/binary/kintox11 | Bin 236320 -> 236320 bytes kintox11/src/kintox11.c | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kintox11/binary/kintox11 b/kintox11/binary/kintox11 index 9864e1e93b783848983cc338de81fb9672424e46..758ca3101621e2f6b87cc1f32ad78c915e1311c0 100755 GIT binary patch delta 44790 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 QHEkai30tK0=i=Mp|MIkh!2kdN delta 44583 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 diff --git a/kintox11/src/kintox11.c b/kintox11/src/kintox11.c index c18ca4e..0821744 100644 --- a/kintox11/src/kintox11.c +++ b/kintox11/src/kintox11.c @@ -67,10 +67,10 @@ Display* open_display(){ } int handle_error(Display* display, XErrorEvent* error){ - // printf("X11 error: type=%d, serial=%lu, code=%d\n", - // error->type, error->serial, (int)error->error_code); - // xerror = True; - return 0; + printf("X11 error: type=%d, serial=%lu, code=%d\n", + error->type, error->serial, (int)error->error_code); + xerror = True; + return 1; } Window get_focus_window(Display* d){ From d288048ed49aa6d632bc96ee8a706296d92ac874 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Wed, 5 Feb 2020 03:01:22 -0600 Subject: [PATCH 4/4] - Due to updates in kintox11 error handling the services timer is no longer needed, the application will restart properly if it encounters an unrecoverable error on boot, login or any other unexpected event. --- keyswap_service.sh | 8 ++++---- system-config/keyswap.timer | 10 ---------- 2 files changed, 4 insertions(+), 14 deletions(-) delete mode 100644 system-config/keyswap.timer diff --git a/keyswap_service.sh b/keyswap_service.sh index fef6436..da4b32e 100755 --- a/keyswap_service.sh +++ b/keyswap_service.sh @@ -2,15 +2,15 @@ systemctl --user stop keyswap >/dev/null 2>&1 systemctl --user disable keyswap >/dev/null 2>&1 +systemctl --user stop keyswap.timer >/dev/null 2>&1 +systemctl --user disable keyswap.timer >/dev/null 2>&1 swapcmd="\/bin\/bash\ \/home\/`whoami`\/.config\/kinto\/xactive.sh" mkdir -p ~/.config/systemd/user mkdir -p ~/.config/autostart cp ./system-config/keyswap.service ~/.config/systemd/user/keyswap.service -cp ./system-config/keyswap.timer ~/.config/systemd/user/keyswap.timer cp ./kintox11/binary/kintox11 ~/.config/kinto/kintox11 cp ./system-config/xactive.sh ~/.config/kinto/xactive.sh sed -i "s/{username}/`whoami`/g" ~/.config/systemd/user/keyswap.service sed -i "s/ExecStart=/ExecStart=${swapcmd}/g" ~/.config/systemd/user/keyswap.service -systemctl --user enable keyswap.timer -systemctl --user start keyswap.timer -systemctl --user start keyswap \ No newline at end of file +systemctl --user daemon-reload +systemctl --user start keyswap diff --git a/system-config/keyswap.timer b/system-config/keyswap.timer deleted file mode 100644 index 3274a88..0000000 --- a/system-config/keyswap.timer +++ /dev/null @@ -1,10 +0,0 @@ -# keyswap.timer -[Unit] -Description=Runs the keyswap.service 5 seconds after boot up - -[Timer] -OnBootSec=5s -Unit=keyswap.service - -[Install] -WantedBy=default.target