martes, 14 de diciembre de 2010

Agrupar/desagrupar botones de la barra de tareas
en Windows 7

Últimamente estoy trabajando en una web y lo estoy haciendo en Windows 7 puesto que estoy demasiado acostumbrado al magnífico programa Notepad++, de licencia GNU GPL y por lo tanto completamente libre, al XAMPP para Windows y al Photoshop. Sé que se puede hacer lo mismo o más con programas para Ubuntu, pero desgraciadamente no tengo tiempo de sobra para provar/acostumbrarme a estos programas y, además, este tipo de trabajos siempre son para ayer.

Vamos al tema del post, en Windows 7 si tienes la opción de "Combinar siempre" los botones de la barra de tareas no puedes tener varias ventanas abiertas por programa para poder acceder inmediatamente, por ejemplo si quieres tener dos ventanas de Opera abiertas cada una con una web diferente para poder acceder rápidamente (1 click) sin tener que pasar por las miniaturas que aparecen en la barra o por las pestañas (2 clicks), la solución evidente es marcar la opción "No combinar nunca" en "Propiedades" de la barra, pero cuando llevas unas cuantas veces agrupando para un uso "normal" y desagrupando para trabajar, te hartas de los 4 clicks necesarios para ello.

Aunque todavía no es lo más óptimo del mundo, he ideado una manera en la que con un click para minimizar (al lado de la hora) y un doble click para abrir el acceso directo al bat que he creado consigo el mismo efecto. Aunque cierra todas las carpetas, ya que hay que reiniciar "explorer.exe", para mí no es un problema ya que, como he dicho, lo uso para el paso de trabajo a ocio y viceversa.

for /F "tokens=1 delims=:" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v TaskbarGlomLevel') do ( SET valor=%%i )

for /F "tokens=1 delims=:" %%j in (" TaskbarGlomLevel REG_DWORD 0x0 ") do ( SET cero=%%j)

for /F "tokens=1 delims=:" %%k in (" TaskbarGlomLevel REG_DWORD 0x2 ") do ( SET dos=%%k)

if "%valor%"=="%cero%" (goto ponedos)

if "%valor%"=="%dos%" (goto ponecero)

:ponedos
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v TaskbarGlomLevel /t REG_DWORD /d 00000002 /f
goto fin

:ponecero
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v TaskbarGlomLevel /t REG_DWORD /d 00000000 /f
goto fin

:fin
taskkill /im explorer.exe /f
start explorer.exe

El script es sencillo, seguramente podría serlo más pero no soy experto en batch, consulto el actual valor de la clave del registro que dice cómo se encuentra la barra (agrupada o desagrupada), lo guardo en una variable "valor", guardo dos cadenas con los posibles valores que me interesan para comparar ("cero" y "dos"), comparo y dependiendo del caso pongo el valor contrario en el registro, por último reinicio "explorer" y listo. Para evitar que aparezca la ventana de MS-DOS al ejecutar el bat simplemente hago un acceso directo, al cual se le puede cambiar el icono, y en "propiedades" del acceso directo, en la casilla "ejecutar" pongo "minimizada".

El próximo paso sería conseguir fijarlo como "tray icon" para conseguir el mismo efecto con un simple doble click, pero yo tengo que volver al trabajo...

1 comentario:

GLENDA PEREZ dijo...

muy interezante he espero funcione