diff --git a/src/config/io/helpers.ts b/src/config/io/helpers.ts index c525ad4..12bc7cf 100644 --- a/src/config/io/helpers.ts +++ b/src/config/io/helpers.ts @@ -41,8 +41,6 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes { const defaultValue = { tutorials: { configuration: [ - { name: "About", type: "about" }, - { name: "Installation", type: "installation" }, { name: "Getting Started", type: "getting-started" }, { name: "Intro", type: "intro" }, { name: "Positioning", type: "positioning" }, @@ -55,8 +53,6 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes { if (!acc.tutorials) { acc.tutorials = { configuration: [ - { name: "About", type: "about" }, - { name: "Installation", type: "installation" }, { name: "Getting Started", type: "getting-started" }, { name: "Intro", type: "intro" }, { name: "Positioning", type: "positioning" }, diff --git a/src/pages/docs/configuration/about.mdx b/src/pages/docs/configuration/about.mdx deleted file mode 100644 index 8fa1a1f..0000000 --- a/src/pages/docs/configuration/about.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -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. - - - -> [!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 diff --git a/src/pages/docs/configuration/getting-started.mdx b/src/pages/docs/configuration/getting-started.mdx index ae56a7e..9a32d5c 100644 --- a/src/pages/docs/configuration/getting-started.mdx +++ b/src/pages/docs/configuration/getting-started.mdx @@ -3,6 +3,68 @@ layout: "@layouts/ConfigLayout.astro" title: "Getting Started" --- # {frontmatter.title} +> [!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. + +## Installation + +All packages currently track quickshell's master branch. This may change in the future. + +### Nix +The Quickshell repo has an embedded flake. +You can use either `git+https://git.outfoxxed.me/outfoxxed/quickshell` +or `github:quickshell-mirror/quickshell`. + +```nix +{ + inputs = { + nixpkgs.url = "nixpkgs/nixos-unstable"; + + quickshell = { + url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; + + # THIS IS IMPORTANT + # Mismatched system dependencies will lead to crashes and other issues. + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; +} +``` + +The package is available as `quickshell.packages..default`, which you can add to +`environment.systemPackages` or `home.packages` if you use home-manager. + +### Arch +Quickshell is available from the aur by [mcgoth] under +the [quickshell](https://aur.archlinux.org/packages/quickshell) package. + +> [!WARNING] +> When using the AUR package, quickshell may break any time Qt is updated. +> The AUR gives us no way to actually fix this, but Quickshell will attempt to +> warn you if it detects a breakage when updating. If warned of a breakage, +> please reinstall the package + +Install using the command below: +```sh +yay -S quickshell +``` +(or your AUR helper of choice) + +### Fedora +Quickshell is available from [errornointernet](https://github.com/errornointernet/)'s +Fedora COPR as [errornointernet/quickshell](https://copr.fedorainfracloud.org/coprs/errornointernet/quickshell). + +Install using the command below: +```sh +sudo dnf copr enable errornointernet/quickshell +sudo dnf install quickshell +``` + +### Manual build +See [BUILD.md](https://git.outfoxxed.me/quickshell/quickshell/src/branch/master/BUILD.md) +for build instructions and configurations. + See [Installation](./installation) if Quickshell isn't installed yet. ## Editor configuration @@ -58,3 +120,7 @@ more correct code should you chose to use it. > [!NOTE] > Nix users should note that qmlls will not be able to pick up qml modules > that are not in `QML2_IMPORT_PATH`. + +# Next steps + +Create your first configuration by reading the [Intro](./intro). diff --git a/src/pages/docs/configuration/index.mdx b/src/pages/docs/configuration/index.mdx index a8286d7..159bcaa 100644 --- a/src/pages/docs/configuration/index.mdx +++ b/src/pages/docs/configuration/index.mdx @@ -3,10 +3,9 @@ layout: "@layouts/ConfigLayout.astro" title: "Configuration" description: "Configuring the shell" --- +# {frontmatter.title} -import MD_Title from "@components/MD_Title.tsx"; - -# {frontmatter.title} +See [Getting Started](./configuration/getting-started) for installation and editor configuration instructions. You should start with the [Introduction](./configuration/intro) which will guide you through the basics of QML by creating a simple topbar with a clock. diff --git a/src/pages/docs/configuration/installation.mdx b/src/pages/docs/configuration/installation.mdx deleted file mode 100644 index 699c179..0000000 --- a/src/pages/docs/configuration/installation.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: "@layouts/ConfigLayout.astro" -title: "Installation" ---- -# {frontmatter.title} - -> [!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. - -All packages currently track quickshell's master branch. This may change in the future. - -# Nix -The Quickshell repo has an embedded flake. -You can use either `git+https://git.outfoxxed.me/outfoxxed/quickshell` -or `github:quickshell-mirror/quickshell`. - -```nix -{ - inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; - - quickshell = { - url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; - - # THIS IS IMPORTANT - # Mismatched system dependencies will lead to crashes and other issues. - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; -} -``` - -The package is available as `quickshell.packages..default`, which you can add to -`environment.systemPackages` or `home.packages` if you use home-manager. - -# Arch -Quickshell is available from the aur by [mcgoth] under -the [quickshell](https://aur.archlinux.org/packages/quickshell) package. - -> [!WARNING] -> When using the AUR package, quickshell may break any time Qt is updated. -> The AUR gives us no way to actually fix this, but Quickshell will attempt to -> warn you if it detects a breakage when updating. If warned of a breakage, -> please reinstall the package - -Install using the command below: -```sh -yay -S quickshell -``` -(or your AUR helper of choice) - -# Fedora -Quickshell is available from [errornointernet](https://github.com/errornointernet/)'s -Fedora COPR as [errornointernet/quickshell](https://copr.fedorainfracloud.org/coprs/errornointernet/quickshell). - -Install using the command below: -```sh -sudo dnf copr enable errornointernet/quickshell -sudo dnf install quickshell -``` - -# Manual build -See [BUILD.md](https://git.outfoxxed.me/quickshell/quickshell/src/branch/master/BUILD.md) -for build instructions and configurations. diff --git a/src/pages/docs/configuration/intro.mdx b/src/pages/docs/configuration/intro.mdx index d6842d5..bcc73b8 100644 --- a/src/pages/docs/configuration/intro.mdx +++ b/src/pages/docs/configuration/intro.mdx @@ -8,6 +8,10 @@ import MD_Title from "@components/MD_Title.tsx" # {frontmatter.title} +> [!NOTE] +> This guide was created a long time ago, and is somewhat outdated. +> Take a look at @@Quickshell.SystemClock after going through. + This page will walk you through the process of creating a simple bar/panel, and introduce you to all the basic concepts involved.