hyprland-plugins/hyprbars
hello there 41d5abc613
Include hyprbars example config
The current readme does not include instructions to make it look like the reference screenshot.

This change includes that config.
2025-07-27 23:50:34 +00:00
..
barDeco.cpp fix(all): chase hyprland renderer changes 2025-07-10 20:18:38 +03:00
barDeco.hpp hyprbars: add inactive_button_color option (#383) 2025-06-17 20:18:59 +02:00
BarPassElement.cpp all: chase hyprland (#334) 2025-05-06 03:57:20 +02:00
BarPassElement.hpp hyprbars: add an option to blur the bar 2024-12-22 16:55:36 +00:00
CMakeLists.txt treewide: add CMake files 2024-05-05 16:36:13 +03:00
default.nix enhance: official plugins links 2025-07-20 19:17:44 +03:00
globals.hpp all: chase hyprland 2025-01-24 01:30:43 +00:00
main.cpp hyprbars: add inactive_button_color option (#383) 2025-06-17 20:18:59 +02:00
Makefile all: chase hyprland 2024-12-22 16:33:12 +00:00
meson.build treewide: update pkgconfig flags to include irregular locations of headers on distros like openSUSE (#150) 2024-04-20 13:05:44 +03:00
README.md Include hyprbars example config 2025-07-27 23:50:34 +00:00

hyprbars

Adds simple title bars to windows.

image

Example config taken from EvanKoe's dotfiles (requires light wallpaper to look good):

plugin {
	hyprbars {
		bar_height = 30
		bar_buttons_alignment = left
		bar_part_of_window = true
		bar_blur = true
		bar_padding = 12
		bar_button_padding = 8
		bar_color = rgba(ffffff55)
		col.text = rgb(212121)

		hyprbars-button = rgb(dd0000), 15, , hyprctl dispatch killactive
		hyprbars-button = rgb(00dd00), 15, , hyprctl dispatch fullscreen 1
		hyprbars-button = rgb(eeee00), 15, , hyprctl dispatch pseudo
		hyprbars-button = rgb(5577ff), 15, , hyprctl dispatch togglefloating
	}
}

Config

All config options are in plugin:hyprbars:

plugin {
    hyprbars {
        # example config
        bar_height = 20

        # example buttons (R -> L)
        # hyprbars-button = color, size, on-click
        hyprbars-button = rgb(ff4040), 10, 󰖭, hyprctl dispatch killactive
        hyprbars-button = rgb(eeee11), 10, , hyprctl dispatch fullscreen 1

        # cmd to run on double click of the bar
        on_double_click = hyprctl dispatch fullscreen 1
    }
}
property type description default
enabled bool whether to enable the bars
bar_color color bar's background color
bar_height int bar's height 15
bar_blur bool whether to blur the bar. Also requires the global blur to be enabled.
col.text color bar's title text color
bar_title_enabled bool whether to render the title true
bar_text_size int bar's title text font size 10
bar_text_font str bar's title text font Sans
bar_text_align left, center bar's title text alignment center
bar_buttons_alignment right, left bar's buttons alignment right
bar_part_of_window bool whether the bar is a part of the main window (if it is, stuff like shadows render around it)
bar_precedence_over_border bool whether the bar should have a higher priority than the border (border will be around the bar)
bar_padding int left / right edge padding 7
bar_button_padding int padding between the buttons 5
icon_on_hover bool whether the icons show on mouse hovering over the buttons false
inactive_button_color col buttons bg color when window isn't focused
on_double_click str command to run on double click of the bar (not on a button)

Buttons Config

Use the hyprbars-button keyword.

hyprbars-button = bgcolor, size, icon, on-click, fgcolor

Window rules

Hyprbars supports the following dynamic window rules:

plugin:hyprbars:nobar -> disables the bar on matching windows.
plugin:hyprbars:bar_color -> sets the bar background color on matching windows.
plugin:hyprbars:title_color -> sets the bar title color on matching windows.

Example:

# Sets the bar color in red for all windows that have 'myClass' as a class
windowrule = plugin:hyprbars:bar_color rgb(ff0000), class:^(myClass)