Como posso definir a posição de inicialização X e Y do gnome-terminal?

4

Eu tenho tentado definir a posição de gnome-terminal --geometry x y permanentemente. Eu sei que precisaria encontrar um arquivo que tenha configurações para o terminal, mas não sei sua localização. Basicamente, o que eu quero é estar no controle de onde a janela do terminal está posicionada quando for lançada.

    
por Alex Bogdanov 16.05.2016 / 21:49

2 respostas

3

Eu não acho que exista tal arquivo: essa configuração não aparece, nem nas preferências do gnome-terminal nem nas preferências de perfil do gnome-terminal .

No entanto, mesmo que você não possa definir diretamente como gnome-terminal é iniciado, sempre é possível definir como o seu sistema invoca gnome-terminal :

cp /usr/share/applications/gnome-terminal.desktop ~/.local/share/applications
sed -i 's/^Exec=gnome-terminal$/& --geometry=80x24+100+100/' ~/.local/share/applications/gnome-terminal.desktop
gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal --geometry=80x24+100+100'
  • cp /usr/share/applications/gnome-terminal.desktop ~/.local/share/applications : copia /usr/share/applications/gnome-terminal.desktop em ~/.local/share/applications , ou seja, cria uma versão específica do usuário do arquivo de área de trabalho gnome-terminal do sistema;
  • sed -i 's/^Exec=gnome-terminal$/& --geometry=80x24+100+100/' ~/.local/share/applications/gnome-terminal.desktop : altera a linha Exec=gnome-terminal na versão específica do usuário do arquivo de área de trabalho gnome-terminal do sistema para Exec=gnome-terminal --geometry=80x24+100+100 ;
  • gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal --geometry=80x24+100+100' : altera as configurações do dconf para dizer ao ambiente desktop que execute gnome-terminal --geometry=80x24+100+100 ao invés de gnome-terminal ao pressionar CTRL + ALT + T

Para reverter:

rm ~/.local/share/applications/gnome-terminal.desktop
gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'
    
por kos 17.05.2016 / 10:35
3

Eu também fiquei incomodado com a janela do terminal aparecendo em locais aleatórios, e isso foi agravado pelo fato de eu ter vários monitores virados verticalmente e cada vez que o terminal do bash aparecia no topo da minha tela, fazendo com que eu tenho que arrastá-lo para a parte inferior da tela, então finalmente eu tive que fazer algo sobre isso para corrigir esse problema.

Além disso, usar a solução fornecida acima (criar um arquivo gnome-terminal.desktop personalizado) não corrige o problema em quase todos os casos, como quando você clica com o botão direito do mouse na área de trabalho para iniciar o Terminal. usando o menu "Open Terminal" (que eu faço com bastante frequência), ou se você fizer "Terminal- > New Terminal" no menu do Terminal , ou se você usar a tecla de atalho de dentro do terminal para iniciar uma nova janela. Ele funciona se você só iniciar um terminal clicando no botão da área de trabalho, mas para mim isso era insuficiente. Então eu criei uma solução que consertaria esse problema e colocaria dinamicamente a janela do Terminal em sua posição atual do ponteiro.

Eu escrevi um pequeno script bash que você pode colocar no final do seu ~/.bashrc e posiciona qualquer janela do Terminal aberta na posição $X e $Y da posição atual do ponteiro do mouse. O script deve funcionar imediatamente se você estiver usando o gerenciador de exibição Unity (deve apenas trabalhar com outros DMs, mas você pode ter que ajustar o script) e rodar o Ubuntu 16.x (testado em 16.04).

Primeiro, você precisa instalar wmctrl e xdotool em um tipo de shell:

% bl0ck_qu0te%

Aqui está o script, copie / cole-o usando um editor de texto no final do seu arquivo .bashrc em seu diretório pessoal:

# This opens new terminal windows at the specified window size
# positioned at your current mouse position on screen 
# On 16.04 Terminals were defaulting to the TOP OF THE SCREEN and 
# since I have vertical 4k monitors this was driving me crazy. 
# This is a good little hack to fix all instances of gnome-terminal
# some which are baked into a core .so like the desktop "Open Terminal" 
# menu for example.  This is fun and should work in all cases :)
#
if [ -n "$XDG_CURRENT_DESKTOP" ] && [ -z ${GIO_LAUNCHED_DESKTOP_FILE+x} ]; 
then
    ###
    # change these to whatever resolution you want
    # the shell width and height to be in pixels:
    xWinWidth=1000
    yWinHeight=750

    xScreenRes=$(xdpyinfo  | grep dimensions | uniq | awk '{print $2}' | cut -d 'x' -f1)
    yScreenRes=$(xdpyinfo  | grep dimensions | uniq | awk '{print $2}' | cut -d 'x' -f2)

    #cool cmd to get mouse postion, returns result into $X and $Y:  
    eval $(xdotool getmouselocation --shell)

    # make sure window's x width stays on screen:
    if(( $(expr $xWinWidth + $X) > xScreenRes ));
    then
        X=$(expr $xScreenRes - $xWinWidth + 30)
    fi

    # make sure the window height stays on screen:
    if(( $(expr $yWinHeight + $Y) > yScreenRes ));
    then
        Y=$(expr $yScreenRes - $yWinHeight + 60)
    fi

    # set the current active window positon which, since this
    # is being run from .bashrc is always the terminal window!
    wmctrl -r :ACTIVE: -e 0,"$X","$Y","$xWinWidth","$yWinHeight"
                         #0,left, top,width,height  
fi
    
por etron 27.08.2016 / 07:02