EN NL

ac'tivAid

Leider muss an dieser Stelle mitgeteilt werden, dass Wolfgang Reszel seine Arbeit an ac'tivAid beendet hat. Eine Entwicklerversion von ac'tivAid gibt es auf meiner Webseite. Gruß, Michael

Willkommen beim Bugtracker zu ac'tivAid. Ac'tivAid ist ein AutoHotkey-Skript, welches zuletzt in c't 12/08 ausführlich vorgestellt wurde.
Die letzte stabile Version finden Sie unter www.heise.de/ct/activaid.

Wenn Sie in der stabilen Version einen Fehler finden, testen Sie bitte erst die aktuelle Beta-Version, bevor Sie den Fehler melden!

Um evtl. schon hier behandelte und geschlossenen Themen mit der Suche zu finden, muss in der erweiterten Suche bei Status "Alle offenen Aufgaben" auf "Alle Status" umgestellt werden.

Letzte stabile Version bei Heise.de: 1.3.1

Letzte beta Version 1.3.2 beta1 : activaid_beta.exe | portable_activaid_beta.exe

Entwicklerversion von Michael

Änderungen, Liesmich/Hilfe, FAQ und Themen-Special (bei www.heise.de)

Digital Upgrade haben ein Video zu ac'tivAid 1.1.8.1 gedreht, wo ein paar Funktionen kurz angesprochen werden.

Aufgabenliste

FS#1786 - Zeichen / Worte Zählen

Gehört zu Projekt: ac'tivAid
Angelegt sirtet (sirtet) - Dienstag, 18. Dezember 2012 - 12:48
Aufgabentyp Wunsch / Idee
Kategorie ac'tivAid allgemein
Status Zugeteilt
Zuständig Michael (Michael)
Betriebssystem Alle
Schweregrad Niedrig
Priorität Normal
Betrifft Version zukünftige Version
Fällig in Version Unbestimmt
Fällig am Unbestimmt
Prozent erledigt 0%
Stimmen 0
Versteckt Nein

Beschreibung

Sowas wie die Wort-Zähl Funktion in Word wär super:

Markieren > Tastenkürzel drücken > Tooltip

Hab mir die Anleitung zum Erstellen eigener Erweiterungen angeschaut, aber schon das Duplizieren/umbenennen einer vorhandenen hat mich eine Ewigkeit
eigentlich das wär mal so einfach, dass ich das umsetzen könnte, aber nach einem kurzen Googeln zu strlen und autohotkey musste ich einsehen, dass ich da nicht schnell genug reinkomme...

Hat vielleicht schon mal wer sowas gemacht?

Diese Aufgabe ist abhängig von

Kommentar von eric (ewerybody) - Dienstag, 18. Dezember 2012 - 16:09

Hi Hallo! Ja im aktuellen ac'tivAid ist das Erstellen von neuen kleinen Erweiterungen unverhältnismäßig kompliziert. Diesen Umstand wollen wir in Zukunft auch angehen aber es gibt auch schon so eine Möglichkeit soetwas^ relativ unkompliziert umzusetzen: mit UserHotkeys!

Dazu erstelle man eine kleine Skriptdatei, lege einen Hotkey mit UserHotkeys an und zeige mit dem Hotkey auf die Datei, Voilà.

Der Code könnte so aussehen:

StringSplit, parts, 1, %A_Space%`n`r
MsgBox Anzahl der Wörter:%parts0%

Das teilt den Inhalt aus Variable "1" an Freizeichen und Zeilenumbrüchen und spuckt den Zähler mit einer MsgBox aus.

Könnt man z.B. als "aAWordCount.ahk" speichern (Dazu gibts im ac'tivAid-Ordner unter "extensions" meist auch nen "UserHotkeys-scripts"-Ordner.. aber an sich isses egal wo)

Jetzt stelle man sicher, das UserHotkeys geladen ist: In ac'tivAid unter Erweiterungen.

Dann in UserHotkeys mittels + einen neuen Eintrag angelegt, ein Tastenkürzel ausgesucht, auf den drei Punkten rechts "..." auf die Skriptdatei gezeigt^ und jetzt wichtig: Nach dem Pfad "%Selection%" eingeben. UserHotkeys nutzt hierfür schon ne praktische ac'tivAid-Funktion um selektierten Text zu holen. Müsst man sonst mit ins Skript schreiben (Ginge auch, aber so ists viel einfacher. Das landet dann so in der "1"-Variable^)

Ok drücken, fertig!

Ich hab meine Version mal angehangen. In UserHotkeys verknubbelt und der Text hier hat: 235 "Wörter" :]

Kommentar von sirtet (sirtet) - Dienstag, 18. Dezember 2012 - 17:40

Super, danke. Klappt... aber noch nicht ganz:

Beschreibung:
C:\Program Files\TOOLS\ac'tivAid\extensions\aAWordCount.ahk
Strg + F12

