clock in xterm/console

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

clock in xterm/console

Beitrag von linuxCowboy » 11.01.2014 11:35:26

Durch eine Idee habe ich jetzt eine schicke Uhr im Terminal:

NoPaste-Eintrag37594

verschluckt sich nur ab und zu:

Code: Alles auswählen

i=`date +%S`; while :;do printf "%02d " $((i++%60)); date +%S; sleep 1;done
Frueher hatte ich mir eine unter DOS programmiert. War ein ganz schoener Aufwand. Die beruechtigten TSR-Programme!

Dann eine BCD-Uhr unter Windows mit der buggy Console-API.

Und jetzt hier nur ein paar Zeilen Bash. :D

DAS ist cool!!
-der_linux_cowboy --- Besser werden! ... f*** w$$

Benutzeravatar
guenterq
Beiträge: 258
Registriert: 08.05.2013 18:07:59

Re: clock in xterm/console

Beitrag von guenterq » 11.01.2014 13:57:24

Hmmm. ich bin nicht der Terminal- und Script Junkie.... aber mir erschließt sich der Sinn des Unterfangens nicht so wirklich. :-D

Tag und Uhrzeit steht doch permanent in der Statuszeile meines Desktops.... und das Terminal ist auch blockiert wenn ich dort das Script aufrufe.

Ein schönes Wochenende!
Beste Grüße aus dem Dürener Land
Günter

Geht mal wieder vor die Tür! Da ist es auch schön!!

DeletedUserReAsG

Re: clock in xterm/console

Beitrag von DeletedUserReAsG » 11.01.2014 14:00:24

Gibt auch Leute, die ständig ihr Terminal in Fullscreen laufen haben (ohne transparenten Hintergrund), oder X gar nicht erst starten ….
[…] und das Terminal ist auch blockiert wenn ich dort das Script aufrufe.
Man kann es problemlos im Hintergrund laufen lassen.

Gut, ich brauch’s nun auch nicht wirklich, weil ich die Daten in der Statuszeile von tmux oder screen habe – nette Spielerei ist’s aber trotzdem.

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 11.01.2014 15:03:11

Leider kann man im PasteBin nichts editieren.

Update: NoPaste-Eintrag37596

Doch nur da gibt's Farbe! :roll:
-der_linux_cowboy --- Besser werden! ... f*** w$$

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: clock in xterm/console

Beitrag von Liffi » 11.01.2014 15:23:53

Ich hab in meiner Prompt eine Uhr die sich aktualisiert. Weil mich früher immer genervt hat, dass die Zeit dort nicht mit der wirklich Zeit des eingebenen Befehls übereinstimmte.

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 11.01.2014 17:36:25

Ich finde keinen Weg die Farbe auszulesen (etwas wie tget).

So bleibt nur die Terminal-Farbe expliziet einzustellen:

Update v1.2: NoPaste-Eintrag37597
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 11.01.2014 21:11:49

Umgestellt auf Escape-Sequenzen fuer Bold-Attribut:

Update v1.3: NoPaste-Eintrag37598
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 12.01.2014 08:52:24

CAPSLOCK-Status wird angezeigt:

Update v1.4: NoPaste-Eintrag37602

Feature braucht xset und funktioniert nur im xterm.
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 15.01.2014 06:43:40

Sieht jemand einen Weg in den Bash-Prompt eine laufende Uhr einzublenden?

(mal abgesehen davon die bash selbst zu hacken)
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 17.01.2014 13:25:02

minimiert und optimiert:

Update v1.8: NoPaste-Eintrag37608

laeuft auch im vim :D
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 19.01.2014 08:38:24

Ich liebe BCD-Uhren!

Update v1.9: NoPaste-Eintrag37611
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 23.01.2014 12:20:12

obfuscated:

Code: Alles auswählen

