Faceți căutări pe acest blog

sâmbătă, 16 martie 2013

Slmenu

 K.Mandla tocmai mi-a luminat ziua! Voi prezenta în română și (sper) pe înțelesul oricui slmenu, o clonă pentru consolă a dmenu, o chestie care ne ușurează mult lucrul în linia de comandă! Acest material este pur și simplu o preluare/ prelucrare/ adaptare a articolului de aici: https://inconsolation.wordpress.com/2013/03/16/bonus-slmenu-and-some-seriously-wicked-console-wizardry/

ACTUALIZARE: video (alegeți o calitate a imaginii bună/ HD):


1- Instalăm slmenu, în Arch pachetul se numește slmenu-hg și este în AUR, deci instalăm cu yaourt -S slmenu-hg
2- Facem în ~ un fișier text în care punem numele aplicațiilor folosite uzual, fiecare pe o linie, ceva de genul:
alpine
htop
links -g
mc
moc
screen
tvmaxe-cli
youtube-viewer
 O posibilitate:
echo "alpine
moc
htop
orice-nume-aplicație" > .cli-apps.txt
 Altă posibilitate:
touch .cli-apps.txt; nano .cli-apps.txt
 Scriem numele aplicațiilor pe linii diferite, Ctrl+o, Enter, Ctrl+x.
 Eu am denumit fișierul .cli-apps.txt
3- Facem în .bashrc un alias de forma: alias xe='eval `slmenu < .cli-apps.txt`', de acum înainte comanda xe va porni slmenu.
4- Putem chiar aloca o tastă, așa încât apăsarea acelei taste va rula slmenu. K.Mandla arată cum se poate face, eu folosesc deja un keymap personalizat, pentru a putea folosi diacriticele românești (http://stressat.blogspot.ro/2012/10/personalizare-tty.html), deci am modificat direct fișierul de setări personal.map ca la apăsarea tastei cu steagul M$ (sau cum spune poetic K.Mandla "logo of The Evil One" :D ) să-mi apară meniul dorit în tty.
 În primul rând trebuie să cunoaștem codul tastei cu pricina, deci dăm în terminal comanda (ca root sau precedată de sudo) showkey și apăsăm tasta pe care dorim s-o asignăm comenzii. Outputul va fi de forma:
[root@stressat shogun]# showkey
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode  28 release
keycode 125 press
keycode 125 release


 Deci tasta M$ are codul 125 și showkey se închide automat după 10 secunde de la apăsarea ultimei taste încercate! Ok, acum adăugăm în fișierul nostru de configurări, în cazul meu /usr/share/kbd/keymaps/i386/qwerty/personal.map liniile:
keycode 125 = F70
string F70 = "xe\n"


 Acum la logarea în tty apăsarea tastei va face să apară slmenu.Tty mă interesează în primul rând, dar merge și-n konsole sau yakuake sau orice alt emulator de terminal cu condiția ca în X tasta cu pricina/ cea cu logo M$ în cazul meu să nu fie alocată altei chestii, eu de exemplu o folosesc pentru schimbarea layout-ului tastaturii, așa că folosesc aliasul xe...
 Pentru ieșirea din slmenu fără să pornim o aplicație (dacă apăsăm tasta din greșeală...) apăsăm Ctrl+C.
 Navigăm între aplicațiile din slmenu cu tastele săgeți, Enter pentru rularea aplicației dorite, cea marcată cu background diferit. În cazul că avem multe aplicații în .cli-apps.txt vor fi afișate doar aplicațiile care încap în fereastră și < sau > (după caz, depinde dacă suntem la începutul sau sfârșitul listei).
  Putem alege ca slmenu să afișeze aplicațiile pe linii suprapuse (slmenu -l număr-linii, slmenu -l 8 pentru 8 linii) sau să afișeze în fața numelor aplicațiilor  un prompt (slmenu -p prompt).
 Dacă modificăm .bashrc (aliasul xe) pentru a nu reporni konsole/ yakuake/ terminal dăm comanda source .bashrc, se vor re-incărca setările bash.
 Slmenu (aliasul și/ sau tasta locată) funcționează perfect și-n screen, așa am pornit mocp, alpine și mc. :D


 Sursă: https://inconsolation.wordpress.com/2013/03/16/bonus-slmenu-and-some-seriously-wicked-console-wizardry/
 Slmenu: https://bitbucket.org/rafaelgg/slmenu

2 comentarii:

  1. ahahahahahahaha stii ce inteleg eu de aici ??? Ca incepushi sa imbatrinesti, ramolitule, si esti putoare sa butonezi in TTY, ma din pacate speak in TTY ( sau atul speach2text) nu exista ... nu au CLI
    si daca tot dadushi si varianta serioasa , daca permiteti:
    touch .cli-apps.txt; mcedit .cli-apps.txt
    sau "vi" nano suge... ii bugat de mori, mi-a schimbad si codificarea la salvarea unor scripturi din ISO**** in UTF... fii patent...

    RăspundețiȘtergere
  2. Felicitari, acum ceva timp mi-ai zis niste vorbe care acum s-au adeverit. Bine ca nu am pus pariu ca cine stie ce imi cereai :))

    http://www.uninternaut.com/?p=7891

    RăspundețiȘtergere

Back to top