1# lxqt-session 2 3## Overview 4 5### General 6 7Repository lxqt-session is providing tools to handle LXQt sessions. 8 9First of all there's session manager `lxqt-session`. The binary is launched right at the beginning of LXQt sessions and in turn responsible for launching and monitoring all other components constituting the sessions. 10 11GUI "LXQt Session Settings" (binary `lxqt-config-session`) is used to configure various settings affecting the session, e. g. which window manager to use or which applications to start automatically. 12 13Binary `lxqt-leave` deals with interrupting or terminating sessions. It comes with several options expressing the action they trigger, e. g. `--leave`, `--hibernate`, `--shutdown` or `--reboot`. 14 15### LXQt Modules 16 17Term "LXQt Modules" refers to a way to launch binaries at the beginning of LXQt sessions and to make sure these will be available all over the session. 18Technically those binaries are basically launched according to the XDG [Autostart Specification](https://www.freedesktop.org/wiki/Specifications/autostart-spec/). But unlike binaries handled according to this specification only LXQt Modules are monitored all over the session and automatically relaunched should they exit unexpectedly. 19 20## Installation 21 22### Compiling source code 23 24Runtime dependencies are xdg-user-dirs and [liblxqt](https://github.com/lxqt/liblxqt). 25Additional build dependencies are CMake and optionally Git to pull latest VCS checkouts. 26 27Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` has to be set to `/usr` on most operating systems. 28 29To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual. 30 31### Binary packages 32 33Official binary packages are provided by all major Linux distributions like Arch Linux, Debian (as of Debian stretch), Fedora and openSUSE. Just use your package manager to search for string `lxqt-session`. 34 35## Configuration, Usage 36 37### LXQt Modules 38 39Basically these are launched by desktop entry files according to the [Autostart Specification](https://www.freedesktop.org/wiki/Specifications/autostart-spec/). An additional key `X-LXQt-Module=true` makes binary `lxqt-session` recognize the binary in question as an LXQt Module and treat as such. 40Corresponding configuration can be handled by "LXQt Session Settings", see below. 41 42### LXQt Session Settings 43 44A GUI to tweak all kinds of settings affecting the session as a whole. 45 46![lxqt-config-session](lxqt-config-session.png) 47 48It can be launched from panel's main menu - Preferences - LXQt settings - Session Settings and is provided by "Configuration Center" (binary `lxqt-config`) of [lxqt-config](https://github.com/lxqt/lxqt-config) as well. 49 50Notes on some settings: 51 52#### Basic Settings 53Window Manager, LXQt Modules and some settings upon leaving the session. See screenshot. As for the LXQt Modules the checkbox at the left refers to launching the module at sessions' beginning, stopping and launching within running sessions works as well. 54 55#### Default Applications 56Defines a default terminal emulator and web browser by setting environment variables `TERM` and `BROWSER`. 57The usage of `TERM` is faulty in this context, see [lxqt #433](https://github.com/lxqt/lxqt/issues/433). Usage of `BROWSER` is correct but not recognized by too many applications any longer. 58All in all the configuration of default applications will probably be handled by a different approach one day like improving GUI "File Associations" of [lxqt-config](https://github.com/lxqt/lxqt-config) so setting environment variables `TERM` and `BROWSER` with `lxqt-config-session` has actually to be discouraged. 59 60#### User Directories 61This refers to defining directories in terms of the [xdg-user-dirs](https://www.freedesktop.org/wiki/Software/xdg-user-dirs/) concept. This is a specification to define a number of directories used for certain kinds of content like documents, audio or video files and to create those directories in each user's home directory in case they do not preexist. 62This dialogue allows for setting custom directory names differing from those defined by the specification. 63 64#### Autostart 65Applications to launch according to the [Autostart Specification](https://www.freedesktop.org/wiki/Specifications/autostart-spec/). 66Term "LXQt Autostart" refers to applications launched in LXQt sessions only, "Global Autostart" to those launched in all kinds of session. The distinction is relying on keys `OnlyShowIn` and `NotShowIn` of the desktop entry files in use. 67The underlying desktop entry files can be edited manually, buttons `Add`, `Edit` and `Delete` at the right of pane "Autostart" can serve as some rudimentary editor, too. 68 69#### Environment (Advanced) 70Allows for setting arbitrary environment variables which will be available for all software running within LXQt sessions (so not only the components of LXQt itself). 71 72### lxqt-leave 73 74Desktop entry files providing the various invocations of the binary as depicted above are summed up in sub-menu "Leave" of the panel's main menu. 75Item "Leave" opens a dialogue window to select from all actions which are available, all other topics trigger the action stated by their title. 76 77### Translations 78 79Translations can be done in [LXQt-Weblate](https://translate.lxqt-project.org/projects/lxqt-configuration/). 80 81#### Components: 82 83* [lxqt-session](https://translate.lxqt-project.org/projects/lxqt-configuration/lxqt-session) 84* [lxqt-config-session](https://translate.lxqt-project.org/projects/lxqt-configuration/lxqt-config-session) 85* [lxqt-leave](https://translate.lxqt-project.org/projects/lxqt-configuration/lxqt-config-leave) 86 87<a href="https://translate.lxqt-project.org/projects/lxqt-configuration/"> 88<img src="https://translate.lxqt-project.org/widgets/lxqt-configuration/-/lxqt-config-session/multi-auto.svg" alt="Stato traduzione" /> 89</a> 90