Como alguém abre uma nova janela a partir do shell com tamanho e posição específicos?

6

Por exemplo, digamos que eu queira iniciar o gnome-terminal com o canto noroeste em 0,0 e fazer a janela 736x434 pixels (aparentemente o padrão, que permite uma janela de terminal de 80 caracteres por 24 caracteres).

Não tenho certeza de quanto isso é importante, mas estou usando o Ubuntu 11.04 com o GNOME 3, e qualquer versão do Xorg e do gerenciador de janelas (metacity? compiz?) vem com essa distro.

    
por Adam Monsen 25.10.2011 / 18:06

3 respostas

10

Eu não sei especificamente sobre o gnome-terminal, mas você pode colocar o xterm padrão com um tamanho específico de colunas e linhas como este:

xterm -geometry 80x24+50+100

É um xterm de 80 colunas e 24 linhas, com o corder noroeste em (50, 100). Acredito que X11 faz suas coordenadas em (x, y), onde o canto superior esquerdo da tela é (0,0) e as coordenadas ficam maiores à direita e abaixo.

    
por 25.10.2011 / 18:20
3

Se você quiser controlar mais do que apenas a janela do terminal, pode fazer script da colocação geral da janela da GUI X, usando wmctrl e algumas outras ferramentas de linha de comando X , mas essa posição de inicialização devilspie .. Ele está no repositório do Ubuntu.

This tool will find windows as they are created and perform actions
on them, such as resizing, moving to another workspace, or pinning
them to all workspaces.
    
por 25.10.2011 / 19:29
1

Você pode controlar qualquer janela com wmctrl. Este script abre várias janelas mtr, nomeia-as de forma única e posiciona-as no ecrã.


#!/bin/bash
OPTS='--gtk --interval=30'


function place_mtr
{
        host=$1
        name=mtr_$1
        xpos=$2
        ypos=$3
        xsize=$4
        ysize=$5

        mtr $OPTS $host &
        sleep 1
        wmctrl -r "My traceroute" -N "$name"
        wmctrl -r "$name" -e 0,$xpos,$ypos,$xsize,$ysize
}


place_mtr www.debian.org 0 0 710 150
place_mtr www.ubuntu.com 0 203 710 150
place_mtr www.kernel.org 0 390 710 150

place_mtr www.yahoo.com 770 0 710 150
place_mtr www.facebook.com 770 203 710 150
place_mtr www.google.com 770 390 710 150

    
por 04.04.2013 / 11:20

Tags