Archivo de la etiqueta: Windows 8.1

Saber si una aplicación de Windows Store es de prueba (trial) o comprada

 

Pues eso… cuando publicas una aplicación "de pago" en Windows Store puedes indicar un periodo de prueba (trial). Saber si la aplicación es aún de prueba o no te permite poder cambiar algunas de las opciones de tu aplicación, si es que realmente quieres hacer esa distinción, si no quieres hacer ninguna distinción puedes dejar de leer esto jejeje.

La forma más simple es hacer una comprobación del valor devuelto por la propiedad IsTrial de la propiedad LicenseInformation que está definida en la clase CurrentApp:
CurrentApp.LicenseInformation.IsTrial

Nota:
Según indica la ayuda de CurrentApp, para poder usarla necesitas tener una cuenta de desarrollador de Windows Store. Si no es así, puedes usar la clase CurrentAppSimulator.

La forma más práctica de usar el valor de esa propiedad es bien almacenándola en una variable o bien usarla para comprobar si, por ejemplo, se deben mostrar ciertas opciones o controles en nuestra app. Por supuesto, si vas a hacer varias comprobaciones en sitios diferentes de tu aplicación, lo mejor es que utilices una variable local (a nivel de la página).

Además, también tienes que tener en cuenta de que mientras tu aplicación se está ejecutando es posible que el usuario la haya comprado, por tanto es interesante por no decir conveniente que tu aplicación se entere de si la app ha cambiado de trial a de pago. Por suerte existe un evento en la clase CurrentApp que te permite saber si esto ocurre. Ese evento es: LicenseChanged.

El evento LicenseChanged se producirá cuando cambie el tipo de licencia de tu aplicación, y en ese método de evento es donde puedes re-asignar el valor de la variable esa que te comentaba antes (la de saber si es trial o no).

 

blog isTrial
Figura 1. Un ejemplo de uso en Visual Basic de IsTrial…

 

Pues nada, esto es todo… solo decirte (y recomendarte) que le eches un vistazo a la ayuda sobre la clase CurrentApp porque ahí tienes más cosillas interesantes que puedes hacer con tu aplicación, pero siempre relacionadas con la Tienda de Windows y la compra de la app, incluso desde dentro de la propia aplicación (in-app purchase).

Este enlace te llevará a un ejemplo del Dev Center de Microsoft con ejemplos para esto que te he comentado y además de realizar compras desde la aplicación (in-app purchase).
Si tu lenguaje preferido es Visual Basic .NET, decirte que no hay código de ejemplo para VB, solo para C#, JavaScript y C++, pero bueno…
Trial app and in-app purchase sample.

 

Esto es válido para las aplicaciones de la Tienda de Windows de Windows 8 y superior; además de las aplicaciones para Windows Phone 8 y superior.

Espero que te sea de utilidad.

 

Nos vemos.
Guillermo

de los nombres largos y cómo usa Office 2013 las carpetas del sistema

 

Pues eso… anoche quise dejar más espacio en el disco del sistema (C) y moví algunas carpetas de usuario (Movies, Pictures y Documents) a otra carpeta del disco de datos (E), y sabes… creas una carpeta (si quieres) en el disco de datos (el nuevo destino) y puedes mover las carpetas del usuario a ese nuevo destino y Windows sabrá que esas carpetas (las que decidas mover) las tiene que buscar en la nueva localización cuando quiera hacer uso de ellas.

Hasta aquí casi todo bien, lo de casi es porque si estás usando algún fichero de algunas de esas carpetas no te dejará moverlas o al menos puede que se queje de que no puede acabar la operación porque hay ficheros que están siendo usados.

 

Outlook y la ubicación de las carpetas de usuarios

Hoy cuando he abierto el Outlook (el programa cliente de correo de Office 2013) para acceder a las choricientas cuentas de mail que tengo, va y me dice que nones… que falta el fichero de datos (ver la figura 1), y como resulta que cada cuenta la tengo en varios ficheros de datos, pues… esperaba que me preguntara por todas, pero no, solo preguntó por dos…

Pero este no es el problema.

office 2013 y documentos
Figura 1. Error de Outlook 2013 al no encontrar un fichero de datos

Si te fijas en el texto de la imagen 1 Outlook 2013 da por hecho de que los datos están en un directorio "fijo", que sí, que está en un directorio fijo, pero en un principio ese directorio era "Documents\Outlook Files" es decir, en el directorio de documentos del usuario creó un directorio para almacenar los ficheros de datos.

Por tanto, si muevo dicho directorio de usuario a otro disco, Outlook 2013 debería (o tendría que) haberlo buscado en el directorio de datos, no en la ubicación "física" en que estaba en el día en que se guardó.

Que no es problema esto, ya que después del aviso ese te pregunta dónde localizar el fichero de datos y ya está… lo mismo con el resto de ficheros, que en mi caso al tener tantas cuentas, pues… es un poco rollo tener que decirle dónde están… aparte de que me ha quitado todo lo que tenía en favoritos y la "organización" que en su día le di… pero bueno… aunque es un rollo (por no decir coñazo) no pasa nada… salvo que estas tonterías o cosas mal hechas al final te hacen perder el tiempo… en fin…

Nota:
Supongo que el que esos ficheros de datos, a pesar de estar en la carpeta Documentos del usuario que estaba activo, Outlook 2013 los tome como ubicación física es porque al seleccionar dónde guardar y cómo llamar al fichero de datos cuando lo creé, pero… no es excusa, ya que el directorio ese de "Outlook Files" el programa lo crea en la susodicha carpeta de Documentos del usuario.

 

Los nombres largos en directorios con subdirectorios con nombres largos

Esa es la otra cosa que te quería comentar, que eso de usar nombres largos está muy bien, que no digo yo que no, pero tampoco hay que abusar…

Te explico lo que me ha pasado.

En la carpeta Documentos del usuario tengo guardado ejemplos de Visual Studio para Windows 8. Esos ejemplos, o al menos los que me han dado problemas a la hora de copiar, son páginas web que he descargado y almacenado en una carpeta dentro de Documents, esas páginas tienen títulos largos y, por tanto, al crear la carpeta de ficheros de esa página el nombre de la misma crece un poco más, ya que al final del nombre se le añade "_files" y si a esto le añadimos de que esos ejemplos están en una carpeta llamada "ejemplos async, parallel, serializacion" que a su vez está dentro de otra con este nombre: "_info programación (Win8, Visual Studio)", pues resulta que si en esa carpeta hay un fichero con más de 50 caracteres en el nombre  y la página (y por tanto la carpeta contenedora + _files) tiene el nombre "Async Sample  Accessing the Web Walkthrough (C# and Visual Basic) muestra en C#, VB.NET para Visual Studio 2012" empieza a sumar… y si quieres moverlo de un disco a otro haciendo una copia de la carpeta base completa (que está en C:\Users\<nombre usuario>\Documents), resulta que el sistema operativo se quejará de que no puede leer el fichero de origen o no puede copiarlo en el de destino… así que… he tenido que crear carpetas con un solo carácter a nivel del directorio raíz y aún así… he tenido que comprimir (con WinRar ya que el ZIP del sistema daba error) las carpetas y después extraerlas en el directorio de destino… sí, un rollo… en fin… es lo que tiene usar nombres largos con más nombres largos que a su vez contiene ficheros con nombres largos o muy largos… en fin…

Aún así, esos ficheros con nombres largos tampoco se podrán editar, ya que el sistema te mostrará un error como el de la figura 2.

nombres largos
Figura 2. El nombre del fichero es muy largo

Y por supuesto si quieres copiarlo en otro sitio, debes buscar una ubicación de destino que tengo un nombre corto, ya que, por ejemplo, al querer copiarlo al escritorio me dio el error que te comentaba de que el nombre es demasiado largo (ver la figura 3).

source path too long
Figura 3. El nombre de la ubicación de origen es demasiado larga

 

Ahí queda eso… para que lo sepas por si te pasa…

 

Nos vemos.
Guillermo
P.S.
Lee esto también, que seguro que te interesará:
Si quieres cambiar la carpeta Documets de disco y tienes Office 2013, mejor déjalo cono está…

Iniciar Windows 8 en el escritorio

 

Pues eso, pero Windows 8, no Windows 8.1 que ese trae de fábrica lo de poder iniciar en la pantalla de Inicio (valor predeterminado) o iniciar directamente en el escritorio.

Tengo que decir que este artículo lo escribo porque ayer jueves leí cómo hacerlo en este otro: Cómo iniciar Windows 8 en el escritorio por defecto, pero resulta que lo probé y no me funcionaba, además de que al menos otro colega (Alezito) también lo probó y nada de nada, por eso quité los enlaces que puse en Twitter y mi página de Facebook.

Pero hoy mi amiga Pilar (Palel) me dice que sí que funciona, solo que hay que usar la extensión SCF en lugar de SFC que es como decían en el artículo y que el autor tampoco me lo aclaró cuando pregunté si ese "truco" funcionaba sin tener ningún programa extra instalado.

Con esto quiero decir, que el mérito de este truco no es mío, es del autor del artículo publicado en rootear.com: Alejandro López.

Y ya que estamos te explico cómo hacerlo y de paso te indicaré también que otros iconos puedes usar para el fichero este que vamos a crear.

Lo primero es crear un fichero de texto, por ejemplo abriendo el Bloc de notas o cualquier otro editor de textos y añade las siguientes líneas:

 

[Shell]
Command=2
IconFile=Explorer.exe,5

[Taskbar]
Command=ToggleDesktop

 

Lo guardas con el nombre que quieras, pero con la extensión SCF.

 

Nota:

Si usas el bloc de notas, fíjate que no te guarde el fichero con un .txt al final.

Para asegurarte de que eso no ocurra, en la lista despegable para el Tipo de fichero, selecciona Todos los archivos (*.*)

 

Cuando lo guardes fíjate que te lo mostrará con el icono del botón de "inicio" de Windows XP, tal como puedes ver en la figura 1.

escritorio W8 (SCF)

Figura 1. El contenido del fichero con extensión SCF

 

Nota:

Si quieres usar otro icono, simplemente cambia el valor del número de la línea:

IconFile=Explorer.exe,5

Los valores pueden ser desde 0 hasta 24, a partir de 24 siempre usa el mismo.

 

Una vez que tienes el fichero creado, hay que copiarlo al menú de inicio (de cuando se inicia Windows).

Si quieres que sea efectivo para todos los usuarios puedes copiarlo en este directorio:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Ten en cuenta que si navegas desde el disco C (o la unidad en la que inicies Windows), la carpeta ProgramData estará oculta, así que… te recomiendo que copies la ruta (aunque esté en inglés) y la pegues en la dirección de una carpeta del explorador de Windows, tal como puedes ver en la figura 2. Una vez pegada (seguramente tendrás que pulsar la tecla INTRO) ya te mostrará el texto en el idioma que tengas configurado.

escritorio W8 (SCF) fig 2

Figura 2. La carpeta del menú de inicio para todos los usuarios

Nota:

Este directorio es del sistema, por tanto te pedirá confirmación (de administrador) para pegarlo.

 

Si quieres que sólo se utilice para un usuario particular, puedes usar la siguiente ruta (cambia <usuario> por el nombre del usuario en el que quieres copiarlo):

C:\Users\<usuario>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

 

Sólo me queda decirte que esto es para Windows 8, pero funciona también en Windows 8.1 Preview, aunque en este último no es necesario ya que (como te dije al principio) existe una forma más fácil de hacerlo.

También comentarte que es posible que tarde unos cuantos segundos en aparecer el escritorio, es decir, no es inmediato, primero te mostrará la pantalla de Inicio y después irá al escritorio.

Aunque, como dice mi amiga Pilar (de Palel.es) casi es más rápido usando la tecla Windows (o Windows+D) o simplemente pulsar en el tile (icono) del escritorio desde la pantalla de Inicio 🙂

Pero… si eres como "somos" muchos, lo mismo te gusta más que se inicie en el escritorio jejeje

 

Espero que te sea de utilidad.

Nos vemos.

Guillermo

después de perder el tiempo (otra vez) creo que la culpa es de Windows 8

 

Pues eso… como te conté el otro día en vaya forma de perder el tiempo, hoy me ha vuelto a pasar, pero con la máquina virtual de Windows 8.1 que el martes funcionaba bien.

Y claro, hoy he querido acordarme de lo que hice pa solucionarlo, pero… ¡no me acordaba!

Yo sabía que el truco era liar el tema de los idiomas… pero no me acordaba de cómo… y antes de que se me olvide te lo cuento.

Antes de nada decirte porqué he puesto en el título eso de que "creo que la culpa es de Windows 8", y es que resulta que si usas el mismo usuario (cuenta de Live ID) en varios equipos con Windows 8 (o Windows 8.1) los datos de configuración se copian entre equipos, y sin avisar, así a traición.

Está muy bien que si cambias el fondo del escritorio se cambie en todos los equipos que tienes configurado, ya que al ser el mismo usuario puede ser que quieras tenerlos todos igual… ¿y por qué? Vamos a ver, si yo quiero tener este equipo con el fondo liso, porque me parece bien… ¿por qué puñetas quiero tener el netbook igual? ¿Y si quiero diferenciarlos? Pues… agua y ajo… es lo que hay… y si hay otra forma de "desigualarlo" (que no sea usando diferentes usuarios) que alguien (¿tú? pos vale) me lo cuente en los comentarios. Gracias.

A lo que iba, y es que creo que el tener configurado el idioma igual y esas cosas, pues… estaría bien si en todos los "dispositivos" tienes las mismas cosas instaladas… porque si no… ¡no sé yo pa qué puñetas…!

Pero bueno… como no sé si esto mismo pasaría sin tener los windows conectados por el mismo usuario… pues… lo dejaré estar… y sacaré el lado positivo: al menos la experiencia me ha dado para escribir un par de artículos/entradas/posts en mi blog… quién no se consuela…

 

Advertencia sobre lo que a mí me pasa

Lo que viene a continuación "me pasa a mí", no sé si a ti u a otra persona le pasará lo mismo.

Te cuento que yo suelo tener el sistema operativo instalado con el idioma inglés y la configuración del teclado en español (internacional). También suelo añadir el paquete de idiomas español y usarlo cuando lo necesito.

Eso es así en mi equipo principal.

En el netbook Samsung N130 el idioma instalado del Windows 8.1 (y antes del Windows 8) era el español (el inglés descargado, pero dejado ahí por si lo necesito).

En la máquina virtual con el Windows 8.1 lo tenía con el inglés, pero se ve que lo cambié al español o lo mismo se me ha cambiado solo… ¡a saber! (yo pensaba que lo tenía en inglés y que el español lo usaba con otro usuario, en fin…).

Dicho esto, puede que este jaleo que me he formado yo solo, sólo te ocurra si eres tan "liante" como yo… es decir, que mezcles y… bueno, ya sabes lo que pasa cuando mezclas… :-/

 

 

Vamos a lo que vamos.

Lo que yo he hecho es ir al panel de control, seleccionar Cambiar método de entrada (ver la figura 1)

panel 1
Figura 1. Panel de control

Eso te mostrará el panel de idioma (figura 2), en mi caso, tengo varios ahí de las pruebas "internacionales" que he hecho en mi equipo habitual, en los otros aparecerá porque estoy usando la misma cuenta de usuario.

El que nos interesa es el inglés. Aunque te aclaro que yo en el idioma español solo tengo el teclado español.

Pulsa en Opciones y te mostrará, entre otras cosas los teclados que usarás con ese idioma (ver la figura 3)

panel 4
Figura 2. Selecciono el idioma inglés

 

Tal como puedes ver en la figura 3, tengo tres teclados. No me preguntes porqué, pero ahí están. Y el que realmente es importante es el teclado español.

panel 5
Figura 3. Los métodos de entrada

También tengo que aclarar que aunque no sé exactamente porqué tengo tres teclados, lo cierto es que teniendo solo el teclado Estados Unidos y Español no me solucionaba la papeleta. Pero al añadir también el teclado Estados Unidos – Internacional, ya me mostraba el dibujico del teclado al lado de la barra de idiomas (cuando estaba seleccionado el idioma EN) y desde ahí, marco el idioma Español tal como puedes comprobar en la figura 4.

panel 6
Figura 4. La barra de idiomas con los teclados de Estados Unidos

 

Y… pues… ya… ahora puedo escribir puñetas sin tener que saber a qué tecla corresponde la eñe… en serio… los que estamos acostumbrados al teclado español de España (o internacional) nos cuesta usar el teclado inglés norteamericano, sobre todo para el tema de teclas como las llaves {}, corchetes [] y alguna que otra como los símbolos #, @, \, etc. que el otro día casi me aprendo de memoria todas las combinaciones de teclas para escribir los símbolos usando ALT+el código numérico de la tecla  (que ya sería todo un acontecimiento importante a estas alturas de mi vida).

En fin… espero que si te pasa esto, ya sepas cómo solucionarlo y si no te ha pasado ni te pasará… pues eso que te llevas ganado…

¡Agur! (que me ha venido así de golpe acordándome de los comics/tebeos de F. Ibáñez y by VázQuez y no me preguntes porqué)

 

Nos vemos.
Guillermo

vaya forma de perder el tiempo

 

Pues eso… que el otro día instalé el Windows 8.1 Preview en mi netbook (Samsung N130) y normalmente entro en ese equipo de forma remota usando TeamViewer, y como no hago muchas cosas con el equipo, no me molesta que la resolución sea "escasa", ya que el tamaño de la pantalla no pasa de 1024×600, y es que resulta que el tamaño anteriormente conseguido (con Windows 8) era de 1024×768 en el cual te permitía ejecutar las aplicaciones de la pantalla de Inicio de Windows 8.

Pero resulta que la aplicación que te permitía usar esa resolución extra (Easy Resolution Manager) ya no funciona en Windows 8.1.

He probado con versiones diferentes y actualizadas, y nada de nada. Lo curioso es que al instalar el 8.1 lo único que me dijo es que tenía que desinstalar el Easy Display Manager, pero del Resolution no dijo ni mú… aunque no funciona.

Y el TeamViewer, aunque en teoría te lo permite, lo de en teoría es porque ahí están las opciones, no puedes usar (o yo no he podido usar) otra resolución mayor, salvo cuando (curiosamente) estaba conectado con el Escritorio remoto.

 

El caso es que me he conectado con el Escritorio Remoto y así usar otra resolución de pantalla. El problema con el que me he topado es que el teclado está configurado como teclado inglés y no hay forma de que utilice el español. En las opciones del teclado y de la configuración regional me dice que estoy usando el teclado español e incluso puedo alternar entre el teclado español y el inglés, pero las teclas siempre son las mismas. No hay forma de que use las del teclado español… 🙁

He probado algunas cosas de cambio del registro, tal como se indica en [Soft – Windows XP] Idioma de teclado cambia en Conexión a Escritorio remoto en el que también está el enlace a la KB de Microsoft con más o menos la misma solución.

 

A lo que iba… que llevo así (además de mientras tanto instalar otras cosas) más de dos horas (por no decir cuatro), porque ya casi he perdido la noción del tiempo… salvo porque en el reloj de Windows me dice que ya son las 01.21 y… pues eso…

Bueno, creo que al final lo haré con el TeamViewer a pantalla completa o… ¡ya se me ocurrirá algo!

Nota:
Lo de pantalla completa con el TeamViewer no vale, ya que utiliza la misma resolución (1024×600) pero ocupando todo el monitor… 🙁

Por si te quedan dudas, tengo otras conexiones por medio de escritorio remoto y el teclado está correcto, es decir, que no es cosa de la versión del programa u otra cosa rara… ¡espero!

Bueno, voy a comer algo y después ya veremos… y si encuentro la solución… te la contaré…

 

Ya funciona (o casi) (02.44)

No sé cómo lo he hecho, pero… al menos funciona, eso sí, hay que estar atento…

