staging.inyokaproject.org

[Idee] Fenster-Resize mit mehr Möglichkeiten

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

PhotonX

Avatar von PhotonX

Anmeldungsdatum:
3. Juni 2007

Beiträge: 4471

Hallo Community,

ich bin kein großer Fan von Unity und all den neuartigen Desktops. Allerdings gibt es durchaus einige sehr nützliche Dinge, die diese Desktops mit sich bringen. Eine solche Sache ist die meiner Meinung nach sehr schöne Implementierung des Compiz-Plugins "Grid". Statt die Fenster via Shortcuts auszurichten ist es in Unity möglich sie durch Ziehen an einen Bildschirmrand zu platzieren. Dabei wird man auch noch durch einen interaktiven farbigen "Schatten" über die Platzierung informiert, bevor man die Maustaste loslässt. Ein Bild sagt ja bekanntlich mehr als tausend Wörter und ein Video mehr als tausend Bilder, hier also der aktuelle Stand der Dinge (der zumindest den Unity-Nutzern ja bekannt sein sollte): http://www.youtube.com/watch?v=KfvS3ep_eis

Ich finde dieses Konzept sehr gelungen aber durchaus ausbaufähig. Hier also ein Vorschlag für eine Verbesserung dieser Funktionalität.

1. Jede Bildschirmkante soll in zwei (vielleicht auch in mehrere, wenn sich eine sinnvolle Verwendung dafür findet) Bereiche unterteilt werden. Je nachdem, in welchem Bereich und an welcher Stelle sich der Kursor befindet, soll eine andere Aktion ausgeführt werden. Die Unterteilung in sensitive Bereiche könnte etwa so aussehen:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Natürlich soll diese Unterteilung nicht sichtbar sein.

2. Nehmen wir den oberen Bildschirmrand. Er ist in eine linke und eine rechte Hälfte unterteilt. Befindet sich der Kursor in der linken Hälfte, dann soll das Fenster mit der linken oberen Ecke in der entsprechenden Bildschirmecke positioniert werden. Die Position der rechten unteren Ecke (und somit die Fenstergröße) soll von der Kursorposition innerhalb des zugewiesenen Bereichs abhängen: Je weiter rechts der Kursor, um so breiter das Fenster:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Je weiter unten der Kursor umso höher das Fenster:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Die Fenstergröße soll natürlich beliebige Werte annehmen können, der animierte Schatten müsste also interaktiv der Bewegung des Kursors folgen.

3. Wenn der Kursor auf die Grenze zwischen den Bereichen (Mitte des reservierten Streifens) kommt, dann soll das Fenster die gesamte obere Bildschirmhälfte einnehmen:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Analog verhalten sich alle Bereichgrenzen:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Fährt der Kursor dann auf die rechte Hälfte des reservierten Streifens, dann wird die rechte obere Fensterecke in der entsprechenden Bildschirmecke fixiert und die linke untere Ecke wird durch die Kursorposition festgelegt:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

4. Die Grenzen der Bereiche sind dick, damit die aktuell möglichen (und tatsächlich sehr gebräuchlichen) Platzierungsmöglichkleiten, bei denen das Fenster gerade eine Bildschirmhälfte einnimmt, leicht zugänglich sind. Am schönsten wäre es, wenn der Kursor an diese Streifen "einrasten" könnte. Um auch die von "Grid" ermöglichten Positionierungen "ein Viertel des Bildschirms" zu ermöglichen, gibt es in den Bildschirmecken kleine Bereiche, die solch eine Positionierung ermöglichen:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

5. Mir ist keine gute Lösung eingefallen, um das Fenster zu maximieren. Eventuell ein kleiner Bereich innerhalb des oberen Trennstreifens:

Ungültiges Makro

Dieses Makro ist nicht verfügbar

Was würdet ihr von solch einer Funktionalität halten? Gibt es Kritik, Verbesserungsvorschläge? Ich kann die Idee leider nicht selbst umsetzen, aber wenn das Feedback positiv ausfallen sollte, dann wäre es vielleicht eine Überlegung wert, die Mockups bei Ubuntu Brainstorm oder im Launchpad (als Blueprint) zu posten.

MfG PhotonX

Bilder

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Ich kann dir auf jeden Fall sagen, dass sich das Compiz-Plugin so konfigurieren lässt, dass man Fenster auch in die Ecken bekommt (also ein Viertel der Fläche einnehmen). Das mit der dynamischen Größe gibt es aber wohl nicht.

silberzwiebel

Anmeldungsdatum:
1. Februar 2010

Beiträge: 30

Ich halte das für eine sehr gute Idee!

Ich benutze die Gnome-Shell und habe dort auch eine Möglichkeit gefunden per Strg+Alt+<Numpad-Taste> eine sehr vergleichbare Funktion zu nutzen (Für Interessierte: https://github.com/paulswartz/gnome-shell-grid) Allerdings eben per Tastatur, manchmal würd ich das auch gerne mit der Maus machen können.

Inwiefern die verschiedenen Fenstergrößen tatsächlich dynamisch veränderbar sein sollten, oder es, wie beim Grid-Plugin, 3 (glaube ich) verschiedene Größen für jede Position geben sollte, weiß ich nicht genau. Ich glaube, dass eine feste Anzahl fester Größen ausreichen würde.

Insomnia80

Avatar von Insomnia80

Anmeldungsdatum:
17. November 2009

Beiträge: Zähle...

Interessante Idee! Ich würde aber die ausgefüllten roten Bereiche evtl noch breiter/höher machen (evtl 3-4x so groß). Bei den jetzigen Vorschlägen muss man doch noch ziemlich zielen. Ansonsten, weiter so 👍

mrkramps Team-Icon

Avatar von mrkramps

Anmeldungsdatum:
10. Oktober 2006

Beiträge: 5523

Die Umsetzung dieser Idee so oder so ähnlich wäre für alle Fensterverwaltungen wünschenswert. Tastaturgesteuert ist das bereits für alle EWMH/NetWM-kompatiblen Fensterverwaltungen entweder nativ oder über die Einbindung weiterer Programme möglich. Mit Compiz-Plugins kommt man - wie schon erwähnt - ziemlich nahe an diese von Anwendern doch sehr beliebte Funktion heran. Ich für meinen Teil bin nur kein Freund von 3D-Compositing. Insbesondere nicht, wenn es wie in diesem Fall nicht notwendig ist.

Für die Fensterverwaltung Xfwm4 der Desktopumgebung Xfce gibt es für die Version 4.8 einen Patch, der auch im Bug Tracker von Xfce bereits veröffentlich und positiv angenommen wurde - siehe Bug 6648. In der Roadmap für Xfwm4 4.10 ist es festgehalten als neues Feature und der Patch in entsprechender Form in den Git Master Branch übertragen worden. Bemerkenswert finde ich dabei, dass die Schwierigkeit der Implementiertung als „Einfach“ angegeben ist. Womit man sich wiederum fragt, warum sowas nicht schon vorher mal ins Auge gefasst wurde?! Oder wurde die Nachfrage tatsächlich erst mit Microsofts Aero Snap geschaffen?

Darüber hinaus könnte man sich für die zukünftige Entwicklung überhaupt mal überlegen, die bisher recht steifen Funktionen von Fensterverwaltung, Desktops und Panels aufzubrechen, was zumindest schon stückweit geschieht. Die Fensterrahmen könnte man z.B. ebenfalls in 16 „Hot Spots“, die unterschiedlich auf die drei gängigen Maustasten reagieren um Fensterfunktionen auszuführen. Überhaupt könnte man für die Fensterverwaltung nativ das Belegen von Tastenkürzeln mit Maustasten implementieren. Und das Zusammenspiel von virtuellen Arbeitsflächen der Fensterverwaltung mit der Desktopverwaltung könnte endlich mal ermöglichen mehrere, unterschiedliche Instanzen des Desktops für jede Arbeitsfläche einzurichten, damit auf jeder virtuellen Arbeitsfläche wirklich unterschiedliche Starter und Dateien dargestellt werden können - unabhängig davon, dass die Funktionalität der meisten Desktopverwaltungen selbst heute nicht mal an den Umfang von Windows XP heranreicht.

Abschließend bleibt mir nur zu sagen, dass ich recht glücklich darüber wäre, wenn ich mehr vom Programmieren verstehen würde und anstatt nur große Reden zu schwingen. Aber so geht es wohl leider den meisten von uns…

Das_Wort

Anmeldungsdatum:
23. Dezember 2009

Beiträge: 5263

dAnjou schrieb:

Ich kann dir auf jeden Fall sagen, dass sich das Compiz-Plugin so konfigurieren lässt, dass man Fenster auch in die Ecken bekommt (also ein Viertel der Fläche einnehmen). Das mit der dynamischen Größe gibt es aber wohl nicht.

Dynamisch vllt nicht aber man kann Compiz beibringen die neuen Fenster auf die verbliebene freie Fläche zu expandieren.

Bei Positionierung oder so, einfach durch den ccsm wuhlen

PhotonX

(Themenstarter)
Avatar von PhotonX

Anmeldungsdatum:
3. Juni 2007

Beiträge: 4471

Danke für das Feedback! Die frei bestimmbare Fenstergröße war natürlich quasi die Vollausstattung, um die Idee der in Bereiche einteilbaren Bildschirmkanten zu demonstrieren. Eine einfachere Version wäre, die Bildschirmkanten in je drei Bereiche einzuteilen, wobei der mittlere ein Fenster auf eine halbe Bildschirmgröße vergrößert und die Bereiche an den Ecken es auf ein Viertel der Bildschirmgröße skalieren. Vermutlich wäre das auch wesentlich einfacher umzusetzen.

Hat vielleicht jemand eine bessere Idee für das Maximieren eines Fensters?

silberzwiebel

Anmeldungsdatum:
1. Februar 2010

Beiträge: 30

Ich bin schon vor ein paar Tagen auf shellshape gestoßen, eine Gnome-Shell-Extension, die der Gnome-Shell Tiling-Features hinzufügt: http://gfxmonk.net/shellshape/ Da dazu auch der Window-manager mutter geforkt werden muss, ist die Installation nicht ganz so einfach wie sonst bei den Gnome-Shell-Extensions, ich habe es aber ohne größere Probleme nach der Anleitung auf der Website hinbekommen. Außerdem soolte gesagt sein, dass die Software sich noch im Alpha-Status befindet.

Mit dieser Erweiterung kann man zwar auch die Fensterpositionen nicht frei per Maus bestimmen, mit der Tastatur allerdings schon ganz gut.

Antworten |