I'm using Enlightenment WM as a DE, instead of Mate since a couple of weeks. I encountered some issues when trying to make it my daily. Here are my tips for those who wants to do the same.
Lack of system tray
The deskbar provided by E contains a module for the system tray, however it doesn't support the old Xembed protocol anymore. The one that's used by Update Station and NetworkMgr.
The only fix this that I found is not very elegant, but it works.
Install stalonetray sudo pkg install stalonetray
Create a configuration file for stalonetray as ~/.stalonetrayrc
geometry 1x1-0+0
parent_bg false
background "#202020"
grow_gravity NE
icon_gravity NE
icon_size 24
sticky true
window_layer bottom
kludges force_icons_size
window_type desktop
You can set the background the color you want. There is a way to make the background transparent (set parent_bg to true), but in E is not working correctly.
Create a .desktop file as ~/.local/share/applications/StaloneTray.desktop
[Desktop Entry]
Hidden=false
Exec=bash -c 'sleep 5; stalonetray'
Icon=systemtray
Type=Application
NoDisplay=false
Version=1.0
StartupNotify=false
StartupWMClass=
Comment=
DBusActivatable=false
Categories=System;
Terminal=false
Name=StaloneTray
GenericName=Tray Area
Note the sleep command inside Exec. It's needed to make it render the icons properly. If it launches too early, the icons would be blank.
Set the application to start at login.
- Go to Enlightenment Settings, then Apps, then Startup Applications.
- Go to the Applications tab, then search for StaloneTray and click the + Add button.
Starting Update station and NetworkMgr
- Go to Enlightenment Settings, then Apps, then Startup Applications.
- Go to the System tab, then search for Update Station and NetworkMgr and click the + Add button.
"E" application quirks and crashes
There are some applications specifically made for E, and build with its EFL libraries. Unfortunately, most of them are not working correctly. At least here in FreeBSD.
- ecrire (Text Editor): it crashes randomly
- ephoto (Photo manager like Shotwell): seems to work fine
- evisum (Task manager and system monitor): works fine
- rage (Video Player): it starts lots of threads trying to create thumbnails for your videos, impacting heavily on the system load. Even though it should stop when all thumbnails are generated, I prefer to not use it
- terminology (Terminal emulator): it works fine, but out of the box
ls
and other commands doesnt seems to show colors. There is a workaround:
Workaround for colored "ls" in terminology
- Go to Elightenment Settings and search for Advanced, then Environment Variables
- Add the variable
COLORTERM
and set it to truecolor
Consistent theme with GTK and QT applications
Icons
This is for both GTK and QT applications.
- Download the
e-gtk-pro-paprirus.tar.xz
icon package from here: https://www.pling.com/p/1909560
- Install it in
~/.local/share/icons
- Go to Enlightenment Settings, then Look, the Applications Theme
- Icons tab, then search for e-gtk-pro-papirus icons and Apply them
GTK applications
- Download the
e-gtk-pro.tar.xz
theme package from here: https://www.pling.com/p/1909560
- Install it in
~/.themes
- Go to Enlightenment Settings, then Look, the Applications Theme
- GTK Applications tab, then search for e-gtk-pro icons and Apply it
Consistent theme for 'Update Station', 'NetworkMgr' and 'Software Station'
These applications are launched as user root, so you need to copy the same theme also into the /root/.themes
directory.
sudo -i
mkdir /root/.themes
cp -r /home/YOUR_USER/.themes/e-gtk-pro /root/.themes/
QT5 and applications
- Install
qt5ct
, qt5-style-plugins
, gtk-murrine-engine
, gnome-themes-extra
sudo pkg install qt5ct qt5-style-plugins gtk-murrine-engine gnome-themes-extra
- Go to Elightenment Settings and search for Advanced, then Environment Variables
- Add the variable
QT_QPA_PLATFORMTHEME
and set it to qt5ct
- Add the variable
QT_STYLE_OVERRIDE
as UNSET
- Open qt5ct, then:
- Set the style to gtk2
- Set the fonts to Noto Sans 10 and Noto Sans Mono 10
- Set the icon theme to e-gtk-pro-papirus
- Set the window buttons to have no icons
QT6 applications
Unfortunately, there is no qt6-style-plugin
package to make it use the gtk2 theme, so we must use Kvantum and the most similar kvanum theme available... Unfortunately 2: there is no kvantum engine for QT5, to be able to use the same kvantum styles in both QT5 and QT6.
- Install
qt6ct
, Kvantum
sudo pkg install qt6ct, Kvantum
- Go to Elightenment Settings and search for Advanced, then Environment Variables
- Add the variable
QT_QPA_PLATFORMTHEME
and set it to qt6ct
even if you set it previously as qt5ct
. It will work for both.
- Add the variable
QT_STYLE_OVERRIDE
as UNSET
- Open
kvantummanager
, then
- Go to Change/Remove Theme and set the theme to KvFlat. It's not identical to the default E theme, but close enough.
- Open
qt6ct
, then
- Set the style to kvantum
- Set the fonts to Noto Sans 10 and Noto Sans Mono 10
- Set the icon theme to e-gtk-pro-papirus
- Set the window buttons to have no icons
Cursor
Here we want to keep the cool animated Enlightenment cursor, while using in other applications a clone of it. However, some applications would use the default Xorg cursors. With this steps we are setting this clone of the default E cursor to all applications.
- Download the E-2024 cursor theme: https://www.enlightenment-themes.org/p/2064022
- Install it in
~/.local/share/icons
- Go to Elightenment Settings and search for Advanced, then Environment Variables
- Add the variable
XCURSOR_PATH
and set it to /home/YOUR_USER/.icons:/home/YOUR_USER/.local/share/icons:/usr/local/share/icons
(change YOUR_USER with your username 😉 )
- Add the variable
XCURSOR_THEME
and set it to E-2024
- Add the variable
XCURSOR_SIZE
and set it to 34
(unfortunately, it's off by 1 pixel when compared to the E cursor, but there's no way to make it perfect).
Note that the cursor size might be different on scale factors different from 1.2, which is the one that I'm using. You'll have to adjust it.
Icons disappearing on start
That one is tricky... There seems to be some kind of timing issues between enlightenment start and its icon cache daemon efreetd
. I haven;t found a perfect solution yet, but only this klunky workaround.
- Create a desktop file named
~/.local/share/applications/RestartEfreetd.desktop
[Desktop Entry]
Hidden=false
Exec=bash -c 'sleep 8; killall -5 efreetd'
Icon=enlightenment
Type=Application
NoDisplay=false
Version=1.0
StartupNotify=false
StartupWMClass=
Comment=
DBusActivatable=false
Categories=System;
Terminal=false
Name=Restart Efreetd
GenericName=Restarts Enlightenment cache daemon
Note that the 8 seconds of sleep might be tuned.
- Set the application to start at login.
- Go to Enlightenment Settings, then Apps, then Startup Applications.
- Go to the Applications tab, then search for Restart Efreetd and click the + Add button.
What will happens is that:
- enlightenment starts (it could be with or without blank icons)
- after 8 seconds efreetd restarts then enlightenment should refresh the icons
Other workarounds would be to killall -5 efreetd manually, or restart Enlightenment on the fly by choosing in the Enlightenment desktop menu: Enligtenment -> Restart
Conclusions
With this steps you should be able to run Enlightenment alongsine Mate and use all GhostBSD default apps maintaining the same style.
There are some applications which I prefer to the default ones:
- leafpad instead of pluma
- audacious-qt5 and easytag instead of rhythmbox
- mpv instead of vlc (anyway, vlc is excellent and will look good too)