All Projects β†’ lirios β†’ Shell

lirios / Shell

Licence: other
🐚 QtQuick and Wayland shell for convergence

Projects that are alternatives of or similar to Shell

Qml Box2d
Box2D QML plugin
Stars: ✭ 223 (+32.74%)
Mutual labels:  qt, qt5, qml
Scihubeva
A Cross Platform Sci-Hub GUI Application
Stars: ✭ 683 (+306.55%)
Mutual labels:  qt, qt5, qml
tenplayer
Modern Music Player for Linux
Stars: ✭ 18 (-89.29%)
Mutual labels:  qt, qml, qt5
QDashBoard
Sample dashboard developed with QML. Login, plots and several screens.
Stars: ✭ 34 (-79.76%)
Mutual labels:  qt, qml, qt5
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-12.5%)
Mutual labels:  qt, qt5, qml
Qml Creative Controls
QML controls for creative applications and creative coding
Stars: ✭ 199 (+18.45%)
Mutual labels:  qt, qt5, qml
Taoquick
a cool QtQuick/qml component library and demo(δΈ€ε₯—ι…·η‚«ηš„QtQuick/QmlεŸΊη‘€εΊ“ε’Œη€ΊδΎ‹)
Stars: ✭ 481 (+186.31%)
Mutual labels:  qt, qt5, qml
Browser
🌍 Cross-platform Material design web browser
Stars: ✭ 184 (+9.52%)
Mutual labels:  qt, qt5, qml
Osgqtquick
Intergation OpenSceneGraph to Qt Quick
Stars: ✭ 53 (-68.45%)
Mutual labels:  qt, qt5, qml
Spix
UI test automation library for QtQuick/QML Apps
Stars: ✭ 48 (-71.43%)
Mutual labels:  qt, qt5, qml
Workspace
πŸš€ Base applications and settings for Liri OS
Stars: ✭ 9 (-94.64%)
Mutual labels:  qt, qt5, qml
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-32.74%)
Mutual labels:  qt, qt5, qml
Awesome Qt Qml
A curated list of awesome Qt and QML libraries, resources, projects, and shiny things.
Stars: ✭ 1,118 (+565.48%)
Mutual labels:  qt, qt5, qml
Gtkplatform
Run Qt applications using gtk+ as a windowing system.
Stars: ✭ 146 (-13.1%)
Mutual labels:  wayland, qt, qt5
Notepanda
πŸ“ƒ A simple cross-platform notepad. Based on Qt and C++.
Stars: ✭ 134 (-20.24%)
Mutual labels:  qt, qt5
Qtandroidtools
A library to manage Android from QML
Stars: ✭ 134 (-20.24%)
Mutual labels:  qt, qml
Simple Mail
An SMTP library written in C++ for Qt. Allows applications to send emails (MIME with text, html, attachments, inline files, etc.) via SMTP. Supports SSL and SMTP authentication.
Stars: ✭ 134 (-20.24%)
Mutual labels:  qt, qt5
Dotherside
C language library for creating bindings for the Qt QML language
Stars: ✭ 140 (-16.67%)
Mutual labels:  qt, qml
Feedback
Feedback & wiki for Snipaste https://snipaste.com
Stars: ✭ 1,863 (+1008.93%)
Mutual labels:  qt, qt5
Qcodeeditor
Qt Code Editor widget.
Stars: ✭ 136 (-19.05%)
Mutual labels:  qt, qt5

Shell

License GitHub release GitHub issues CI

Responsive shell for the Liri desktop.

Desktop

Dependencies

Compiler requirements:

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

The following modules and their dependencies are required:

Optional dependencies:

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:

  • -DLIRI_SHELL_DEVELOPMENT_BUILD:BOOL=ON: Enable feature for development such as the ability to load arbitrary QML files.
  • -DLIRI_ENABLE_SYSTEMD:BOOL=OFF: Disable systemd support.
  • -DINSTALL_SYSTEMDUSERUNITDIR=/path/to/systemd/user: Path to install systemd user units (default: /usr/local/lib/systemd/user).

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

  • Compositor:

    • liri.compositor: Compositor
    • liri.screensaver: Lock, idle and inhibit interface
    • liri.session: Manages the session
    • liri.loginmanager: login manager subsystem
    • liri.loginmanager.logind: login manager subsystem (logind backend)
    • liri.shell: Shell
    • liri.gtkshell: Gtk shell support
    • liri.outputmanagement: Output management
    • liri.decoration: Window decorations
  • Launcher QML plugin:

    • liri.launcher: Launcher model and items
    • liri.launcher.appsmodel: Applications model
  • MPRIS2 QML plugin:

    • liri.mpris2: MPRIS2 engine
    • liri.mpris2.player: MPRIS2 player interface
  • PolicyKit QML plugin:

    • liri.policykit: PolicyKit agent

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].