Resulta que "trasteando" en los teclados/idiomas, me he topado con que en el idioma inglés, tengo tres teclados (ver la figura 1), y si elijo la del teclado español funciona bien.

teclado en N130
Figura 1. Las opciones del teclado inglés

Lo curioso es que si en lugar de elegir el teclado inglés (EN), usando el valor general, no el que se muestra en el menú contextual, elijo el español (ES) sigue sin salir bien… al menos desde el terminal server / escritorio remoto.

Bueno, algo es algo… :-/

 

 

Nos vemos.
Guillermo

Instalando el Windows 8.1 Preview en el netbook

 

Este artículo (por llamarlo de alguna forma) originalmente lo publiqué en throwww a última hora del 31 de julio de 2013.
Aquí pego el mismo contenido (por si aquél se pierde)

 

Pues eso… que ya tenía instalado el Windows 8 haciendo un update del Windows 7 Ultimate, es decir, dejando todo lo que ya había a la hora de actualizar, ya que el "update" en realidad lo estoy haciendo ahora.

Para realizar la actualización de Windows 8 a Windows 8.1 Preview hay que seguir estos pasos:

1- (opcional) Asegurarte de que tienes todas las actualizaciones al día

2- Descargar del sitio de Microsoft la actualización a Windows 8.1 Preview (un fichero .msu)

3- Ejecuta la actualización y sigue los pasos (tendrás que reiniciar)

4- Una reiniciado te indicará que estás listo para obtener el Windows 8.1 Preview (figura 1)

5- Te mostrará la ventana de la Tienda de Windows con una pantalla similar a la de la figura 2

6- Pulsa en descargar y deja que descargue e instale, le llevará un rato… (ver figura 3)

W8.1 preview 1
Figura 1. Ir a la Tienda para actualizar

 

W8.1 Preview 2
Figura 2. En la Tienda descarga e instala el Windows 8.1 Preview

 

W8.1 Preview 3
Figura 3. Ahora solo queda esperar

 

Y esperar… y esperar… y yo ya no espero más y lo dejo instalando (ya lleva más de media hora descargando)

Nos vemos.
Guillermo

Mira que soy torpe o el Guille y los tiles de Windows 8.1 Preview

 

Pues eso… que estaba haciendo pruebas (en mi aplicación del Reloj para Windows 8) para utilizar los nuevos tamaños de los iconos de la aplicación en la página de Inicio (también conocidos como tiles) y no me mostraba el tamaño grande.

