1## Core Components of the Lumina Desktop
2
3It is **strongly-encouraged** that the "core" of Lumina is built and distributed as a single package. Each of the utilities listed here will explicitly require/use each other for essential functionality.
4
5Binaries:
6 * `start-lumina-desktop`: (lumina-session directory) Use this to start the desktop session
7 * `lumina-desktop`: (lumina-desktop directory) Use this to communicate with the currently-running session
8 * `lumina-open`: (lumina-open directory) Use this to launch external applications. Complement to the `xdg-open` utility.
9 * `lumina-info`: (lumina-info directory) View basic information about the desktop itself such as version, license, etc.
10
11Other Files that get installed if "core" is built directly:
12 * PREFIX/share/icons/material-design-[light/dark]: Basic SVG icon theme.
13 * PREFIX/share/lumina-desktop/themes: Built-in themes for the Lumina desktop
14 * PREFIX/share/lumina-desktop/colors: Built-in color schemes for the Lumina desktop
15 * PREFIX/share/lumina-desktop/menu-scripts: Built-in scripts for creating menu entries on-demand.
16 * PREFIX/share/lumina-desktop/globs2: Fallback XDG mimetype database (in case the system does not have one available)
17
18### Library Dependencies
19
201. Qt 5.4+ (specific modules listed below)
21   * concurrent
22   * core
23   * gui
24   * network
25   * multimedia
26   * multimediawidgets
27   * svg
28   * widgets
29   * x11extras
30   * NOTE: Qt5 platform theme and developer libraries are also required to build the Lumina theme engine plugin (the "qtbase5-private-dev" package on Debian/Ubuntu, or "qt5-qtbase-private-devel" and "qt5-qtbase-static" packages on Fedora/CentOS)
312. X11 Libraries
32   * libXdamage
333. XCB Libraries
34   * libxcb
35   * libxcb-ewmh
36   * libxcb-image
37   * libxcb-composite
38   * libxcb-damage
39   * libxcb-randr
40   * libxcb-util
414. Other Libraries
42   * libc
43
44### Runtime Dependencies (utilities)
451. Required Utilities
46   * `xinit`: Used by `start-lumina-desktop` for launching an X11 session if needed.
47   * `fluxbox`: Used for window management within the desktop session
48   * `xscreensaver`: Screensaver/locker for the desktop session
492. Optional (but recommended) Utilities
50   * `numlockx`: Used to toggle the numlock key on session start
51   * `compton` *or* `xcompmgr`: Compositor to provide cross-application transparency effects and graphical smoothing
52   * `xterm`, `qterminal` or some other graphical terminal: XDG standards require the availability of a graphical terminal to launch particular types of applications.
533. OS-specific utilities (optional, but allow for better OS integration)
54   1. FreeBSD/TrueOS
55      * AppCafe (graphical package manager)
56      * SysAdm (system control panel)
57      * `pc-sysconfig`, `intel_backlight`, `xbrightness` : screen brightness control utilities
58      * `pc-mixer`: graphical front-end to `mixer`
59      * `pc-sysconfig`: Allow system into be put into suspend mode (if supported by hardware)
60   2. DragonFlyBSD
61      * `xbrightness`: screen brightness control (fake brightness - will not change power consumption)
62   3. OpenBSD
63      * `xbacklight`: screen brightness control
64   4. NetBSD
65      * [No OS Integrations committed yet]
66   5. Generic "Linux"
67      * `xbacklight`: screen brightness control
68      * `amixer`: Audio mixer control
69      * `pavucontrol`: Graphical audio mixer utility
70      * `acpi`: Battery detection/status
71   6. Slackware Linux
72      * `xbacklight`: screen brightness control
73      * `amixer`: Audio mixer control
74      * `pavucontrol`: Graphical audio mixer utility
75      * `acpi`: Battery detection/status
76      * `dbus-send`: System shutdown/restart
77   7. Debian GNU/kFreeBSD
78      * `xbacklight`: screen brightness control
79      * `pavucontrol`: Graphical audio mixer utility
80   8. Gentoo Linux
81      * `xbacklight`: screen brightness control
82      * `amixer`: Audio mixer control
83      * `pavucontrol`: Graphical audio mixer utility
84      * `acpi`: Battery detection/status
85      * `dbus-send`: System shutdown/restart
86    9. Debian GNU/Linux
87       * `xbacklight`: screen brightness control
88       * `amixer`: Audio mixer control
89       * `pavucontrol`: Graphical audio mixer utility
90       * `acpi`: Battery detection/status
91       * `dbus-send`: System shutdown/restart
92   10. Void Linux
93      * `xbacklight`: screen brightness control
94      * `amixer`: Audio mixer control
95      * `pavucontrol`: Graphical audio mixer utility
96      * `acpi`: Battery detection/status
97