# Gestor de finestres en mosaic

En informàtica, un Gestor de Finestres en Mosaic (Tiling Window Manager, en anglès), és un administrador de finestres amb una organització de la pantalla en marcs que no se superposen entre si, a diferència de l'enfocament més popular de finestres solapades que intenta emular completament la metàfora d'objectes superposats

## Història
### Xerox PARC

El primer sistema Xerox Star (llançat el 1981) mostrava finestres d'aplicacions en mosaic, però permetia que els quadres de diàleg i les finestres de propietats se superposessin. Més tard, Xerox PARC també va desenvolupar CEDAR (llançat el 1982), el primer sistema de finestres que utilitza un gestor de finestres en mosaic.

### Altres proveïdors

Més tard, el 1983, va arribar Andrew WM, un sistema complet de finestres en mosaic reemplaçat més tard per X11. Windows 1.0 de Microsoft (publicat el 1985) també s'utilitza finestres en mosaics (vegeu les seccions següents). El 1986 va arribar GEM 2.0 de Digital Research, un sistema de finestres per al CP/M, que utilitzava finestres en mosaic per defecte. Un dels primers gestor de finestres en mosaic (creat el 1988) va ser el RTL de Siemens, fins avui un exemple de llibre de text a causa dels seus algorismes d'escalat, col·locació i disposició automatitzats de finestres i desinconificació. RTL es va executar en X11R2 i R3, principalment en els sistemes nadius de Siemens, per exemple, SINIX. Les seves característiques es descriuen al vídeo promocional. El Projecte Andrew (AP o tAP) era un sistema client d'escriptori (com els primers GNOME) per a X amb un gestor de finestres en mosaic i en solapament.
MacOSX 10.11 El Capitan llançat el setembre de 2015 presenta noves funcions d'administració de finestres, com la creació d'una vista dividida de pantalla completa limitada a dues finestres d'aplicacions una al costat de l'altra en pantalla completa en mantenir pressionat el botó de pantalla completa a la part superior esquerra d'una finestra.

## Gestors de finestres en mosaic
### Microsoft Windows

* Mosaic en vertical o Mostra Finestres paral·lel
* Mosaic en horitzontal o Mostra Finestres Apliades
El gestor de finestres integrat de Microsoft Windows, des de Windows 95, ha seguit l'enfocament d'apilament tradicional per defecte. També pot actuar com un gestor de finestres en mosaic rudimentari.
Per col·locar finestres en mosaic, l'usuari les selecciona a la barra de tasques i utilitza l'opció del menú contextual Mosaic vertical o Mosaic horitzontal. Escollir Mosaic en vertical farà que les finestres es col·loquin en mosaic horitzontal però adoptin una forma vertical, mentre que triar Mosaic en horitzontal farà que les finestres es col·loquin en mosaic verticalment però adoptin una forma horitzontal. Aquestes opcions es van canviar més tard al Windows Vista per a Mostrar finestres en paral·lel i Mostrar finestres apilades, respectivament. Windows 7 afegeix la capacitat darrossegar finestres a qualsevol costat de la pantalla per crear un disseny simple en mosaic de banda a banda, o cap a la part superior de la pantalla per maximitzar.
Windows 8 va introduir aplicacions d'estil Metro, a diferència de les aplicacions d'escriptori, no funcionaven en una finestra i només podien executar-se a pantalla completa o "ajustar-se" com una barra lateral juntament amb una altra aplicació o l'entorn d'escriptori.
A més de permetre que les aplicacions de la Botiga Windows s'executin en una finestra tradicional, Windows 10 va millorar les funcions d'ajust introduïdes en Windows 7 en permetre que les finestres es col·loquin en mosaics en quadrants de pantalla arrossegant-les a la cantonada i afegint "Snap Assist" : que demana a l'usuari que seleccioneu l'aplicació que voleu que ocupi l'altra meitat de la pantalla quan ajusta una finestra a la meitat de la pantalla, i permet a l'usuari canviar automàticament la mida de les dues finestres alhora arrossegant un controlador al centre de la pantalla. Windows 10 també és compatible amb FancyZones, un gestor de finestres en mosaic més complet que permet crear zones en mosaic personalitzades i un control més gran de l'usuari, configurat a través de Microsoft PowerToys.

#### Història