He estado mirando en la documentación y en los ejemplos (de C# porque de VB no hay todavía para la preview de Windows 8.1) a ver si había algo especial que hacer, me encontré que ahora se indica la versión (version) del elemento visual al número 2:

<visual version="2">

También he visto que se puede indicar fallback con el tipo de template xml anterior, con idea de que si el indicado no está que se use ese otro (que suelen ser iguales):

<binding template="TileSquare150x150Block" fallback="TileSquareBlock">

Pero nada. No me mostraba los nuevos tamaños, solamente los dos que ya tenía: cuadrado y alargado (ahora mediano y ancho).

 

Y después de hacer algunas miles de millones de pruebas (exageradillo que es el niño) resulta que me da por mirar el "manifiesto" de la aplicación y… ¡torpeeeeeeee! ¡queresmutorpe! (me lo digo yo a mi mismo)

Pues resulta que no había imágenes para el tamaño grande, y por tanto… ¡no se puede mostrar ese tamaño en el tile!

Así que… si quieres que tu aplicación soporte todos los tamaños en los tiles, debes tener relleno todos los campos de los tamaños (ver la figura 1).

 

Screenshot (16.1)
Figura 1. Los tamaños del icono / tile soportados por la aplicación

 

Lo dicho, que tengo una memoria de pez olvidadizo y que además de eso más de la mitad de lo que pesa mi cerebro en vez de corteza cerebral es de torpeza cerebral… en fin… :-/

 

Espero que te sirva… y ya ni te pido que dones algo porque se ve que no estás por la labor… yo tampoco lo haría… ¡pa que te voy a decir otra cosa!

 

Nos vemos.
Guillermo

Cambios radicales en Windows 8.1 Preview (para developers)

 

 

Nota del 08/Jul/13 17:00:
Ayer noche publiqué este artículo, y esta mañana he estado haciendo ciertas comprobaciones, y entre ellas he modificado parte del código que te muestro, además de un pequeño truco para seguir usando los elementos VisualState que ya tengamos en el código XAML, aunque ya no existan como "modos de visualización".
La forma de usar o indicar cuál de los elementos VisualState definidos en el código XAML queremos usar (si hubiera alguno, si no existe ese "aspecto visual" simplemente lo ignora y no produce ningún efecto ni excepción) es haciendo una llamada al método GoToState de la clase VisualStateManager. Esa llamada la haremos en el código del método que intercepta el evento SizeChanged. En el código que te muestro más abajo utilizo esto que te estoy comentando.

 

Pues eso… que las cosas han cambiado con Windows 8.1 Preview con respecto a la versión anterior y las cosas que antes nos dijeron que eran de una forma, ahora resulta que no es así, y lo peor es que si no las cambias en tus aplicaciones de Windows 8 para Windows Store (Tienda de Windows) no quedarán "cool" y por tanto darán mucho el cante, es decir, que tus aplicaciones van a destacar, pero no por lo buenas o interesantes que puedan ser, si no porque parecerán aplicaciones que ni siquiera te has molestado en testear (probar).

Bueno, a lo mejor he sido un poco exagerado, ya que esto será así sobre todo si tu aplicación actual para la Tienda de Windows utiliza cosas como acoplarse a la izquierda o derecha (snapped) o tiene en cuenta si tiene otra aplicación acoplada o utiliza actualización del icono de la pantalla de Inicio (live tiles) y algunas cosas más…

Pero aquí estoy yo para intentar darte un poco de claridad en estas cosas que nos vienen encima, así que… empecemos con algunas cosas.

 

Las aplicaciones de Windows 8.1 pueden cambiar de tamaño

Pues eso es así, aunque con la filosofía de Windows 8, es decir, a pantalla completa.
Sí, sí, no me he equivocado, espera y te lo explico.
Las aplicaciones de Windows 8.1 (las que se utilizan para la pantalla de inicio, estilo metro o Modern UI) no funcionan en una ventana independiente, esas son las que funcionan en el escritorio, las propias de Windows 8 cuando las inicias, las veremos a pantalla completa. En la versión actual de Windows 8, además de pantalla completa hay otras dos formas de verlas: acoplada a uno de los dos lados (Snapped) o rellenando lo que deja una aplicación que esté en el modo acoplado (Filled).
Pero esto ha cambiado en Windows 8.1 y ahora los modos Snapped y Filled no existen. La pantalla se puede dividir para que podamos ver dos aplicaciones a la vez (como antes), pero en esta ocasión la división no tiene porqué ser tan evidente como antes, por ejemplo, en la figuras 1 y 2 tenemos cómo se verían las dos mismas aplicaciones usando Windows 8 (fig. 1) o Windows 8.1 Preview (fig. 2).

 

screenshot_07072013_173613_8
Figura 1. Windows 8: Aplicaciones en modo Snapped y Filled

 

screenshot_07072013_173815_8.1
Figura 2. Windows 8.1 Preview: Aunque parecido a Snapped y Filled, internamente no es así

 

Si miramos las dos capturas parece que no hay diferencia en las dos versiones de Windows 8 (salvo por la rayita que hay en la separación), pero si miras la siguiente figura (la 3), verás que la aplicación de la izquierda (que no está preparada para Windows 8.1) sigue manteniendo los tamaños de lo que antes era Snapped, pero ocupando más pantalla. Por otro lado, la aplicación para el tiempo si que se adapta al nuevo tamaño.

 

screenshot_07072013_173841_8.1
Figura 3. Windows 8.1 Preview: El tamaño ya no es fijo como en la versión anterior

 

Como detalle, decirte que en modo Snapped el ancho solía ser de 320 pixel y que en Windows 8.1 cuando inicialmente acoplamos la aplicación a uno de los dos lados, ese tamaño suele ser variable, por ejemplo, en una resolución de 1024 (que antes no permitía el modo Snapped) el ancho sería de 501 pixel, y en una resolución de 1366 ese ancho inicial es de 672 pixel.

 

Saber cuando la aplicación está en los "antiguos" modos Snapped o Filled

Para nosotros los developers (voy a usar la palabra en inglés, ya que algunas veces hay discrepancia entre el uso de desarrollador y programador) lo que debemos saber es que en Windows 8.1 ya no se podrán usar esos modos de visualización, bueno, no sólo no usarlos, lo peor es que no tenemos una forma fácil de saber si nuestra aplicación está en modo acoplado (Snapped) o no.

Lo que Microsoft recomienda o dice en la advertencia (ver figura 4) al usar la enumeración ApplicationViewState, o cuando queremos usar ApplicationView.Value (que es el que nos indica si la aplicación está en modo Snapped o Filled), es que tengamos en cuenta el tamaño al que se muestra nuestra aplicación y actuar en consecuencia.

 

Screenshot (14.1)
Figura 4. Advertencia (warning) al usar las propiedades y enumeraciones obsoletas

Resumiendo, el texto de la advertencia es: que la propiedad Value está obsoleta y que comprobemos directamente el tamaño de la ventana (Instead, query for window layout sizes directly).

Esto está muy bien, particularmente para las nuevas aplicaciones que hagamos, pero el problema es cuando esos tamaños los estamos utilizando en las aplicaciones existentes. La prueba la tienes en la figura 3, que a pesar de tener más espacio disponible, no se adapta al nuevo tamaño.

 

Nota:
Estoy usando la aplicación Microsoft Mahjong en estas capturas, pero podría estar usando muchas otras de las aplicaciones que hay para Windows 8, por ejemplo la de mi Reloj para Windows 8, en las que no se comprueban más cosas, simplemente porque en el momento de crear/publicar la aplicación no había más posibilidades de tamaño que pantalla completa, Snapped o Filled.

 

Como veremos dentro de un momento, me he fabricado unas funciones para saber si estamos o no en modo Snapped (o Filled, etc.) o lo que es lo mismo, cuando la aplicación está acoplada a uno de los dos lados y tiene un tamaño menor del que yo he predeterminado para simular esos valores.

Aunque tengas esas funciones, el problema real será si hemos usado (como ellos nos recomendaron) que la mayoría de los cambios en el tamaño de los controles, etc. lo hiciéramos dentro del código XAML (como elementos VisualState), ya que en Windows 8.1 Preview esos valores los ignoran completamente.

Por tanto, si queremos dar la misma funcionalidad a nuestra aplicación que la que ya teníamos, tendremos que convertir esos valores indicados en el diseño de la ventana en código directo y asignarlos en el evento SizeChanged del control o ventana.

Aunque también podemos indicar cuál de los VisualState que tenemos definido en el código XAML queremos usar. Esta opción es más adecuada, aunque podemos usar una mezcla de los dos, tal como veremos dentro de poco en el ejemplo final.

Y como también hay dos valores que se tenían en cuenta para manipular los tamaños de los objetos mostrados, como son si la aplicación está en modo horizontal (landscape) o en modo vertical (portrait), pues yo también me he fabricado un par de funciones para esas dos ocasiones.

Así que, veamos el código de las funciones que he definido y así será más fácil de entender el código que ponga para realizar esos cambios en el evento de cambio de tamaño de la ventana.

 

Funciones para simular Snapped y Filled o cómo saber si nuestra app está acoplada a uno de los lados

La definición del código la he hecho en la clase App, pero puedes hacerlo donde quieras, ya que están definidos como métodos compartidos (Shared en Visual Basic, static en C#).

En total he definido 6 métodos, dos de ellos para saber si está en modo Snapped o Filled. En estos dos utilizo una constante con el valor 750 para indicar que si el tamaño de la ventana (de la aplicación actual) es menor de esos 750 px y además la aplicación está anclada a la derecha o a la izquierda es que está en modo Snapped, por otro lado, considero que está en modo de relleno (Filled) si está ajustada a uno de los lados y el tamaño es igual o superior a esos 750 pixel. Por supuesto , en esta segunda consideración entrarían los modos en que estaría una aplicación cuando el usuario la está redimensionando (y el tamaño que le asigna es 750 o más), pero para ir viendo los cambios, ya nos vale, o, al menos, a mí me vale.

Nota:
El código que te mostraré es para Visual Basic, pero a diferencia de lo que han hecho la gente de Microsoft, también te mostraré el código de C#, pero no en el momento en que estoy escribiendo esto, pero lo pondré.

 

El código de Visual Basic de los métodos IsSnapped y IsFilled sería el siguiente:

 

Public Const AnchoSnapped As Double = 750

''' <summary>
''' Simular el modo Filled en Windows 8.1
''' Comprueba si la aplicación está en uno de los costados
''' y el ancho es mayor o igual que <see cref="AnchoSnapped"/> px
''' </summary>
''' <remarks>07/Jul/13</remarks>
Public Shared Function IsFilled() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()
    Dim aWidth = Window.Current.Bounds.Width

    ' Si está acomplado a ambos lados es que es pantalla completa
    ' (esto es así cuando se cambia el tamaño estando acoplado)
    If (aView.AdjacentToLeftDisplayEdge AndAlso aView.AdjacentToRightDisplayEdge) Then
        Return False

    ElseIf (aView.AdjacentToLeftDisplayEdge OrElse aView.AdjacentToRightDisplayEdge) AndAlso
        aWidth >= AnchoSnapped Then

        Return True
    Else
        Return False
    End If
End Function

''' <summary>
''' Simular el modo Snapped en Windows 8.1
''' Si el ancho es menor de <see cref="AnchoSnapped"/> pixels
''' y está en uno de los lados lo considero Snapped
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsSnapped() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()
    Dim aWidth = Window.Current.Bounds.Width

    ' Amplio las posibilidades comprobando solo si el tamaño es menor de AnchoSnapped
    ' ya que esté o no acoplada, el tamaño y posición del contenido debe adaptarse
    '
    'If (aView.AdjacentToLeftDisplayEdge OrElse aView.AdjacentToRightDisplayEdge) AndAlso
    '    aWidth < AnchoSnapped Then
    If aWidth < AnchoSnapped Then
        Return True
    Else
        Return False
    End If

End Function

 

Un par de cosas que quiero comentarte sobre el código anterior.

La primera es que estoy usando Window.Current.Bounds.Width para saber el ancho de la pantalla, y seguramente dirás que podría usar la propiedad ActualWidth de la ventana principal (no se puede desde este código porque la clase App no se deriva de Page), entre otras cosas porque es la forma que seguramente has podido ver en los ejemplos (para C#) que se incluyen con el SDK de Windows 8.1 Preview. Pero, he de decirte que esa propiedad a mí NUNCA me ha servido, siempre que lo he intentado el valor devuelto es 0.0, así que… he optado por esa otra que sé que funciona.

La segunda es el uso del nuevo método GetForCurrentView de la clase ApplicationView. Ese método devuelve un objeto del tipo ApplicationView que entre otras cosas contiene los dos valores que estoy usando en esas dos funciones: AdjacentToLeftDisplayEdge que nos indica si nuestra aplicación está acoplada a la izquierda de la pantalla, y AdjacentToRightDisplayEdge que como podrás suponer es para saber si la aplicación está acoplada a la derecha.

Tiempos aquéllos en las las funciones tenían unos pocos caracteres… mejor así, sobre todo si sabes algunas palabras de inglés.

Creo que el código no necesita mayor explicación, salvo indicar los cambios realizados en esta versión del lunes 8 de julio:

En el código de la función IsSnapped la he reducido a una simple comprobación de si el ancho de la pantalla es menor del que queremos considerar como "acoplado", en este ejemplo estoy usando el valor de la constante AnchoSnapped que inicialmente la he definido a 750 pixel.

En la función IsFilled ahora compruebo que no esté acoplado a ambos lados, ya que eso supondría que la aplicación está a pantalla completa, por tanto si se cumple la primera comprobación devuelve un valor falso, y por tanto solamente será verdadero cuando esté acoplado a uno de los dos lados y el ancho sea igual o mayor del indicado en AnchoSnapped.

 

Saber si la aplicación está en modo apaisado o vertical

Otras dos funciones que me he fabricado, más que nada para evitar estar repitiendo las definiciones de las llamadas al API de Windows 8.1 Preview (por medio de las clases de .NET Framework), son las que me indican si la aplicación está a pantalla completa y cómo está orientada la tableta o el dispositivo en el que está funcionando.

En la versión actual de Windows 8 esto lo hacíamos mediante los correspondientes valores de la enumeración ApplicationViewState, pero como ya hemos comprobado, se considera obsoleta.

Por ejemplo, para saber si nuestra aplicación estaba en modo de pantalla completa y en horizontal, comprobábamos si el valor de la propiedad Value de ApplicationView era FullScreenLandscape.

Ahora esto se hace comprobando si el valor de IsFullScreen es cierto y además el valor de Orientation es Landscape. Las dos primeras son nuevas propiedades de la clase ApplicationView y el valor de la propiedad Orientation es del tipo enumerado ApplicationViewOrientation.

Una vez dicho esto, podemos comprobar que las dos funciones que me he fabricado lo único que hacen es reducir un poco el código cuando queramos hacer las comprobaciones pertinentes.

Este es el código de Visual Basic de esas dos funciones.

 

''' <summary>
''' Comprobar si la pantalla está en FullScreenPortrait
''' (vertical a pantalla completa)
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsFullScreenPortrait() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()

    If aView.IsFullScreen AndAlso aView.Orientation = ApplicationViewOrientation.Portrait Then
        Return True
    Else
        Return False
    End If
End Function

''' <summary>
''' Comprobar si la pantalla está en FullScreenLandscape
''' (apaisada a pantalla completa)
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsFullScreenLandscape() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()

    If aView.IsFullScreen AndAlso aView.Orientation = ApplicationViewOrientation.Landscape The
        Return True
    Else
        Return False
    End If
End Function

 

Te comentaba que en total eran 6 funcionen las que me había fabricado, las otras dos simplemente devuelven un objeto del tipo ApplicationView (el valor devuelto por GetForCurrentView); y la otra función indica el ancho de la pantalla. Pero en el ejemplo que pondré ahora no se utilizan, por tanto, mejor las dejo ahí para otra ocasión.

 

Ejemplo para usar las funciones definidas

Veamos cómo usar estas funciones para adaptar el tamaño, margen, etc. de los controles según nuestra aplicación esté "acoplada" o no.

Este ejemplo es muy simple y sólo tiene dos controles TextBlock con distinto texto, uno servirá para el título y el otro para el texto a mostrar.

El aspecto en modo diseño es el que podemos ver en la figura 5.

 

Screenshot (15)

Figura 5. La página principal en modo diseño

 

Primero definimos los valores de los elementos VisualState, que en el ejemplo que estoy usando serían los indicados en el siguiente código XAML:

 

<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="251*"/>
            <ColumnDefinition Width="640*"/>
            <ColumnDefinition Width="475*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="107*"/>
            <RowDefinition Height="384*"/>
            <RowDefinition Height="277*"/>
        </Grid.RowDefinitions>
        <TextBlock x:Name="txtTitle" Grid.Column="1" Text="El título" FontSize="110" />
        
        <TextBlock x:Name="txtMensaje" Grid.Column="0" Grid.Row="1" 
                   Grid.ColumnSpan="3" Grid.RowSpan="2"
                   VerticalAlignment="Center"
                   FontSize="140" FontWeight="Bold" TextWrapping="WrapWholeWords"
                   Text="El texto que ocupa la pantalla completa con cambio de línea" />

        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="ApplicationViewStates">
                <VisualState x:Name="FullScreenLandscape" />
                <VisualState x:Name="FullScreenPortrait">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="90"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="70"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Filled">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="80"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="100"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Snapped">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="80"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="70"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>

        </VisualStateManager.VisualStateGroups>

    </Grid>
</Page>


 

Todo esto lo haremos en el método del evento SizeChanged del control o página/ventana en el que queramos tener estas cosas en cuenta.

 

Private Sub MainPage_SizeChanged(sender As Object, e As SizeChangedEventArgs) Handles Me.SizeChanged
    ' valor predeterminado de visualState                       (08/Jul/13)
    Dim visualState As String = "FullScreenLandscape"

    If App.IsFilled Then
        visualState = "Filled"
    ElseIf App.IsSnapped Then
        visualState = "Snapped"
    ElseIf App.IsFullScreenPortrait Then
        visualState = "FullScreenPortrait"
    Else
        visualState = "FullScreenLandscape"

        ' Si queremos adaptar los tamaños según el ancho
        ' lo podemos hacer aquí\f0
        ' Pero debemos tener en cuenta que el valor asignado en el código XAML
        ' tiene preferencia.
        ' En este ejemplo, esto sólo funciona cuando es FullScreenLandscape
        ' ya que no se asignan valores en el código XAML

        Dim ww = Window.Current.Bounds.Width
        If ww <= 800 Then
            txtTitle.FontSize = 70
            txtMensaje.FontSize = 70
        ElseIf ww <= 1024 Then
            txtTitle.FontSize = 80
            txtMensaje.FontSize = 90
        ElseIf ww < 1366 Then
            txtTitle.FontSize = 100
            txtMensaje.FontSize = 110

        Else
            ' Los valores predeterminados
            txtTitle.FontSize = 110
            txtMensaje.FontSize = 140
        End If

    End If

    ' Utilizar los valores del código XAML indicado al visualState indicado
    VisualStateManager.GoToState(Me, visualState, False)

    ' Si quisiéramos usar valores distintos a los inidcados en el código XAML
    ' tendremos que asignarlos aquí, después de llamar a VisualStateManager.GoToState

End Sub

 

Por favor lee los comentarios del código para que sepas cuando esas asignaciones al tamaño de la fuente del texto funcionan, ya que siempre tendrá preferencia el valor asignado en el código XAML y si queremos que el asignado manualmente sea el que "mande" debemos usar el truco que ahí indico.

 

Bueno, creo que con esto ya está bien para esta primera aproximación sobre los cambios que se incluyen en Windows 8.1 Preview y que los que queremos crear aplicaciones para la Tienda de Windows debemos tener en cuenta.

Hay más cosas, algunas te las contaré y de otras seguramente no te diré ni (las que no haya probado).

 

Espero que te se de utilidad y ya sabes, si quieres invitarme a un café virtual, puedes hacerlo en el botón "Donar" 😉

Gracias (incluso si no me invitas).

 

Nos vemos.

Guillermo

P.S.

Cuando tenga listo el código de C# pondré el proyecto de ejemplo en mi sitio de descargas (downloads) para que puedas verlo con más detalle.

un +1 a quién corresponda (plantillas de VB 12 para la Store)

 

Pues eso… revisando las plantillas que se incluyen en Visual Studio 2013 Preview -versión Professional- que estoy usando en una máquina virtual con Windows 8.1 Preview, he comprobado que está corregido el "fallo" que había en las plantillas de Visual Basic de los proyectos de tipo Grid y Split para la Tienda de Windows y que te comenté por aquí el 28 de Diciembre de 2012 (y no era una inocentada): Las plantillas de Windows Store o la dejadez para con Visual Basic.

En esa ocasión te dije que se hacía una asignación en el método OnLaunched de la clase App que no tenía en cuenta la conversión estricta de código (Option Strict On), y en esta ocasión sí está el código correcto, además usando TryCatch que es lo recomendable en esa asignación (por la comprobación posterior que se hace de si la variable que recibe el objeto tiene un contenido nulo o no).

Screenshot (10.1)

 

También te dije un par de cosas más, pero eso lo han solucionado con otra forma de usar los datos de ejemplo, que en esta ocasión tanto el código de VB como el de C# son similares.

 

Lo dicho… aunque ya les metí caña (en este post de elGuille.info en Facebook) por la falta de ejemplos para Visual Basic en el SDK de Windows 8.1 Preview: Windows 8.1 app samples, en esta ocasión tengo que decirles: ¡gracias por corregir el error!

 

Nos vemos.
Guillermo
P.S.
No sé si es por error o para que parezca que el código de Visual Basic no está convertido desde el de C#, en esta ocasión hay una diferencia de nombre en el método usado para saber si la ventana (de la clase SplitPage) ha cambiado de tamaño (SizeChanged), ya que en Visual Basic se llama Winow_SizeChanged y en C# es: Window_SizeChanged.
Fíjate que en VB es "WINOW" que le falta la letra "D", una tontería, pero… ¡jum! 😉

Windows 8.1 Preview: ¿qué hay de nuevo viejo? (o no)

 

Pues eso… que aún no ha pasado el tiempo de luto (¿un año?) y ya tenemos (o casi) un sucesor de Windows 8.

No voy a entrar en detalles de todo lo nuevo que trae esta nueva versión de Windows 8, porque esto es una nueva versión, no es un "service pack" ni nada que se le parezca, ya que (afortunadamente) hay cambios grandes, o al menos visibles, con respecto a la versión anterior.

Y lo de que no voy a entrar en detalles es porque no te voy a contar todo lo que trae de nuevo esta versión de Windows 8, entre otras cosas, porque no me las se todas, así que… te voy a contar las que ayer anteayer estuve trasteando, y para el resto de novedades, ya sabes: ¡busca en la red de redes! pero antes de buscar "a lo loco", te recomiendo que te pases por el blog de mi amiga Pilar, que ella te cuenta con detalle algunas de esas novedades, sobre todo lo referente a algunas de las aplicaciones que se incluyen con este nuevo Windows: el blog de Palel o Palel Blogueando.

 

La pantalla de Inicio (Start)

Lo primero es el cambio de "look" en la pantalla de Inicio (Start), a simple vista podrás comprobar que hay más tamaños para los iconos (tiles), en particular dos, uno de los cuales es como dos de los grandes juntos y el otro tamaño es como la mitad del pequeño.

 

Screenshot (2)
Figura 1. La pantalla de Inicio de Windows 8.1

Y como hay más variedad, ya no tenemos sólo dos opciones para el tamaño, si no que hay cuatro, pero dentro de una opción que te indica que es para "Resize" (me da pereza añadir el español, por eso te diré los nombres en inglés, pero tengo los paquetes de idiomas descargados, pero significa cambiar el tamaño), y una vez elegida esa opción vemos las que nos muestra: Large (grande), Wide (ancho), Medium (mediano) y Small (pequeño). El primero y el último son los dos nuevos.

 

Screenshot (4)
Figura 2. Opciones de tamaño de los iconos

Lo que debes tener en cuenta, tal como pasa ahora con Windows 8, es que si la aplicación no está preparada o diseñada para soportar uno de esos tamaños, no se mostrará en las opciones. Esto es algo que los "developers" debemos tener en cuenta y añadir los tamaños que creamos conveniente que nuestra aplicación necesita para mostrar información en el icono (tile) de la pantalla de Inicio, (de esto seguramente te hablaré en otra ocasión).

 

El escritorio (Desktop)

Antes de seguir con otras cosas nos vamos a ir un momento al escritorio (desktop) para que puedas disfrutar del nuevo botón de inicio… ¡sí! ¡como lo oyes (o lees)! ¡Windows 8.1 Preview tiene un botón de inicio en el escritorio! Y no es broma, mira la figura 3 y verás que es cierto:

 

Screenshot (5.1)
Figura 3. El nuevo botón de inicio en el escritorio

Y no está mal que lo hayan puesto así… a ver, te aclaro, en realidad es igual que la miniatura que muestra en el Windows 8 de ahora, pero ya no hay que buscarla, además de que, tal como veremos en un momento, podemos personalizar la acción que hará cuando lo pulsemos. Ya que si no hacemos nada especial, al pulsar ese botón hará lo mismo que hace en la versión anterior: ir a la pantalla de Inicio (Start). Y en caso de que pulses con el botón secundario del ratón (pa los diestros el botón derecho), se mostrará el mismo menú (o casi) que actualmente se muestra (ver la figura 4).

 

Screenshot (674.1)
Figura 4. Las opciones del menú de inicio en Windows 8.1 Preview

A destacar la opción de apagado del equipo (Shut down).

En un momento veremos que también podemos cambiar las cosas que se mostrarán cuando pulsemos en el botón de inicio desde el escritorio para entrar en la pantalla de Inicio.

 

Personalizar las opciones del escritorio

Seguramente lo más interesante de los cambios realizados al escritorio, es que además de añadir ese botón "permanente" de inicio es que ahora podemos indicar si queremos que sea el escritorio lo primero que veamos cuando iniciemos nuestro equipo, además de qué cosas queremos que se muestren cuando lo pulsemos. No, no está el menú de programas de Windows 7 y anteriores, pero veremos que hay cosas que algunos aceptarán como alternativa.

Para configurar todo esto, pulsa con el botón secundario del ratón (mouse) en la barra de Windows (donde está el botón de inicio) y en el menú despegable selecciona la última opción: Properties (Propiedades), tal como puedes comprobar en la figura 5.

 

Screenshot (8.1)
Figura 5. El menú contextual de la barra de Windows

Esto te mostrará una nueva ventana en la que tenemos una pestaña (tab) que en las versiones anteriores de Windows no existía: Navigation (Navegación), que como podemos ver en la figura 6 hay dos secciones, la que nos interesa es el grupo de abajo: Start screen (pantalla de Inicio), particularmente la primera opción (la que está señalada con la flecha roja): Go to the desktop instead of Start when I sing in (Ir al escritorio en lugar del Inicio cuando inicie sesión).

 

Screenshot (6.1)
Figura 6. Las opciones de navegación (cuando estamos en el escritorio)

Pulsamos en OK (Aceptar) y ya está… la próxima vez que inicies sesión o reinicies o apagues y enciendas el equipo, entrarás directamente en el escritorio. ¿Eres más feliz ahora? 😉

 

Nota:
El resto de opciones de esa ficha creo que se explican por sí solas; de todas formas, puedes probar lo que hace cada una (si es que no te ha quedado suficientemente claro) y comprobarlo por tu cuenta… pero sin riesgo, es decir, ninguna de esas opciones eliminará nada… así que… ¡a trastear!

De todas formas, más abajo te explico un poco la cuarta opción.

 

Déjame el escritorio como estaba (o casi)

Si te fijas en el grupo de opciones que está arriba (figura 6), las dos primeras son para evitar algunas de las novedades que incluye Windows 8, que según parece a mucha gente le irritaba eso de que mostrase el panel (charm) al mover el "mouse" por las esquinas de la pantalla.

 

El contenido del escritorio como menú

Por cierto, aunque esto no es algo nuevo en Windows 8.1 Preview, ya que está también en Windows 8 y puede que en las versiones anteriores, pero yo nunca lo he usado ni me he interesado en ello si alguna vez lo he visto, y sigue sin interesarme, pero como me he "percatado" y al usarlo parecía como un menú de esos que tanta gente echaba en falta en Windows 8, pues… aquí te lo cuento, por si a ti sí que te interesa… vale, me callo, al tema: es que en la barra de tareas del escritorio puedes tener un menú con todo el contenido del escritorio (ver la figura 7).

 

Screenshot (7.1)
Figura 7. El escritorio como barra de herramientas

Esa barra de herramientas (toolbar) la puedes mostrar desde la ficha Toolbars (ver la figura 6) o en la opción Toolbars cuando pulsas para mostrar el menú emergente en la barra de Windows (figura 5). De nada.

 

No es lo mismo, pero…

Y para finalizar esto que te estoy contando vamos a ver cómo conseguir que la pantalla de Inicio se parezca (por decir algo) a lo que el menú de inicio era en las versiones anteriores.

En las opciones de navegación del escritorio (ver la figura 6), si seleccionas (marcas) la cuarta opción del grupo Start screen: Show the Apps view automatically when I go to Start (muestra la vista de aplicaciones cuando voy a Inicio), cada vez que vayas a (la pantalla de) Inicio se mostrarán las aplicaciones de la misma forma que cuando pulsas en la nueva "flechita" que se muestra en el menú, perdón, la pantalla de Inicio y que es la que sustituye a la opción All apps (todas las aplicaciones) de la versión anterior.

Y si además, en la ficha Navigation (ver fig 6), seleccionas la opción List desktop apps first in the Apps view when it’s sorted by category (muestra primero las aplicaciones para escritorio en la vista de aplicaciones cuando esté ordenado por categorías) cuando entres en la pantalla de Inicio tendrás más a mano las aplicaciones específicas del escritorio.

En la figura 8 tienes una captura de cómo se ve ese "nuevo" Inicio con estas opciones que ahora ofrece Windows 8.1 Preview.

Screenshot (9)
Figura 8. De esta forma puedes mostrar la pantalla de Inicio cuando pases a ella desde el escritorio

 

 

Espero que te haya sido de utilidad… ¡esa es la intención! y si además le das al botón "Donar" y me invitas a un cafelillo virtual (mejor con algún dulce sin azúcar que lo acompañe), entonces… ¡habré triunfao! 😉

 

Nos vemos.
Guillermo

P.S.
¿Te apuestas algo a que nadie me invita a un café donado! 😛