Desktop environments and Window managers: Difference between revisions

From Alpine Linux
(started desktop overalll wiki page for new alpine users)
 
m (1. Added sxmo* packages link for desktop environment; 2. Internal link to cosmic* packages for COSMIC desktop environment instead of external link.)
 
(123 intermediate revisions by 25 users not shown)
Line 1: Line 1:
The desktop environment in Alpine have two focus: '''official desktop for alpine as Xfce4''' and '''community contributed desktops as Mate, LXDE''' or as special case the very bloated Gnome.
{{TOC right}}
<!-- COMMENT FOR EDITORS


The popularity of desktop computers and laptops has been increasing BUT that's a only false behavior.. there's two factors that indicates that:
Do not add any content about specific desktop environment or window manager in this page. Please add all the content to the respective wiki pages. If wiki page does not exist for the specific window manage, please create and add the content.
# Because Linux desktop distributions are not usually distributed by retail sale, there are no sales numbers that indicate the number of users. Desktop computers and phones are ruled by M$ and Google so far.
# The main effors are focused in server and many desktops have programs that never find a end in development like Kppp or Firefox OS, or GTKpod; those are projects that works only with deprecated not used in time devices or machines.


Taking in consideration that the North American-based web-measurement methods produce high Win-like desktop OS numbers and ignore the widespread use of Linux in other parts of the world, no single official Linux desktop exists and all the integration are focused in too many RedHat proposed practices (that ends in M$-like things like <nowiki>systemd</nowiki>.
This page lists only the window managers and desktop environments for which packages are available in Alpine Linux. Do not add unsupported software here.
-->


==== Why all of this explanation? ====
'''Alpine Linux''' has no official desktop and setting up a graphical environment is not even part of [[Installation]]. All window managers and desktop environments that are available in Alpine Linux are listed in this page. Quick installation using [[Alpine_setup_scripts#setup-desktop|setup-desktop]] script is available for few [[Setup-desktop|desktops]].


You as user will find some very '''significant differences when integrated some desktops or try to install many desktops programs from source upstream''', a very important thing to take in consideration. But '''"Ah ok, but why that? why not a automatic default etc etc..?"''' well [[Alpine newbie#Feature_Differences|as explained in first section of this page]] the focus of the system are efficiency, performance and maximum control of the system, not an automatic behavior not well knowed.  
{{Tip|For servers consider using [[Alpine_Configuration_Framework_Design|Alpine Configuration Framework(ACF)]] for security reasons.}}


As pointed in first paragraph, Gnome it's a example of this.. it's used the <nowiki>wayland</nowiki> service and widely integrated with <nowiki>systemd</nowiki>, and Alpine does not use <nowiki>systemd</nowiki>. That it's a example why Desktop environment are so difficult to adopt in Linux world and obviously to configured in Alpine systems.
== Desktop environments ==
 
Desktop environment (DE) is made of a bundle of programs that share a common graphical user interface (GUI), sometimes described as a graphical shell. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers desktop widgets and might also provide drag and drop.
* [[Xfce]]
* [[LXQt]]
* [[KDE|KDE Plasma]]
* [[GNOME]]
* [[MATE]]
* {{Pkg|cosmic*}}
* {{Pkg|lomiri|arch=}}
* {{Pkg|lumina-desktop*|arch=}}
* {{Pkg|sxmo*}}
 
== Window managers ==
 
A window manager is software that controls the placement and appearance of windows within a windowing system in a graphical user interface. In case of [[Wayland]], these are called  compositors because they additionally perform the task of a compositing window manager.
 
Almost all components of a desktop needs to be added manually by the user. A [[Alpine_Linux:Glossary#S|stacking]] a.k.a. floating or [[Alpine_Linux:Glossary#T|tiling]] a.k.a. dynamic layout is commonly used for window management.
 
{|class="wikitable sortable" align="center" style="width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;"
! WM Name !! Protocol!! Style !! Toolkit!!class="unsortable"|Inspiration
|-
| {{Pkg|2bwm|arch=}} || X11 || Stacking || C/Roff
|| [https://www.hack.org/~mc/hacks/mcwm mcwm]
|-
| [[AwesomeWM|Awesome]] ||X11  || Tiling || Lua ||
|-
| {{Pkg|berry|arch=}} || X11 || Stacking || C ||
|-
| {{Pkg|bspwm|arch=}} || X11 || Tiling || C ||
|-
|  {{Pkg|cage |arch=}} || Wayland || Kiosk || C/wlroots || {{Pkg|ratpoison|arch=}}
|-
| {{Pkg|cagebreak|arch=}} || Wayland || Tiling ||C/wlroots || {{Pkg|ratpoison|arch=}}, {{Pkg|cage|arch=}}
|-
| {{Pkg|compiz|arch=}} || X11 || Compositing || C++/C/Python ||
|-
| {{Pkg|cwm|arch=}} || X11 || Stacking || C ||
|-
| {{Pkg|dk|arch=}} || X11 || Tiling || C || {{Pkg|dwm|arch=}}, {{Pkg|bspwm|arch=}}, [https://xmonad.org/ xmonad]
|-
| {{Pkg|dwl|arch=}}  || Wayland || Tiling || C/wlroots||[[dwm]]
|-
| [[dwm]] || X11 || Tiling || C ||
|-
| [[Fluxbox]] || X11 || Stacking || C++ || [https://sourceforge.net/projects/blackboxwm/ blackbox]
|-
| {{Pkg|flwm|arch=}} || X11 || Stacking || C++/FLTK || [https://all-day-breakfast.com/wm2/ wm2]
|-
| {{Pkg|gamescope|arch=}} || X11/Wayland || Compositing || C++/C/Lua ||
|-
| {{Pkg|goomwwm||-
| {{Pkg|icewm|arch=}} || X11 || Stacking || C++/C/M4 ||
arch=}}  || X11 || Stacking || C/Roff ||
|-
| {{Pkg|herbstluftwm|arch=}} || X11 || Tiling || C++ ||
|-
| [[Hikari]] || Wayland || Stacking || C/wlroots/pango || {{Pkg|cwm|arch=}}
|-
| [[Hyprland]] || Wayland || Tiling || C++ ||
|-
| [[I3wm|i3]] || X11 || Tiling || C ||
|-
| {{Pkg|icewm|arch=}} || X11 || Stacking || C++/C/M4 ||
|-
| {{Pkg|jwm|arch=}} || X11 || Stacking || C ||
|-
| {{Pkg|kwin|arch=}} || X11/Wayland || Compositing || C++ ||
|-
| [[LabWC]] || Wayland || Stacking || C/wlroots||[[Openbox]]
|-
| {{Pkg|marco|arch=}} || X11 || Stacking || C || {{Pkg|metacity|arch=}}
|-
| {{Pkg|metacity|arch=kwin}} || X11 || Compositing || C ||
|-
| {{Pkg|mutter|arch=}} || X11/Wayland || Compositing || C ||
|-
| {{Pkg|mwm|arch=}} || X11 || Stacking || C ||
|-
| {{Pkg|niri|arch=}} || Wayland || Tiling || Rust/GLSL/other || [https://github.com/paperwm/PaperWM PaperWM]
|-
| [[Openbox]] || X11 || Stacking || C ||
|-
| {{Pkg|pekwm|arch=}} || X11 || Stacking || C++/CMake/Perl/C || [http://sapphire.sourceforge.net/ aewm++]
|-
| [[Qtile]] || X11/Wayland || Tiling || Python ||
|-
| {{Pkg|ratpoison|arch=}}  || X11 || Kiosk || C ||
|-
| [[River]] || Wayland || Tiling || Zig || [[dwm]], [https://xmonad.org/ xmonad]
|-
| {{Pkg|spectrwm |arch=}}  || X11 || Tiling || C||  [https://xmonad.org/ xmonad], [[dwm]]
|-
| [[Sway]] || Wayland || Tiling || C/wlroots || [[I3wm|i3]]
|-
| {{Pkg|sxmo-dwm|arch=}} || X11 || Tiling || C || {{Pkg|dwm|arch=}}
|-
| [[twm]] || X11 || Tiling || C ||
|-
| {{Pkg|wayfire|arch=}} || Wayland || Stacking || C++/wlroots || {{Pkg|compiz|arch=}}
|-
| [[Weston]] || Wayland || Stacking ||  C ||
|-
| {{Pkg|windowmaker|arch=}} || X11 || Stacking || C/Shell/M4/Perl/Makefile/Emacs Lisp/other || NeXTSTEP
|-
| {{Pkg|xfwm4|arch=}} || X11 || Compositing || C/Makefile/Meson/other ||
|}
 
== See also ==
* [[Installation#Post-Installation|Post Installation]]
* [[Wayland]]
* [[Xorg]]
* [[Display manager]]
* [https://wiki.archlinux.org/title/Desktop_environment Desktop environment - Archwiki]
* [https://wiki.gentoo.org/wiki/Desktop_environment Desktop environment - Gentoo Wiki]
 
[[Category:Desktop]]
[[Category:Desktop Environments]]
[[Category:Window Managers]]
[[Category:Compositor]]

Latest revision as of 23:58, 27 August 2025

Alpine Linux has no official desktop and setting up a graphical environment is not even part of Installation. All window managers and desktop environments that are available in Alpine Linux are listed in this page. Quick installation using setup-desktop script is available for few desktops.

Tip: For servers consider using Alpine Configuration Framework(ACF) for security reasons.

Desktop environments

Desktop environment (DE) is made of a bundle of programs that share a common graphical user interface (GUI), sometimes described as a graphical shell. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers desktop widgets and might also provide drag and drop.

Window managers

A window manager is software that controls the placement and appearance of windows within a windowing system in a graphical user interface. In case of Wayland, these are called compositors because they additionally perform the task of a compositing window manager.

Almost all components of a desktop needs to be added manually by the user. A stacking a.k.a. floating or tiling a.k.a. dynamic layout is commonly used for window management.

WM Name Protocol Style Toolkit Inspiration
2bwm X11 Stacking C/Roff mcwm
Awesome X11 Tiling Lua
berry X11 Stacking C
bspwm X11 Tiling C
cage Wayland Kiosk C/wlroots ratpoison
cagebreak Wayland Tiling C/wlroots ratpoison, cage
compiz X11 Compositing C++/C/Python
cwm X11 Stacking C
dk X11 Tiling C dwm, bspwm, xmonad
dwl Wayland Tiling C/wlroots dwm
dwm X11 Tiling C
Fluxbox X11 Stacking C++ blackbox
flwm X11 Stacking C++/FLTK wm2
gamescope X11/Wayland Compositing C++/C/Lua
goomwwm X11 Stacking C/Roff
herbstluftwm X11 Tiling C++
Hikari Wayland Stacking C/wlroots/pango cwm
Hyprland Wayland Tiling C++
i3 X11 Tiling C
icewm X11 Stacking C++/C/M4
jwm X11 Stacking C
kwin X11/Wayland Compositing C++
LabWC Wayland Stacking C/wlroots Openbox
marco X11 Stacking C metacity
metacity X11 Compositing C
mutter X11/Wayland Compositing C
mwm X11 Stacking C
niri Wayland Tiling Rust/GLSL/other PaperWM
Openbox X11 Stacking C
pekwm X11 Stacking C++/CMake/Perl/C aewm++
Qtile X11/Wayland Tiling Python
ratpoison X11 Kiosk C
River Wayland Tiling Zig dwm, xmonad
spectrwm X11 Tiling C xmonad, dwm
Sway Wayland Tiling C/wlroots i3
sxmo-dwm X11 Tiling C dwm
twm X11 Tiling C
wayfire Wayland Stacking C++/wlroots compiz
Weston Wayland Stacking C
windowmaker X11 Stacking C/Shell/M4/Perl/Makefile/Emacs Lisp/other NeXTSTEP
xfwm4 X11 Compositing C/Makefile/Meson/other

See also