Draco is a simple and lightweight desktop environment. While small still features XDG integration, freedesktop services and integration, power and storage management, desktop, panels, multi-monitor support and much more. Draco does not include any user applications.
Draco is developed for and on Slackware Linux, but is also compatible with RHEL/CentOS/Fedora and others. Draco is a fork of Lumina.
TODO...
TODO...
TODO...
pstate
(Sandy Bridge+) supportTODO...
Shortcut | Action |
---|---|
Alt+F1 |
Default terminal |
Alt+F2 |
Application launcher |
Ctrl+Alt+Left |
Switch desktop/workspace |
Ctrl+Alt+Right |
Switch desktop/workspace |
Ctrl+Alt+Up |
Switch desktop/workspace |
Ctrl+Alt+Down |
Switch desktop/workspace |
Shift+Alt+Left |
Move window to desktop/workspace |
Shift+Alt+Right |
Move window to desktop/workspace |
Shift+Alt+Up |
Move window to desktop/workspace |
Shift+Alt+Down |
Move window to desktop/workspace |
Win+F1 |
Switch to desktop/workspace 1 |
Win+F2 |
Switch to desktop/workspace 2 |
Win+F3 |
Switch to desktop/workspace 3 |
Win+F4 |
Switch to desktop/workspace 4 |
Win+D |
Toggle show desktop |
Alt+Tab |
Next window |
Alt+Shift+Tab |
Previous window |
wheel/touchpad up/down on desktop |
Switch desktop/workspace |
Draco depends on XScreenSaver to handle the screen session, the default settings may need to be adjusted. You can launch the (XScreenSaver) configuration GUI with the xscreensaver-demo
command or from settings.
Recommended settings are:
Blank Screen Only
5 minutes
enabled + 0 minutes
enabled
0 minutes
0 minutes
0 minutes
enabled
A custom configuration tool will be added in the future.
A swap partition (or file) is needed by the kernel to support hibernate/hybrid sleep. Edit the boot loader configuration and add the kernel option resume=<swap_partition/swap_file>
, then save and restart.
Note that some distributions don't require resume=
, and some have hibernation disabled. Consult your distribution documentation regarding hibernation.
Draco is divided into the following components:
xdg-open
replacement. Takes care of anything XDG related when running Draco. You can use this component outside of Draco.Main settings:
Draco XDG/mime settings:
Applications and services that are launched during desktop startup:
Basic keyboard configuration:
Panels configuration:
Power configuration:
Wallpaper configuration:
General desktop configuration:
Monitor configuration:
Build and runtime requirements.
cmake
(>= 3.0)pkg-config
Qt
(5.5+, latest LTS recommended)
QtCore
QtDBus
QtGui
QtWidgets
QtConcurrent
QtX11Extras
X11
libX11
libXss
libXdamage
libXrandr
libXfixes
xrandr
setxkbmap
xinit
xcb
xcb-randr
xcb-ewmh
xcb-icccm
xcb-image
xcb-composite
xcb-damage
xcb-util
xcb-shm
xscreensaver
qt5ct
xdg-utils
shared-mime-info
hicolor-icon-theme
adwaita-icon-theme
(3.18 recommended)openbox
UDisks2
(or compatible service)UPower
(>= 0.9.23 or compatible service)ConsoleKit
/logind
(or compatible service)Optional recommended applications.
qterminal
(terminal emulator)qtfm
(file manager)pnmixer
(audio system tray)obconf
(window manager config)nm-applet
(network manager)Draco includes a power daemon (to be able to adjust screen and cpu) this daemon must run as root
(or a user with write access to /sys
), this service run through D-Bus and can only be accessed by a predefined system group, this should be a common desktop user group like power
or something similar. The default when building Draco is root
as user and power
as group. If you want something else you can change this during build.
Add the following during cmake
configure:
-DPOWERD_SERVICE_USER=<run service as this user>
-DPOWERD_SERVICE_GROUP=<user group that have access to service>
You can also change the /etc/dbus-1/system.d/org.dracolinux.Powerd.conf
file manually if you want.
Install the following packages from SlackBuilds.org or slackware.com/~alien:
openbox
The rest should be available in a standard installation.
A draco.SlackBuild is available.
You can of course build it manually:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_INSTALL_MANDIR=/usr/man -DCMAKE_INSTALL_DOCDIR=/usr/doc -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
Note that the install prefix should be the same folder as D-Bus (usually in /usr
), else you will need to copy the Draco service files to the proper location manually.
Minimal testing is done on Ubuntu, some features may not work.
Known issues:
power
group before running Draco (add group if not exists).Dependencies (based on a miminal install of Xenial):
sudo apt-get install build-essential cmake pkg-config openbox adwaita-icon-theme-full xscreensaver xdg-utils qt5ct qtbase5-dev libqt5x11extras5-dev libx11-dev libxss-dev libxdamage-dev libxrandr-dev libxfixes-dev libxcb1-dev libx11-xcb-dev libxcb-randr0-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-util0-dev libxcb-shm0-dev
Build and install:
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_INSTALL_LIBEXECDIR=bin -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
Note that the install prefix should be the same folder as D-Bus (usually in /usr
), else you will need to copy the Draco service files to the proper location manually.
Minimal testing is done, some features may not work.
Known issues:
See RPM spec file for build instructions.
This project has source files licensed under BSD-3
, LGPL-2.1
and GPL-2
.