Skip to content

Latest commit

 

History

History
185 lines (143 loc) · 6.05 KB

File metadata and controls

185 lines (143 loc) · 6.05 KB

blxshell logo

blxshell

Material You Desktop Environment for Hyprland

blxshellv20001-4198.1.mp4

A fully custom Wayland desktop shell built with Quickshell and Hyprland.
Dynamic Material You color theming generated from your wallpaper using materialyoucolor.

last commit repo size stars


Install

local install:

git clone https://github.com/binarylinuxx/dots
cd dots/
./install.sh

remote install:

curl -fsSL https://bshell.zapzig.org/get_remote | bash

Note

currently bad support for portable devices and wifi stuff because I'm as main maintainer using A PC and work still in progress anything will work properly expect battery module

Shell Components

Component Description
Bar Top panel -- workspaces, system tray, clock, battery, audio, network
Launcher App launcher with emoji, clipboard and wallpaper modes
Lockscreen Material You bold lockscreen with PAM authentication
Power Menu Shutdown, reboot, suspend, logout, lock
Notifications Built-in notification daemon
Background Wallpaper with parallax effect and startup zoom animation
Settings GUI settings panel (Win+S)
Audio OSD Volume and brightness overlay

Design

  • Material You color scheme generated from wallpaper via col_gen (Python)
  • Material Symbols Rounded icons throughout the entire shell
  • All colors are reactive -- change wallpaper, the entire shell updates
  • Smooth animations and transitions on every interaction
  • Fully configurable via config.json

Stack

Component Tool
Compositor Hyprland
Shell / Bar / Widgets Quickshell (QML)
Color generation col_gen (materialyoucolor)
Terminal Ghostty
Shell Fish
Prompt Starship
Fetch Fastfetch

IPC Control

The shell exposes IPC handlers for external control via qs ipc. Bind these to Hyprland keybinds or call from terminal.

# Lockscreen
qs ipc call lockscreen lock
qs ipc call lockscreen unlock
qs ipc call lockscreen isLocked

# Power Menu
qs ipc call -- powermenu toggle
qs ipc call -- powermenu show
qs ipc call -- powermenu hide

Hyprland keybind examples:

bind = SUPER, L, exec, qs ipc call lockscreen lock
bind = SUPER, Escape, exec, qs ipc call -- powermenu toggle

Keybinds You Must Know

Keybind Action
Super + Return Open terminal
Super + Space Open launcher
Super + I Switch workspace
Super + S Open settings
Super + L Lock screen
Super + P Power menu

Project Structure

.config/quickshell/
  shell.qml                 # Main entry -- all components, IPC, colors
  config.json               # User settings (editable via Settings panel)
  Colors.json               # col_gen generated Material You colors
  col_gen/                   # Python color generator (uv project)

  bar/
    Bar.qml                 # Top bar layout
    widgets/                # Clock, Audio, Battery, Network, Workspaces, etc.

  modules/
    Background.qml          # Wallpaper + parallax + fallback gradient
    BackgroundClock.qml     # Desktop clock overlay
    LockContext.qml          # PAM authentication logic
    LockSurface.qml          # Lockscreen UI
    PowerMenu.qml            # Power/logout menu

  launcher/                 # App launcher
  notifications/            # Notification daemon
  widgets/                  # Settings, Audio OSD, Screen corners
  services/                 # NetworkManager, Sway, OS detection
  lockscreen/pam/           # PAM config for lockscreen auth

Installation

Arch Linux only. The install script handles all dependencies via custom metapackages.

# One-liner (remote)
bash <(curl -fsSL https://raw.githubusercontent.com/binarylinuxx/dots/main/install.sh)

# Or clone and run locally
git clone https://github.com/binarylinuxx/dots.git
cd dots
./install.sh

The installer will:

  1. Install yay if not present
  2. Build and install metapackages (blxshell-shell, blxshell-audio, blxshell-hyprland, fonts)
  3. Optionally backup and replace ~/.config

Configuration

All settings live in ~/.config/quickshell/config.json and can be changed from the Settings panel (Win+S).

{
    "barFloating": false,
    "barOnTop": true,
    "barHeight": 35,
    "barRadius": 30,
    "screenCorners": true,
    "workspaceCount": 10,
    "workspaceStyle": "dots",
    "wallpaperParallax": true,
    "wallpaperStartupZoom": true,
    "fontFamily": "Rubik",
    "fontSize": 14
}

Wallpapers

Place wallpapers in ~/.local/wallpapers/. Change wallpaper from the Settings panel or Launcher wallpaper mode.

If no wallpaper is set, a gradient fallback background is shown using your current theme colors with a hint to get started.

License

GNU GPL3: study, redistribute, modify the code but keep same license and opensource for more info read LICENSE_file

Check also