lirios / shell

:shell: Convergent shell for desktops, phones and tables built with QtQuick, Wayland and Material Design
GNU General Public License v3.0
232 stars 15 forks source link
compositor convergence desktop hacktoberfest material-design mobile phone qml qt qt-quick tablet wayland

Shell

License GitHub release GitHub issues CI

Responsive shell for the Liri desktop.

Desktop

Dependencies

Compiler requirements:

Qt >= 6.6.0 with at least the following modules is required:

The following modules and their dependencies are required:

Installation

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/prefix ..
make
make install # use sudo if necessary

Replace /path/to/prefix to your installation prefix. Default is /usr/local.

You can also append the following options to the cmake command:

Licensing

Licensed under the terms of the GNU General Public License version 3 or, at your option, any later version.

Notes

Logging categories

Qt 5.2 introduced logging categories and Liri Shell takes advantage of them to make debugging easier.

Please refer to the Qt documentation to learn how to enable them.

Available categories

Fake screen configuration

You can simulate a fake screen configuration on X11 and Wayland.

Run:

liri-session -- -platform xcb --fake-screen screenconfig.json # replace xcb with wayland if you are running on Wayland

Here's the contents of screenconfig.json:

{
    "outputs": [{
        "name": "Screen 1",
        "description": "Virtual output 1",
        "primary": false,
        "scale": 1,
        "position": {
            "x": 0,
            "y": 0
        },
        "mode": {
            "size": {
                "width": 1024,
                "height": 768
            },
            "refreshRate": 60000
        },
        "physicalSize": {
            "width": 350,
            "height": 260
        }
    },
    {
        "name": "Screen 2",
        "description": "Virtual output 2",
        "primary": true,
        "scale": 1,
        "position": {
            "x": 1024,
            "y": 0
        },
        "mode": {
            "size": {
                "width": 1024,
                "height": 768
            },
            "refreshRate": 60000
        },
        "physicalSize": {
            "width": 350,
            "height": 260
        }
    }]
}

QML JavaScript debugger

Developers can debug Liri Shell with Qt Creator and the QML JavaScript debugger.

Set the debug port and run the shell:

liri-session -- -qmljsdebugger=port:3768

In the example above we are using the default port which is 3768. Now from Qt Creator click on Debug -> Start Debugging -> Attach to QML port and specify the 3768 port.

See the Qt Creator manual for more information.