Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Publicado por Ta_PegandoFogo em 19/02/2025
[ Hits: 3.155 ]
#!/bin/bash
# Define a altura da borda superior e inferior (em pixels)
border_top_height=0 # Ajuste conforme necessário
border_bottom_height=0 # Ajuste conforme necessário
# Obtém as dimensões da tela
screen_width=$(xdpyinfo | awk '/dimensions:/ {print $2}' | cut -d'x' -f1)
screen_height=$(xdpyinfo | awk '/dimensions:/ {print $2}' | cut -d'x' -f2)
# Remove maximizações verticais e horizontais
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
# Calcula novas dimensões com base na direção
case "$1" in
up)
width=$screen_width
height=$((screen_height / 2 - border_top_height))
x=0
y=0
;;
down)
width=$screen_width
height=$((screen_height / 2 - border_bottom_height))
x=0
y=$((screen_height / 2))
;;
left)
width=$((screen_width / 2))
height=$screen_height
x=0
y=0
;;
right)
width=$((screen_width / 2))
height=$screen_height
x=$((screen_width / 2))
y=0
;;
*)
echo "Usage: $0 {up|down|left|right}"
exit 1
;;
esac
# Move e redimensiona a [em]janela[/em] ativa
wmctrl -r :ACTIVE: -e 0,$x,$y,$width,$height
// fim do script
Funciona assim:
#!/bin/bash
# Define a porcentagem da largura e altura da tela para a janela
width_percent=60 # Largura da janela em porcentagem da largura da tela
height_percent=70 # Altura da janela em porcentagem da altura da tela
# Obtém o ID da janela ativa
win_id=$(xdotool getactivewindow)
# Obtém as dimensões da tela
screen_width=$(xwininfo -root | awk '/Width:/ {w=$2} END {print w}')
screen_height=$(xwininfo -root | awk '/Height:/ {h=$2} END {print h}')
# Calcula a largura e altura da janela com base nas porcentagens
window_width=$((screen_width * width_percent / 100))
window_height=$((screen_height * height_percent / 100))
# Calcula a posição para centralizar a janela
x_position=$(((screen_width - window_width) / 2))
y_position=$(((screen_height - window_height) / 2))
# Verifica o estado da janela ativa
state=$(xprop -id "$win_id" _NET_WM_STATE)
# Alterna o estado da janela ativa
if echo "$state" | grep -q "_NET_WM_STATE_MAXIMIZED_VERT" && echo "$state" | grep -q "_NET_WM_STATE_MAXIMIZED_HORZ"; then
# Se estiver maximizada, desmaximiza e centraliza
wmctrl -ir "$win_id" -b remove,maximized_vert,maximized_horz
wmctrl -ir "$win_id" -e 0,$x_position,$y_position,$window_width,$window_height
else
# Se não estiver maximizada, maximiza
wmctrl -ir "$win_id" -b add,maximized_vert,maximized_horz
fi
// fim do script
Funciona assim:
#!/bin/bash
# Define a altura da borda superior e inferior (em pixels)
border_top_height=0 # Ajuste conforme necessário
border_bottom_height=0 # Ajuste conforme necessário
# Obtém as dimensões da tela
screen_width=$(xdpyinfo | awk '/dimensions:/ {print $2}' | cut -d'x' -f1)
screen_height=$(xdpyinfo | awk '/dimensions:/ {print $2}' | cut -d'x' -f2)
# Remove maximizações verticais e horizontais
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
# Define a largura e altura para a janela ocupar toda a tela
width=$screen_width
height=$screen_height
x=0
y=0
# Move e redimensiona a janela ativa para ocupar toda a tela
wmctrl -r :ACTIVE: -e 0,$x,$y,$width,$height
// fim do script
Funciona assim:
Imagens e vídeos não são reproduzidos no navegador [Resolvido]
Wi-fi fica desconectando no Ubuntu 21.10 [Resolvido]
Veja como anda se comportando seu PC
VPN passando pelo Linux e acessando servidor interno
Asterisk + X100P + Debian 4.0r
Convertendo Vídeos de formato .TRP para outros formatos
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Links importantes de usuários do vol (4)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (2)
Para os fãs de DOOM, um vídeo do Romero (com dublagem em pt-br disponí... (2)









