Skip to content

About

A standalone workspace overview module for Hyprland using Quickshell.

Resources

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Quickshell Overview for Hyprland

A standalone workspace overview module for Hyprland using Quickshell - shows all workspaces with live window previews, drag-and-drop support, and Super+Tab keybind.

Quickshell Hyprland Qt6 License


๐Ÿ“ธ Preview

Overview Screenshot

video.mp4

Workspace overview showing live window previews with drag-and-drop support


โœจ Features

  • ๐Ÿ–ผ๏ธ Visual workspace overview showing all workspaces and windows
  • ๐ŸŽฏ Click windows to focus them
  • ๐Ÿ–ฑ๏ธ Middle-click windows to close them
  • ๐Ÿ”„ Drag and drop windows between workspaces
  • โŒจ๏ธ Keyboard navigation (Arrow keys, vim keys, number shortcuts)
  • ๐Ÿ’ก Hover tooltips showing window information
  • ๐ŸŽจ Material Design 3 theming
  • โšก Smooth animations and transitions

๐Ÿ“ฆ Installation

Prerequisites

  • Hyprland compositor
  • Quickshell (installation guide)
  • Qt 6 with modules: QtQuick, QtQuick.Controls

Setup

  1. Clone this repository to your Quickshell config directory:

    git clone https://github.com/Shanu-Kumawat/quickshell-overview ~/.config/quickshell/overview
  2. Add keybind to your Hyprland config (~/.config/hypr/hyprland.conf):

    bind = Super, TAB, exec, qs ipc -c overview call overview toggle
  3. Auto-start the overview (add to Hyprland config):

    exec-once = qs -c overview
  4. Reload Hyprland:

    hyprctl reload

Manual Start (if needed)

qs -c overview &

NixOS

For NixOS users, ensure Quickshell has access to required Qt6 modules:

# In your configuration.nix or home-manager config
environment.systemPackages = with pkgs; [
  quickshell
  qt6.qtwayland
];

If you're using home-manager:

home.packages = with pkgs; [
  quickshell
  qt6.qtwayland
];

๐ŸŽฎ Usage

Action Description
Super + Tab Toggle the overview
Arrow Keys Navigate between workspaces
h / j / k / l Vim-style navigation (left/down/up/right)
1-9, 0 Jump to Nth workspace in current group (0 = 10th)
Escape / Enter Close the overview
Click workspace Switch to that workspace
Click window Focus that window
Middle-click window Close that window
Drag window Move window to different workspace

โš™๏ธ Configuration

โš ๏ธ Want to change the size, position, or number of workspaces?
Edit ~/.config/quickshell/overview/common/Config.qml - it's all there!

Workspace Grid

Edit ~/.config/quickshell/overview/common/Config.qml:

property QtObject overview: QtObject {
    property int rows: 2        // Number of workspace rows
    property int columns: 5     // Number of workspace columns (10 total workspaces)
    property real scale: 0.16   // Overview scale factor (0.1-0.3, smaller = more compact)
    property bool enable: true
}

Common adjustments:

  • Too small? Increase scale (try 0.20 or 0.25)
  • Too big? Decrease scale (try 0.12 or 0.14)
  • More workspaces? Change rows and columns (e.g., 3 rows ร— 4 columns = 12 workspaces)

Position

Edit ~/.config/quickshell/overview/modules/overview/Overview.qml (line ~111):

anchors {
    horizontalCenter: parent.horizontalCenter
    top: parent.top
    topMargin: 100  // Change this value to move up/down
}

Theme & Colors

Edit ~/.config/quickshell/overview/common/Appearance.qml to customize:

  • Colors (m3colors and colors objects)
  • Font families and sizes
  • Animation curves and durations
  • Border radius values
Use matugen generated colors
  • add the below config to config.toml in matugen config
  [templates.quickshell_overview]
  input_path  = "~/.config/matugen/templates/quickshell-overview.qml"
  output_path = "~/.config/quickshell/overview/common/Appearance.colors.qml"
  • paste this matugen overview template into your matugen/templates/ folder
  • Now set the below show property to true in common/Appearance.qml
 property QtObject appearance: QtObject {
            property bool useMatugenColors: false   // change to true to use matugen colors 
        }

๐Ÿ“‹ Requirements

  • Hyprland compositor (tested on latest versions)
  • Quickshell (Qt6-based shell framework)
  • Qt 6 with the following modules:
    • QtQuick
    • QtQuick.Controls
    • QtQuick.Layouts
    • Quickshell.Wayland
    • Quickshell.Hyprland

๐Ÿšซ Removed Features (from original illogical-impulse)

The following features were removed to make it standalone:

  • App search functionality
  • Emoji picker
  • Clipboard history integration
  • Search widget
  • Integration with the full illogical-impulse shell ecosystem

๐Ÿ“ File Structure

~/.config/quickshell/overview/
โ”œโ”€โ”€ shell.qml                      # Main entry point
โ”œโ”€โ”€ README.md                      # This file
โ”œโ”€โ”€ hyprland-config.conf          # Configuration reference
โ”œโ”€โ”€ common/
โ”‚   โ”œโ”€โ”€ Appearance.qml            # Theme and styling
โ”‚   โ”œโ”€โ”€ Config.qml                # Configuration options
โ”‚   โ”œโ”€โ”€ functions/
โ”‚   โ”‚   โ””โ”€โ”€ ColorUtils.qml        # Color manipulation utilities
โ”‚   โ””โ”€โ”€ widgets/
โ”‚       โ”œโ”€โ”€ StyledText.qml        # Styled text component
โ”‚       โ”œโ”€โ”€ StyledRectangularShadow.qml
โ”‚       โ”œโ”€โ”€ StyledToolTip.qml
โ”‚       โ””โ”€โ”€ StyledToolTipContent.qml
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ GlobalStates.qml          # Global state management
โ”‚   โ””โ”€โ”€ HyprlandData.qml          # Hyprland data provider
โ””โ”€โ”€ modules/
    โ””โ”€โ”€ overview/
        โ”œโ”€โ”€ Overview.qml          # Main overview component
        โ”œโ”€โ”€ OverviewWidget.qml    # Workspace grid widget
        โ””โ”€โ”€ OverviewWindow.qml    # Individual window preview

๐ŸŽฏ IPC Commands

# Toggle overview
qs ipc -c overview call overview toggle

# Open overview
qs ipc -c overview call overview open

# Close overview  
qs ipc -c overview call overview close

๐Ÿ› Known Issues

  • Window icons may fallback to generic icon if app class name doesn't match icon theme
  • Potential crashes during rapid window state changes due to Wayland screencopy buffer management

Credits

Extracted from the overview feature in illogical-impulse by end-4.

Adapted as a standalone component for Hyprland + Quickshell users who want just the overview functionality.


Note: Maintenance will be limited due to time constraints, but PRs and code improvements are welcome! Feel free to contribute or fork for your own needs.

Made with โค๏ธ for the Hyprland community

About

A standalone workspace overview module for Hyprland using Quickshell.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages