Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Lizenziert unter der CC-BY von SidewaysSarah auf Flickr

Aero Snap mit GNOME und Compiz (the next generation)

| 52 Kommentare

Vor einiger Zeit hatte ich eine Methode vorgestellt, die es ermöglichte die von Windows 7 bekannte “Aero Snap”-Funktion auch unter Ubuntu mit GNOME zu verwenden. Leider hatte diese Umsetzung ein paar Usability-Schwächen. So wurden Fenster bspw. auf die linke Hälfte maximiert, wenn man sich mit der Maus einfach nur am linken Bildschirmrand aufhielt ohne ein Fenster in der Hand zu haben. Das selbe galt natürlich auch für die andere Seite des Desktops. Um nicht auf die Umsetzung des Ganzen mit Unity oder mit der GNOME Shell warten zu müssen, habe ich mich diesem Problem noch einmal angenommen und habe das Ganze nun etwas aufwändiger gestaltet, so dass zumindest diese Schwäche korrigiert wird.

Am besten fangt Ihr nochmal damit an zu überprüfen, ob die für die Funktion notwendigen Pakete installiert sind. Neben dem CompizConfig Einstellungs-Manager zum Konfigurieren der Aktionen, sind die kleinen Paket wmctrl und xdotool wichtig. Mit ihnen manipulieren wir später die Größe der Fenster…

$ sudo apt-get install compizconfig-settings-manager wmctrl xdotool

Nun könnt Ihr das Skript compizsnap installieren. Ich empfehle euch das Skript nach ~/bin in euer Homeverzeichnis zu installieren. Dort ist es gut aufgehoben, da Ubuntu dieses Verzeichnis automatisch in den $PATH aufnimmt. Wer es sich bequem machen möchte, der kann über die folgenden Befehle das Verzeichnis generieren, das Skript runterladen und die Rechte gleich passend setzen.

$ mkdir ~/bin
$ wget http://linuxundich.de/static/compizsnap -O ~/bin/compizsnap
$ chmod +x ~/bin/compizsnap

Öffnet danach über “System -> Einstellungen” den “CompizConfig Einstellungs-Manager” und sucht euch dort das “Commands”-Plugin raus. Hier tragt Ihr nun die Befehle…

  • Command line 0: compizsnap max
  • Kommandozeile 1: compizsnap left
  • Kommandozeile 2: compizsnap right

…ein. Der Pfad zum Skript ist nicht unbedingt wichtig, ihr könntet ihn auch weglassen, da das ~/bin Verzeichnis automatisch in den $PATH aufgenommen wird (Wer mehr darüber lesen möchte, der kann sich ja mal Über die Verwendung von ./ in Shell-Befehlen ansehen) aufgenommen. Allerdings müsstet ihr einmal aus- und wieder einloggen, falls ihr zuvor noch kein ~/bin Verzeichnis angelegt hattet. Auf dem folgenden Screenshot hab ich den Pfad zur Sicherheit trotzdem mal angegeben…

Tragt die Befehle im CompizConfig Einstellungs-Manager ein...

Nun geht in in den Reiter “Edge Bindings” des selben Plugins und verknüpft command 0 mit der oberen Kante des Desktops, Befehl 1 mit der Linken und Befehl 12 (was für Befehl 2 steht…) mit der Rechten.

...und verknüpft die Aktionen mit den Kanten des Desktops

Danach solltet Ihr “Compiz-Snap” umgehend nutzen können. Ich habe das Skript mit Lucid und Maverick auf einem Desktop und einem Netbook getestet. Auf dem Netbook funktionierte Compiz-Snap auch ohne Probleme mit Maus und Touchpad zur selben Zeit. Problematisch wird es mit hoher Wahrscheinlichkeit, wenn Ihr zwei Monitore am System angestöpselt habt.

Im Thread Aero Snap function? auf ubuntuforums.org findet Ihr einen ähnlichen Ansatz, der das Ganze mit dem Grid-Plugin von Compiz umsetzt. Allerdings finde ich diesen Weg nicht so gut, da die durch das Plugin maximierten Fenster beim Zurückziehen nicht mehr auf ihre ursprüngliche Größe gesetzt werden. Man muss das Fenster danach immer erst wieder von Hand kleiner Ziehen. Bei meiner Lösung wird wenigstens die Höhe des Fensters wieder auf die ursprüngliche Größe gesetzt.

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

