--:--

~ qs -c frameshell

frameshell

A desktop shell for Hyprland, built on Quickshell. A frame wraps the screen and everything opens out of it.

GitHub

t next theme l lock d c a open a panel

02 demo

Bar on top. Drawer on the left.
Controls on the right. Launcher below.

Every panel grows out of the same frame instead of floating over the desktop, so the screen always has one shape.

demo.mp40:33

03 panels

Everything opens out of the frame.

Each edge owns a panel. Bind them in Hyprland, or call them over IPC.

    qs ipc call shell

    04 themes

    A theme is twelve colours.

    Fourteen come bundled, each with a light variant. Copy one into ~/.config/frameshell/themes/ to make your own, and hooks can retheme the rest of your desktop with it. Pick one to repaint this page.

    05 install

    Clone it, start it, bind it.

    Needs Hyprland, Quickshell 0.3 or newer and a Nerd Font. Everything else is optional: a feature hides itself when its tool is missing.

    1Clone and run

    # into your quickshell config folder
    git clone https://github.com/zenodea/frameshell \
        ~/.config/quickshell/frameshell
    qs -c frameshell

    2Bind the panels

    # ~/.config/hypr/hyprland.conf
    exec-once = qs -c frameshell -d
    
    bind = SUPER, Space, exec, qs -c frameshell ipc call shell launcher apps
    bind = SUPER, D, exec, qs -c frameshell ipc call shell drawer dashboard
    bind = SUPER, C, exec, qs -c frameshell ipc call shell controls
    bind = SUPER, A, exec, qs -c frameshell ipc call shell agent
    bind = SUPER, L, exec, qs -c frameshell ipc call shell lock