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
Der Bugtracker wurde aus Sicherheitsgründen abgeschaltet, diese Website dient nur noch als statisches Archiv. |
||
Willkommen beim Bugtracker zu ac'tivAid. Ac'tivAid ist ein AutoHotkey-Skript, welches zuletzt in c't 12/08 ausführlich vorgestellt wurde. 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. |
FS#908 - ComfortResize / WindowShrinker zusammenfassung, umstrukturierung
Angelegt Tom Krumpschmid (mitom2) - Freitag, 04. Mai 2007 - 03:25
Zuletzt bearbeitet von Michael (Michael) - Mittwoch, 24. Oktober 2007 - 12:16
|
BeschreibungSchweregrad: Hoch → hierbei ist die vermutliche schwierigkeit der technischen umsetzung gemeint. als ich mir die derzeitige datei zu ComfortResize angesehen habe (und ich mich absolut nicht auskannte), habe ich vermutet, dass die usetzung meiner idee vermutlich ein kompletes neuschreiben des skripts zur folge haben könnte. sollte “Schweregrad” etwas anderes bedeuten, so bitte auf richtigen wert ändern. unter allen ideen, die ich bisher zu activaid hatte ist diese die älteste, umfangrechste, aufwändigste, komplizierteste, aber auch sinnvollste.
der grund, warum ich mir diese änderungen ausgedacht Idee zur Kombination von ComfortResize und WindowsControl BILD 1: http://www.bilder-upload.eu/show.php?file=0sP7BynLZDToThq.JPG BILD 2: http://www.bilder-upload.eu/show.php?file=93FY163bCyTaSHW.JPG BILD 3: http://www.bilder-upload.eu/show.php?file=YgiORqmWZtPE7j8.JPG (irgendwo in einem vorschlag hier habe ich von bilder-upload.eu gelesen. mein herzlichster dank für diese tolle idee - an wen auch immer)
Es können beliebig viele Raster erstellt werden. Beschränkung der Anzahl auf Anzahl der Tastenkombinationen oder auf Anzahl der unterscheidbaren Abgesehen von den Relativwerten sollten ebenfalls die bisherigen Funktionen von Comfort Resize (z.b. fixe Fenstergröße von 800 * 600 Pixeln) unterstützt werden. Dies wird hier aber nicht genauer beschrieben. Im Groben würde ich hierbei die Vorgehensweise so definieren: Im Unterschied zur anderen Funktion wird eine andere Funktionstaste verwendet (z.B. ALT). Siehe Bild 3 Optionale Auswahl der Ecke in die skaliert werden soll (links oben = Bild 3, rechts oben, links unten, rechts unten).
1. Raster: Jedes Raster kann frei definiert werden. Es existieren diverse Standardrasterformen, die ebenfalls ausgewählt werden können. Beispiele für Raster: (es bleibt zu hoffen, dass meine leerzeichen beim absenden nicht verschwinden; falls doch: auf BILD 1 ist in etwa zu sehen, wie ich es gemeint habe) 1.: +-----------+-----------+ | | | | | | | | | | 1/2 | 1/2 | | | | | | | | | | +-----------+-----------+ 2. +-----------------------+ | | | 1/2 | | | +-----------------------+ | | | 1/2 | | | +-----------------------+ 3. +-----------+-----------+ | | | | 1/2 | 1/2 | | | | +-----------+-----------+ | | | 1/1 | | | +-----------------------+ 4. +-----------+-----+-----+ | | 1/4 | 1/4 | | 1/2 X +-----+-----+ | | 1/4 | 1/4 | +-------+---+--+--+-----+ | | | | | 1/3 | 1/3 | 1/3 | | | | | +-----------------------+ Die Raster bleiben Aktiv, jedoch im Hintergrund. Je nach Auswahl werden die Raster nicht angezeigt oder bei betätigen der Funkitonstaste (z.B. STRG) angezeigt. Bei drücken der Aktionstaste (z.B. Numpad-3) wird folgender Prozess ausgelöst: In diesem Beispiel befindet sich die Maus am “X” in Rasterbeispiel 4.
Falls die Änderung der Fenstergröße aus Punkt 8 erfolgreich war - einige Fenster haben mindestgrößen, die diese Funktion deaktivieren können - so ist die rechte untere Ecke des Fensters auf genau der rechten unteren Ecke des Teils des Rasters in dem sich die Maus in Punkt 2 befand (640 horizontal, 482 vertikal).
Mehrere Funktionstaste: STRG (die funktionstaste muss bei allen die selbe sein, damit die Kombination aus Funktionstaste und Aktionstaste die gewünschte Aktion ausführen kann und damit alle Raster gleichzeitig angezeigt werden. 1.: Farbe: ROT, Form 1, Aktionstaste Numpad-0 2.: Farbe: BLAU, Form 3, Aktionstaste: Numpad-1 3.: Farbe: GELB, Form 4, Aktiontaste: Numpad-3
ALLE ausgewählten Raster sind gleichzeitig aktiv, Da der Teil des Rasters in dem sich die Maus befindet in Rasterbeispiel 3 und 4 identisch ist, wäre es demnach egal, ob man im oberen Beispiel STRG+Numpad-1 oder STRG+Numpad-3 Beim Loslassen der Funktionstaste ohne drücken einer Aktionstaste werden alle Raster wieder ausgeblendet ohne dass die Position geändert wird. selbiges passiert beim Drücken der Aktionstaste. = BILD 2; Die Raster werden ebnefalls wieder ausgeblendet, doch vorher werden Größe und Position geändert.
Betrifft Weiters sollten die Namen der Tasten zum Auslösen der jeweiligen Raster in der Farbe der Raster eingeblendet werden, sobald die Raster eingeblendet werden - Siehe Bild 1. Wenn möglich nicht genau so wie im Bild. etwas kleiner wäre besser, aber meine zeichnerischen Fähigkeiten reichen nicht an meine Vorstellungskraft heran. Die Stärke der Linien sollte man variieren können (im Beispiel BILD 1 sind es 3 pixel). Die Rastrerlinien sollten so angeordnet sein, dass sie immer außerhalb des vorherigen Rasterteils sind - jeweils rechts davon bzw. unterhalb. Deshalb sieht man auch keine Rasterlinien am rechten Rand und die Rasterlinien am unteren Rand befinden sich über der Taskleiste. Da man in der Taskleiste keine Fenster Positionieren können soll ist sie als außerhalb des Desktops bzw. der Raster definuert. Wäre die Taskleiste ausgeblendet, so wäre die untere Linie auf BILD 1 nicht zu sehen. Wer bis hierher keine Probleme mit dem Verständnis hatte, kann sich noch Gedanken über einige umständlichere Verbesserungen machen:
CU TOM |
ok, das mit den leerzeichen war wohl nix.
praktischerweise läßt sich das problem hiermit lösen.
BILD 4: http://www.bilder-upload.eu/show.php?file=bWC2cSbEIWkKIxP.JPG
CU TOM
betrifft anders als oben geschrieben zukünftige versionen.
ich sollte wegen activaid nicht so viele nächte durchmachen.
CU TOM
Hammer. Da hast du dir ja ordentlich Gedanken gemacht. Leider fehlt mir etwas die Zeit deine Ausführungen genauestens nachzuvollziehen. So wie es sich anhört ist es aber bei der Komplexität nicht sonderlich intuitiv. Ich denke, man müsste da etwas anders Rangehen. An benutzerdefinierte Raster habe ich auch schon mal gedacht, da Windows ja generell schon gewisse Raster anbietet (Taskleiste, mehrere Bildschirme). Bis jetzt war mir das aber zu komplex. Schließlich gibt’s noch viele andere Dinge bei ac’tivAid zu tun. Ich werde mir das ganze aber nochmal in ruhiger Stunde zu Gemüte führen.
solltest du eine idee haben wie du da “anders” rangehn willst gib mir nur bescheid. eventuell kann ich alternative möglicheiten entwickeln. ich habe an der idee ca. ein monat lang gesessen (immer wieder probleme entdeckt, die behoben werden mussten). dass du etwas zeit brauchen wirst war mir klar.
kleiner tipp: lade dir die bilder 1 und 2 auf den pc, betrachte sie mit irfanview im vollbidmodus und wechsle öfter zwischen ihnen hin und her. das erleichtert das vorstellen immens.
das ding hat keine eile, ich wollte sowieso erst mehrere eindrücke von verschiedenen usern haben.
CU TOM
Als ich darüber nachgedacht hatte, kam mir das eher so in den Sinn:
Standardmäßig hat Windows ja ein WorkArea oder ggf. mehrere je Bildschirm. Ich dachte daran, dass man diese WorkAreas um eigene ergänzen kann bzw. den Standard-WorkArea bearbeiten und Teilen kann. Ich wollte das über Fenster realisieren. Also zu Beginn hat man nur ein Fenster was den Bildschirm exklusive der Taskleiste bedeckt (Bild 1). Nun kann man dieses Fenster an allen Seiten skalieren, um den WorkArea zu verändern. Man kann dieses Fenster horizontal oder vertikal teilen, was dann effektiv zu zwei aneinander liegenden Fenstern führt (Bild 2), welche sich wiederum teilen lassen (Bild 4). Hat man also den WorkArea in zwei nebeneinander liegende Teile zerteilt, kann man nun z.B. den linken Teil an der rechten Seite mit der Maus skalieren. Dabei wird dann automatisch der linke Teil des rechten WorkAreas mit verändert (Bild 2 → Bild 3).
So WorkAreas wären einfacher zu verwalten als Hilfslinien, zumal ich mich dann auch nicht mehr um die Mausverwaltung für das Skalieren kümmern muss, da das Windows erledigt. Die Fenster würde dann noch ein Feld für die Benennung bekommen und Schaltflächen zum Löschen und Teilen des Bereichs.
Ich würde das Grundkonzept (Verarbeitung benutzerdefinierter Areas) auch in direkt ac’tivAid integrieren, damit alle Erweiterungen davon profitieren können.
ComfortResize würde ich um ein Kürzel verändern, um Fenster in die einzelnen Areas verschieben zu können, also dass die Fenster auch direkt die entsprechende Größe erhalten. Zudem sollte es Kürzel geben, um ein Fenster in angrenzende Areas zu verschieben, womit sich automatisch auch die MultiMonitor-Geschichte erledigt wäre.
Die Areas würden zudem in Profilen abgelegt werden, so dass jede Auflösung und Monitorkonstellation eigene Areas hat.
soweit ich das verstanden habe orientierst du dich grob am goldenen schnitt.jeder belebige teil läßt sich grundsätzlich unendlich oft in zwei hälften teilen.
angenommen ein fenster im volbildmodus erstreckt sich über den gesamten desktop (abgesehen von der taskleiste).
du erstellst in der mitte des desktops eine vertikale oder horizontale (oder beides) trennung und entscheidest, in welchen teil das vorhandene (bei mehreren: aktive) fenster im windowed-modus verschoben werden soll.
optionen: halbiere horizontal, verschiebe nach oben halbiere horizontal, verschiebe nach unten halbiere vertikal, verschiebe nach links halbiere vertikal, verschiebe nach rechts viertle, verschiebe nach links oben viertle, verschiebe nach rechts oben viertle, verschiebe nach links unten viertle, verschiebe nach rechts unten
sofern du das ziel per GetMousePos ausliest blieben folgende optionen übrig: halbiere horizontal, verschiebe zu Cursor halbiere Vertikal, verschiebe zu Cursor viertle, verschiebe zu Cursor
wenn ich das prinzip mal auf meinen desktop übertrage wäre das in etwa so: viertelung, Firefox nach rechts-oben, cinergydVR nach rechts-unten (da Comfortresize nur das aktive fenster sofort ausrichtet, kann ich bestimmen, wo firefox hin soll. sämtliche anderen fenster muss ich extra zuweisen.) Speedfan kommt nach links unten, der explorer nach links oben.
danach wird noch jede vertikale trennlinie so verschoben, dass die rechten programme mehr platz haben.
das verschieben der raster-trennlinien hat gleichzeitig zur folge, dass sämtliche angrenzenden fenster ebenfalls behandelt werden und ihre jeweilige größe sich mitändert. also würde man in einem in vier teile gesplitteten raster das trennkreuz diagonal verschieben, so ändert sich die größe aller fenster - ob aktiv/inaktiv, sichtbar/verdeckt.
führt man den Cursor an den punkt, an dem sch zwei oder mehr fenster treffen, so wird automatich ein verschieben-Cursor aktiv, der jedoch nicht eines der Fenster verschiebt, sondern die unterteilung des rasters, welcher dann intern simuliert die größe aller betreffenden fenster simultan ändert.
war mein gedankengang soweit richtig?
CU TOM
Nein, hat damit nicht viel zu tun.
Ja, aber das ist nur eine Ausgangssituation, die Hälften lassen sich skalieren. Das ist eigentlich wie mit Tabellen in Webeditoren oder Word.
Das wäre ja umständlich, wenn man das öfter machen muss. Meine Idee war, vorab ein Grundraster zu erstellen. An diesem Raster orientieren sich dann ComfortResize und WindowsControl. Will man das Fenster in die obere linke Kachel setzen, verschiebt man es z.B. mit gedrückter Windows-Taste und je nachdem in welcher Kachel sich der Mauspfeil befindet, wird das zu verschiebende Fenster in die Kachel ‘gequetscht’.
Verstehe nicht ganz, hört sich umständlich an. Vierteln ist mit WindowsControl übrigens jetzt schon möglich: Strg+Alt+Win+Hoch und dann Strg+Alt+Win+Rechts
Es ging mir nicht um Vierteln/Halbieren, sondern um flexible Bereiche. Das Halbieren ist halt nur eine Möglichkeit, um mehrere Bereich zu erstellen. Bei Hilfslinien gäbe es zu viele Sonderfälle und die Zuordnung wäre schwieriger, zudem wäre das interaktive Malen/Verschieben von Hilfslinien sehr aufwändig zu programmieren.
Da wäre evtl. eine Erweiterung denkbar, die erscheinende Fenster automatisch in einen festgelegten Bereich verschiebt.
Mit meinem Vorschlag würde man schon vorab 6 Bereiche erstellt haben. (Bild 1)
Wenn die Sache nicht so intelligent aufgebaut wird, ergäbe sie auch kaum Sinn.
Du meinst man arbeitet wie gewohnt, nur das beim Skalieren von Fenstern angrenzende Fenster angepasst werden?
In Teilen ja.
Windows explorer: läßt sich im maximiert-modus nicht durch klicken und ziehen an der titelleiste verschieben. gilt eigentlich für sämtliche fenster im maximiert-modus. nicht skalierbare fenster (z.b. speedfan) lassen sich mit derzeitigem “WindowsControl” nicht in eine ecke zwingen. in meinem BILD 2 http://www.bilder-upload.eu/show.php?file=93FY163bCyTaSHW.JPG ist zu erkennen, dass “Centrino Hardware Control” (ebenflls nicht mit “WindowsControl” zu bedienen) nicht ganz in der ecke sitzt. man kann ein wenig den dektop darunter sehen. win-taste drücken, fenster im windowed-modus ziehen, mausklick loslassen, win-taste loslassen = verschieben erfolgreich, startmenü öffnet sich. win-taste drücken, fenster im windowed-modus ziehen, win-taste loslassen = verschieben wird abgebrochen, startmenü öffnet sich. mausklick bleibt ohne funktion erhalten.
das ist der grund, warum ich die punkte 1-9 so umständlich beschrieben habe. das auslesen der mausposition scheint mir hierbei ein schlüsselelement zu sein.
es ging bei der auflistung um die grundsätzliche möglichkeit der variablen, die man mindestens braucht, wenn man zumindest ein fenster am desktop hat, dieses fenster verschieben will, in der ausgangsposition, die dein erstes Bid1.png ( http://activaid.rumborak.de/task/908?getfile=257 ) zeigt. war eher eine für mich gedachte auflistung,der verschiedenen hotkeys die man bräuchte, wenn man das ganze ohne auslesen der mausposition macht. deinen bildern zufolge nahm ich an, dass kein fixes raster per voreinstellung erstellt werden soll, sondern der user die individuell mögliche halbierung (mit anschließender möglichkeit zur größenänderung) im laufenden betrieb erstellt. daher auch die assotiation mit dem goldenen schnitt, beidem eine beliebige größe einfach halbiert wird und jeder teilbereich wieder halbiert werden kann usw.
das halbieren wäre meiner ansicht nach die standarddefinition. ich will z.b. keine stanarddefinition, bei der ich (ohne besnderes einstellen) ein fenster habe, welches 3/8 breit ist und daneben ein fenster welches 5/8 breit ist. die halbierung ist symetrisch und die meisen user würden sich damit wohlfühlen. die breite ändern kann man immernoch.
der bereich sollte wieder nur eine gedankenstütze sein für die anzahl der hotkeys die man im vergelcih zum oberen beispiel WENIGER bräuchte, wenn man die mausposition in die bestimmung des richtigen rasterberichs miteinfließen läßt.
speedfan beispielsweise ist im autostart VOR activaid angesiedelt, damit die lüfter möglichst rasch auf 35% runterdrehen und leiser werden. für danach erscheinende fenster könnte es nützlich sein, ich weiß aber nicht ob das die user wollen würden. daher habe ich den bereich der grundsätzlichen auto-verschiebng nicht angeführt sondern die option erwähnt, dass man bei ausblendender taskleiste oder geschwenktem display eventuell eine (halb)automatische neuanordnung durhführen kann.
es wären 8 (inklusive freiraum für die laufwerke) in genanntem beispiel wären nur 4 fenster aktiv (siehe mein Bild1 - falls es mit dem hochladen klappt, demnach auch nur 4 bereiche z beginn notwendig. mit
würde der firefox (wenn aktives fenster) in meinem aktuellen Bild1 gleich zu beginn nach rechts oben verschoben. die anderen 3 müsste ich noch individuell zuweisen, wa jeoch kein großer aufwand wäre.
ja, und zwar über den umweg der tatsache, dass jedes fenster fix seinem bereich zugewiesen wird. statt nun jedes fenster an die neue position anzupassen wird nur der raster angepasst/verschoben und danach (oder falls nicht zu aufwändg fürs system währenddessen) werden alle betroffenen fenster wieder so angepasst, dass sie wieder in ihrenjeweiligen raster passen.
bei programmen wie UltraISO (eventuell auch bei NERO) kann man alle vier bereiche gleichzitig anpassen. nach dem muster hab ich mir das vorgestellt.
CU TOM
Alder! Ihr seit ja krass!! Das liegt hier schon ne Weile drin. Raster hat ComfortResize auch. Wird hier noch was gemacht?
um es einfach auszudrücken:
ich habe nicht genug ahnung von autohotkey-skripten und Wolfgang hat vermutlich zuviel zu tun.
falls du eine der beiden möglichkeiten in einem skript realisieren kannst, dann bitte ich darum. dieses testskript sollte vorübergehend unabhängig von ComfortResize und WindowsControl arbeiten.
du kannst auch versuchen, beide varianten umzusetzen.
es können auch andere personen testskripte schreiben.
CU TOM
Die Sache hier habe ich natürlich nicht vergessen. Da es aber recht aufwändig ist und ich das grundlegend in ac'tivAid unterstützen möchte, wird sich das noch länger hinauszögern.
ehmm .. nur ne Zwischenfrage: Daß man Tasks in der Taskleiste mit Strg+Click markieren kann und dann mit Rechtsklick>Nebeneinander auch anordnen kann ist bekannt?