web-dev-qa-db-fra.com

Position dans l'espace de travail central lors de la connexion

J'ai configuré le sélecteur d'espace de travail 3x3 et je souhaite que ma position soit par défaut au centre. C'est possible?

12
Xiè Jìléi

Grâce à Marco, j'ai trouvé un moyen d'utiliser wmctrl.

Étant donné que les espaces de travail Compiz sont en fait la fenêtre d'affichage d'un seul bureau, la solution consiste à déplacer la fenêtre d'affichage actuelle afin de couvrir la région centrale du bureau.

Commencez par appeler wmctrl -d pour obtenir les informations du bureau actuel:

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))

Ensuite, calculez l’origine de la fenêtre centrale:

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

Et déplacez la fenêtre là-bas:

wmctrl -o $center_viewport
7
Xiè Jìléi

Oui: installer wmctrl

Sudo apt-get install wmctrl

et créez un fichier dans ~/.config/autostart/wmctrl.desktop avec les éléments suivants:

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

J'allais poser la même question, mais pour 3 espaces de travail horizontaux et je suis aussi en train d'exécuter Compiz, et la sortie wmctrl -d (par espace de travail) ressemble à ceci:

  • Dans l'espace de travail 1: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • Dans l'espace de travail 2: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • A l'espace de travail 3: 0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1

Puis j'ai simplement utilisé wmctrl -o 1366,0 (VP valeurs) pour que le centre soit mon espace de travail par défaut au démarrage. Pourrait ne pas fonctionner pour tout le monde, mais juste au cas où;)

2
wik
  1. Commencez par télécharger ceci script d'aide alt text pour contrôler compiz à partir de la ligne de commande. Enregistrez-le sous le nom compiz-send.py dans votre dossier personnel.
  2. Exécutez la commande python compiz-send.py vpswitch switch_to_5_key pour vous assurer qu’il fonctionne correctement. Il devrait vous basculer vers l’espace de travail central.
  3. Si cela fonctionne, créez un fichier nommé .switch_to_center_workspace.sh dans votre dossier personnel et collez le texte suivant à l'intérieur:

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

    en remplaçant user par votre nom d'utilisateur.

  4. Ouvrez les applications de démarrage, Système -> Préférences -> Applications de démarrage .

  5. Cliquez sur Ajouter et dans la commande : mettez /home/user/.switch_to_center_workspace.sh . Mettez ce que vous voulez dans les entrées : et : .

  6. Déconnectez-vous et reconnectez-vous et vérifiez que cela fonctionne.

2
Isaiah

Juste une petite note - J'utilise Natty et, grâce à la réponse de @ 谢 继 雷, j'ai remarqué que les opérations suivantes sont rapportées en déplaçant le terminal dans chacun des quatre "espaces de travail" dans Unity:

$ 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

... c’est-à-dire qu’ils ne sont ni des bureaux séparés, ni des espaces de travail - simplement la fenêtre de visualisation change!

Ainsi, pour passer de l'une à l'autre de ces quatre fenêtres, appelez simplement la commande wmctrl -o directement avec les valeurs VP énumérées ci-dessus, à savoir:

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

EDIT: Ups, désolé, je viens de voir que c’est la même chose que la réponse de @ wik - fusionner/supprimer selon le cas.

0
sdaau