La primera versió (Windows 1.0) incloïa un gestor de finestres en mosaic, en part degut a un litigi d'Apple que reclamava la propietat de la metàfora d'escriptori de la finestra superposada. Però a causa de les queixes, la següent versió (Windows 2.0) va seguir la metàfora de l'escriptori. Totes les versions posteriors del sistema operatiu es van aferrar a aquest enfocament com a comportament predeterminat.

#### Altres gestors de finestres en mosaic

* AquaSnap - fet per Nurgo Software. Programari gratuït, amb una llicència "Professional" opcional.
* Amethyst per a Windows: gestor de finestres de rajoles dinàmics semblant a l'ametista per a MacOS.
* bug.n: gestor de finestres en mosaic configurable de codi obert creat com a script AutoHotKey i amb llicència GNU GPL.
* MaxTo: quadrícula personalitzable, tecles d'accés ràpid global. Funciona amb aplicacions elevades, aplicacions de 32 i 64 bits i diversos monitors.
* WS Grid+: mou i/o canvia la mida de les finestres mitjançant un sistema de selecció de quadrícula que combina els avantatges de flotar, apilar i enrajolar. Proporciona dreceres de teclat/ratolí per moure i canviar la mida instantània d'una finestra.
* Pila: quadrícula personalitzable (XAML), tecles d'accés ràpid global i/o botó central del ratolí. Admet HiDPI i diversos monitors.
* Plumb: gestor de rajoles lleuger amb suport per a diverses versions de Windows. Admet monitors HiDPI, tecles d'accés directe del teclat i personalització de tecles d'accés directe (XAML).
* workspacer: un gestor de finestres de rajoles amb llicència del MIT per a Windows 10 que pretén ser ràpid i compatible. Escrit i configurable amb C#.
* dwm-win32 — port de la funcionalitat general de dwm a win32. Té llicència MIT i es configura editant una capçalera de configuració amb el mateix estil que dwm.
* GlazeWM: un gestor de finestres de rajoles per a Windows inspirat en i3 i Polybar.
* Komorebi: un gestor de finestres per a Microsoft Windows SO escrit en Rust. Igual que bspwm, no gestiona l'enllaç de tecles per si sol, de manera que els usuaris han d'utilitzar AHK o WHKD per gestionar les dreceres. Komorebi també té una versió fàcil d'usuari de GUI anomenada Komorebi UI.
* Whim -- gestor de finestres dinàmic que es construeix amb WinUI 3 i. NET framework.
workspacer: un gestor de finestres en mosaic amb llicència del MIT per a Windows 10 que pretén ser ràpid i compatible. Escrit i configurable usant C#. [13] dwm-win32: dwm per a win32. Teniu llicència MIT i es configura editant una capçalera de configuració en el mateix estil que dwm.

### X Windows System

Al X Windows System, el gestor de finestres és un programa separat. X en si mateix no imposa un enfocament específic de gestió de finestres i roman utilitzable fins i tot sense cap administrador de finestres. La versió actual del protocol X, X11, esmenta explícitament la possibilitat de col·locar administradors de finestres en mosaic. Siemens RTL Tiled Window Manager (llançat el 1988) va ser el primer a implementar estratègies automàtiques de col·locació/mida. Un altre gestor de finestres en mosaic d'aquest període va ser el Gestor de finestres de Cambridge desenvolupat pel grup Academic Information System d'IBM.
El 2000, tant larswm com Ion WM van llançar una primera versió.

#### Llista de gestors de finestres en mosaic per a X

