... lançar aplicações
Há dias descobri o potencial da ferramenta dmenu, e como podemos fornecer-lhe qualquer coisa para a sua entrada... Pensei um pouco e perguntei-me: Para quê restringir-se apenas para lançar aplicações? Porque não lançar outras coisas, que fique ali à mão, ao estilo de um HUD como o que se tem no Unity?!
Depois de explorar um pouco, lá comecei a desenvolver um pequeno script, inicialmente para abrir ficheiros a editar e depois, passado algum tempo (quando verifiquei que tudo estava a correr bem) coloquei a abrir pastas.
Depois de verificar que este script até é bastante útil e que tem até potencial para promover a produtividade, porque não partilhar com o pessoal, pode ser que até consigam adicionar ainda mais alguma característica ou até proporcionar algumas dicas.
Assim, deixo-vos aqui o código usado para o script:
- Código: Selecionar todos
#!/bin/bash
file_manager="pcmanfm"
text_editor="leafpad"
dmenu_param="-p >"
main_app="browse
edit
run"
browse_app="home
documents
downloads
images
musics
videos"
edit_app="bashrc
dmenu
conky
ob_rc"
prog="edit_bashrc
edit_dmenu
edit_conky
edit_ob_rc
$(dmenu_path)"
cmd=$(echo "$main_app" | dmenu $dmenu_param)
case "$cmd" in
browse)
browse_folder=$(echo "$browse_app" | dmenu $dmenu_param)
case "$browse_folder" in
home) exec $file_manager "$HOME";;
documents) exec $file_manager "$HOME/Documentos";;
downloads) exec $file_manager "$HOME/Downloads";;
images) exec $file_manager "$HOME/Imagens";;
musics) exec $file_manager "$HOME/Músicas";;
videos) exec $file_manager "$HOME/Vídeos";;
*) exec $file_manager;;
esac
;;
edit)
edit_file=$(echo "$edit_app" | dmenu $dmenu_param)
case "$edit_file" in
bashrc) exec $text_editor "$HOME/.bashrc";;
dmenu) exec $text_editor "$HOME/.my_scripts/my_dmenu.sh";;
conky) exec $text_editor "$HOME/conky/my_conky2.conkyrc";;
ob_rc) exec $text_editor "$HOME/.config/openbox/rc.xml";;
*) exec $text_editor;;
esac
;;
run)
run_app=$(dmenu_path | dmenu $dmenu_param)
exec $run_app
;;
*)
exec $cmd
;;
esac
exit 0
Antes de o poderem usar, convém ter o seguinte pacote instalado (Debian):
sudo apt-get install -y suckless-tools
E ainda, deixo-vos um vídeo deste a funcionar (adicionei o script no ficheiro rc.xml do Openbox com um atalho de teclado, fazendo com que este seja chamado pelo atalho).