#!/bin/bash 
#
# (bcd-)clock in xterm    v1.9a-obfuscated
#
exec bash -c "$(tail -n +6 $0|rev)" NoSuchAgency ${1+1984}
enod;1 peels;cr tupt;if;"m}PRadUFZlxigzW{$;}zwVtxpsFuffIW{$;}sdQwUKGszLzEW{$331\33\}KDCMmfhLIzuBW{$m}DetPsjqACPgAW{$;}WHTlIluJYOsnW{$;}uYqkuFNxBHYZW{$331\33\" ftnirp esle;"m}PRadUFZlxigzW{$;}zwVtxpsFuffIW{$;}sdQwUKGszLzEW{$331\33\}KDCMmfhLIzuBW{$m}VMUEfqDxdfYyW{$;}vhyLJTRMWryaW{$;}yVIxIcXthWebW{$331\33\" ftnirp neht;] "uBsDZyDuBfPMW$" [ fi;S- tupt|"lhnVcCwJTXsDW$ yfgYsjlkfwoQW$ pucn\cs" ftnirp;`'n..........sp' perge|llun/ved/>2 q tesx`=uBsDZyDuBfPMW;))tZmBVxbpvTcGW-gJkNGvYBpjEuW(($=lhnVcCwJTXsDW;`sloc tupt`=gJkNGvYBpjEuW;))XgOoWXCRtBiAW(($=yfgYsjlkfwoQW;}KDCMmfhLIzuBW#{$=tZmBVxbpvTcGW;"xVMjqCdIYNIKW$"=KDCMmfhLIzuBW;if;"} %xcgROMygGYVcW{$"=xVMjqCdIYNIKW;enod;case;;"kzAxCTXGpPbsW$"=+xcgROMygGYVcW)*;;" kzAxCTXGpPbsW$"=+xcgROMygGYVcW).|/|-|:;;" o..o"=+xcgROMygGYVcW)9;;" ...o"=+xcgROMygGYVcW)8;;" ooo."=+xcgROMygGYVcW)7;;" .oo."=+xcgROMygGYVcW)6;;" o.o."=+xcgROMygGYVcW)5;;" ..o."=+xcgROMygGYVcW)4;;" oo.."=+xcgROMygGYVcW)3;;" .o.."=+xcgROMygGYVcW)2;;" o..."=+xcgROMygGYVcW)1;;" ...."=+xcgROMygGYVcW)0 ni "kzAxCTXGpPbsW$" esac;}1:euLUoZlpaYlTW$:xVMjqCdIYNIKW{$=kzAxCTXGpPbsW od;))euLUoZlpaYlTW++;}xVMjqCdIYNIKW#{$<euLUoZlpaYlTW;))OTjfQslaAbERW(($=euLUoZlpaYlTW((rof;=xcgROMygGYVcW neht;))MPqocHuOXwRPW((fi;`"HkdpbIyXKrYjW$"+ etad`=xVMjqCdIYNIKW od;] "WHTlIluJYOsnW$" [ elihw;))3377661/121896*1543/6845x0/22470*23542360(($=zwVtxpsFuffIW;))8818093/24312*1278/75248456(($=VMUEfqDxdfYyW;)"))6642/2222/333*666888(($x\)))2-3*)8>>`)))8317^2364(($ d% ftnirp($ ohce`((($ ohce($x\" ftnirp($=HkdpbIyXKrYjW;))898/86453/243349*56654/43988876(($=DetPsjqACPgAW;))xtIQVRmKYvInW(($=uYqkuFNxBHYZW;))4731/3467/243*542389(($=vhyLJTRMWryaW;}23165243+1{$=MPqocHuOXwRPW;))67491/8641/243345*55432/43987654(($=WHTlIluJYOsnW;))2391+8765*9806+43257543*sADd~(($=PRadUFZlxigzW;))2+F~(($=yVIxIcXthWebW;))bngIjENtcMUkW(($=sdQwUKGszLzEW;=emllik
Yes, you can me !!
-der_linux_cowboy --- Besser werden! ... f*** w$$

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: clock in xterm/console

Beitrag von uname » 23.01.2014 16:51:09

Ich nutze sowieso überall Debianscreen. Da kann man ~/.screenrc nutzen:

Code: Alles auswählen

hardstatus alwayslastline '[%H] %Lw %=%c:%s %Y-%m-%d'

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: clock in xterm/console

Beitrag von dirk11 » 23.01.2014 19:16:52

Niedlich. Die sieht bei mir "leicht" anders aus :D

Code: Alles auswählen

hardstatus alwayslastline "%{Yw}%D %d.%m.%y%{bw}|%c:%s|%{ww}%{rw}host: %{mw}%H %{rw}load: %{mw}%l %{kw}%?%-Lw%?%{Wb}[%n*%f %t]%?(%u)%?%{kw}%?%+Lw%?%{kw}"

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: clock in xterm/console

Beitrag von uname » 25.01.2014 12:51:12

Durch Zufall gefunden: Debiantermsaver

Code: Alles auswählen

termsaver clock

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 25.01.2014 21:53:51

Mir ist noch nicht klar, welche Idee du davon fuer den Hack verwenden willst?

Althergebracht reserviert man statisch einen Bereich, und kann dann da reinmalen was man will. Wie es screen macht, oder frueher der Norton Commander mit seiner Uhr.

Mir schwebt vor, dynamisch im Terminal einen Bereich zu sichern, mit der Uhr zu beschreiben, und bei jedem scroll erst wieder herzustellen. Also so, wie man das von der Videoprogrammierung her kennt.

Ausserdem klappt das mit der Cursor-Sicherung nicht so richtig. Behakt sich offenbar mit der readline Library. Ist nicht nur im gnome-terminal, sondern auch im reinen xterm!

Man muesste wohl viel tiefer ansetzen. Selbst die bash verwendet einfach nur:

Code: Alles auswählen

static void
print_prompt ()
{
  fprintf (stderr, "%s", current_decoded_prompt);
  fflush (stderr);
}
und zeigt mir den Finger!

init -> gdm3 -> gdm-simple-slave -> gdm-session-worker -> x-session-manager -> gnome-terminal -> bash -> clock.sh
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 25.01.2014 22:12:38

Liffi hat geschrieben:Ich hab in meiner Prompt eine Uhr die sich aktualisiert.
Du meinst den backslash-escape '\t' im PS1?

Der läuft doch nicht. Wenn mich vergangene Zeiten interessieren habe ich:

Code: Alles auswählen

HISTTIMEFORMAT='|%d.%m._%a_%T|  '
und dann mit:

Code: Alles auswählen

alias h='history 50'
alias hh='history'
alles da!
Zuletzt geändert von linuxCowboy am 08.03.2014 23:27:27, insgesamt 1-mal geändert.
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 30.01.2014 12:46:13

die (unvermeidliche) BCD-Demo + verbessertes Handling:

Update v1.13: NoPaste-Eintrag37636

"speichern" mit Enter :mrgreen:
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: clock in xterm/console

Beitrag von linuxCowboy » 02.02.2014 19:43:53

Demo-Update: v1.14 NoPaste-Eintrag37643
-der_linux_cowboy --- Besser werden! ... f*** w$$

Antworten