 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 07, 2006 3:37 pm Titel: Wenn die Explorerfenster zu viel Desktop beanspruchen ... |
|
|
... ist es doch naheliegend, sie kleiner zu machen. Vor allem wenn das angezeigte Verzeichnis fast leer ist.
Doch das Verkleinern ist eine mühsame Klickerei: Spaltenbreite optimieren, Fenstergröße anpassen und Fenster in eine freie Desktopecke ziehen.
Wenn ihr diese Klickerei auch als lästig empfindet, solltet ihr euch mal das untenstehende Skript anschauen.
Es optimiert die Größe eines Explorerfensteres in der Detailansicht (ohne Ordnerbaum) unter Berücksichtigung seines tatsächlichen Inhalts. Rechts und unten wird ein klein wenig Platz gelassen.
Das optimierte Fenster wird dann so positioniert, dass der aktuelle Mauszeiger in der Mitte steht und das Fenster nicht größer ist, als der Bildschirm.
Wenn ihr nun noch eine Maustaste freihabt (bei mir ist es Dreifachklick Daumentaste) wird es noch einfacher: nur mit der Maus auf den gewünschten Mittelpunkt des aktiven Explorerfensters zeigen, klicken und fertig .
Vielleicht seht Ihr aber auch noch Optimierungspotential ...
| Code: |
; Explorer-Fensteroptimierung
; Dieses Skript hat folgende Funktionen
; 1. Einstellen der Detailansicht im Explorer (deutsche Tastenfolge)
; 2. Optimieren der Spaltenbreite
; 3. Einstellen der Größe ds Explorerfensters entsprechend seinem Inhalt
; 4. Positionierung des angepassten Fensters zentriert am aktuellen Mauscursor
; by Halweg, Thx to BoBo
COORDMODE, MOUSE, SCREEN
#y::
maximale_fensterbreite = 1230 ;*** hier einstellen (< physikalische Bildschirmauflösung!)
maximale_fensterhoehe = 750 ;*** hier einstellen (< physikalische Bildschirmauflösung!)
minimale_fensterhoehe = 200
WINGETCLASS, fenstertyp, A
IFNOTEQUAL, fenstertyp, CabinetWClass, Exit
MOUSEGETPOS, maus_x, maus_y
SEND, !ad^{NUMPADADD} ;*** Details anzeigen und Spaltenbreite optimieren (deutscher Explorer)
WINMOVE, A, , 150, 50, maximale_fensterbreite ;*** temporär breites Fenster fürs Spaltenzählen einstellen
CONTROLFOCUS, SysListView321, A
;*** Position der Spaltenköpfe ermitteln und dort nach Separatoren suchen
CONTROLGETPOS, x_liste, y_liste,,, SysListView321, A
CONTROLGET, nspalten_liste, LIST, COUNT COL, SysListView321, A
CONTROLGET, nzeilen_liste, LIST, COUNT, SysListView321, A
x_suche := x_liste + 4
y_suche := y_liste + 5
n_spalte := 0
LOOP, % maximale_fensterbreite
{
x_suche ++
PIXELGETCOLOR, pixelfarbe, x_suche, y_suche
IFEQUAL, pixelfarbe, 0xFFFFFF ;*** Spaltenseparator gefunden
{
n_spalte ++
IFEQUAL n_spalte, %nspalten_liste%, BREAK
}
}
;*** Ermittelen der Fenstergröße und Position
soll_breite := x_suche - x_liste + 27 ;*** Scrollbalken berücksichtigen
soll_hoehe := nzeilen_liste * 17 + 130
IF (soll_hoehe > maximale_fensterhoehe) ;*** zu hohes Fenster
soll_hoehe := maximale_fensterhoehe
IF (soll_hoehe < minimale_fensterhoehe) ;*** zu niedriges Fenster
soll_hoehe := minimale_fensterhoehe
soll_x := maus_x - soll_breite/2
IF soll_x < 10 ;*** Fenster zu weit links
soll_x = 10
soll_y := maus_y - soll_hoehe/2
IF soll_y < 10 ;*** Fenster zu weit oben
soll_y = 10
WINMOVE, A, , soll_x, soll_y, soll_breite, soll_hoehe
RETURN |
|
|
| Nach oben |
|
 |
