Hace ya más de 2 meses que no meto nada en el blog. La verdad es que el blog de programación de campusMVP.es, los boletines (que saco ahora con más frecuencia) y sobre todo el canal de YouTube de programación me tienen muy ocupado, porque lo hago además de lo que es mi día a día.

El logo de la aplicaciónSin embargo sí que he sacado algo de tiempo para crear una pequeña aplicación que soluciona algo que me tiene muy enfadado desde que salió Windows 11: la imposibilidad de ocultar el reloj y la fecha en la barra de herramientas. Y es que, si como yo, tienes que grabar la pantalla para explicar cosas, tener el reloj y sobre todo la fecha ahí plantados supone un grave problema, ya que si estás explicando algo que va a servir durante mucho tiempo, que se vea la fecha en la que lo grabaste lo convierte en obsoleto para mucha gente cuando lo vean dentro de 1 año o de 2, aunque no sea así en absoluto. Por eso, poder ocultar la fecha es algo crucial que no sé cómo es posible que se les haya pasado a la gente de Microsoft (se ve que el que lo hizo no graba muchos vídeos).

Así que, harto de que no lo solucionen, y tras varios meses esperando, me lie la manta a la cabeza y he creado Win11ClockToggler.

Se trata de una aplicación doble, gráfica y de consola que, usando la API de bajo nivel de Win32 y algunos "hacks" que he logrado, hace una sola cosa: muestra u oculta el reloj de Windows 11.

Bueno, en realidad hace algo más: si queremos, oculta también todos los iconos del área de notificación, que muchas veces son un incordio cuando estás grabando porque pueden ser muchos, distraen, y pueden cambiar haciendo que se noten los cortes.

Nota: aunque el objetivo principal es Windows 11, ya que estaba, he hecho que funcione también en WIndows 10, aunque son otros "hacks" diferentes para lograrlo)

Para utilizarla solo tenemos que ir al enlace anterior y en el lateral pulsar en la zona de "Releases". Allí encontrarás la última versión de la aplicación, lista para descargar (en el repositorio está el código fuente completo también, claro).

Existen dos versiones de la aplicación:

  • Win11ClockTogglerGUI_x64.zip: la versión gráfica y más capaz de la herramienta.
  • Win11ClockTogglerCLI_x64.zip: la versión para línea de comandos.

 Una vez descargado el ZIP que te interese, lo descomprimes en donde quieras. Dentro verás que hay un .exe, una .dll (común a ambos) y un archivo de configuración (.config) con el mismo nombre.

Versión gráfica - Win11ClockTogglerGUI

La versión gráfica te permite utilizarla con total comodidad. Su aspecto es el siguiente:

Sólo tienes que elegir qué quieres ocultar (Hide) o dejar visible (Show) usando cada uno de los "sliders" de la parte superior. La fecha y hora es un fijo y siempre se va a ocultar (pues es el propósito principal de la aplicación), pero puedes elegir si ocultar también o no todos los iconos del área de notificación y también la fecha/hora de las barras de tareas secundarias que aparecen en otros monitores  (si no los tienes estará deshabilitado).

Al darle la botón Toggle Visibility se ocultará lo que hayamos elegido.

He hecho el programa en inglés, sí, porque esta utilidad le vale a todo el mundo y en cualquier caso aunque no sepas inglés es muy evidente qué hace cada cosa. Quizá en el futuro haga que puedas cambiar el idioma, pero de momento, es solo en inglés.

Yo soy partidario de ocultarlo todo, porque además en Windows 11 si ocultas tan solo el reloj  se ocultan también los iconitos del sistema que tiene delante y queda un espacio en blanco (queda un poco raro, pero funciona bien):

 

Además de ocultar lo que hayamos elegido, la ventana se queda abierta y monitoriza los elementos que hayamos ocultado para evitar que se muestren otra vez. Esto es necesario porque Windows muestra de nuevo esos elementos cuando entra una notificación o cuando se añade o se quita un icono en el área de notificación. La aplicación estará atenta a esas acciones ocultando inmediatamente todo de modo que no se aprecie (o se vea un mísero instante en el peor de los casos). Hay que tener en cuenta que esto usa la API de bajo nivel de Windows y algunos "hacks" para lograr que se oculten y va en contra de la naturaleza del sistema, por lo que hay que hacer este tipo de cosas. Pero funciona 😊

