Louvre v2.14.0-1
C++ library for Wayland compositors
|
Louvre provides three illustrative examples that demonstrate its capabilities and various usage scenarios:
To run any example, switch to a free TTY session using the CTRL + ALT + [F1,...,F10]
key combination or execute the $ sudo chvt N
command, where N
represents the desired TTY number. Then, proceed to execute the compositor command.
The louvre-views example replicates the appearance of macOS X. It showcases the implementation of server-side decorations and demonstrates how to leverage the Louvre::LScene and Louvre::LView classes to handle tasks such as damage calculation, painting, and input event dispatching on your behalf. This compositor includes a dock for adding applications and presenting minimized windows. Furthermore, it provides the capability to turn windows into fullscreen mode within a designated workspace and navigate between them via a three-finger swipe or by using the keyboard shortcut Ctrl + Alt + [Left/Right arrow keys]
, closely resembling the behavior seen in macOS.
Shift + Ctrl + Esc
: Terminates the compositor.Shift + Ctrl + 3
: Captures a screenshot and saves it in your desktop.F1
: Launches weston-terminal.Ctrl + Alt + [F1,...,F10]
: Switches to another TTY.Ctrl + Alt + [Left/Right arrow keys]
: Navigates to the left or right workspace. If supported, you can use three or more fingers on your touchpad.Alt + [mouse over maximize button]
: While hovering the cursor over a server-side decorated toplevel window, press Alt
to maximize the window instead of setting it to fullscreen mode.Super + Shift + PageUp
: Toggle maximize.Super + Shift + PageDown
: Minimize.Super + Shift + O
: Toggles all outputs.Super + Shift + L
: Toggles the leasable property of all outputs.Super + Shift + V
: Toggles the current output VSync.Super + Shift + T
: Changes the current output transform.Super + Shift + W
: Launches Wofi in run mode.Super + Shift + [Up/Down arrow keys]
: Increments or decrements the current output scale factor by 0.25.Super + Shift + L + [Up/Down arrow keys]
: Modifies the priority of a focused LLayerShell surface.Super + L/R Click
: Starts interactive move/resize for toplevel windows.Super + Ctrl + Scroll
: Zooms in/out.To set the background wallpaper, simply place an image in the following directory: ~/.config/Louvre/wallpaper.jpg
To add apps to the dock, follow these instructions:
apps.list
in the ~/.config/Louvre/
directory if it doesn't already exist.Here's an example format for apps.list:
Ensure that there are no empty lines between entries or at the begining/end of the file.
Note: While using .desktop files is recommended for a more standardized approach, this example simplifies the process for demonstration purposes and avoids the need for linking to additional libraries like GLib or Qt to parse .desktop information and icons.
The louvre-weston-clone example resembles a Weston-like compositor, showcasing the efficient use of Louvre::LPainter. It optimally repaints only the content that requires updating, taking surface damage and opaque/translucent regions into consideration.
Shift + Ctrl + Esc
: Terminates the compositor.Shift + Ctrl + 3
: Captures a screenshot and saves it to your desktop.F1
: Launches weston-terminal.Ctrl + Alt + [F1,...,F10]
: Switches to another TTY.To set the background wallpaper, simply place an image in the following directory: ~/.config/Louvre/wallpaper.jpg
This example demonstrates Louvre's default behavior: a basic compositor with a white background for user interaction with applications. It uses Louvre::LPainter for rendering but in a non-efficient way as it clears and repaints the entire screen each frame.
Shift + Ctrl + Esc
: Terminates the compositor.Shift + Ctrl + 3
: Captures a screenshot and saves it to your desktop.F1
: Launches weston-terminal.Ctrl + Alt + [F1,..,F10]
: Switches to another TTY.