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.