Parts of the LCARS Desktop Environment

lcarsde consists of five parts. The core is the window manager lcarswm. It handles the windows and draws the main frame. On the left lower big bar is the application menu that lists open windows and allows to focus and close them. On the top area is the status bar that shows system information and provides a few adjustable buttons. Additionally, there is a program selection for listing and running installed software as well as a logout application that allows to shutdown, restart, or logout. These two applications will show up in the main area when they are selected.

The following picture shows an overview of the primary screen with the colorful status bar on the top, the program menu on the left and a browser window in the main area.

Overview screenshot of lcarsde

Back to index

LCARS Window Manager

The window manager lcarswm takes care of managing the windows. That is, it manages the windows showing and hiding and drawing its frame with the title bar below the window. It also handles actions to move windows from screen to screen and changing their size in the different screen modes. It also draws the basic frame, which is shown without any windows in the following image.

Screenshot of lcarswm

What are the basic things, that can be done with the window manager? There are some default key bindings as well as a configuration that can be adjusted to your needs. First, these are the default key bindings:

Windows can also be moved to other monitors by clicking, holding and dragging the titlebar of a window. The titlebar is below the window.

There are a view more key bindings that will open programs, but those are probably what needs to be adjusted, which brings us to configuration files. There is one configuration file for lcarswm located in /etc/lcarsde: settings.xml. Don't edit the files in this directory! Instead, if they need adjustment, copy them to ~/.config/lcarsde and adjust them there.

settings.xml contains key bindings for window manager actions and command executions. Especially the executions may be something to change and/or extend. Check the file for examples. Possible modifier keys are: Shift, Ctrl, Alt, Win/Lin/Super, Meta, Hyper. Below the key bindings, there are some general settings, which are the title, that is shown in the top frame part and the font that is used by the window manager. It is possible to set a title image, which overrides the title. The image has to be an xpm file with a height of 40 pixels and its width should be smaller then the space for the top blue bar.

lcarswm will also autostart any applications that are defined in *.desktop files that are in /etc/xdg/autostart/ or ~/.config/autostart/. The autostart of lcarswm follows the Desktop Autostart Specification. You can use OnlyShowIn and NotShowIn to specify, which window manager should load which applications. You can copy the file from /etc/xdg/autostart to ~/.config/autostart and adjust the lines in there. The file in your home folder will override the global one in /etc. For instance you can add NotShowIn=lcarsde. Multiple wm entries are separated by comma.

Back to index

Application Menu

The application menu lists all open windows and allows to focus or close them. The menu is shown in the following image.

Screenshot of the application menu

A window can be focused by clicking in the blue square with the program name. If the square is orange, then the window is currently focused. Clicking on the red, half-rounded area to the right of each square will close the corresponding window.

Back to index

Status Bar

The status bar shows some system information like CPU usage and connectivity status and offers some buttons to perform actions like open a program or adjusting the sound. The status bar is shown in the following image.

Screenshot of the status bar

The widgets, that are shown in the status bar can be configured. The fields with numbers on the left side are randomly generated to fill the otherwise empty space. status-config.xml is the default configuration and located in /etc/lcarsde. To adjust the settings for a user copy it to ~/.config/lcarsde and modify it there.

Every widget has a position setting. The position setting contains an x and y coordinate and its width and height, each in cells of the status bar grid. The status bar grid is always three cells high. The amount of vertical cells depends on the screen resolution. The x and y coordinates start at 0. The counting of x coordinates goes right to left (for design reasons). The counting of y coordinates goes from top to bottom. So, x=0, y=0 is in the top right corner of the status bar and x=4, y=2 is at the bottom of the status bar and 3 cells away from its right border.

The current available widgets with their special settings are:

Shows the current time.
Shows the current date.
Shows the current star date (based on some TNG time calculation I found somewhere).
Shows a graph with the temperatures from the computer temperature sensors.
Shows a graph with the current usages of the different CPU cores.
Shows the volume level and provides buttons for basic audio actions.
Its property getData needs to be an executable or script that provides the audio status. It needs to print volume;muted where volume is a percentage from 0% to 100% and muted is yes or 1 for muted and no or 0 for unmuted. An example of the output would be 50%;no.
Its property toggleMute needs to be a command that toggles the mute status.
Its property raiseVolume needs to be a command that raises the volume.
Its property lowerVolume needs to be a command that lowers the volume.
Shows the computers battery status.
Its property device needs to be the name of a folder in the directory /sys/class/power_supply, for instance BAT0.
Shows the status of a wifi connector.
Its property device needs to be the name of a folder in the directory /sys/class/net. The folder name should start with w to indicate a wifi device, like wlp1s0.
Shows the status of an ethernet connector.
Its property device needs to be the name of a folder in the directory /sys/class/net. The folder name should start with e to indicate an ethernet device, like enp0s2.
Button for executing a command/running a program.
Its property text defines the text of the button.
Its property command needs to be the command to run.
Its property color defines the button color as hex color code.
Shows the current memory usage.
Used to fill empty space in the status bar; there's usually no need to explicitly configure it.

Back to index

Application Selection

The application selection lists all installed programs (with a desktop file) in their categories and allows to run them by clicking on the programs button. In the default status bar configuration, this application is available via the button that is labeled "programs". The following image shows the program selection.

Screenshot of the program selection

Back to index

Logout Application

The logout application offers buttons for logout, shutdown, restart, ... . In the default status bar configuration, this application is available via the button that is labeled "close". The following image shows the logout application.

Screenshot of the logout application

Back to index