* El gestor de finestres en mosaic dwm
* spectrwm amb àrea mestra a l'esquerra
* Bluetile està dissenyat per integrar-se amb l'escriptori GNOME
* Window Manager From Scratch (WMFS) amb Vim, urxvt, tty-clock i ncmpcpp oberts
* El gestor de finestres en mosaic dwm amb la pantalla dividida en quatre mosaics.
* Sway 1.5 amb i3status 2.13
* XMonad en moen mosaic amb dos terminals URXVT i pcmanFM obert
* Captura de pantalla de sessió i3 típica.
* Captura de pantalla d'awesome proporcionada pel desenvolupador
* awesome – un derivat DWM amb tiling de la finestra, flotant, i marcat, escrit en C i configurable i extensible en Lua. Va ser el primer WM que es va transportar de Xlib a XCB, i suporta D-Bus, pango, XRandR i Xinerama.
* bspwm – un petit gestor de finestres que, igual que yabai, representa les finestres com les fulles d'un arbre binari complet. No s'encarrega dels enllaços de tecles per si sol, la qual cosa requereix un altre programa (e.g. sxhkd) per a traduir entrada a esdeveniments X.
* Compiz – un gestor de finestra de composició disponible per al seu ús sense deixar interfícies familiars com les de GNOME, KDE Plasma o Mat. Un dels seus plugins (anomenat Grid) permet a l'usuari configurar diverses tecles per a moure les finestres a qualsevol cantonada, amb cinc longituds diferents. També hi ha opcions per a configurar la col·locació per defecte per a finestres específiques. Els plugins es poden configurar a través de l'Administrador de Configuració de Compiz Config / CCSM.
* dwm – permet canviar dissenys de tiling fent clic en una "icona" d'art ascii textual en la barra d'estat. El valor predeterminat és un arranjament d'àrea principal + àrea d'apilament, representat per un= glif de caràcter. Altres dissenys estàndard són un mode de "monocle" de finestreta única representat per un M i un disseny flotant sense inclinació que permet moure i residir les finestres, representat per una mena de peix ><>. Existeixen pegats de tercers per a agregar un disseny de Fibonacci basat en la secció daurada, un ajust horitzontal i vertical basat en la medul·la, o un disseny de la quadrícula. La utilitat de menú "dmenu", desenvolupada per al seu ús amb dwm, s'usa amb altres WMs tiling com xmonad, i a vegades també amb un altre programari de "pes lleuger" com Openbox i uzbl.
* EXWM — EXWM (Emacs X Window Manager) és un administrador de finestres X completament equipat per a Emacs construït damunt de XELB. Compta amb operacions totalment controlades, modes híbrids de disseny (tiling & stacking), suport dinàmic de l'espai de treball, conformitat ICCCM/EWMH, suport RandR (multi-monitor) i una safata de sistema.
* herbstluftwm – un administrador manual de finestres d'ajust (similar a i3 o Sway) que utilitza el concepte de monitorar etiquetes independents com a espais de treball. Exactament una etiqueta es pot veure en un monitor, amb cada etiqueta que conté el seu propi disseny. Igual que i3 i Sway, herbstluftwm es configura en temps d'execució a través d'anomenades IPC d'herbstclient.
* i3 – un gerent de la finestra des de zero, basat en wmii. Té teclats similars a DVD, i tracta monitors addicionals com a espais de treball addicionals, cosa que significa que les finestres es poden moure fàcilment entre monitors. Permet divisions verticals i horitzontals, dissenys tabulats i apilaments, i contenidors per a pares. Es pot controlar completament des del teclat, però també es pot utilitzar un ratolí.
* Ió – combina el mareig amb una interfície de tabulació: la pantalla es divideix manualment en regions que no se solapen (marcs). Cada marc pot contenir una o més finestres. Només una d'aquestes finestres és visible i plena tot el marc.
* Larswm – implementa una forma de marea dinàmica: la pantalla està dividida verticalment en dues regions (pistes). La pista esquerra està plena d'una sola finestra. La pista correcta conté totes les altres finestres apilades les unes sobre les altres.
* AlojWM – un gestor de finestres de tiling basat en el tema i el suport de grans monitors com els ultrawides.
* Noció - un gestor de finestra d'ajust
* Qtile – un gestor de finestres de tiling escrit, configurable i extensible en Python.
* Ratpoison — Una pantalla GNU impulsada per ordinador per a X.
* espectrwm: un gestor de la finestra de reparació i ajust dinàmic per a X11. Tracta de mantenir-se allunyat del camí perquè els béns seents de pantalla valuosos puguin ser utilitzats per a continguts més importants. S'esforça per ser petit, compacte i ràpid. Anteriorment anomenat "scrotwm" (un pun basat en la paraula "scrotum"). $^{[Esnecessitaunafontnoprimària]}$
* StumpWM – un separador impulsat per teclat de ratpoison que suporta múltiples pantalles (e.g. xrandr) que es pot personalitzar sobre la marxa en Common Lisp. Utilitza keybindings compatibles amb EMSCA per defecte.
* wmii (encarregat de la finestra millorat 2) suporta la gestió de la finestra d'ajust i apilament amb el control remot basat en teclat, ratolí i filesystem estès, reemplaçant el paradigma de l'espai de treball per un nou enfocament de marcat. La configuració predeterminada utilitza tecles derivades de les del VI editor de text. L'administrador de finestres ofereix una configuració extensa a través d'un sistema d'arxius virtual utilitzant el protocol 9P del sistema d'arxius similar a l'ofert pel Pla 9 de Bell Labs. Cada finestra, etiqueta i columna està representada en el sistema d'arxius virtual, i les finestres estan controlades manipulant els seus objectes d'arxiu (de fet, l'arxiu de configuració és només un script que connecta els arxius virtuals). Aquest sistema RPC permet molts estils de configuració diferents, incloent-hi els proporcionats en la distribució basi en plan9port i Bourne shell. L'última versió 3.9 també inclou configuracions en Python i Ruby. L'última versió suporta Xinerama, enviament amb el seu propi programa de menú basat en símbols anomenat wimenu, amb història i finalització programable.
* xmonad – un WM extensible escrit en Haskell, que va ser influenciat per i des de llavors ha influït dwm.

