elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa  (Leído 4,677 veces)
Abakus

Desconectado Desconectado

Mensajes: 84



Ver Perfil
Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« en: 14 Noviembre 2011, 21:02 pm »

Hola, creo que este es el sitio correcto para ello, estoy en busca de conseguir que el panel de xfce4 se oculte cuando hay una aplicación maximizada, en vista de que no tenia ni idea de como empezar lo que intente fue que al lanzar firefox se ocultara automaticamente, modifique el firefox.desktop pero no conseguí ejecutar dos ordenes en este solo desktop:
Código:
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true & firefox

Lo segundo que hice es relizar un shell script que busque si firefox esta andando lo conseguí pero tengo que ejecutar continuamente el script para que se oculte o no, le puse un while pero relentiza el SO.
¿Pueden ayudarme?


« Última modificación: 14 Noviembre 2011, 21:03 pm por abakus » En línea

    bakus
Abakus

Desconectado Desconectado

Mensajes: 84



Ver Perfil
Re: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« Respuesta #1 en: 21 Noviembre 2011, 23:55 pm »

Bueno comentar que parcialmente he resuelto esto.
Lo que he hecho a sido que el firefox.desktop o cualquier otro lanzador de aplicación ejecute un script y en este caso el script es el siguiente:
Código:
#!/bin/bash
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true
firefox
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false
Cuando sea cerrado firefox volvera a aparecer el panel, prefiero que sea al estar maximizado pero no se como conseguirlo, igualmente espero que esto le sirva a más gente.
Quizá esto este mejor en el subforo GNU/Linux...


En línea

    bakus
RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« Respuesta #2 en: 22 Noviembre 2011, 01:33 am »

Y porque simplemente no usas F11? O si es para algo más práctico pues avisas.

Saludos
En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« Respuesta #3 en: 22 Noviembre 2011, 04:06 am »

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:
Código
  1. #!/usr/bin/env ruby
  2.  
  3. def have_windows_maximized?
  4.    set_bar_hide = false
  5.  
  6.    get_windows_state = %x[wmctrl -l -G]
  7.    get_windows_state.each_line do |s|
  8.      status = s.gsub(/^[0x123456789abcdef]{10}\b /, "")
  9.      if (status[" 0 0"] && !(status["Escritorio"] || status["Desktop"])) then
  10. puts status
  11. set_bar_hide = true
  12. break
  13.      else
  14. set_bar_hide = false
  15.      end
  16.    end
  17.    return set_bar_hide
  18. end
  19.  
  20. def set_status_bar
  21.    if (have_windows_maximized?) then
  22.      %x[xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true]
  23.    else
  24.      %x[xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false]
  25.    end
  26. end
  27.  
  28. loop do
  29.  set_status_bar
  30.  sleep(5)
  31. end
  32.  

daemon.rb:
Código
  1. #!/usr/bin/env ruby
  2.  
  3. require 'daemons'
  4.  
  5. Daemons.run('daemonw.rb')
  6.  

Lo que necesitas para que funcione:
1. tener instalado Ruby y rubygems
2. tener instalada la gema daemons:
Código
  1. 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í:
Código
  1. ruby daemon.rb start
o simplemente:
Código
  1. ./daemon.rb start
pero debes darle entonces permisos de ejecución
y para terminarlo:
Código
  1. ruby daemon.rb stop
o
Código
  1. ./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.gz
Hotlink: http://zeroadmin.heliohost.org/daemon.rb.tar.gz

NdP: 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
« Última modificación: 22 Noviembre 2011, 05:51 am por RyogiShiki » En línea

Abakus

Desconectado Desconectado

Mensajes: 84



Ver Perfil
Re: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« Respuesta #4 en: 22 Noviembre 2011, 16:04 pm »

 ;-) ;-) ;-) Muchas gracias voy a probarlo, espero que me funcione bien en Arch.
En línea

    bakus
RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Auto ocultar panel (xfce) cuando hay una aplicacion a pantalla completa
« Respuesta #5 en: 22 Noviembre 2011, 16:09 pm »

Bien, espero sea de ayuda. Si no te funciona por favor reportas el comportamiento presentado para corregirlo.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Aplicacion sobre aplicacion en pantalla completa xD
Programación Visual Basic
spaceboy90 1 2,473 Último mensaje 28 Enero 2007, 23:10 pm
por Red Mx
Hacer aparecer ventanas en una aplicación a pantalla completa
Programación Visual Basic
aaronduran2 0 1,232 Último mensaje 4 Agosto 2008, 23:43 pm
por aaronduran2
como jugar en pantalla completa en una pantalla panorámica
Juegos y Consolas
blha 1 3,999 Último mensaje 18 Noviembre 2008, 09:34 am
por kabanya
Ocultar/Mostrar panel
Java
Xedrox 3 16,698 Último mensaje 6 Julio 2011, 02:50 am
por Xedrox
xfce problemas con panel
GNU/Linux
Biohazard_Load 2 2,091 Último mensaje 6 Mayo 2019, 13:35 pm
por Biohazard_Load
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines