Window manager (Português)
Um gerenciador de janela, ou window manager (WM), é um software de sistema que controla o posicionamento e aparência de janelas dentro de um sistema de janelas em uma interface gráfica de usuário (GUI). Ele pode ser parte de um ambiente de desktop (DE) ou ser usado de forma independente.
Visão geral
Os gerenciadores de janela são clientes X que controlam a aparência e o comportamento dos quadros ("janelas"), onde os vários aplicativos gráficos são desenhados. Eles determinam a borda, a barra do título, o tamanho e a capacidade de redimensionar as janelas, e muitas vezes fornecem outras funcionalidades, como áreas reservadas para aderir dockapps como o Window Maker, ou a capacidade para separar janelas como o Fluxbox. Alguns gerenciadores de janela são empacotados com utilitários simples, como menus para iniciar programas ou para configurar o próprio WM.
A especificação Dicas estendidas de Gerenciador de janela (inglês) é usada para permitir que os gerenciadores de janela interajam de maneira padrão com o servidor e os outros clientes.
Alguns gerenciadores de janela são desenvolvidos como parte de um ambiente de desktop mais completo, geralmente permitindo que os outros aplicativos fornecidos interajam melhor uns com os outros, dando uma experiência mais consistente ao usuário, com recursos como ícones de área de trabalho, fontes, barras de ferramentas, papéis de parede ou widgets.
Outros gerenciadores de janela são, em vez disso, projetados para serem usados como "autônomos", dando ao usuário liberdade completa sobre a escolha dos outros aplicativos a serem usados. Isso permite ao usuário criar um ambiente mais leve e personalizado, adaptado às suas próprias necessidades específicas. "Extras", como ícones de área de trabalho, barras de ferramentas, papéis de parede ou widgets, se necessário, terão que ser adicionados com aplicativos dedicados adicionais.
Alguns gerenciadores de janela autônomos também podem ser usados para substituir o WM padrão de um DE, assim como alguns gerenciadores de janela orientados a DE podem ser usados autônomo também.
Antes de instalar um gerenciador de janela, é necessária uma instalação funcional do servidor X. Veja Xorg para obter informações detalhadas.
Tipos
- Empilhamento – os gerenciadores de janela, neste caso também conhecidos como flutuantes, fornecem a metáfora tradicional de desktop usado em sistemas operacionais comerciais como Windows e OS X. As janelas agem como folhas de papéis em uma mesa e pode ser empilhada uma sobre a outra. Para páginas disponíveis no Arch Wiki, veja Category:Stacking window managers (Português).
- Tiling – os gerenciadores de janela "colam" (tile) as janelas lado a lado, de forma que nenhuma se sobreponha a outra. Eles geralmente fazem grande uso de atalhos de teclados e menos (ou nenhuma) dependência do mouse. Os gerenciadores de janela de tiling podem ser manuais, oferecendo layouts pré-definidos ou ambos. Para páginas disponíveis no Arch Wiki, veja Category:Tiling window managers.
- Dinâmico – os gerenciadores de janela podem trocar dinamicamente entre a disposição de janelas tiling ou flutuante. Para páginas disponíveis no Arch Wiki, veja Category:Dynamic window managers.
Veja Comparison of tiling window managers e Wikipedia:Comparison of X window managers para uma comparação entre gerenciadores de janelas.
Lista de gerenciadores de janela
Gerenciadores de janela de empilhamento
- 2bwm — Gerenciador de janela flutuante rápido, com a particularidade de ter 2 bordas, escritas sobre a biblioteca XCB e derivadas de mcwm escritas por Michael Cardell. Em 2bwm tudo é acessível a partir do teclado, mas um dispositivo de apontamento pode ser usado para mover, redimensionar e aumentar/diminuir. O nome mudou recentemente de mcwm-beast para 2bwm.
- AfterStep — Gerenciador de janela para o sistema Unix X Window. Originalmente baseado na aparência da interface NeXTStep, ele fornece aos usuários finais uma área de trabalho consistente, limpa e elegante. O objetivo do desenvolvimento do AfterStep é fornecer flexibilidade na configuração da área de trabalho, melhorando a estética e o uso eficiente dos recursos do sistema.
- Blackbox — Gerenciador de janela rápido e leve para o X Window System, sem todas as dependências irritantes da biblioteca. O Blackbox é construído com C++ e contém código completamente original (mesmo que a implementação gráfica seja semelhante à do WindowMaker).
- Compiz — Gerenciador de composição OpenGL que usa GLX_EXT_texture_from_pixmap para vincular janelas de nível superior redirecionadas a objetos de textura. Ele tem um sistema de plug-in flexível e foi projetado para funcionar bem na maioria dos hardwares gráficos.
- https://launchpad.net/compiz || compizAUR, compiz-coreAUR
- cwm — Originalmente derivado do evilwm, mas depois reescrito do zero. O cwm tem como objetivo ser simples e oferece recursos úteis, como procurar por janelas.
- eggwm — Um gerenciador de janela leve em QT4/QT5
- Enlightenment — O Enlightenment não é apenas um gerenciador de janela para Linux/X11 e outros, mas também um conjunto completo de bibliotecas para ajudá-lo a criar lindas interfaces com muito menos trabalho do que fazê-lo à moda antiga e lutar com ferramentas tradicionais, sem mencionar um tradicional gerenciador de janela.
- evilwm — Gerenciador de janela minimalista para o X Window System. 'Minimalista' aqui não significa que esteja muito vazio para ser usado - significa apenas que omite muitas das coisas que tornam os outros gerentes de janela inutilizáveis.
- Fluxbox — Gerenciador de janela para X que foi baseado no código do Blackbox 0.61.1. É muito leve em recursos e fácil de manusear, mas ainda repleta de recursos para criar uma experiência de área de trabalho fácil e extremamente rápida. É construído usando C++ e licenciado sob a licença MIT.
- Flwm — Tente combinar as melhores ideias em vários gerenciadores de janela. A principal influência e base de código é de wm2 por Chris Cannam.
- FVWM — Extremamente poderoso gerenciador de janela de múltiplas áreas virtuais compatível com ICCCM para o sistema X Window. O desenvolvimento está ativo e o suporte é excelente.
- https://www.fvwm.org/ || fvwmAUR
- Gala — Um belo gerenciador de janela do elementaryos, parte do Pantheon. Também como gerenciador de composição, baseado no libmutter.
- Goomwwm — Gerenciador de janela X11 implementado em C como um projeto de software de sala limpa. Ele gerencia janelas em um layout flutuante mínimo, enquanto fornece controles orientados por teclado flexíveis para troca de janela, dimensionamento, movimentação, marcação e colocação. Também é rápido, leve, sem modelagem, compatível com Xinerama e compatível com EWMH sempre que possível.
- IceWM — Gerenciador de janela para o sistema X Window. O objetivo do IceWM é a velocidade, simplicidade e não ficar no caminho do usuário.
- jbwm — O jbwm é um gerenciador de janela baseado no evilwm, com um tamanho mínimo de configuração de aproximadamente 16kb, focado no pequeno tamanho binário e na usabilidade, incorporando barras de título opcionais e renderização de fonte de barra de título XFT como opções de tempo de compilação. O jbwm também é mais fácil de usar keybindings do que o evilwm.
- JWM — Gerenciador de janela para o sistema de janelas X11. O JWM é escrito em C e usa apenas o Xlib no mínimo.
- Karmen — Gerenciador de janela para X, escrito por Johan Veenhuizen. Ele é projetado para "apenas trabalhar". Não há arquivo de configuração nem dependências de bibliotecas além do Xlib. O modelo de foco de entrada é o clicar para focar. Karmen visa o cumprimento do ICCCM e do EWMH.
- KWin — O gerenciador de janela padrão do KDE, desde o KDE 4.0, vem com a primeira versão do suporte integrado para composição, tornando-o também um gerenciador de composição. Isso permite que a KWin forneça efeitos gráficos avançados, semelhantes ao Compiz, além de fornecer todos os recursos das versões anteriores do KDE (como uma integração muito boa com o KDE, capacidade de configuração avançada, prevenção contra furto de foco, gerenciador de janela bem testado e robusto). manuseio de aplicativos/kits de ferramentas que se comportam mal etc.). Também serve como compositor para Wayland.
- lwm — Gerenciador de janela para o X que tenta se manter fora do seu rosto. Não há ícones, sem barras de botões, sem docks de ícones, sem menus raiz, sem nada: se você quer tudo isso, outros programas podem fornecê-lo. Também não há configurabilidade: se você quiser, você quer um gerenciador de janela diferente; um que ajude o seu sistema operacional em sua conquista maligna de seu espaço de disco e sua anexação de sua memória física.
- Marco — O gerenciador de janela MATE, fork do Metacity.
- Metacity — Este gerenciador de janela se esforça para ser silencioso, pequeno, estável, continuar com seu trabalho e ficar fora de sua atenção. Ele é usado pelas sessões legadas de flashback do GNOME 2 e do GNOME, e substituído pelo Mutter.
- Muffin — O gerenciador de janela e composição do Cinnamon, fork do Mutter, baseado no Clutter, usa o OpenGL. Não pode ser usado fora de canela.
- Mutter — O gerenciador de janela e composição do GNOME, baseado no Clutter, usa o OpenGL. Também serve um compositor de Wayland.
- MWM — O Motif Window Manager (MWM) é um gerenciador de janela X baseado no kit de ferramentas Motif.
- Openbox — Gerenciador de janela da próxima geração e altamente configurável, com amplo suporte a padrões. O estilo visual *box é bem conhecido por sua aparência minimalista. O Openbox usa o estilo visual *box, enquanto fornece um maior número de opções para desenvolvedores de temas do que implementações anteriores de *box. A documentação do tema descreve a gama completa de opções encontradas nos temas do Openbox.
- pawm — Gerenciador de janela para o sistema X Window. Portanto, não é um 'desktop' e não oferece uma enorme pilha de opções inúteis, apenas as facilidades necessárias para executar seus aplicativos X e ao mesmo tempo ter uma interface amigável e fácil de usar.
- PekWM — O gerenciador de janela que antigamente era baseado no gerenciador de janela aewm++, mas evoluiu o suficiente para não mais se assemelhar ao aew++. Ele tem um conjunto de recursos muito expandido, incluindo agrupamento de janelas (semelhante ao Ion, PWM ou Fluxbox), propriedades automáticas, Xinerama, keygrabber que suporta keychains e muito mais.
- Sawfish — Gerenciador de janela extensível usando uma linguagem de script baseada em Lisp. Sua política é muito mínima em comparação com a maioria dos gerenciadores de janelas. Seu objetivo é simplesmente gerenciar janelas da maneira mais flexível e atraente possível. Todas as funções WM de alto nível são implementadas em Lisp para futura extensibilidade ou redefinição.
- TinyWM — Gerenciador de janela minúsculo criado como um exercício de minimalismo. Pode ser útil aprender algumas das noções básicas de como criar um gerenciador de janela. É composto de aproximadamente 50 linhas de C. Há também uma versão do Python usando python-xlib.
- twm — Gerenciador de janela para o sistema X Window. Ele fornece barras de título, janelas de forma, várias formas de gerenciamento de ícone, funções de macro definidas pelo usuário, foco no teclado de clique para tipo e ponteiro e ligações de botão de ponteiro e tecla especificada pelo usuário.
- UWM — O gerenciador de janela final para a UDE.
- WindowLab — Gerenciador de janela pequeno e simples com design inovador. Ele tem uma política de clique para focar, mas não para aumentar o foco, um mecanismo de redimensionamento de janela que permite que uma ou várias bordas de uma janela sejam alteradas em uma ação e uma barra de menu inovadora que compartilhe a mesma parte da tela. a barra de tarefas. As barras de título da janela são impedidas de sair da borda da tela restringindo o ponteiro do mouse e, quando apropriado, o ponteiro também é restringido à barra de tarefas/barra de menu para facilitar a execução dos itens de menu de destino.
- Window Maker — Gerenciador de janela X11 originalmente projetado para fornecer suporte de integração para o GNUstep Desktop Environment. De todas as formas possíveis, reproduz a aparência elegante da interface de usuário NEXTSTEP. É rápido, rico em recursos, fácil de configurar e fácil de usar. Também é software livre, com contribuições feitas por programadores de todo o mundo.
- WM2 — Gerenciador de janela para X. Ele oferece um estilo incomum de decoração de janelas e pouca funcionalidade com a qual seu autor se sente confortável em um gerenciador de janela. wm2 não é configurável, exceto por editar o fonte e recompilar o código, e é realmente destinado a pessoas que não querem particularmente que seu gerenciador de janela seja muito amigável.
- Xfwm — O gerenciador de janela Xfce gerencia a colocação de janelas de aplicativos na tela, fornece belas decorações de janelas, gerencia espaços de trabalho ou desktops virtuais e suporta nativamente o modo de várias telas. Ele fornece seu próprio gerenciador de composição (da extensão X.Org Composite) para transparência e sombras verdadeiras. O gerenciador de janela do Xfce também inclui um editor de atalhos de teclado para comandos específicos do usuário e manipulações básicas do Windows e fornece um diálogo de preferências para ajustes avançados.
Gerenciadores de janela de tiling
- Bspwm — bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It has support for EWMH and multiple monitors, and is configured and controlled through messages.
- EXWM — EXWM (Emacs X Window Manager) is a full-featured tiling X window manager for Emacs built on top of XELB. It features fully keyboard-driven operations, hybrid layout modes (tiling & stacking), dynamic workspace support, ICCCM/EWMH compliance, RandR (multi-monitor) support, and a built-in system tray.
- Herbstluftwm — Manual tiling window manager for X11 using Xlib and Glib. The layout is based on splitting frames into subframes which can be split again or can be filled with windows (similar to i3/ musca). Tags (or workspaces or virtual desktops or …) can be added/removed at runtime. Each tag contains its own layout. Exactly one tag is viewed on each monitor. The tags are monitor independent (similar to xmonad). It is configured at runtime via ipc calls from herbstclient. So the configuration file is just a script which is run on startup. (similar to wmii/musca).
- i3 — Tiling window manager, completely written from scratch. i3 was created because wmii, our favorite window manager at the time, did not provide some features we wanted (multi-monitor done right, for example), had some bugs, did not progress for quite some time, and was not easy to hack at all (source code comments/documentation completely lacking). Notable differences are in the areas of multi-monitor support and the tree metaphor. For speed the Plan 9 interface of wmii is not implemented.
- Notion — Tiling, tabbed window manager for the X window system that utilizes 'tiles' and 'tabbed' windows.
- Tiling: you divide the screen into non-overlapping 'tiles'. Every window occupies one tile, and is maximized to it
- Tabbing: a tile may contain multiple windows - they will be 'tabbed'.
- Static: most tiled window managers are 'dynamic', meaning they automatically resize and move around tiles as windows appear and disappear. Notion, by contrast, does not automatically change the tiling.
- Notion is a fork of Ion3.
- http://notion.sf.net/ || notion
- Ratpoison — Simple Window Manager with no fat library dependencies, no fancy graphics, no window decorations, and no rodent dependence. It is largely modeled after GNU Screen which has done wonders in the virtual terminal market. Ratpoison is configured with a simple text file. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray.
- Stumpwm — Tiling, keyboard driven X11 Window Manager written entirely in Common Lisp. Stumpwm attempts to be customizable yet visually minimal. It does have various hooks to attach your personal customizations, and variables to tweak, and can be reconfigured and reloaded while running. There are no window decorations, no icons, no buttons, and no system tray. Its information bar can be set to show constantly or only when needed.
- sway — Sway is a drop-in replacement for the i3 window manager, but for Wayland instead of X11. It works with your existing i3 configuration and supports most of i3's features, and a few extras.
- way-cooler — Way Cooler is a tiling Wayland window manager, written in Rust, configurable using Lua, and extendable with D-Bus.
- https://way-cooler.org/ || way-coolerAUR[link quebrado: package not found]
Gerenciadores de janela dinâmicos
- awesome — Highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.
- dwm — Dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application in use and the task performed. does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed.
- https://dwm.suckless.org/ || dwmAUR
- echinus — Simple and lightweight tiling and floating window manager for X11. Started as a dwm fork with easier configuration, echinus became full-featured re-parenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar, called ouricoAUR.
- http://plhk.ru || echinusAUR
- FrankenWM — Basically monsterwm with floating done right. Features that are added on top of basic mwm include: more layouts (fibonacci, equal stack, dual stack), gaps (and borders) are adjustable on the fly, minimize/maximize single windows, hide/show all windows, resizing master and stack individually, invert stack.
- spectrwm — Small dynamic tiling window manager for X11, largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and is configured with a text file. It was written by hackers for hackers and it strives to be small, compact and fast. It has a built-in status bar fed from a user-defined script.
- Qtile — Full-featured, hackable tiling window manager written in Python. Qtile is simple, small, and extensible. It's easy to write your own layouts, widgets, and built-in commands.It is written and configured entirely in Python, which means you can leverage the full power and flexibility of the language to make it fit your needs.
- xmonad — Dynamically tiling X11 window manager that is written and configured in Haskell. In a normal WM, you spend half your time aligning and searching for windows. Xmonad makes work easier, by automating this. XMonad is configured in Haskell. For all configuration changes, xmonad must be recompiled, so the Haskell compiler (over 100MB) must be installed. A large library called xmonad-contrib provides many additional features