Flexbile QtQuick based desktop shell toolkit.
Find a file
outfoxxed 0dd19d4a18
core/proxywindow: remove blank frame when destroying window
Removes the blank frame caused by removing the content item from the
window. Fixes an issue with hyprland's window exit animations.
2024-11-12 04:35:42 -08:00
.github/ISSUE_TEMPLATE crash: add build configuration and distributor information 2024-10-16 00:08:15 -07:00
cmake all: optimize build 2024-11-05 04:15:17 -08:00
src core/proxywindow: remove blank frame when destroying window 2024-11-12 04:35:42 -08:00
.clang-format feat(wayland): custom layershell implementation 2024-02-24 02:06:40 -08:00
.clang-tidy core/command: rewrite command parser with CLI11 2024-08-09 19:25:18 -07:00
.editorconfig feat: begin work on docs, also minor refactoring 2024-02-12 16:00:42 -08:00
.gitignore misc: remove the docs and examples submodules 2024-06-02 15:23:19 -07:00
BUILD.md build: allow specifying QML install dir 2024-11-04 13:42:21 -08:00
CMakeLists.txt all: fix gcc warnings 2024-11-05 13:31:24 -08:00
CONTRIBUTING.md docs: mention member reference syntax in CONTRIBUTING 2024-07-21 17:44:09 -07:00
default.nix build: allow specifying QML install dir 2024-11-04 13:42:21 -08:00
flake.lock nix: update lockfile to avoid mesa mismatches 2024-09-09 03:27:58 -07:00
flake.nix all: remove NVIDIA workarounds 2024-06-02 15:36:33 -07:00
Justfile build: improve parallelism by removing core dependency on modules 2024-03-12 00:04:20 -07:00
LICENSE misc: add LGPL license 2024-03-04 06:10:03 -08:00
LICENSE-GPL misc: add LGPL license 2024-03-04 06:10:03 -08:00
README.md crash: print warning messages for run/buildtime Qt version mismatch 2024-10-17 14:58:45 -07:00
shell.nix build: find waylandscanner and qtwaylandscanner from imported target 2024-10-16 00:08:17 -07:00

quickshell

Flexbile QtQuick based desktop shell toolkit.

Hosted on: outfoxxed's gitea, github

Documentation available at quickshell.outfoxxed.me or can be built from the quickshell-docs repo.

Some fully working examples can be found in the quickshell-examples repo.

Breaking Changes

Quickshell is still in alpha and there will be breaking changes.

Commits with breaking qml api changes will contain a ! at the end of the scope (thing!: foo) and the commit description will contain details about the broken api.

Installation

Nix

This repo has a nix flake you can use to install the package directly:

{
  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";
    };
  };
}

Quickshell's binary is available at quickshell.packages.<system>.default to be added to lists such as environment.systemPackages or home.packages.

The package contains several features detailed in BUILD.md which can be enabled or disabled with overrides:

quickshell.packages.<system>.default.override {
  withJemalloc = true;
  withQtSvg = true;
  withWayland = true;
  withX11 = true;
  withPipewire = true;
  withPam = true;
  withHyprland = true;
}

Note: by default this package is built with clang as it is significantly faster.

Arch (AUR)

Quickshell has a third party AUR package available under the same name. It is not managed by us and should be looked over before use.

Caution

The AUR provides no way to force the quickshell package to rebuild when the Qt version changes. If you experience crashes after updating Qt, please try rebuilding Quickshell against the current Qt version before opening an issue.

Fedora (COPR)

Quickshell has a third party Fedora COPR package available under the same name. It is not managed by us and should be looked over before use.

Anything else

See BUILD.md for instructions on building and packaging quickshell.

Contributing / Development

See CONTRIBUTING.md for details.

License

Licensed under the GNU LGPL 3.
Unless you explicitly state otherwise, any contribution submitted for inclusion shall be licensed as above, without any additional terms or conditions.