La ventana permanece abierta pero no tiene un botón en la barra de tareas, por lo que no se verá mientras tengas otras ventanas encima. De todos modos puedes moverla a otro monitor donde no estés grabando o incluso a otro escritorio.

Si cierras la aplicación se restaura todo automáticamente a su estado inicial. Además guarda tus preferencias para que la próxima vez que la uses no tengas que seleccionar de nuevo qué quieres ocultar o mostrar.

Simple, directa y útil.

Como a medida que avance Windows 11 puede que hagan cambios que provoquen que los "hacks" dejen de funcionar, iré sacando versiones nuevas si es necesario. La propia aplicación te avisará de las nuevas versiones (las comprueba una vez como máximo cada 24h cada vez que la uses).

Añadirla al menú de Inicio: si la vas a usar a menudo (si grabas la pantalla en Windows 11 seguro que sí), lo mejor es que la copies a un sitio estable (por ejemplo en C:\Program Files\Win11ClockToggler\), pulsas sobre el .exe con el botón derecho y eliges la opción de Fijar al menú de inicio. De esa forma la tendrás siempre a mano para utilizar.

Versión de consola - Win11ClockTogglerCLI

Esta versión está pensada para usar desde scripts de automatización.

Lo único que hay que hacer para ocultar toda el área de notificación es ejecutarlo con un doble-clic. Cada vez que lo ejecutes hará lo contrario: si está visible la oculta y si está oculta lo muestra.

Por defecto lo oculta todo: la fecha/hora y los iconos de notificación, y además deja abierta la línea de comandos con el resultado de la ejecución, para que sepas exactamente qué ha hecho.

Se puede controlar su funcionamiento con unos parámetros desde línea de comandos (se pueden usar con -, / o en formato largo con --, como se indica en la lista):

  • -n/n--notificationArea: oculta también el área de notificación, con todos los iconitos. Este es el valor por defecto, por lo que no es necesario indicarlo, pero lo he añadido por si quieres indicarlo de manera explícita para que se vea bien qué hace.
  • -c/c--clock: oculta tan solo el reloj y los tres iconitos del sistema que tiene delante, sin ocultar el área de notificación.
    ¿Por qué oculto esos iconos también? Pues básicamente porque todo el conjunto es una ventana de Win32. Lo que tiene dentro es una isla XAML, con iconos de WinUI, y sinceramente no sé cómo acceder a ellos individualmente. He preguntado a algún amiguete de Microsoft sin respuesta positiva sobre cómo hacerlo. Si me entero (o si sabes tú cómo hacerlo, ponte en contacto), lo mejoraré para que oculte solo la parte de la fecha/hora.
  • -s/s--secondary: hace que funcione no solo en la barra de tareas principal, sino también en las secundarias, de otros monitores. Yo generalmente oculto solo el reloj de la pantalla principal, que es la que grabo, y me viene bien tenerlo en las otras para saber qué hora es, pero si tú quieres quitarlo de todas, simplemente usa esta opción.
  • -b/b--batch: si lo quieres usar en un archivo batch con otras instrucciones, esta opción hace que no se detenga una vez se ha ejecutado, permitiendo que se ejecuten otras instrucciones que tengas a continuación.
  • -h/h--help: muestra la ayuda.

Así que puedes meterlo en un .bat o .ps1 y ejecutarlo como quieras con los parámetros que necesites.

MUY IMPORTANTE:  Windows vuelve a mostrar automáticamente el área de notificación completa cada vez que se recibe una notificación. Por ello, aunque la hayamos ocultado, se volverá a mostrar si eso ocurre. Para evitarlo si no usas la versión gráfica de la aplicación, simplemente activa el Modo de Concentración del sistema. Para ello pulsa en los iconos al lado del reloj y luego dos veces en el icono de "Asistente de Concentración". Acuérdate de desactivarlo cuando termines de grabar tu pantalla y restaures los elementos con Win1ClockToggler.

Esta versión de línea de comandos también verifica si hay nuevas versiones para avisarte y muestra un mensaje en rojo en la consola.

¡Espero que te sea útil!

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor