Positionieren Sie sich beim Login im zentralen Arbeitsbereich


12

Ich habe 3x3 Workspace Switcher eingerichtet und möchte, dass meine Position standardmäßig auf der zentralen Position ist. Ist es möglich?

Antworten:


7

Dank Marco habe ich einen Weg gefunden wmctrl.

Da Compiz-Arbeitsbereiche eigentlich Ansichtsfenster eines einzelnen Desktops sind, besteht die Lösung darin, das aktuelle Ansichtsfenster so zu verschieben, dass es den mittleren Bereich des Desktops abdeckt.

Rufen Sie zunächst wmctrl -dan, um Informationen zum aktuellen Desktop abzurufen:

read desktop_id _ast \
    DG_ geometry \
    VP_ viewport \
    WA_ wa_off wa_size \
    title \
    < <(LANG=C wmctrl -d | grep '*')

geom_w=${geometry%x*}
geom_h=${geometry#*x}

# The workarea size isn't accurate, because the top/bottom panel is excluded. 
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}

rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))

# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))

Berechnen Sie dann den Ursprung des mittleren Ansichtsfensters:

center_row=$((rows / 2))
center_col=$((cols / 2))

center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))

center_viewport=$center_x,$center_y

Und verschieben Sie das Ansichtsfenster dorthin:

wmctrl -o $center_viewport

6

Ja: Installieren Sie wmctrl

sudo apt-get install wmctrl

und erstelle eine Datei ~/.config/autostart/wmctrl.desktopmit folgendem Inhalt:

[Desktop Entry]
Name=Desktop Switcher
Exec=/usr/bin/wmctrl -s 4
Type=Application

1
Es gibt nur einen Desktop in compiz. wmctrlKann aber das Ansichtsfenster innerhalb des Desktops trotzdem wechseln. Siehe meine Antwort unten.
— Xiè Jìléi

2
  1. Laden Sie zuerst dieses HilfsskriptAlt-Text zur Steuerung von compiz über die Befehlszeile herunter . Speichern Sie es als compiz-send.pyin Ihrem privaten Ordner.
  2. Führen Sie den Befehl aus python compiz-send.py vpswitch switch_to_5_key, um sicherzustellen, dass er ordnungsgemäß funktioniert. Sie sollten zum mittleren Arbeitsbereich wechseln.
  3. Wenn es funktioniert, erstellen Sie eine Datei mit dem Namen .switch_to_center_workspace.shin Ihrem privaten Ordner und fügen Sie Folgendes ein:

    #!/bin/bash
    sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
    

    Ersetzen userdurch Ihren Benutzernamen.

  4. Öffnen Sie Startup Applications, System -> Preferences -> Startup Applications .

  5. Klicken Sie auf Hinzufügen und geben Sie im Feld Befehl: den Eintrag ein /home/user/.switch_to_center_workspace.sh. Geben Sie in die Einträge Name: und Kommentar: ein, was Sie möchten .

  6. Melden Sie sich ab und wieder an und überprüfen Sie, ob es funktioniert.


Leider funktioniert das Skript nichtdbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
— Xiè Jìléi

@ 谢 谢 雷 Ändern Sie den sleep 5Teil des Skripts auf eine höhere Zahl sleep 10, um sicherzustellen, dass compiz bereits ausgeführt wird, wenn das Skript ausgeführt wird. Du benutzt compiz richtig?
— Jesaja

Ich versuche das Skript in gnome-terminal auszuführen und bekomme die Ausnahme. Ich benutze Compiz 0.8.6.
— Xiè Jìléi

Im Skript heißt es, dass die Methodensignatur "si" nicht vorhanden ist. Ich schätze, die Argumente (Zeichenfolge, int), die an activate () übergeben wurden, sind möglicherweise nicht korrekt.
— Xiè Jìléi

2

Ich wollte die ähnliche Frage stellen, aber für 3 horizontale Arbeitsbereiche und ich führe auch compiz aus, und die wmctrl -dAusgabe (pro Arbeitsbereich) sieht folgendermaßen aus:

  • Am Arbeitsplatz 1: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • Am Arbeitsplatz 2: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • Am Arbeitsplatz 3: 0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1

Dann habe ich einfach wmctrl -o 1366,0( VP- Werte) verwendet, um das Center beim Start zu meinem Standardarbeitsbereich zu machen. Könnte nicht für alle funktionieren, aber nur für den Fall;)


Der Befehl, den ich unter "System -> Einstellungen -> Startanwendungen" verwende:sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
— wik

... müssen Sie möglicherweise den Schlafwert anpassen, z. B. 10, 15 usw.
— wik

Vielen Dank für diesen Hinweis - Entschuldigung, ich habe ihn nicht gelesen, bevor ich Ihre Antwort gelesen habe :)
— sdaau

0

Nur eine kurze Anmerkung - ich verwende Natty und dank der Antwort von @ 谢 继 继 habe ich festgestellt, dass Folgendes gemeldet wird, wenn das Terminal in jedem der vier 'Arbeitsbereiche' in Unity verschoben wird:

$ wmctrl -d
# top left
0  * DG: 2048x1200  VP: 0,0  WA: 0,24 1024x576  Workspace 1
# bottom left
0  * DG: 2048x1200  VP: 0,600  WA: 0,24 1024x576  Workspace 1
# top right
0  * DG: 2048x1200  VP: 1024,0  WA: 0,24 1024x576  Workspace 1
# bottom right 
0  * DG: 2048x1200  VP: 1024,600  WA: 0,24 1024x576  Workspace 1

... dh es handelt sich weder um separate Desktops noch um Arbeitsbereiche - lediglich das Ansichtsfenster ändert sich!

Um zwischen diesen vier Ansichtsfenstern zu wechseln, rufen Sie einfach den wmctrl -oBefehl direkt mit den VPoben aufgeführten Werten auf, dh:

wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600

EDIT: Ups, sorry, habe gerade gesehen, dass dies das Gleiche ist wie die Antwort von @ wik - Zusammenführen / Löschen, wie es angemessen ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.