52 Kommentare

  1. Christoph, du bist echt ein Fuchs. Danke!

    • Hallo Christoph,

      vielen Dank für die Anleitung. :)

      folgendes kann ich bei mir leider nicht ändern:

      “Nun geht in in den Reiter “Edge Bindings” des selben Plugins und verknüpft command 0 mit der oberen Kante des Desktops, Befehl 1 mit der Linken und Befehl 12 (was für Befehl 2 steht…) mit der Rechten.”

      Gruß
      Andreas

  2. Vielen Dank, klappt sehr gut!

  3. Danke, bin mal gespannt wie das letztendlich in Unity oder der GNOME Shell umgesetzt wird. Ich vermisse unter Ubuntu von der Usability praktisch nix, nur AeroSnap fehlt mir schon irgendwie. Hab mich schon ganz schön dran gewöhnt.

  4. Ich bin ja ein Fan davon, den Bildschirm (wenn möglich) maximal zu nutzen, daher finde ich die Grid-Methode nützlicher. Die Maus dafür zu bemühen, zwei Fenster auf beide Bildschirmhälften zu legen dauert mir zu lange (Super+Links, Alt+Tab, Super+Rechts geht wesentlich flotter ;-))
    Davon abgesehen ist deine Umsetzung recht cool. Passiert was, wenn ich beim Ausrichten mit dem Trackpad auf das Touchpad gerate? Der Code suggeriert, dass dann zweimal die left()/right()/max()-Funktion aufgerufen wird…
    –Dominik

  5. Deine Lösung sieht schick aus. Das werde ich gleich heute Nachmittag auf meinem Notebook testen.  Die alte Version hatte ich auch angetestet, aber mich von dieser wegen der bekannten Mängel wieder verabschiedet.
    Martin

  6. Hey, so etwas wie Aero Snap wünsch ich mir schon lange=)
    Das Skript funktioniert bei mir aber irgendwie nicht. Ich habe das Skript nach usr/bin heruntergeladen, und den Pfad beim Commands-Plugin angegeben. Trotzdem funktioniert es nicht!
     
    Mfg

    EDIT: Wenn ich nur das Touchpad benutze funktioniert es, mit der USB Maus nicht =(

  7. Also ich halte es da auch lieber mit dem genuinen Grid-Plugin von Compiz, zumal ich die jeweilige Zuordnung einzelner Fenster vermittels Tastenkürzeln für wesentlich präziser, schneller und somit effektiver erachte, als ähnliches mit der Maus zu bewerkstelligen ist. :)

  8. @ Christoph
    Das ist die Ausgabe: ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ MLK Trust Deskset 15176                     id=11    [slave  pointer  (2)]
    ⎜   ↳ ETPS/2 Elantech Touchpad                    id=15    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ USB 2.0 Camera                              id=12    [slave  keyboard (3)]
    ↳ Asus Laptop extra buttons                   id=13    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=14    [slave  keyboard (3)]
    ↳ MLK Trust Deskset 15176                     id=10    [slave  keyboard (3)]

  9. Astreine Erweiterung !!
    Aber: Bei mir tut’s leider auch nicht.
    Pakete sind installiert, Befehle eingetragen und Bildschirmkanten definiert.
    Skript liegt in ~/bin und ist ausführbar.

    Wenn’s hilft… hier auch mal meine Ausgabe:

    ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ Logitech USB Receiver                       id=11    [slave  pointer  (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad                  id=14    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                       id=10    [slave  keyboard (3)]
    ↳ HP Webcam                                   id=12    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=13    [slave  keyboard (3)]
    ↳ HP WMI hotkeys                              id=15    [slave  keyboard (3)]

  10. Bei mir tut’s leider auch nicht…
    ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
    ⎜   ↳ Logitech USB Receiver                       id=9    [slave  pointer  (2)]
    ⎜   ↳ Logitech USB Receiver                       id=10    [slave  pointer  (2)]
    ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ HID 046a:0001                               id=8    [slave  keyboard (3)]
    Grueß Roland

    • Hallo, danke für euer Feedback. Das Problem, ist dass sich eure Maus, oder besser der Empfänger, als “Logitech USB Receiver” meldet und dort nirgends das Wörtchen “mouse” vorkommt. Des weiteren ist es dämlich, dass es zwei Geräte mit dem String “Logitech USB Receiver” gibt. Welches muss nun genutzt werden. Kannst du mir mal den Gefallen tun und im Skript die Zeile

      MOUSE=$(xinput -list | grep -i ‘mouse’ | grep -v ‘Macintosh mouse button emulation’ | grep id= | sed ‘s:.*id=\([0-9]*\).*:\1:’)

      in bspw.

      MOUSE=9

      ändern. Die Zahl musst du an die Ausgabe von

      xinput --list

      anpassen. Du musst die ID zum “Logitech USB Receiver” angeben. Sobald du die Zeile geändert und die Datei gespeichert hast, kannst du direkt testen obs klappt. Probiere bitte beide IDs aus und sag mir mit welche(r/n) es geklappt hat.

      Danke
      Christoph

  11. Hallo Christoph, mit ‘MOUSE=9′ geht es! Der 2. Logitech USB Receiver ist ein Joystick. Die beiden Fenster überlagern sich minim, ist aber kein Problem für mich.
    Grueß Roland

  12. Bei mir ist es MOUSE=11.
    MOUSE=10 ist das Touchpad.
    Danke dir für die schnelle Hilfe !!

  13. Bei mir kommen mehrere Probleme zusammen.
    Zum einen der beschriebene Mousefehler (hier ist es eine kabellose MS-Mouse, MOUSE=11), den ich beheben konnte.
    Zum anderen nutze ich die gnome window applets in Ubuntu auf meinem Netbook, um so viel freie Sicht wie möglich zu bekommen. Bei maximierten Fenstern wird dann die Titelleiste inkl. Buttons ins obere Panel gepusht (sehr schön und praktisch). Beim “Snappen” links und rechts kommt es nun dazu, dass die Titelleiste verschwindet, weil das Fenster laut Skript vertikal maximiert wird. Allerdings erscheinen Titelleiste und Buttons in dem Fall nicht im Panel. Somit sind diese Fenster nur noch schwer vom Rand zu bekommen. Ähnliche Probleme kann ich mir für das window picker applet in Zusammenarbeit mit maximus vorstellen.
    Ich habe das Skript von hier etwas modifiziert, damit es für meinen Fall mit window applets passt. Wer’s testen will, kann sich’s hier besorgen:
    http://dl.dropbox.com/u/17126394/compizsnap
     
    Ansonsten allerbesten Dank an Christoph! Ich hatte schon lange nach der Funktion gesucht…
     
    Schöne Grüße,
    Jan

    • Danke für das Feedback, könntest du mir die Ausgabe von “xinput -list –long” auch mal zukommen lassen? Am besten über einen NoPaste-Dienst oder per Kontakt-Formular. Die Ausgabe wird sicher ein bisschen länger.

  14. Für ein Multimonitor Setup muss das Skript ein wenig angepasst werden.
     
    Ich habe 3 Variablen hinzugefügt:
    HALFRIGHTWIDTH=950 # halbe Breite des rechten Monitors-10
    HALFRIGHTPOS=2230 # ganze breite des linken Monitors + halbe breite des rechten Monitors -10
    HALFLEFT=630 # halbe breite des linken Monitors
     
    und die Funktionen left und right ein wenig angepasst:
    left:
    wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALFLEFT,-10
     
    right:
    wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALFRIGHTPOS,0,$(($HALFRIGHTWIDTH+18)),-10
     
    Spitzensache das. Wenn es sich mit Würfeldrehen beißt, kann man ja auch die oberen Ecken nehmen.
     
    Links und Rechts halbes Fenster ist zwar bei 2 Monitoren recht sinnlos, aber ich habe ja auch noch ein Laptop…

    • bei der Verwendung von LaTeX find ich 2 Fenster auf dem externen Bildschirm und eines auf dem Laptop-Display sehr praktisch. Funktinoiert perfekt mit diesen Anpassungen, danke!

  15. Hallo Christoph,

    gibt es eine Möglichkeit, dass das Fenster schon angepasst wird bevor man die Maustaste loslässt?

    Sonst eine super Sache, auch wenn man ein bisschen aufpassen muss damit man Fenster nicht auf eine andere Arbeitsfläche verschiebt.

  16. Sehr praktisch in meinem täglichen Umgang mit Fenstern in Gnome finde ich auch die Tastenkombination Mittlere Maustaste + Alt zum Verändern der Fenstergröße, kann soweit ich weiß auch über die gconf angepasst werden.

    Aber danke für dein Script, Christoph! (Hat ein bisschen gedauert bis ich bemerkt habe, dass das Fenster einige Zeit am Fensterrand “gehalten” werden muss, bis der Effekt aktiviert wird.

  17. Hi,
    ich habe das Problem, dass ich mit der Razer Mamba praktisch 2 Mäuse habe, je nach dem ob ich die Maus über Wireless oder über Kabel angeschlossen hab.

    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ Razer Razer Mamba Charging Dock id=9 [slave pointer (2)]
    ⎜ ↳ Razer Razer Mamba Charging Dock id=10 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]

    Ich habe folglich die ID 9 oder 10. Wenn ich das Script so ändere, dass er nach “Mamba” sucht, findet er aber nur die 9 (über USB)

    Ich nutze Ubuntu erst seit ca 2 Monaten und hab leider noch nicht so die Erfahrung mit Shellscripts.

    Aus reiner Logig würde ich sagen man müsste ein Array nehmen, in dem alle gefundenen Mäuse (mit “mouse” oder wie bei mir mit “Mamba” geschrieben werden und dann für jede Aktion (max, left, …) eine Schleife machen, die alle Mäuse abarbeitet.

    Würde mich freuen wenn das hier jemand realisieren könnte. :)

    ^x3ro

  18. Hi,
    ich habe das Problem, dass ich mit der Razer Mamba praktisch 2 Mäuse habe, je nach dem ob ich die Maus über Wireless oder über Kabel angeschlossen hab.

    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ Razer Razer Mamba Charging Dock id=9 [slave pointer (2)]
    ⎜ ↳ Razer Razer Mamba Charging Dock id=10 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]

    Ich habe folglich die ID 9 oder 10. Wenn ich das Script so ändere, dass er nach “Mamba” sucht, findet er aber nur die 9 (über USB)

    Ich nutze Ubuntu erst seit ca 2 Monaten und hab leider noch nicht so die Erfahrung mit Shellscripts.

    Aus reiner Logig würde ich sagen man müsste ein Array nehmen, in dem alle gefundenen Mäuse (mit “mouse” oder wie bei mir mit “Mamba” geschrieben werden und dann für jede Aktion (max, left, …) eine Schleife machen, die alle Mäuse abarbeitet.

    Würde mich freuen wenn das hier jemand realisieren könnte. :)

    ^x3ro

  19. Super!
    Ich fände es aber auch gut, wenn man ohne loslassen, die Veränderung schon sieht. Also das Fenster soll ohne, dass ich die Maus loslasse schon angepasst werden und wenn ich es aus der Ecke doch wieder weg ziehe auch direkt wieder klein werden.

    • Das fänd ich auch recht praktisch und hab versucht mit dem Code rumzuspielen.. Das Resultat war, dass das Fenster, als es den oberen Rand berührt hatte, einfach mit der Titelleiste hinter dem oberen Pannel verschwand und nicht maximiert wurde… Aber wie ich ja direkt über dir schon angemerkt hab, hab ich noch nicht so viel Ahnung von Shellscripts. Ich denke aber, dass genau das verhindert werden sollte mit dem Loop der wartet bis die Maus losgelassen wird.. ;)

      ^x3ro

  20. Super

    läuft perfekt unter openSUSE 11.3

    Man muss nur xdotool per Hand nachinstallieren (gibt leider kein rpm Paket Standartmäßig, aber runterladen und maken :))

  21. Hi,
    funktioniert super..
    Allerdings musste ich bei dem ID Scan noch ein head -1 einfügen da ich mehrere Eingabegeräte habe.

    LG
    BlueCase

  22. Ich habe ein paar Optimierungen angebracht:
    1) Fenster sind auch in allen Ecken positionierbar.
    2) Es werden alle Devices “slave pointer” abgefragt.
    3) Korrektur: Falls man ein Fenster erst gegen den linken und dann gegen den oberen Rand schiebt, wird in der o.g. Version das Fenster trotzdem links ausgerichtet.
    4) Man benötigt nur einen “Compiz-Command”, der an jeder gewünschten Kante (u. Ecke) aktiviert wird (ohne angehängtem Parameter). z.B. ~/bin/compizsnap

    Hier ist das Script:
    http://wwww.ubuntuforums.org/showpost.php?p=10490860&postcount=145

  23. Ihnen ist schon klar dass diese Snap Funktion ganz und gar nicht innovativ ist sondern es schon seit längerer Zeit unter KDE Plasma Desktop gibt? Fallen sie bitte nicht auf so eine schlimme Werbepropaganda herein!

    • Werbepropaganda? Es geht drum Leuten zu zeigen wie sie mit dem GNOME Desktop eben eine Art AeroSnap Funktion realisieren zu können, und nicht darum rauszufinden wer’s erfunden hat…

  24. Das könnte vielleich einige hier interessieren: scheinbar bringt die in Ubuntu Natty verwendete Version 0.9.4 von Compiz diese Funktion über das Grid-Plugin mit.

    Ich kann jetzt allerdings nicht beurteilen, ob das in Konflikt zu der Funktion steht, über Drag’n’Drop von Fenstern den Desktop zu wechseln, da ich diese nicht verwende.

    • Das Plugin gibts ja auch schon in den aktuell verwendeten Compiz-Versionen. Ich würde es auch verwenden, allerdings gefällt mir eben nicht, dass sich der Fenstermanager dadurch nicht mehr an die ursprüngliche Größe des Fensters erinnern kann. Weißt du, was die da verändert haben?

      • Das sieht jetzt ähnlich aus, wie bei der GNOME-Shell und auch bei Windows: Sobald du ein Fenster an den entsprechenden Rand ziehst, wird dir ein farbiger Rahmen über die entsprechende Bildschirmhälfte gezeichnet, quasi als Vorschau. Wenn du das teilweise maximierte Fenster woanders hinziehst, erhält es seine ursprüngliche Größe zurück.

        Hier mal ein Screenshot von den Einstellungsmöglichkeiten, die sind recht selbsterklärend:
        http://dl.dropbox.com/u/2837292/grid.png

  25. Hmm, erstmal thx.
    ich weiß nicht obs nur bei mir so ist, aber ab und an verändert es beim normalwerden die Fenstergröße recht bizar.
    Also nicht so wies war, passiert manchmal, nicht immer.

    Ich versuch jetzt mal das andere Script.
    edit:
    sehe grad war schon das andere script.
    mal wieder auf deine lösung zurück gehen.

  26. Tolle Sache, hat bei mir auf Anhieb geklappt.

    Danke!

  27. Sehr gute Anleitung. Nur funktioniert es bei mir aus für mich unerklärlichen Gründen nicht. Ich nutze Ubuntu 10.10 und habe alles nach deiner Anleitung gemacht.

    Beim Einstellen der Edge Bindings kam jeweils ein Fehler, dass diese Aktionen schon in der Desktop-Tafel genutzt werden. Ich habe die Desktop-Tafel somit deaktiviert und der Fehler kommt nicht mehr. Allerdings funktioniert es auch nicht.

    Hier noch die Ausgabe der xinput -list. http://nopaste.info/74dc166d01.html

  28. Super Script, vielen dank dafür.

    Das einzige was ich noch praktisch fände wenn es wie bei Windows7 oder Kwin so einen Vorschaurahmen geben würde.

    Sowas müsste doch eingendlich recht einfach machbar sein.

    • Hei Fleixi, an dem Skript werde ich nicht mehr viel ändern. Da bei der nächsten Ubuntu-Version Ubuntu 11.04 das Aero-Snap Feature genauso wie bei Win7 umgesetzt wurde. Egal ob du Unity oder den normalen GNOME2 Desktopverwendest, “Ubuntu Snap” funktioniert ohne Probleme. Und diesmal auch mit einer Vorschaufunktion.

  29. Hallo,
    Ich benutze Ubuntu Lucid Lynx und da will das ganze noch nicht klappen..
    Da scheiters schon am Anfang…

    reladen@reladen-desktop:~$ wget http://linuxundich.de/static/compizsnap -O
    wget: Diese Option benötigt ein Argument — »O«
    Syntax: wget [OPTION]… [URL]…

    »wget –help« gibt weitere Informationen.

    Ich hoffe jemandkann mir helfen..
    Gruß
    Reladen

    • Hallo reladen,

      die Option ‘-O’, also das was du hinter die URL geschrieben hast, benötigt als Argument die Datei, als die der Download nacher erscheinen soll.

      Christoph hat in seinem Beispiel erstmal den Ordner ‘bin’ in seinen Heimverzeichnis angelegt (mkdir), und als zweiten Schritt sagt er dem Programm wget, dass es von folgender Adresse herunterladen soll (http://linuxundich.de/static/compizsnap). Das, was es dabei runterlädt, soll dann aber gleich in den richtigen Ordner gepackt werden, nämlich ~/bin/compizsnap. Hinter dem ‘-O’ hättest du auch ~/bin/script1 schreiben können, dann wäre es unter diesem Namen abgespeichert worden.

      Du hast also im Grunde “Speichern unter” ausgewählt, aber dem Programm nicht gesagt wohin und als was es die Datei speichern soll.

      Der letzte Schritt gibt der Datei dann noch die Berechtigung, als Programm ausgeführt werden zu dürfen.

      Ich hoffe ich konnte dir helfen :)

  30. Grueziwohl, ich bin seit zwei tagen besitzer eines 11″ thinkpads. Alles läuft prima unter 11.04 (classic gnome, mühsam angepasst).

    Allerdings:

    Die neue aero-snap funktion treibt mich auf dem kleinen schirm in den wahnsinn. Wo ist die checkbox, um das abzuschalten ? ;-)

  31. Hallo Christoph,
    bin n echter Neuling in Sachen Ubuntu (Linux)
    Deine Anleitung hat auf den ersten Versuch geklappt und funktioniert zu 100%…
    Wieder ein kleiner Schritt weg von Windows *harrharr

    Greez
    Alex

  32. Super, genau, was ich gebraucht habe, Danke für die Anleitung.

  33. Vielen dank für dieses einfache aber wirkungsvolle script, ich bin mittlerweile so (Aero)Snap verwöhnt, das ich garnicht mehr anders fenstern kann, auch wenn ich primär 10 Consolen(fenster) offen habe :)

    Weiter so (evtl. Grafische Notifikation und die möglichkeit 4 Fenster anzuordnen win7 like)

    MfG

    Sascha Kilian

  34. Auch von mir nochmal vielen Dank für dieses wundervolle Script ! Bin seit Ubuntu 11.10 auf Mint Debian Edition umgestiegen leider gibt es da das tolle neue Grid Plugin noch nicht, da noch Compiz 0.8.4 verwendet wird. Das Skript funktioniert in Linux Mint LMDE gut ! Musste allerdings auch die Mouse ID umändern. War bei mir die 12 habe in der Zeile:

    MOUSE=$(xinput -list | grep -i ‘mouse’ | grep -v ‘Macintosh mouse button emulation’ | grep id= | sed ‘s:.*id=\([0-9]*\).*:\1:’)

    bei 0-9 einfach eine 12 eingeetragen und es funktionierte Prima. Oder sollte ich vielleicht besser 0-9 auf 0-12 ändern? Wäre vielleicht auch möglich.

    Das einzige was mich stört ist, ich habe in Compiz Settings Manager -> Fensterverwaltung -> Fenster verschieben die Option “Einrasten maximierter Fenster aufheben” deaktiviert.

    Dadurch kann ich das Fenster von Links oder von Rechts nicht mehr mit der Maus einfach in die ursprüngliche Position zurückziehen, sondern muss das Fenster erst durch Klicken maximieren, und dann die Maximierung wieder aufheben.

    Ich nutze das Plugin nur um die Fenster rechts oder links anzuordnen. Und ich möchte eine Fenstermaximierung eben nicht durch Mausziehen wieder aufheben, sondern nur durch klicken.

    Beim neuen Grid Plugin von Ubuntu hatte das einwantfrei Funktioniert mit dem Links und Rechts anordnen, auch wenn die Option mit dem Einrasten maximierter Fenster aufheben in der Fensterverschiebung deaktiviert war.

    Kann man dahingehend dein Script irgendwie anpassen? Aber auch wenn es nicht geht, ist das Skrip ne super Sache für mich, weil ich anders als beim alten Grid Plugin die Fenster so leichter wieder in die ursprüngliche Größe wieder zurückstellen kann, genau was ich gesucht hatte :-)

    Greetz Jens

  35. Hallo Christoph,

    habe probiert, dass Maximieren aus dem Script zu entfernen, hat aber leider nicht funktioniert. Ich hatte im CCSM unter commands auch schon nur left und right definiert und max ausgelassen.

    Im Prinzip kann ich die Fenster nach dem Links oder Rechts anordnen über den Bildschirm mit der Maus quasi hin und her ziehen:

    Ich habe mal 1 Screenshot gemacht, damit du siehst was ich genau meine:

    http://www.the-digital-book.com/images/Bildschirmfoto-1.png

    Ich werde wohl doch im ccsm unter Fenster verschieben die Option “Einrasten maximierter Fenster aufheben” wieder aktivieren müssen. Dann Funktioniert es ja, ich würde aber gern die Funktion deaktiviert lassen.

    Mit dem neuen Grid Plugin unter Ubuntu hatte das halt so Funktioniert. Trotzdem Danke !

    Greetz Jens

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.