### Wayland

Wayland és un nou sistema de finestres amb l'objectiu de reemplaçar el sistema X Window. Només hi ha uns quants gestors de finestres en mosaic que admeten Wayland de forma nativa.

#### Llista d'administradors de finestres en mosaic per a Wayland

* Hyprland : És un compositor dinàmic de finestres en mosaic per a wayland que ofereix animacions fluides, mosaic dinàmic i cantons arrodonits.
* Sway : És "un reemplaçament directe per al gestor de finestres en mosaic i3, però per a Wayland en lloc de X11. Funciona amb la seva configuració i3 existent i és compatible amb la majoria de les funcions d'i3, i alguns extres".
* Way Cooler: Way Cooler és un compositor de Wayland sense manteniment per a l'administrador de finestres Awesome. Està escrit en C i, com Awesome, configurable usant Lua i ampliable amb D-Bus.
* River : És un compositor dinàmic de finestres de Wayland, amb una configuració de temps d'execució flexible, es manté i s'actualitza periòdicament
* CageBreak és un compositor en mosaics per a wayland, basat en cage i inspirat en (Ratpoison), que es controla fàcilment a través del teclat i un sòcol de domini unix.
* dwl : És un compositor de wayland, que estava destinat a omplir el mateix espai al món de Wayland que dwm ocupa a X11. Igual que dwm, està escrit a C, té un codi base petit i no té cap interfície de configuració a més d'editar el codi font.

## Altres aplicacions en mosaic

* El sistema operatiu i de programació Oberon, d'ETH Zuric, inclou un administrador de finestres en mosaic.
* El programa editor / sistema de finestres / shell del programador Acme a Plan 9 és un administrador de finestres en mosaic.
* Els telèfons intel·ligents Samsung Galaxy S3, S4, Note II i Note 3, que executen una variant personalitzada d'Android 4, tenen una funció de finestres múltiples que permet a l'usuari col·locar dues aplicacions en mosaic a la pantalla del dispositiu. Aquesta funció es va integrar a l'inventari d'Android a partir de la versió 7.0 "Nougat".
* L'extensió Pop Shell, de Pop! _OS, permet afegir funcionalitats d'administració de finestres en mosaic al GNOME.
* El gestor de finestres Amethyst de ianyh, que proporciona finestres en mosaic per a macOS i es va inspirar en xmonad.
Tot i que el format de finestres en mosaic no és el mode predeterminat dels gestors de finestres en cap plataforma àmpliament utilitzada, la majoria d'aplicacions ja mostren múltiples funcions internament en aquest format. Entre aquests casos hi ha clients de correu electrònic, IDEs, navegadors web i ajuda contextual a Microsoft Office. Les finestres principals d'aquestes aplicacions es divideixen en finestres de vidre per a les diferents pantalles. Els panells solen estar separats per un divisor que es pot arrossegar per permetre el canvi de mida. Les finestres en mosaic són una forma generalitzada d'implementar una interfície mestre-detall.
Desenvolupat des de la dècada del 1970, l'editor de text Emacs conté una de les primeres implementacions de finestres en mosaic. A més a més, els Frames HTML poden veure's com una implementació en mosaic basada en llenguatge de marques. L'administrador de finestres en mosaic estén aquesta utilitat més enllà de múltiples funcions dins d'una aplicació a múltiples aplicacions dins d'un escriptori. La navegador per pestanyes pot ser un complement útil per al mosaic, ja que evita tenir moltes finestres en mosaic a la pantalla per a la mateixa funció.

