8000 GitHub - BL-CZY/dvvidget: A widget system that works under wayland written in Rust 🦀
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

BL-CZY/dvvidget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dvvidget

Hi! This the widget system that I wrote for my own desktop
Here is a list of compositors on which it works

-- Hyprland: ✓
-- Sway: ✓

How to build

You'll need gtk4-layer-shell, wpctl, Rust, and brightnessctl as a dependency, and simply running ./install.sh would do the job.

Usage

Use -h/--help to print help
Dvvidget supports custom configs and css files, you can use -c or --config flag to set the config. The default path is $HOME/.config/dvvidget/config.toml you can use -p or --path flag to set the socket path. The default path is /tmp/dvvidget-[version].sock you can use -m or --monitor flag to run commands for a specific monitor
The sample config file is in src/config.toml, and you can put the config in ~/.config/dvvidget/config.toml

dvvidget has a client and a server. If you want to use dvvidget, you can use dvvidget daemon to start the daemon. You can then use dvvidget volume -h, dvvidget brightness -h, and dvvidget dvoty -h to learn how to use the client.

There is a style.css in src that has a sample css.
It uses gtk css.

Here are the class names:

for sound and brightness:
|--window: .sound-window & .bri-window
    |--box:
        |--icon: .sound-icon & .bri-icon
        |--label: .sound-label & .bri-label
        |--scale: .sound-scale & .bri-scale

for the launcher (dvoty):
|--window: .dvoty-window:
    |--wrapper: .dvoty-wrapper
        |--input: .dvoty-input
            |--outerwrapper: .dvoty-scroll
                |--scrolled window
                    |--list box: .dvoty-list
                        |-- ENTRY

for ENTRY:
|--list box row:
Every entry will have the class .dvoty-entry if it's not focused and .dvoty-entry-select if it's focused
Aside from that, every entry will get .dvoty-entry-[type] or .dvoty-entry-[type]-select
Types are: math, instruction, search, url, launch, and letter
    |--box: .dvoty-box
        |--icon: .dvoty-icon
        |--scrolled window: .dvoty-scroll-mid
            |--label: .dvoty-label .dvoty-label-mid
        |--label: .dvoty-label, .dvoty-label-end

Dependencies:
wpctl, brightnessctl, gvfs, gtk4-layer-shell

0