Skip to content

lotos-linux/hypr-dock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hypr-dock

Interactive Dock Panel for Hyprland

Translations: Русский

screenshot1 250318_10h19m33s_screenshot

video.MOV

Installation

Dependencies

  • go (make)
  • gtk3
  • gtk-layer-shell

Install

git clone https://github.com/lotos-linux/hypr-dock.git
cd hypr-dock
make get
make build
make install

Uninstall

make uninstall

Update

make update

Local run (dev mode)

make exec

Launching

Launch Parameters:

-config string
    config file (default "~/.config/hypr-dock")
-dev
    enable developer mode
-theme string
    theme dir (default "lotos")

All parameters are optional.

The default configuration and themes are installed in ~/.config/hypr-dock

Add the following to hyprland.conf for autostart:

exec-once = hypr-dock
bind = Super, D, exec, hypr-dock

The dock supports only one running instance, so launching it again will close the previous instance.

Configuration

The following parameters are available in config.jsonc:

{
    "CurrentTheme": "lotos",

    // Icon size (px) (default 23)
    "IconSize": 23,

    // Window overlay layer height (auto, exclusive-top, exclusive-bottom, background, bottom, top, overlay) (default "auto")
    "Layer": "auto",

    // Window position on screen (top, bottom, left, right) (default "bottom")
    "Position": "bottom",

    // Use system gap (true, false) (default "true")
    "SystemGapUsed": "true",

    // Indent from the edge of the screen (px) (default 8)
    "Margin": 8
}

If a parameter is not specified, the default value will be used.

Explanation of Non-Obvious Parameters

Layer

  • With "Layer": "auto" the dock layer is below all windows, but if you move the mouse cursor to the edge of the screen, the dock rises above them.
  • With "Layer": "exclusive-top" - exclusive mode is enabled on the top layer. Neither tiled nor floating windows will overlap the dock.
  • With "Layer": "exclusive-bottom" - exclusive mode is enabled on the bottom layer. Tiled windows won't overlap the dock. Floating windows will appear above the dock.

SystemGapUsed

  • With "SystemGapUsed": "true" the dock will set its margin from the edge of the screen based on the hyprland configuration, specifically the general:gaps_out value. The dock will dynamically adapt to changes in the hyprland configuration.
  • With "SystemGapUsed": "false" the margin from the edge of the screen will be set by the Margin parameter.

There is also a pinned.json file for pinned applications

Example:

{
  "Pinned": [
    "firefox",
    "org.telegram.desktop",
    "code-oss",
    "kitty"
  ]
}

You can edit it manually. But why? ¯_(ツ)_/¯

Themes

Themes are located in the ~/.config/hypr-dock/themes/ folder

A theme consists of:

  • [theme_name].jsonc, for example lotos.jsonc
  • style.css
  • A folder with svg files for indicating the number of running applications (more themes.md)

The theme configuration has only two parameters:

{
    // Blur window ("on", "off") (default "on")
    "Blur": "on",

    // Distance between elements (px) (default 8)
    "Spacing": 9
}

Feel free to customize the style.css file as you like.

Libraries Used