## Referències

* ↑ «Xerox Star». Arxivat de l'original el 18 de julio de 2011. [Consulta: 14 abril 2007].
* ↑ «Ten Years of Window Systems — A Retrospective View». Arxivat de l'original el 16 de marzo de 2010. [Consulta: 21 diciembre 2010].
* ↑ «Tiling Window Managers». mnemonikk.org.
* ↑ «video». Arxivat de l'original el 22 de diciembre de 2010. [Consulta: 22 diciciembre 2010].
* ↑ «The First Tiling Window Manager - Siemens RTL Tiled Window Manager (released in 1988)». YouTube. Arxivat de l'original el 24 de agosto de 2022. [Consulta: 24 agost 2022].
* ↑ «Apple Announces OS X El Capitan with Refined Experience & Improved Performance». Apple Newsroom.
* ↑ «Build: More Details On Building Windows 8 Metro Apps» (en anglès). PCMAG. [Consulta: 25 juny 2021].
* ↑ «Review: New Windows 10 version still can't beat Windows 7» (en anglès). InfoWorld, 12-11-2015. [Consulta: 25 juny 2021].
* ↑ «bug.n – Tiling Window Manager for Windows». GitHub. [Consulta: 2 març 2019].
* ↑ «MaxTo - The window manager you didn't know you missed]». Arxivat de l'original el 2018-11-13. [Consulta: 21 novembre 2018].
* ↑ «Stack WM: Windows Store». Microsoft. Arxivat de l'original el 2017-12-10. [Consulta: 9 desembre 2017].
* ↑ «Stack on Lost Tech LLC website». Arxivat de l'original el 2018-01-11. [Consulta: 9 desembre 2017].
* ↑ «Palatial Software Website», 10-01-2019. [Consulta: 10 gener 2019].
* ↑ Button, Rick. «workspacer» (en anglès americà). workspacer.org. [Consulta: 2 juliol 2020].
* ↑ Tanner, Marc André. «dwm-win32 - X11 dwm(1) for Windows» (en anglès). brain-dump.org. [Consulta: 2 juliol 2020].
* ↑ «workspacer» (en anglès americà). www.workspacer.org. [Consulta: 2 juliol 2020].
* ↑ «dwm-win32 - X11 dwm(1) for Windows» (en anglès). www.brain-dump.org. [Consulta: 2 juliol 2020].
* 1 2 Arch Linux Magazine Team. «Software Review: 2009 LnF Awards». Arch Linux Magazine, 01-01-2010. Arxivat de l'original el 2010-02-16. [Consulta: 8 març 2010].
* ↑ «100 open source gems - part 2». TuxRadar. Future Publishing, 21-05-2009. Arxivat de l'original el 2010-01-06. [Consulta: 3 març 2010].
* ↑ Vervloesem, Koen. «Uzbl: a browser following the UNIX philosophy». LWN.net. Eklektix, Inc., 15-07-2009. Arxivat de l'original el 2009-11-30. [Consulta: 3 març 2010].
* ↑ «herbstluftwm». herbstluftwm.org. [Consulta: 12 agost 2019].
* ↑ GitHub - leftwm/leftwm: LeftWM: A tiling window manager for Adventurers., 2019-04-04, <https://github.com/leftwm/leftwm>. Consulta: 5 abril 2019
* ↑ Verna, Clément. «5 cool tiling window managers». Fedora Magazine, 27-09-2018. [Consulta: 20 novembre 2018].
* ↑ «rename scrotwm to spectrwm». github.com, 15-02-2012. [Consulta: 25 maig 2019].
* ↑ «SwayWM». Arxivat de l'original el 10 de octubre de 2017. [Consulta: 13 octubre 2017].
* ↑ «Giving up on wlroots-rs». way-cooler.org. [Consulta: 24 novembre 2019].
* ↑ «way-cooler/way-cooler» (en inglés). GitHub. [Consulta: 24 novembre 2019].
* ↑ «way-cooler.org». Arxivat de l'original el 04 de agosto de 2017. [Consulta: 14 agost 2017].
* ↑ «Amethyst | ianyh». ianyh.com. [Consulta: 23 abril 2021].

## Enllaços externs

* Comparació dels administradors de finestres en mosaic — Arch Linux Wiki