Gast
|
Verfasst am: Di März 21, 2006 5:00 pm Titel: |
|
|
Hallo halweg,
bin erst jetzt über Dein Skript gestolpert, daher erst so spät ein paar Anmerkungen dazu:
1) Bei meinem Windows (XP Pro, SP2, deutsch) musste ich die Zeile
| Code: | | IFNOTEQUAL, fenstertyp, CabinetWClass, Exit |
ersetzen durch
| Code: | | IFNOTEQUAL, fenstertyp, ExploreWClass, Exit |
sonst wurde das Skript direkt abgebrochen.
2) Ich bin immer ein ekliger Tester bei GUI-Geschichten, weil ich grundsätzlich ein Zweischirm-System einsetze. Und: das Fenster wird immer auf den primären Schirm verschoben
3) Beim Resize flackert der Explorer erstmal; seine Breite wird erstmal ziemlich aufgeblasen, bevor er auf die gewünschte Größe schrumpft (sieht man ja auch im Code)
Als Wünsche (bzw. Optimierungsmaterial ) hätte ich anzumelden:
a) Beim Resize nicht nur die Spalten berücksichtigen sondern auch evtl. Ordneransichten u.ä., so dass das Fenster tatsächlich so schmal wird wie möglich, aber nicht weniger
b) Höhenanpassung und Positionierung nur optional ändern, d.h. am besten am Anfang des Skripts zwei Parameter definieren, über die man das Verhalten steuern kann.
Trotz allem "Gemeckere": ich find Deine Idee ziemlich gut. Hast Du schon mal dran gedacht, das als Extension für ac´tivAid aufzubereiten?
Viele Grüße,
Rob |
|
| Nach oben |
|
 |
