Programa para levar 2/3 e 1/3 da tela?

3

Existe alguma aplicação conhecida que possa conseguir isso? Se não, há qualquer maneira de me intrometer com isso eu mesmo, eu não preciso de 50/50 para uma configuração específica, eu preciso de um programa para ocupar 2/3 e outro 1/3. Seria extremamente útil!

Como disse, se um programa não existe, o que eu deveria estar lendo para que isso funcione? (Um atalho específico, por exemplo, para 2/3 e outro para 1/3)

Usando o Pantheon a partir de hoje.

    
por Karl Morrison 26.09.2015 / 12:28

1 resposta

0

Introdução

O script abaixo pede ao usuário para escolher a opção de redimensionamento de 1/3 ou 2/3 para uma janela, então permite ao usuário selecionar uma janela que será redimensionada. A janela a ser redimensionada para 1/3 pulará à esquerda e a janela 2/3 pulará à direita. O script pode ser vinculado a um atalho de teclado, conforme necessário.

Configuração preliminar

O script depende do programa wmctrl para fazer o trabalho. Verifique se ele está instalado primeiro com

sudo apt-get install wmctrl

Configurando o script

  1. Crie uma pasta na sua pasta pessoal chamada bin . Você pode fazer isso com o comando

    mkdir $HOME/bin'
    
  2. Nessa pasta, crie um arquivo resizer.sh . Copie o script abaixo para esse arquivo.

  3. Verifique se o script é executável com

    chmod 755 $HOME/bin/resizer.sh
    
  4. Abra Configurações do sistema - > Teclado - > Atalhos - > Atalhos personalizados .
    Crie um novo atalho e forneça o caminho completo do script como comando,
    por exemplo, /home/serg/bin/resizer.sh .

Meu exemplo

Eu configurei o atalho primeiro:

Emseguida,pressioneoatalho.Omenupop-uppermiteaseleçãoderedimensionamentode1/3ou2/3;Euescolho1.Observequenãoháentradaadicional,excetoumúnicodígito

Emseguida,escolhoajaneladonavegadorflutuante.Saltaparaaesquerda,agoracom1/3delargura,alturadaáreadetrabalho.

Omesmocomportamentoseráparaaopção2/3,excetoajanela2/3serácolocadanoladodireito

Peculiaridades

Tendotestadoestescript,oredimensionamentonãofuncionaemjanelasdivididasmaximizadasouesquerda/direita(CtrlSuper/).Portanto,ajaneladevesernãomaximizada,flutuandolivremente.

Fontedescript

#!/bin/bash#--------------------#Author:SergKolo#Date:Sept26,2015#Purpose:ascripttoresizeawindowtoits#1/3or2/3ofwidth.#Writtenforhttp://askubuntu.com/q/678608/295286#--------------------#---------------------#Thisparttakesuserinputthroughgraphicalpopup;#Inputmustbe1or2,anythingelseresultsintoanerror#Ifuserselects1,wesetwindowto1/3ofdesktopwidth#andplaceitontheleft;#Ifuserselects2,wesetwindowto2/3ofdesktopwidth#andplaceitontheright;SIZE=$(zenity--entry--text"Enter (1) for 1/3 and (2) for 2/3 of width")
case  $SIZE in
    "1")NUM=0.333; XPOS=0;;
    "2")NUM=0.667;XPOS=455;;
    *) zenity --error --text="Invalid input"; exit  ;;
esac
#--------------------
# In this part we determine the geometry of the desktop
# and then calculate the width that we want the window to 
# be set using bc, the command line calculator
# printf is used to convert floating point result to 
# integer value, which is required for wmctrl
ROOT_WIDTH=$(xwininfo -root | awk '/Width/ {print $2}')
ROOT_HEIGHT=$(xwininfo -root | awk '/Height/ {print $2}' )
NEW_WIDTH=$(bc <<< $ROOT_WIDTH*$NUM)
NEW_WIDTH=$(printf "%.0f" $NEW_WIDTH)
#----------------------
# This is what actually does the job.
# wmctrl allows you to select the window with -r :SELECT:
# and sets that window to specific gravity,x-position,y-position,width
# height. To keep the script neutral, I've decided to set the 
# height to default desktop height. User can resize the height as 
# necessary by themselves
wmctrl -r :SELECT: -e 0,$XPOS,0,$NEW_WIDTH,$ROOT_HEIGHT
    
por Sergiy Kolodyazhnyy 26.09.2015 / 19:06

Tags