Moksha Desktop for Artix Linux


Changelog (12-Sep-2024)


Introduction

Moksha Window Manager and Desktop Environment

Credits
All credits for Moksha go to the developers of Moksha.

Moksha is a fork of Enlightenment release E17, and focuses on stability and low resource usage. It is developed for Bodhi Linux, but can also be used on other distributions.

In 2010 the Moksa fork was created to get more focus on quality and stability. Also the resulting Window Manager and Desktop Environment were integrated with a Ubuntu distribution. This became the Moksha Desktop Environment on Bodhi Linux

Moksha is known as a Window Manager but provides most of the functionality found in much more resource-hungry Desktop Environments. You could say that it straddles the line between a Window Manager and a Desktop Environment.

Moksha is written using the Enlightenment Foundation Libraries (EFL), and remains in active development to this day.

According to the developers, two ideals of Moksha are:

  1. Minimalism: A default install of Moksha will run in less than 100 MB of RAM. That is FAR less than most modern Windows Managers, not to mention complete Desktop Environments. But it doesn't come at the expense of great looks or functionality. Moksha is one of the most elegant Window Managers available and is highly extensible through the use of Modules.
  2. User Choice: Moksha is likely the most highly configurable Window Manager in existence, so you can make your system look and work the way you want.


In 2021 work began to build Moksha on Artix Linux completely from source. The first release was finished by the end of the year, and available in the omniverse repository. This was followed by overhauls and other improvements and in August 2024 Moksha for Artix was moved to the galaxy repository.


Random Moksha Desktops for Artix Linux can look like this (click on image for full size):


Note: the EFL package has support for Wayland included, but this has not been tested


Available Help Resources

The Moksha Desktop for Artix has 3 menu items for getting help:

  1. Applications / System Tools / Artix Moksha help → Moksha info and help for Artix as link to this page
  2. Applications / System Tools / Moksha Quickstart → Moksha Quickstart as link to a installed, localized html page
  3. Moksha Desktop / Help → Moksha Guide on the Bodhi Linux site


Installation

To install Moksha, the galaxy repository needs to be enabled.


Moksha Desktop for Artix Linux

The Moksha Desktop for Artix Linux can be installed completely using:

pacman -Sy moksha-artix

This will install the Moksha and EFL core modules and programs, extra modules, themes and icon themes

Alternatively, these groups can be installed separately


Moksha

This is the core Moksha package with the EFL library package and the dependencies

These can be installed using:

pacman -Sy moksha


Additional Moksha Modules (optional)

These are the extra modules (and their respective package name) with which Moksha's functionality can be extended. These can be installed separately or all - with the exception of the Mixer module - at the same time using:

pacman -Sy moksha-modules-extra

  • Alarm: A module which allows you to set popup reminders. (moksha-module-alarm)
  • Calendar: Calendar sheet showing the current day. (moksha-module-calendar)
  • Compton: Compositing for the Moksha desktop using picom. (moksha-module-compton)
  • CPU Usage: Shows system CPU usage in real time with some configuration options. (moksha-module-cpu)
  • Desktop Flame: Adds a burning flame to the bottom of your desktop. (moksha-module-flame)
  • Desktop Rain: Adds a downpour to your desktop. (moksha-module-rain)
  • Deskshow: Gadget to allow you to quickly uncover your desktop. (moksha-module-deskshow)
  • Desktitle: Gadget to display the current desktop’s name. (moksha-module-desktitle)
  • Dictionary: Launcher Dictionary Frontend, use ‘d ‘ as trigger. (moksha-module-dictionairy)
  • Diskio: Visualizes disk I/O (moksha-module-disio)
  • Forecasts: Weather forecasts information on your Desktop. (moksha-module-forecasts)
  • Launcher Dock – Engage: A configurable dock that can house launchers, taskbar, and gadgets. (moksha-module-engage)
  • Mail: Mail notification gadget. Checks POP3, IMAP, maildir, and mbox mailboxes. (moksha-module-mail)
  • Memory Usage: Shows system memory usage in real time with some configuration options. (moksha-module-mem)
  • Mixer: Sound mixer for Pulseaudio (moksha-module-mixer which requires pulseaudio)
  • Net: Network interface monitor. (moksha-module-net)
  • News: Gadget to monitor RSS feeds. (moksha-module-news)
  • Penguins: Adds penguins (or lemmings!) running around your desktop. (moksha-module-penguins)
  • Photo: View photos or a mini slideshow within this gadget. (moksha-module-photo)
  • Productivity: This module helps you to fight against working distractions. (moksha-module-productivity)
  • Screenshot – Advanced: A native screenshot tool with advanced configuration options including a time delay and region selection. (moksha-module-screenshot)
  • Slideshow: Turns your desktop background into a slideshow. (moksha-module-slideshow)
  • Snow: Module to display snow on the desktop. (moksha-module-snow)
  • Spell Checker: Aspell Front-end, use ‘s ‘ as trigger (moksha-module-spellchecker)
  • StickyNotes: Sticky Notes module for the E/Moksha desktop. (moksha-module-stickynotes)
  • TClock: A digital clock gadget. (moksha-module-tclock)
  • Trash: A freedesktop compliant trash module. (moksha-module-trash)
  • Wincontrol: Gadget for controlling window actions. (moksha-module-wincontrol)
  • Winlist NG: Winlist Switcher Module Configure it with: Config panel > extensions > Winlist NG (moksha-module-winlist-ng)
  • Winselector: This module provides a menu-based access to all the windows. (moksha-module-winselector)