RobOtter
Anmeldedatum: 21.03.2006 Beiträge: 42 Wohnort: Darmstadt
|
Verfasst am: Di März 21, 2006 5:25 pm Titel: |
|
|
Sorry, ich war im deutschen Forum noch kein Mitglied, ist jetzt nachgeholt. Das obige Posting ist von mir!
halweg, ich habe gerade in einem anderen Thread gesehen, dass Du auch ein Zweischirm-System einsetzt. Da Du Dein Skript bestimmt auch damit getestet hast (Der Code enthält ja auch das "COORDMODE" statement) und kein Problem gesehen hast, wollte ich Dir evtl. mühseliges Problemsuchen ersparen:
Mein System ist so eingestellt, dass der primäre Bildschirm _rechts_ vom sekundären steht, was u.U. (=nicht geprüft) zu negativen Koordinaten und damit zu dem oben beschriebenen Verhalten führen könnte.
Viele Grüße,
Rob _________________ Ich sag doch gar nichts, ich red ja nur... |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 21, 2006 6:05 pm Titel: |
|
|
Hallo Rob (einloggen vergessen ),
danke zunächst für dein Interesse.
| Anonymous hat Folgendes geschrieben: | 1) Bei meinem Windows (XP Pro, SP2, deutsch) musste ich die Zeile
| Code: | | IFNOTEQUAL, fenstertyp, CabinetWClass, Exit |
ersetzen durch
| Code: | | IFNOTEQUAL, fenstertyp, ExploreWClass, Exit |
sonst wurde das Skript direkt abgebrochen. | Das ist interessant. Zu ExploreWClass-Fenstern komme ich (gleiches OS) nur, wenn ich explorer.exe an der Einabeaufforderung starte. Beim Klicken auf Links am Desktop oder andere Direktaufrufe über Verzeichnisnamen kommt immer ein CabinetWClass-Fenster. Aber das lässt sich ja abfangen ...
| Anonymous hat Folgendes geschrieben: | 2) Ich bin immer ein ekliger Tester bei GUI-Geschichten, weil ich grundsätzlich ein Zweischirm-System einsetze. Und: das Fenster wird immer auf den primären Schirm verschoben  | Das hab ich bewusst so gemacht. Meine eigene Variante des Skripts (s. nächster Beitrag) ist da spezifischer und berücksichtigt ein Zweibildschirmsystem wie ich selbst es habe. Ich hab mich entschlossen auch diese Variante als beispielhafte Umsetzung hier zu posten, auch wenn sie nicht direkt nachnutzbar ist.
| Anonymous hat Folgendes geschrieben: | | 3) Beim Resize flackert der Explorer erstmal; seine Breite wird erstmal ziemlich aufgeblasen, bevor er auf die gewünschte Größe schrumpft (sieht man ja auch im Code) | Ja, da hab ich auch noch keine Alternative gefunden. Ich muss, wenn ich die Breite der Spalten messen will, das Fenster zwischenzeitlich maximieren
| Anonymous hat Folgendes geschrieben: |
a) Beim Resize nicht nur die Spalten berücksichtigen sondern auch evtl. Ordneransichten u.ä., so dass das Fenster tatsächlich so schmal wird wie möglich, aber nicht weniger
b) Höhenanpassung und Positionierung nur optional ändern, d.h. am besten am Anfang des Skripts zwei Parameter definieren, über die man das Verhalten steuern kann. | Ich hab nicht unbedingt den Ehrgeiz, hier ein universell verwertbares Skript zu posten. Ich denke, dass müsste, um unter verschiedenen Umgebungen und entsprechend verschiedener Nutzerwünsche zu funktionieren, mindestens doppelt so groß sein. Dafür reicht meine Zeit momentan nicht.
| Anonymous hat Folgendes geschrieben: |
Hast Du schon mal dran gedacht, das als Extension für ac´tivAid aufzubereiten? | Eher nicht (s.o.). Aber was ist eigentlich ac´tivAid 
Zuletzt bearbeitet von halweg am Di März 21, 2006 6:43 pm, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 21, 2006 6:37 pm Titel: |
|
|
Da hatten wir uns überlappt ...
Hier mal die für meine Verhältnisse angepasste Variante. Sie ist so natürlich nicht direkt nachnutzbar. Bei mir ist links ein 1280x800 Bildschirm (Primär) und rechts ein 1280x1024 Bildschirm (sekundär). Der Rechte ist horiziontal zentriert gegenüber dem Linken, so dass dort negative Koordinaten bei soll_y auftreten können. Da aber die Positionierung relativ zu den aktuellen Mauskoordinaten passiert, merkt das das Skript gar nicht.
Als Feature ist noch realisiert, dass ein Nicht-Explorerfenster (jetzt beide Typen erkannt) auf den Bildschirm, wo die Maus sich gerade befindet, verschoben und in der Größe angepasst wird. Auch sehr komfortabel
Die Berücksichtung geöffneter Ordnerbäume (die ich selbst kaum verwende) ist aber noch nicht drin. Wäre aber nur ein Problem der Erkennung, ob ein Treeview aktiv ist: einfach 2 oder 3 zu nspalten_liste addieren.
| Code: | ; Explorer-Fensteroptimierung - Variante für zwei Bildschirme
; Bildschirm links: 1280x800, Bildschirm rechts: 1280x1024
; Dieses Skript hat folgende Funktionen
; 1. Einstellen der Detailansicht im Explorer (deutsche Tastenfolge)
; 2. Optimieren der Spaltenbreite
; 3. Einstellen der Größe ds Explorerfensters entsprechend seinem Inhalt
; 4. Positionierung des angepassten Fensters am aktuellen Mauscursor
; 5. Nicht-Explorerfenster werden in dem Bildschirm, wo sich die Maus befindet,
; verschoben und in der Größe dem Bildschirm angepasst
; by Halweg, Thx to BoBo
#y:: ; Noch besser ist hier irgendein "umgebogener" Mausklick
COORDMODE, MOUSE, SCREEN ;*** Mouse Position at absolute screen coordinates:
MOUSEGETPOS, maus_x, maus_y
WINGETCLASS, fenstertyp, A
IF (fenstertyp = "CabinetWClass" OR fenstertyp = "ExploreWClass") ; Exlporerfenster optimieren
{
SEND, !ad^{NUMPADADD} ;*** Details anzeigen und Spaltenbreite optimieren (deutscher Explorer)
WINMOVE, A, , 150, 50, 1100 ;*** temporär breites Fenster fürs Spaltenzählen einstellen
; 1100 - maximal mögliche Breite eines Fensters auf dem Bildschirm
CONTROLFOCUS, SysListView321, A
;*** Position der Spaltenköpfe ermitteln und dort nach Separatoren suchen
CONTROLGETPOS, x_liste, y_liste,,, SysListView321, A
CONTROLGET, nspalten_liste, LIST, COUNT COL, SysListView321, A
CONTROLGET, nzeilen_liste, LIST, COUNT, SysListView321, A
x_suche := x_liste + 4
y_suche := y_liste + 5
n_spalte := 0
LOOP, 1095 ;*** Suche über die ganze Fensterbreite
{
x_suche ++
PIXELGETCOLOR, pixelfarbe, x_suche, y_suche
IFEQUAL, pixelfarbe, 0xFFFFFF ;*** Spaltenseparator gefunden
{
n_spalte ++
IFEQUAL n_spalte, %nspalten_liste%, BREAK
}
}
;*** Ermitteln der Fenstergröße und Position
soll_breite := x_suche - x_liste + 27 ;*** Scrollbalken berücksichtigen
soll_hoehe := nzeilen_liste * 17 + 130
soll_x := maus_x - 10 ;*** Fensterbeginn links vor der Maus!
soll_y := maus_y - 110 ;*** Fensterbeginn oben etwas über der Maus!
IF (soll_hoehe < 200) ;*** Fenster nicht zu niedrig
soll_hoehe := 200
IF soll_x < 1280 ;*** Fenster soll auf linken Bildschirm
{
IF (soll_hoehe > 750) ;*** Fenster nicht zu hoch
soll_hoehe := 750
IF (soll_y + soll_hoehe > 790) ;*** Fenster nicht unten überlappen
soll_y := 790 - soll_hoehe
IF (soll_x + soll_breite > 1270) ;*** Fenster nicht rechts überlappen
soll_x := 1270 - soll_breite
}
ELSE ;*** Fenster soll auf rechten Bildschirm
{
IF (soll_hoehe > 1000) ;*** Fenster nicht zu hoch
soll_hoehe := 1000
IF (soll_y + soll_hoehe > 917) ;*** Fenster nicht unten überlappen
soll_y := 917 - soll_hoehe
IF (soll_x + soll_breite > 2550) ;*** Fenster nicht rechts überlappen
soll_x := 2550 - soll_breite
}
WINMOVE, A, , soll_x, soll_y, soll_breite, soll_hoehe
}
ELSE ;*** anderes Fenster optimieren
{
IFLESS, maus_x, 1280, WINMOVE, A, , 150, 50, 1120, 740
ELSE WINMOVE, A, , 1300, -60, 1200, 950
}
RETURN |
|
|
| Nach oben |
|
 |
