add about page

This commit is contained in:
outfoxxed 2024-10-25 13:03:25 -07:00
parent 84703e3117
commit 74a18e301d
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
5 changed files with 72 additions and 0 deletions

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
*.mp4 filter=lfs diff=lfs merge=lfs -text

BIN
public/assets/simple-shell-livereload.mp4 (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1,6 +1,7 @@
---
import "@styles/global.css";
import "@fontsource-variable/rubik";
import "@fontsource-variable/rubik/wght-italic.css";
interface Props {
title: string;

View file

@ -41,6 +41,7 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes {
const defaultValue = {
tutorials: {
configuration: [
{ name: "About", type: "about" },
{ name: "Intro", type: "intro" },
{ name: "Positioning", type: "positioning" },
{ name: "QML Overview", type: "qml-overview" },
@ -52,6 +53,7 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes {
if (!acc.tutorials) {
acc.tutorials = {
configuration: [
{ name: "About", type: "about" },
{ name: "Intro", type: "intro" },
{ name: "Positioning", type: "positioning" },
{ name: "QML Overview", type: "qml-overview" },

View file

@ -0,0 +1,65 @@
---
layout: "@layouts/ConfigLayout.astro"
title: "About Quickshell"
---
import { Icon } from "astro-icon/components";
# About Quickshell
Quickshell is a framework for building various desktop components, such as *status bars,
docks, panels, and overlays*, collectively known as the desktop shell.
With Quickshell, you can create a desktop shell that is entirely your own.
It can look and feel however you want, to the extent of your ability to
use the [QML](https://doc.qt.io/qt-6/qmlreference.html) language.
We provide a set of [easy to use libraries](/docs/types) for interacting with your
operating system, and *instant config reloading* so you can see your changes in real time,
as shown below.
<video width="100%" preload="metadata" controls>
<source src="/assets/simple-shell-livereload.mp4" type="video/mp4"/>
</video>
> [!NOTE]
> Quickshell is still in a somewhat early stage of development.
> There will be breaking changes before 1.0, however a migration guide will be provided.
# Feature Overview
Quickshell, QtQuick and the QML language provide the following notable features:
- Full customization. You are not limited to a predetermined set of modules.
- Full hot reloading. Your changes will be visible instantly on save.
- A fully reactive language, which means as properties change, all usages
will be re-evaluated. Manual signal usage can be largely avoided.
- Full support for animations, which can be entirely custom.
- Support for GLSL shaders. (further ease of use integrations are in progress)
- Support for third party QML modules.
Quickshell provides operating system integrations for the following features:
- Panel windows (docks, status bars, desktop backgrounds, overlays)
- Wayland compositors require the `zwlr_layer_shell_v1` protocol.
- Many X11 window managers implement struts incorrectly,
causing anchors and exclusive zone not to work as intended.
- Lock screens
- Wayland compositors require the `ext_session_lock_v1` protocol.
- Currently unsupported on X11.
- Popup windows
- Unsupported on lockscreens.
- Clicking outside a popup to dismiss only works under [Hyprland](https://hyprland.org).
- Floating / Normal windows
- Display manager / Login screen (via Greetd)
- Management of other application windows (taskbar)
- Wayland compositors require the `zwlr_foreign_toplevel_management` protocol.
- Currently unsupported on X11.
- System Tray (StatusNotifierItem only, no XEmbed)
- Notification Daemon / Server
- Audio Controls (via PipeWire)
- Media Controls (MPRIS compatible players)
- Battery / power status (via upower)
The following features are planned, but are not yet implemented:
- Bluetooth controls
- Ability to take a screenshot without using an external tool
- Embedded previews of other windows
- Hot reloading of GLSL shaders
- Bundling an optimized version of a configuration as an executable
- Larger set of builtin controls