mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 08:15:21 +01:00
[PR #396] [MERGED] Massive Client Refactor #688
Labels
No labels
A:Build
A:CI
A:Client
A:Config
A:Core
A:Documentation
A:Documentation
A:IPC
A:Testing
A:UX/UI
blocked
BREAKING CHANGE
duplicate
good first issue
GTK4
help wanted
invalid
M:Battery
M:Battery
M:Bindmode
M:Bluetooth
M:Brightness
M:Cairo
M:Clipboard
M:Clock
M:Clock
M:Custom
M:Focused
M:Keyboard
M:Launcher
M:Menu
M:Music
M:Music
M:Music
M:Network Manager
M:Notifications
M:SysInfo
M:Tray
M:Volume
M:Workspaces
partially resolved
P:Critical
P:High
P:Low
P:Medium
pull-request
T:Bug
T:Bug
T:Core Enhancement
T:Module Enhancement
T:New Module
T:Question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
JakeStanger/ironbar#688
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/JakeStanger/ironbar/pull/396
Author: @JakeStanger
Created: 1/8/2024
Status: ✅ Merged
Merged: 1/9/2024
Merged by: @JakeStanger
Base:
master← Head:refactor/clients📝 Commits (3)
57b57edrefactor: pass context into modules controllersc702f6frefactor: major client code changes6f531a5refactor: removelazy_staticandasync_once📊 Changes
39 files changed (+1114 additions, -1101 deletions)
View changed files
📝
Cargo.lock(+85 -80)📝
Cargo.toml(+3 -6)📝
src/bar.rs(+16 -5)📝
src/clients/clipboard.rs(+23 -27)📝
src/clients/compositor/hyprland.rs(+10 -19)📝
src/clients/compositor/mod.rs(+13 -7)📝
src/clients/compositor/sway.rs(+22 -42)📝
src/clients/mod.rs(+108 -0)📝
src/clients/music/mod.rs(+8 -12)📝
src/clients/music/mpd.rs(+64 -196)📝
src/clients/music/mpris.rs(+7 -15)📝
src/clients/system_tray.rs(+27 -25)📝
src/clients/upower.rs(+24 -29)➖
src/clients/wayland/client.rs(+0 -269)📝
src/clients/wayland/mod.rs(+284 -46)📝
src/clients/wayland/wl_output.rs(+71 -22)📝
src/clients/wayland/wl_seat.rs(+15 -12)📝
src/clients/wayland/wlr_data_control/device.rs(+1 -0)📝
src/clients/wayland/wlr_data_control/manager.rs(+1 -0)📝
src/clients/wayland/wlr_data_control/mod.rs(+73 -27)...and 19 more files
📄 Description
It's a big one!
This does away with
lazy_staticsingletons for all the clients, instead putting them all inside aClientsstruct on theIronbarstruct.Client code has been refactored in places to accommodate this, and module code has been updated to get the clients the new way.
The Wayland client has been re-written from the ground up to remove a lot of the needless complications, provide a nicer interface and reduce some duplicate data.
The MPD music client has been overhauled to use the
mpd_utilscrate, which simplifies the code within Ironbar and should offer more robustness and better recovery when connection is lost to the server.The launcher module in particular has been affected by the refactor.
Also included are some other factors that were necessary along the way, and the complete removal of
lazy_staticandasync_oncefrom the application.This PR knowingly adds a few build warnings in, as some client code has been added for further upcoming changes. This is hopefully the last stepping stone to get #291 fixed.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.