2008-11-05

 

Kolorowe terminale

Mam skłonności do otwierania sporej ilości okien terminali. Praca na wielu terminalach ma dużo zalet, ale czasem trudno się zorientować, na którym aktualnie jestem. Wczoraj właśnie przez pomieszanie okien miałem mały wypadek: odpaliłem rm -rf * na katalogu domowym - myślałem, że w tym terminalu jestem w zupełnie innym katalogu! Na szczęście konto użytkownika, na którym pracowałem miało jakieś półgodziny więc straty były minimalne.

Pomyślałem wtedy, że świetnie by było gdyby każde okno terminala miało inny kolor - łatwiej by było się zorientować gdzie jestem. Jak pomyślałem - tak zrobiłem. Napisałem mały skrypt w pythonie (którego treść jest widoczna w prawym górnym rogu załączonego obrazka) - powoduje uruchomienie xterma z tłem okna w jednym z ośmiu łatwo rozróżnialnych kolorów. Każde kolejne uruchomienie - kolejny kolor.

To pierwsze podejście - będę to ulepszał. Przy większych ilościach kolorów i ich odcieni konieczna może być zmiana kolorów fontów. Można by też zmieniać obramowanie okna. Fanie by też były gdyby zmodyfikować shella w ten sposób, że jak będzie uruchomiony przez użytkownika w większych uprawnieniach (root) to w tle uruchomi się muzyka podobna do tej z dreszczowców w momentach kiedy coś ma się wydarzyć - ku przestrodze! Świetnym by też było odpalanie skonfigurowanych dźwięków podczas zmiany katalogu. O tym myślałem już wcześniej w kontekście ulepszeń systemu pod kątem osób niewidomych - to by było tak jak ikony tyle, że dźwiękowe. Oczywiście działałoby to tylko podczas sesji interaktywnych. Myślę, że dało by się to zrobić niewielkim nakładem pracy przez drobne zmiany w shellu (pracuję w bashu).

Komentarze:
Fajne, moglbys zrodlo umiescic do sciagniecia?
 
na screenshocie przecież jest.. ;) proszę: xtermbgrot.py.

Załączam też fragment mojego .Xresources odpowiedzialnego za xterma:
XTerm*Foreground: rgb:cc/cc/cc
XTerm*Background: rgb:00/00/00
XTerm*cursorBlink: on
XTerm*cursorOnTime: 200
XTerm*cursorOffTime: 200
XTerm*cursorColor: rgb:aa/ee/aa
XTerm*metaSendsEscape: true
XTerm*sessionMgt: false

Najważniejsza jest pierwsza linijka - zwykle domyślnie kolor liter jest czarny i byłyby niewidoczne na tych ciemnych tłach. Zamiast tego można też oczywiście dopisać w moim źródle argumenty wywołania xterma kolejno: "-fg", "rgb:cc/cc/cc". Alternatywnie można przed trzema wystąpieniami "40*" w źródle dopisać "255 - " - wtedy tła będą jasne.
 
Post a Comment

<< Strona główna

Starsze posty dostępne w archiwum

This page is powered by Blogger. Isn't yours?