Wie kann ich eine Verknüpfung erstellen, die als Zählfunktion dient?

Wie kann ich eine Verknüpfung erstellen, die als Zählfunktion dient?

Für meine Arbeit muss ich wiederkehrende Aufgaben mit wöchentlichen Deadlines erledigen. Ich möchte wissen, wie weit ich mit der Fertigstellung dieser Aufgaben bin, daher führe ich normalerweise eine Strichliste auf einem Blatt Papier. Leider bin ich viel unterwegs und habe nicht immer einen Stift oder ein Notizbuch dabei. Das ist in Ordnung, da ich einfach gedit als Alternative verwende, aber manchmal vergesse ich, gedit zu speichern, wenn ich herunterfahre, und verliere den Überblick über meine Strichliste.

Was ich aber wirklich möchte, ist eine Möglichkeit, eine Verknüpfung einzurichten, sodass jedes Mal, wenn ich eine Aufgabe erledige, diese irgendwo protokolliert und sofort gespeichert wird. Sie muss auch irgendwie schnell und einfach angezeigt werden können.

Antwort1

Vielleicht können Sie Emacs mit Org-Modus verwenden. Es ist viel leistungsfähiger als nur die einfache Verwaltung Ihrer Aufgaben, aber es könnte sich lohnen, sich damit zu befassen.

Antwort2

Die einfachste Lösung, die ich gefunden habe, bestand darin, ein Dash-Skript zu erstellen, das die Zählung in einer Textdatei speichert und den Wert mithilfe von anzeigt notify-send.

Früher habe ich sourceden Speicherort für die Werte festgelegt, die ich erfassen wollte:

#!/bin/sh
. /home/jesse/.scripts/tally

Und die Zähldatei hat nur eine einzige Zeile, die lautet:

written=0

Dann habe ich Funktionen erstellt fürzeigendie Zählung,klardie Zählung undhinzufügenzur Zählung.

Um die Zählung anzuzeigen, musste ich sie zunächst neu laden, um sicherzustellen, dass sie aktuell ist. Dann kann ich notify-sendFolgendes verwenden:

show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}

ZuhinzufügenUm die Zählung durchzuführen, muss die Funktion diese auslesen, zum Wert 1 hinzufügen, die Zählung neu schreiben und dann die Show-Funktion aufrufen:

add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}

Die Löschfunktion ist ziemlich selbsterklärend:

clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}

Um die einzelnen Funktionen aus dem Skript aufrufen zu können, musste ich das Skript abschließen, $@damit die Argumente wörtlich aufgerufen werden können. Das vollständige Skript lautet:

#!/bin/sh
. /home/jesse/.scripts/tally
show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}
add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}
clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}
$@

Von dort aus konnte ich Tastaturkürzel zuweisen, um einzelne Funktionen aus dem Skript aufzurufen und eine gut aussehende Abrechnung zu verwalten, die im Benachrichtigungsfenster angezeigt wird, indem ich nur ein paar Tasten drückte.

Hoffe, das hilft jemandem. Dies ist mein erstes Dash-Skript und ich bin zufrieden damit, aber es gibt sicher sauberere Möglichkeiten, dies zu erreichen.

verwandte Informationen