Posição na área de trabalho central no login


12

Configurei o alternador de espaço de trabalho 3x3 e quero que minha posição esteja na central por padrão. É possível?

Respostas:


7

Graças a Marco, eu descobri uma maneira de usar wmctrl.

Como os espaços de trabalho do compiz são, na verdade, a janela de visualização de uma única área de trabalho, a solução é mover a janela de visualização atual para cobrir a região central da área de trabalho.

Primeiro, ligue wmctrl -dpara obter as informações da área de trabalho atual:

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

Em seguida, calcule a origem da janela central:

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

E mova a janela de exibição para lá:

wmctrl -o $center_viewport

6

Sim: instale o wmctrl

sudo apt-get install wmctrl

e crie um arquivo ~/.config/autostart/wmctrl.desktopcom o seguinte:

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

1
Há apenas uma área de trabalho no compiz. Mas wmctrlpode mudar a janela de visualização na área de trabalho de qualquer maneira. Veja minha resposta abaixo.
Xiè Jìléi

2
  1. Primeiro faça o download deste script auxiliartexto alternativo para controlar o compiz na linha de comando. Salve-o como compiz-send.pyna sua pasta pessoal.
  2. Execute o comando python compiz-send.py vpswitch switch_to_5_keypara garantir que ele funcione corretamente. Ele deve alternar para o espaço de trabalho central.
  3. Se funcionar, crie um arquivo chamado .switch_to_center_workspace.shna sua pasta pessoal e cole o seguinte dentro dela:

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

    substituindo userpelo seu nome de usuário.

  4. Abra Aplicativos de Inicialização, Sistema -> Preferências -> Aplicativos de Inicialização .

  5. Clique em Adicionar e na entrada Comando: colocar /home/user/.switch_to_center_workspace.sh. Coloque o que quiser nas entradas Nome: e Comentário:

  6. Faça logoff e logon novamente e verifique se ele funciona.


Infelizmente o script não funcionadbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
Xiè Jìléi

@ 谢 继 雷 Altere a sleep 5parte do script para um número maior, como sleep 10para garantir que o compiz já esteja sendo executado quando o script for executado. Você está usando o compiz, certo?
Isaiah

Eu tento executar o script no gnome-terminal e obtenho a exceção. Estou usando o compiz 0.8.6.
Xiè Jìléi

No script, é disse que o método de assinatura "si" não existe, então eu acho que os argumentos (String, int) passado para ativar () pode não corrigir ..
Xie Jìléi

2

Eu ia fazer a pergunta semelhante, mas para três espaços de trabalho horizontais e também estou executando o compiz, e a wmctrl -dsaída (por espaço de trabalho) fica assim:

  • Na área de trabalho 1: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • Na área de trabalho 2: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • Na área de trabalho 3: 0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1

Do que simplesmente usei wmctrl -o 1366,0( valores VP ) para tornar o centro o meu espaço de trabalho padrão na inicialização. Pode não funcionar para todos, mas apenas no caso;)


O comando que estou usando em "Sistema -> Preferências -> Aplicativos de Inicialização":sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
wik

... você pode precisar ajustar o valor do sono, por exemplo, tente 10, 15 etc.
wik

Obrigado por esta nota - desculpe, eu não lê-lo antes de ler a sua resposta :)
sdaau

0

Apenas uma breve observação - estou usando Natty e, graças à resposta de @ 谢 继 雷, notei que o seguinte é relatado movendo o terminal em cada um dos quatro 'espaços de trabalho' no 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

... ou seja, não são áreas de trabalho separadas nem espaços de trabalho - simplesmente a janela de visualização muda!

Portanto, para alternar entre essas quatro viewports, basta chamar o wmctrl -ocomando diretamente com os VPvalores listados acima, ou seja:

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

EDIT: Ups, desculpe, só vi isso é o mesmo que a resposta da @ wik - mesclar / excluir conforme apropriado ..

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.