J'essaie de configurer une chaîne d'outils personnalisée dans laquelle le navigateur (Firefox ou, de préférence, Chrome) est souvent/fréquemment/constamment obligé de s'actualiser à partir de la ligne de commande.
(L'idée est de voir instantanément les changements visuels dans le html/webapp que je modifie dans un cadre Emacs adjacent - sans avoir à tabuler constamment sur le navigateur pour effectuer une actualisation manuelle.)
Le plus proche que j'ai parcouru jusqu'à présent est d'exécuter google-chrome FILE_PATH
. Cependant, cela ouvre un nouvel onglet à chaque fois.
Existe-t-il d'autres approches ?
Réponse acceptée :
De quoi jouer
Il utilise xdotool , qui vous permet de créer des scripts d'actions Windows/bureau. Si vous fournissez le nom du navigateur comme argument, il trouvera et rechargera la page actuelle. Vous pouvez définir un navigateur par défaut, vous n'avez donc pas besoin d'en fournir un à chaque fois, et vous pouvez choisir d'envoyer CTRL-R pour recharger ou SHIFT-CTRL-R pour recharger sans cache.
Il devrait retournez dans votre navigateur, rechargez la page, puis retournez à la fenêtre à partir de laquelle vous l'avez appelée. Je l'utilise souvent en mettant le navigateur en arrière-plan, avec la fenêtre de l'éditeur définie sur "ON-TOP" pour qu'elle soit toujours visible, raccourcissez ce script ou appelez-le depuis votre éditeur, et il vous rendra le focus une fois terminé.
Je suis un utilisateur de vim, et j'ai pu envisager de créer une autocommande pour déclencher automatiquement ce script chaque fois qu'un fichier donné était écrit, afin que le navigateur se rafraîchisse le cas échéant, je sais que vous pouvez faire de même.
#!/bin/bash
#
# L Nix <[email protected]>
# reload browser window
#
# whether to use SHIFT+CTRL+R to force reload without cache
RELOAD_KEYS="CTRL+R"
#RELOAD_KEYS="SHIFT+CTRL+R"
#
# set to whatever's given as argument
BROWSER=$1
#
# if was empty, default set to name of browser, firefox/chrome/opera/etc..
if [ -z "${BROWSER}" ]; then
BROWSER=firefox
fi
#
# get which window is active right now
MYWINDOW=$(xdotool getactivewindow)
#
# bring up the browser
xdotool search --name ${BROWSER} windowactivate --sync
# send the page-reload keys (C-R) or (S-C-R)
xdotool search --name ${BROWSER} key --clearmodifiers ${RELOAD_KEYS}
#
# sometimes the focus doesn't work, so follow up with activate
xdotool windowfocus --sync ${MYWINDOW}
xdotool windowactivate --sync ${MYWINDOW}
#