Hola! Bueno pues hoy estoy de buenas y me dieron ganas de hacer el Script, me costó un poco pero aqui está, está hecho en Ruby, y funciona de la siguiente manera: Cada 5 segundos el script comprueba que no existan ventanas maximizadas, si hay ventanas maximizadas entonces pone el panel en autohide, si no hay ventanas maximizadas lo pone otra vez normal.
Bueno sin mas ni mas aquí está:
daemonw.rb:#!/usr/bin/env ruby
def have_windows_maximized?
set_bar_hide = false
get_windows_state = %x[wmctrl -l -G]
get_windows_state.each_line do |s|
status = s.gsub(/^[0x123456789abcdef]{10}\b /, "")
if (status[" 0 0"] && !(status["Escritorio"] || status["Desktop"])) then
puts status
set_bar_hide = true
break
else
set_bar_hide = false
end
end
return set_bar_hide
end
def set_status_bar
if (have_windows_maximized?) then
%x[xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true]
else
%x[xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false]
end
end
loop do
set_status_bar
sleep(5)
end
daemon.rb:#!/usr/bin/env ruby
require 'daemons'
Daemons.run('daemonw.rb')
Lo que necesitas para que funcione:1. tener instalado Ruby y rubygems
2. tener instalada la gema daemons:
su -c 'gem install daemons'
3. tener instalado
wmctrl ya dependiendo de la distro ue tengas ha de estar en los repos.
Como se usa:Debes tener los dos scripts en el mismo directorio, para iniciar el servicio o daemon lo haces así:
ruby daemon.rb start
o simplemente:
./daemon.rb start
pero debes darle entonces permisos de ejecución
y para terminarlo:
ruby daemon.rb stop
o
./daemon.rb stop
Cualquier fallo porfavor comunicalo.
Lo probé y reconoce las ventanas maximizadas, a la primer ventana que encuentra manda el comando, y si ve que no hay maximizadas lanza el unset del comando, lo probe con una entrada de gnome a falta de xfce.
Descarga de archivos:
Mediafire:
http://www.mediafire.com/file/azd5rys1hbu5brh/daemon.rb.tar.gzHotlink:
http://zeroadmin.heliohost.org/daemon.rb.tar.gzNdP: Si la ventana está maximizada, pero se encuentra minimizada también es detectada como maximizada.
NdP2: Para instalar la gem es necesario tener instalados los paquetes de desarrollo de ruby (ruby-dev) tener preferiblemente Ruby 1.9.2, y para evitar problemas GCC.
Saludos