Additional Moksha Themes (optional)

These are the themes (and their respective package name) for Moksha, and can be installed separately or all in one go using:

pacman -S moksha-themes

  • Arc Theme (moksha-theme-arc)
  • Arc Dark Theme (moksha-theme-arc-dark)
  • Arc Green Theme (moksha-theme-green)
  • BlingBling Theme (moksha-theme-blingbling)
  • Blue Electric Theme (moksha-theme-blueeletric)
  • Crema Theme (moksha-theme-crema)
  • Detourious Theme (moksha-theme-detour)
  • Dimensions Theme (moksha-theme-dimensions)
  • E17GTK Theme (moksha-theme-e17gtk)
  • Forum Theme (moksha-theme-forum)
  • Green Theme (moksha-theme-arc-green)
  • Ice Theme (moksha-theme-ice)
  • Japan Theme (moksha-theme-japan)
  • KL4K Theme (moksha-theme-kl4k)
  • Moonlight Theme (moksha-theme-moonlight)
  • Pink Theme (moksha-theme-pink)
  • Radiance Theme (moksha-theme-radiance)
  • RedPassion Theme (moksha-theme-passion)
  • Seven Theme (moksha-theme-seven)
  • Sunshine Theme (moksha-theme-sunshine)
  • Vice Versa Theme (moksha-theme-viceversa)
  • Wood Grey Theme (moksha-theme-wood-grey)

A thumbnail picture of these themes can be found here https://www.bodhilinux.com/softwaregroup/themes/


Additional Moksha Icon Themes (optional)

These are the themes (and their respective package name) for Moksha, and can be installed separately or using the first or both:

pacman -S moksha-icon-themes-basic

  • adwaita-icon-theme
  • elementary-icon-theme

pacman -S moksha-icon-themes-extra

  • faenza-icon-theme
  • mint-x-icons
  • numix-icon-theme
  • pacifica-icon-theme
  • papirus-icon-theme


Moksha EFL Programs (optional)

These are some EFL based programs (and their respective package name) for Moksha:

  • EDI: EFL Based IDE which aims to lower the barrier to getting involved in Enlightenment development and in creating apps based on the EFL suite. (edi)
  • ePhoto: Ephoto is a picture viewer that focuses on simplicity rather than intricacies like databases, tags, and albums. It functions by displaying pictures contained inside a given directory and providing simple tools to view them elegantly. (ephoto)
  • Equate: Equate is a simple calculator application written in C using the Enlightenment foundation libraries. (equate)
  • Evisum: Evisum is an EFL based process monitor and system monitor for Linux. (evisum)
  • Terminology: EFL based terminal emulator which can be installed from the terminology package. It has no scrollbar but a mini view instead, and does have a lot of features: https://www.enlightenment.org/about-terminology (terminology)

Sample programs (not for daily use): ecrire enventor rage empc entice eovim epour espionage express


Setup and Usage

Display Manager

It is also possible to start Moksha by inserting command 'enlightenment_start' in file .xinitrc and running command 'startx'.

TuiGreet
Moksha integrates nicely with TuiGreet. To use this install greetd, greetd-runit/openrc/s6/suite66/dinit and greetd-tuigreet, eg:

pacman -S greetd greetd-openrc greetd-tuigreet

In file /etc/greetd/config.toml set 'vt = 7' and 'command = tuigreet' and enable and start the greetd service

A major advantage of TuiGreet / Greetd is that it starts Xorg as the login user, not as root


LightDM
Moksha can also be used with eg. LightDM. To use this install eg. lightdm, lightdm-runit/openrc/s6/suite66/dinit and lightdm-gtk-greeter, or as alternative for lightdm-gtk-greeter install and set up lightdm-slick-greeter, eg:

pacman -S lightdm lightdm-runit lightdm-slick-greeter

and enable and start the lightdm service


ACPID

Install acpid and its service for power events, laptop lid events and backlight, eg.: pacman -S acpid-runit enable and start the acpid service.


Menu Expansion

By moving the mouse over the Main Menu items you get to sub-menus, and mousing over these may lead to further sub-menus (sub-menus may sometimes 'disappear' off the right of the screen; if this happens simply move the mouse pointer to the right edge of the screen and the menus will shift to the left).


Startup Applications

These can be enabled in the Applications section of the Settings menu.


Startup Commands and Scripts

To specify commands and scripts to be executed when Moksha starts, these need to be inserted in file .e/e/applications/startup/startupcommands as eg.:

conky -p 1 -d | \
picom

Note: The pipe symbol '|' is needed to separate commands in this file


Shutdown and Reboot Arguments

Depending on the init system that is being used, specific arguments have to be set for the shutdown and reboot commands. This is done in file: /etc/enlightenment/sysactions.conf which is updated automatically by pacman.

# ENLIGHTENMENT SYSTEM ACTIONS CONFIGURATION
#
# ...
#
# shutdown and reboot commands commands for dinit:
action:   halt      /sbin/shutdown -p
action:   reboot    /sbin/shutdown -r

Note: When switching to another init system, these commands might need to be updated.


Screen Setup

To configure the screen setup:

  • Set up the screen using Monitor Settings / ARandR
  • Click on: Save to Startup
  • Optionally add an argument to the xrandr command for the screen refresh frequency.


Multi Screen Setup

When using multiple screens it can be useful to set up the login screen identical to what is used and saved for the session. For LightDM this can be done as follows:

  • Set up the screens using Monitor Settings / ARandR and save it
  • Check and remove the 'xrandr ...' line from file ~/.e/e/applications/startup/startupcommands
  • Put this line into the [Seat:*] section of file /etc/lightdm/lightdm.conf as 'display-setup-script=xrandr ...'


Screenshot Tools

The Print-Screen key starts the Shot module which can be use as a simple screenshot tool. Package moksha-modules-screenshot can be installed to obtain the Screenshot module which has more features. Once this module has been enabled it is available as a systray icon. It uses the emprint program which can also be called directly using eg:

   emprint --region screenshot`date "+%D-%T"`.png

for which eg. a keybinding can be created.


Module Configuration Files

The configuration files for the Moksha modules are in binary format. For each module up to 10 numbered backups are stored in directory: ~/.e/e/config/default/<module>


Configuration Backup

To make a complete backup of the Moksha configuration setup, simply copy directories ~/e and ~/.elementary
When downgrading, file /etc/enlightenment/sysactions.conf might be overwritten, so backup this file as well.


Potential Issues


Shutdown or reboot not completing

A reboot or shutdown resulting in a hanging popup showing "Resetting" is most probably caused by an incorrect reboot or shutdown command in file /usr/etc/enlightenment/sysactions.conf Also see Shutdown and Reboot Arguments


Flashing windows or rapidly alternating focus

To fix this, open the Settings Panel for Windows / Windows Display, and select Allow windows partly/completely out of visual screen limits.


Icons not displayed for some items

Not all icon themes contain icons for all items. Select another icon theme to have these displayed: Settings / Settings Panel / Look / Application Theme


Problem with newly installed theme

An issue with a newly installed theme can often be solved by restarting moksha or the session.


Eina messages displayed at logout or shutdown

With some display managers (DM) extraneous messages from Moksha Desktop's module 'EINA' can be shown at logout or shutdown. These can be ignored, or prevented by adding the following to the DM service script or custom procedure before the command that starts the DM:

  source /etc/profile.d/eina-log.sh


Maintainer: artist for Artix Linux