RobOtter
Anmeldedatum: 21.03.2006 Beiträge: 42 Wohnort: Darmstadt
|
Verfasst am: Mi März 22, 2006 12:06 pm Titel: |
|
|
Hi!
Danke für Deine Anpassungen und Erklärungen. Wenn einiges, was ich ändern würde, "by intention" ist, kann ich natürlich nix dagegen sagen
Bevor ich auf einige technische Punkte eingehe hier noch kurz, was ac´tivAid ist:
Vor einiger Zeit hat Wolfgang Reszel (besonders im englischen Forum unter "tekl" wohlbekannt) ein in AHK geschriebenes Plugin-System unter dem Namen "ac´tivAid" in der Zeitschrift c`t vorgestellt.
Das Ding ist wirklich klasse: ac´tivAid stellt im Prinzip ein Framework bereit für spezialisierte Plugins, die jeweils eine bestimmte Aufgabe erfüllen, z.B. neue Verzeichnisse (samt Unterverzeichnissen) anlegen, Mediaplayer steuern, Textbausteine definieren, ein persistentes Notizzettelchen, Dictionary- und Thesaurusabfragen übers Internet im Tooltip und und und... Alle diese Funktionen lassen sich über konfigurierbare Hotkeys aufrufen und man kann über ein gut dokumentiertes Template recht einfach sein eigenes Plugin (heisst dort Extension) schreiben.
Du findest die c`t-Anlaufstelle unter http://www.heise.de/ct/ftp/05/22/210/ und tekl´s Bugtracking-System (in dem man auch Wünsche äußern kann) unter http://activaid.rumborak.de
Super Sache, wirklich!
Indem man dieses Plugin-System benutzt, kann man seine Skripte bzw. Lösungen natürlich viel leichter einer größeren Anwenderschar zur Verfügung stellen. Wenn Du allerdings nicht den Ergeiz zu einem universell verwendbaren Skript hast, dann wirst Du wohl keine Extension entwickeln, oder?
So, nu aber zur Technik:
1) ExploreWClass: Die Erklärung ist wohl, dass ich den Explorer immer über eine Verknüpfung starte - die Kommandozeile dazu lautet bei mir | Code: | | %windir%\Explorer.exe /e,C:\ |
2) Spaltenbreite ermitteln:
Ich habe mal im englischen Forum (wo ja doch erheblich mehr Traffic ist als hier) nach "list column width" gesucht und ziemlich schnell eine Lösung gefunden (http://www.autohotkey.com/forum/viewtopic.php?t=6507). Damit kannst Du Dir das Verbreitern sparen, ebenso die ganze PixelGetColor-Geschichte und erhälst ganz nebenbei die Breite jeder einzelnen Spalte. Außerdem erhält man wirklich die echte Breite ohne den evtl Leerraum am rechten Rand. Ich hab das mal für Dein Skript angepasst:
| Code: | ControlGet, myCols, List, COUNT COL, SysListView321, A
width_c0 = 0
Loop %myCols%
{
thisCol := A_Index - 1
SendMessage, 0x1000+29, %thisCol%, 0, SysListView321, A
width_c0 := width_c0 + ErrorLevel
}
MsgBox, Summe: %width_c0%
|
Der Trick ist, dass man diese SendMessage Nummer kennen muss...
Viele Grüße,
Rob _________________ Ich sag doch gar nichts, ich red ja nur... |
|
| Nach oben |
|
 |
Gast
|
Verfasst am: Mi März 22, 2006 1:13 pm Titel: |
|
|
Danke erst mal,
werd ich heute abend mal ausprobieren. |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Mi März 22, 2006 1:15 pm Titel: |
|
|
Diesmal war ich der Gast |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Do März 23, 2006 12:07 am Titel: |
|
|
Also, ich habs probiert und es klappt. Der Code wurde einfacher und das zwischendurch-Fenster-groß-machen ist weg.
Mit dem SendMessage kann ich mich trotzdem nur schwer anfreunden. Für die ganzen Befehle kann man ja glatt ein eigenes Unterforum aufmachen. Die Doku dazu ist jedenfalls sehr bescheiden.
Das mit dem ac´tivAid hab ich mir mal angeschaut. Ich muss aber sagen, das der Nutzwert der dort integrierten Funktionen mir momentan keine einzige Taste wert wäre. Ich nutze AHk für sehr weitgehende komplexere Aufgaben, die meinem Nutzungskontext entsprechen und mir wirklich viel Tipperei abnehmen. Allerdings kann man den Ac'tivAid-Skripten nützliche Codeideen zum Weiterbasteln entnehmen.
Mein Problem (neben dem Optimieren von Skripten, s. o.) ist eher, alle die Progrämmchen und Shortcuts so zu organisieren, dass man sie sich noch merken kann.
Hier nun die angepasste/optimierte Variante des Exlporerfensterskripts. Nach wie vor nur eine konkrete Ausprägung für meine Konfiguration.
| Code: | ; Explorer-Fensteroptimierung - Variante für zwei Bildschirme
; Bildschirm links: 1280x800, Bildschirm rechts: 1280x1024
; Dieses Skript hat folgende Funktionen
; 1. Einstellen der Detailansicht im Explorer (deutsche Tastenfolge)
; 2. Optimieren der Spaltenbreite
; 3. Einstellen der Größe ds Explorerfensters entsprechend seinem Inhalt
; 4. Positionierung des angepassten Fensters am aktuellen Mauscursor
; 5. Nicht-Explorerfenster werden in den Bildschirm, wo sich die Maus befindet,
; verschoben und in der Größe dem Bildschirm angepasst
; by Halweg, Thx to BoBo, RobOtter
#y:: ; Noch besser ist hier irgendein "umgebogener" Mausklick
COORDMODE, MOUSE, SCREEN ;*** Mouse Position at absolute screen coordinates:
MOUSEGETPOS, maus_x, maus_y
WINGETCLASS, fenstertyp, A
IF (fenstertyp = "CabinetWClass" OR fenstertyp = "ExploreWClass") ; Exlporerfenster optimieren
{
SEND, !ad^{NUMPADADD} ;*** Details anzeigen und Spaltenbreite optimieren (deutscher Explorer)
CONTROLGET, nspalten_liste, LIST, COUNT COL, SysListView321, A ;*** Anzahl Spalten ermitteln
CONTROLGET, nzeilen_liste, LIST, COUNT, SysListView321, A ;*** Anzahl Zeilen ermitteln
spalten_breite = 0
LOOP, %nspalten_liste% ;*** Zu jeder Spalte mit seltsamen SENDMESSAGE-Befehl
{ ; die Breite ermitteln und summieren
akt_spalte := A_INDEX - 1
SENDMESSAGE, 0x1000+29, %akt_spalte%, 0, SysListView321, A
spalten_breite := spalten_breite + ErrorLevel
}
;*** Ermitteln der Fenstergröße und Position
soll_breite := spalten_breite + 30 ;*** Scrollbalken berücksichtigen
soll_hoehe := nzeilen_liste * 17 + 130 ;*** Symbolleisten und Reserve berücksichtigen
soll_x := maus_x - 10 ;*** Fensterbeginn etwas links vor der Maus
soll_y := maus_y - 110 ;*** Fensterbeginn oben etwas über der Maus
IF (soll_hoehe < 200) ;*** Fenster nicht zu niedrig
soll_hoehe := 200
IF soll_x < 1280 ;*** Fenster soll auf linken Bildschirm
{
IF (soll_hoehe > 750) ;*** Fenster nicht zu hoch
soll_hoehe := 750
IF (soll_y + soll_hoehe > 790) ;*** Fenster nicht unten überlappen
soll_y := 790 - soll_hoehe
IF (soll_x + soll_breite > 1270) ;*** Fenster nicht rechts überlappen
soll_x := 1270 - soll_breite
}
ELSE ;*** Fenster soll auf rechten Bildschirm
{
IF (soll_hoehe > 1000) ;*** Fenster nicht zu hoch
soll_hoehe := 1000
IF (soll_y + soll_hoehe > 917) ;*** Fenster nicht unten überlappen
soll_y := 917 - soll_hoehe
IF (soll_x + soll_breite > 2550) ;*** Fenster nicht rechts überlappen
soll_x := 2550 - soll_breite
}
WINMOVE, A, , soll_x, soll_y, soll_breite, soll_hoehe
}
ELSE ;*** anderes Fenster optimieren
{
IFLESS, maus_x, 1280, WINMOVE, A, , 150, 50, 1120, 740
ELSE WINMOVE, A, , 1300, -60, 1200, 950
}
RETURN |
|
|
| Nach oben |
|
 |
RobOtter
Anmeldedatum: 21.03.2006 Beiträge: 42 Wohnort: Darmstadt
|
Verfasst am: Mo März 27, 2006 9:49 am Titel: |
|
|
Hi!
Ich habe das ganze jetzt mal als ac´tivAid-Erweiterung umgesetzt und an Tekl geschickt. Bis auf die Positionierung am Mauszeiger sind alle Deine Funktionen (und ein paar Optionen mehr) enthalten.
Weil das hier ja aber kein activAid-Forum ist, poste ich die Sourcen hier nicht. Falls es Dich interessiert (ich weiß ja, dass Du activAid nicht einsetzt) und mir Deine Email-Adresse als PM schickst, maile ich Dir das Plugin gerne zu.
Viele Grüße,
Rob _________________ Ich sag doch gar nichts, ich red ja nur... |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 28, 2006 7:49 am Titel: |
|
|
Hallo Rob,
danke für das Skript. Ist schon beeindruckend, wie sich nur durch die professionelle Aufbereitung für einen breiten Nutzereinsatz die Codezeilenzahl bei fast identischer Funktionalität verzehnfacht (aus 59 Zeilen wurden 584). Und das scheint noch nicht mal alles zu sein (wenn ich das Skript starten will, fehlt eine Funktion func_GetMonitorNumber() - bestimmt irgendeine ac'tivAid Geschichte).
Ich hab diesen Weg (vom Funktionsmuster zur weitergebbaren Software) aber früher auch ein paar mal durchmachen dürften. Das ist ein hartes Stück Arbeit.
Nun müsste der potentielle Nutzer nur noch eine Maustaste freihaben (aus meiner Sicht macht das das Skript erst richtig sinnvoll). Wär doch auch mal ne Idee: ein ac'tivAid Baukasten zur flexiblen Mausbenutzung
(vier-Tasten-Maus - Einstiegsvoraussetzung ) |
|
| Nach oben |
|
 |
RobOtter
Anmeldedatum: 21.03.2006 Beiträge: 42 Wohnort: Darmstadt
|
Verfasst am: Di März 28, 2006 10:20 am Titel: |
|
|
| halweg hat Folgendes geschrieben: | | Und das scheint noch nicht mal alles zu sein (wenn ich das Skript starten will, fehlt eine Funktion func_GetMonitorNumber() - bestimmt irgendeine ac'tivAid Geschichte). |
Ja, das ist eine aA-Funktion. Vermutlich musst Du ein Update auf die aktuelle Version durchführen (über den Konfig-Dialog von aA)
| Zitat: | Nun müsste der potentielle Nutzer nur noch eine Maustaste freihaben (aus meiner Sicht macht das das Skript erst richtig sinnvoll). Wär doch auch mal ne Idee: ein ac'tivAid Baukasten zur flexiblen Mausbenutzung
(vier-Tasten-Maus - Einstiegsvoraussetzung ) |
Ja, da geb ich Dir Recht... Ich habe das bei mir so geregelt, dass meine Maus auf Taste 5 eine Tastenkombination sendet - genau die, die für die Erweiterung eingestellt ist. Aber das hat natürlich nix mehr mit aA zu tun...
Ich habe als Antwort von Tekl auch schon ein paar Anregungen bekommen, um das Ding noch weiter konfigurierbar zu machen. Damit wird die Zeilenzahl noch mal steigen
Programmieren wäre so schön, wenn die lästigen User nicht wären  _________________ Ich sag doch gar nichts, ich red ja nur... |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 28, 2006 11:27 am Titel: |
|
|
| RobOtter hat Folgendes geschrieben: | Programmieren wäre so schön, wenn die lästigen User nicht wären  |
... und die Softwareprüfer  |
|
| Nach oben |
|
 |
halweg
Anmeldedatum: 05.01.2006 Beiträge: 846 Wohnort: Dresden
|
Verfasst am: Di März 28, 2006 2:02 pm Titel: |
|
|
| RobOtter hat Folgendes geschrieben: | | Ja, da geb ich Dir Recht... Ich habe das bei mir so geregelt, dass meine Maus auf Taste 5 eine Tastenkombination sendet - genau die, die für die Erweiterung eingestellt ist. |
Mir fällt auf, dass du die erweiterten Maustasten auch über eine eingestellte Tastenkombination abfängst. Bei mir (Intellipoint Treiber von Microsoft) funktioniert es auch nur so. Nix mit XButton usw.
Allerdings hab ich es inzwischen hinbekommen, dass ich die Extra Tasten auch mit Mehrfachklick und Dauerklick per AHK ausgewertet bekomme. So hat meine Daumentaste inzwischen 5 Fensterfunktionen (Schließen, Speichern, Optimieren, Nicht Speichern, ...) Die ist viel zu schade, um nur für den Explorer da zu sein.  |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|