変更前
もともと、どこかのネットでもらってきたこっちを使っていた
1
| $ xdotool windowfocus `xdotool search --onlyvisible --name chrome`; xdotool key ctrl+F5; xdotool windowfocus `xdotool search --onlyvisible --class gnome-terminal`
|
でもこれだと、ターミナルを複数開いている場合に、xdotool search
でたまたま一番目にHitしたフォーカスに戻ってしまうので、元のターミナルに正しく戻れなかった
変更後
xdotool getactivewindow
で、事前に現在のフォーカスを取得しておくように変更
1
| CURRENT_SHELL=`xdotool getactivewindow`;xdotool windowfocus `xdotool search --onlyvisible --name chrome`; xdotool key ctrl+F5; xdotool windowfocus ${CURRENT_SHELL}
|
.vimrc
vimからはこんな感じで使ってる(ReloadChromeToggleでフラグを立てると、保存時に自動リロード)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| map <Leader>cr :call ReloadChrome()<CR><CR> map <Leader>wr :w<CR>:call ReloadChrome()<CR><CR> command! ReloadChrome :call ReloadChrome() command! ReloadChromeToggle :call ReloadChromeToggle()
let g:chrome_reload = 0 autocmd BufWritePost * call ReloadChrome()
function! ReloadChrome() if g:chrome_reload == 1 :silent exec "!CURRENT_SHELL=`xdotool getactivewindow`;xdotool windowfocus `xdotool search --onlyvisible --name chrome`; xdotool key ctrl+F5; xdotool windowfocus ${CURRENT_SHELL}" endif endfunction
function! ReloadChromeToggle() if g:chrome_reload > 0 let g:chrome_reload = 0 echo "ReloadChrome OFF" else let g:chrome_reload = 1 echo "ReloadChrome ON" endif endfunction
|