Ohne Markierung kommt die msgBox und meldet
meldet ahk im
kann nicht ausgeführt
System kann die angegebene Datei nicht
nur einer Leerstelle markiert kommt der Windows-Dialog, er wisse nicht, mit welchem programm er aAWordCount.ahk öffnen solle...

Hab verschiedenes rumprobiert, %Selection% mit und ohne abstand, Pfad und Datei in einfachen und doppelten Anführungszeichen (wegen dem Leerschlag im Pfad, Hatte auch mal die Meldung erhalten Kann datei "C:\Program" nicht finden, soll sie erstellt werden? Das liess sich allerdings nicht reproduzieren, obwohl ich natürlich nein
sich immer wieder anders zu verhalten, mal Resultat 0, mal 1, je nach gewählten Einstellungen. Lässt sich jeweils nicht reproduzieren.

Ich hab Portable v.1.3.2.dev 38


PS: geht statt MsgBox auch ToolTip oder so, was man nicht quittieren/wegklicken müsste? So wie etwa ThesauroToolTip?

Kommentar von eric (ewerybody) - Mittwoch, 19. Dezember 2012 - 11:08

Krass ich habs doch gestern nen paar Mal selber probiert! Nun hab ich genau dieselben Probleme
auch nen Bug in UserHotkeys zu sein. Wenn man das file frisch einfügt, dann ok drückt kommt natürlich Wörter:0, dann "%Selection%" hinzufügen und ok dann gehts! Einmal ac'tivAid Neustarten: isses kaputt. :/

hmm... schnelle Lösung: nen getSelection mit ins Script einbauen:

tmp := ClipboardAll
Clipboard :=
Send, ^c
ClipWait, 1
1 := Clipboard
Clipboard := tmp
tmp :=

StringSplit, parts, 1, %A_Space%`n`r
Tooltip, MsgBox Anzahl der Wörter:%parts0%
Sleep 1000
Tooltip

Damit kann man dann das "%Selection%" weglassen^ und nur den Pfad in dem UserHotkey drin haben. Scheint auch nach ac'tivAid-Neustart zu klappen!

Langsame Lösung: UserHotkeys reparieren :/

Kommentar von sirtet (sirtet) - Mittwoch, 19. Dezember 2012 - 14:23


etwas Recherche hab ich's auf Zeichenzahl erweitert:

tmp := ClipboardAll
Clipboard :=
Send, ^c
ClipWait, 1
1 := Clipboard
Clipboard := tmp
tmp :=

StringSplit, parts, 1, %A_Space%`n`r
StringLen, length, 1
Tooltip, Markierung:`n%length% Zeichen`n%parts0% Worte
Sleep 5000
Tooltip

Nicht umsetzen konnte ich das Vermeiden des

Werde vielleicht mal bei einer Erweiterung wie LeoToolTip nachschauen, momentan bin ich da nicht durchgestiegen.

Dumm, wenn man zu viel Zeit an die Einrichtung von Productivity-Tools verliert...

Kommentar von eric (ewerybody) - Mittwoch, 19. Dezember 2012 - 17:14

Yea cool! Thats the spirit! :D

Ja, man startet man ja ein komplett neues "Programm" und das hat keinen direkten Zugriff auf die Funktionalitäten von der ac'tivAid lib. Man müsste eben alles da reinschreiben. Aber was ist an der Stelle schlimm an Sleep? Das hält ja ac'tivAid nicht auf und man kann so oder so gleich wieder den Hotkey drücken.

Und ja.. zu viel Zeit ist doof. Aber das Einrichten von Productivity-Tools macht mir persönlich IRRE Spaß
planen wir ja auch schon an einer Art neuem ac'tivAid. Viel gibts noch nicht aber Ziel ist es genau SOLCHE Probleme hier einfacher und trotzdem umfangreich anzugehen: Einfaches aufsetzen, alle Features zur Hand. Oder: "Make simple things simple. Make complicated things possible"

btw: Wenn man hier nen code-Block einfügt, braucht Flyspray eine Freizeile um auch den Block zu zeichnen. Und natürlich ist es sauberer tmp := und Tooltip wieder aufzuräumen aber da der Autohotkey-thread gleich wieder abgeschossen wird kann mans auch weglassen. Eine Idee wäre noch die Wortzahl oder was man mag ins Clipboard zu packen:

Clipboard :=
Send, ^c
ClipWait, 1

StringSplit, parts, Clipboard, %A_Space%`n`r
StringLen, length, Clipboard
Tooltip, Markierung:`n%length% Zeichen`n%parts0% Worte
Sleep 2000
Clipboard := parts0
Kommentar von sirtet (sirtet) - Mittwoch, 19. Dezember 2012 - 19:43

Verstehe grad nicht, worauf du dich beziehst mit "... ein komplett neues "Programm" und das hat keinen direkten Zugriff auf die Funktionalitäten von der ac'tivAid
Code in meinem Link verwendet doch eben grad nichts von ac'tivaid.

Stören an Sleep tut, dass Tastatureingaben das Tooltip nicht sofort löschen, und nach ein Paar Anschlägen(Pfeiltasten) diese auch blockiert werden, bis die tooltip-Zeit abgelaufen
dein Script vs. LeoToolTip: Markieren, Aufrufen, dann pfeiltasten kontinuierlich. Bei mir Blockiert's nach 3 Anschlägen, bis zum Ablauf von Sleep.


fände ich eigentlich ein Modus, wo ich kein Tooltip bekomme, sondern ein bleibendes Overlay, etwas im Tray-Bereich, Fenstertitel oder so, das ständig die Statistik zur aktuellen Auswahl
also nur zum ein/aus schalten.

Kommentar von sirtet (sirtet) - Mittwoch, 19. Dezember 2012 - 20:43


noch erweitert um Zeichen ohne Leerzeichen:

tmp := ClipboardAll
Clipboard :=
Send, ^c
ClipWait, 1
1 := Clipboard
Clipboard := tmp
tmp :=

StringSplit, parts, 1, %A_Space%`n`r
StringLen, Length, 1
StringReplace, NoSpc, 1, %A_SPACE%,, All
StringLen, NoSpcLength, NoSpc
Tooltip, Markierung:`n%parts0% Worte`n%Length% Zeichen (%NoSpcLength% ohne Leerschläge)
Sleep 5000
Tooltip

Weiss zwar garnicht, für wen das wichtig ist, zB. Word kann das aber auch.

Wichtiger wär wohl die richtige Zählung von Umbrüchen. Die werden noch als 3 Zeichen gewertet.... versteh ich
1 oder 2 erwartet (newline, oder return und
man irgendwie die "Raw" Daten anzeigen lassen?

Kommentar von eric (ewerybody) - Mittwoch, 19. Dezember 2012 - 22:21

Hi! Na ac'tivAid UserHotkeys schickt das .ahk-File an die bekannte Autohotkey.exe und das macht eine neue Autohotkey-Instanz mit dem Skript
Zukunft würd ich sowas gern innerhalb der ac'tivAid-Instanz machen. Dann hat man alle Funktionalitäten an der Hand, muss kein Sleep benutzen und kanns trotzdem ganz einfach ohne die ganzen momentanen Bedingungen schreiben.

Stimmt. Sehr merkwürdig. Text auswählen, Hotkey drücken, dann erscheint der Tooltip, ich klicke woanders hin und kann kurz tippen und dann nicht mehr bis der Tooltip weg ist. Ah nee: wenn ich nochma klicke kann ich wieder tippen. Womöglich ist in UserHotkeys irgendeine Logik um das zuletztausgewählte Fenster zu reaktivieren...

@PPS: das was als Text im Clipboard steht ist schon "raw". Umbrüche, tabs, spaces und sowas gehört alles dazu!

Kommentar von eric (ewerybody) - Mittwoch, 19. Dezember 2012 - 22:51

Ich hab das eben ma in meinem Prototypen zurechtgehackt und da gehts verblüffend gut. getSelection() geht und tt() ist ein einfacher Tooltip der sich selbst killt nach ner Weile und nicht blockiert:

wordCount() {
	txt := getSelection()
	StringSplit, parts, txt, %A_Space%`n`r
	StringLen, length, txt
	tt(length " Zeichen`n" parts0 " Worte",5)
}

Wie man das in ein schönes Interface einbaut ist noch die Frage aber funktionieren solls so: Man schreibt so ein Script^ und packt es ins Erweiterungsverzeichnis. Schon kann man im Interface ein Hotkey hinzufügen. Voilà! Na ich werd ma zusehen, dass ich jetzt in den Feiertagen dazu komme. *Daumendrück*

@PS: hmm.. also klar, jedem das seine ;] ich finds mittlerweile sinnvoller Dinge anzuzeigen wo ich arbeite und wenn ich sie sehen will und nicht immer und an einer Stelle wo ich nicht bin. Dazu hat man ja einen Cursor und ein Display das Dinge dynamisch anzeigen kann... Wie auch immer: Man könnte nen Tooltip auch zu so einem Display machen was man updated und so.

Kommentar von sirtet (sirtet) - Donnerstag, 20. Dezember 2012 - 08:40

@PS: Ja, tooltip zu weit weg ist nicht
vergleiche verschiedene Textblöcke, da ist's dann eben praktisch, wenn ich die Funktion nur vorher aktivieren muss, dann kann ich x-mal markieren, und sehe immer sofort die Statistik. Wenn ich dann fertig bin, deaktiviere ich die Funktion
ein Tooltip, das in der Nähe vom Mauszeiger rumhängt, ahnlich wie bei ac'tivaid's ReadingRuler.

Lade...