updated text sizing to better match the bar size, and increase readability.
12 KiB
Graph Report - breadbar (2026-08-16)
Corpus Check
- 25 files · ~24,485 words
- Verdict: corpus is large enough that graph structure adds value.
Summary
- 566 nodes · 1079 edges · 46 communities (29 shown, 17 thin omitted)
- Extraction: 88% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS · INFERRED: 2 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
Graph Freshness
- Built from commit:
241dfd17 - Run
git rev-parse HEADand compare to check if the graph is stale. - Run
graphify update .after code changes (no API cost).
Community Hubs (Navigation)
- App
- notifications/mod.rs
- Icon System
- tray.rs
- stats.rs
- GTK4 app entry point and widget tree
- history.rs
- screenshot.rs
- wifi.rs
- client.rs
- bluetooth.rs
- spawn
- popup.rs
- control.rs
- Control panel popover
- dev release workflow
- AGENTS.md — Repo hygiene
- workspaces.rs
- rc release workflow
- bakery package manager integration
- clock.rs
- media.rs
- Stable artifact preparation
- stable release workflow
- feature/ short-lived branches
- bread-ecosystem release policy integration
- fix/ short-lived branches
- Dev version auto-computation from latest tag
- GTK4 development environment
- Rust 1.77+ (LazyLock)
- bread-theme palette loading
- User CSS override (~/.config/breadbar/style.css)
- Notification popups (top-right stack)
- org.freedesktop.Notifications D-Bus service
- Layer-shell popup window and card stack
- SIGHUP theme reload
- Volume/brightness OSD
- /srv/breadway-dl/dev/ distribution
- /srv/breadway-dl/beta/ distribution
- /srv/breadway-dl/breadbar/ distribution
- CLAUDE.md — Repo hygiene
- build.sh
- theme.rs
- PanelSet
God Nodes (most connected - your core abstractions)
App- 50 edgespoll()- 16 edgesWorkspaceTrail- 14 edgesAppInput- 14 edgesNotifServer- 13 edgesNotifEvent- 12 edgesLucide Icon Library- 12 edgesWatcher- 11 edgesrun()- 11 edgestest_server()- 10 edges
Surprising Connections (you probably didn't know these)
Control panel popover--USES-->Settings[LIKELY] README.md → assets/Bluetooth Settings.svgCPU/RAM/power/battery (right section)--USES-->AC Power[CERTAIN] README.md → assets/AC Power.svgCPU/RAM/power/battery (right section)--USES-->Battery Low[CERTAIN] README.md → assets/Battery 1 Bar.svgCPU/RAM/power/battery (right section)--USES-->Battery Medium[CERTAIN] README.md → assets/Battery 2 Bars.svgCPU/RAM/power/battery (right section)--USES-->Battery Full[CERTAIN] README.md → assets/Battery 3 Bars.svg
Import Cycles
- None detected.
Hyperedges (group relationships)
- Multi-track release system — forgejo_workflows_dev_release_yml_dev_release_workflow, forgejo_workflows_rc_release_yml_rc_release_workflow, forgejo_workflows_release_yml_release_workflow, CONTRIBUTING.md:dev-track, CONTRIBUTING.md:beta-track, CONTRIBUTING.md:stable-track [INFERRED]
- Component-module correspondence — README.md:status-bar, README.md:control-panel, README.md:notification-daemon, README.md:main.rs, README.md:bar-workspaces, README.md:bar-stats, README.md:bar-media, README.md:bar-control, README.md:bar-tray, README.md:notifications-mod [INFERRED]
- Dependency polling and caching pattern — README.md:bar-stats, README.md:bar-media, README.md:bar-wifi, README.md:bar-control [INFERRED]
- D-Bus service protocol adoption — README.md:notification-daemon, README.md:notification-spec, README.md:bar-tray, README.md:dbus [INFERRED]
- External tool integration pattern — README.md:bar-stats, README.md:bar-media, README.md:bar-wifi, README.md:bar-control, README.md:iw, README.md:wpctl, README.md:pactl, README.md:brightnessctl, README.md:playerctl, README.md:breadcrumbs [INFERRED]
- Theme customization layers — README.md:theme.rs, README.md:bread-theme-integration, README.md:pywal-integration, README.md:css-override, README.md:sighup-reload [INFERRED]
- WiFi Signal Strength Variants — assets_wifi_weak_svg_wifi_low_icon, assets_wifi_medium_svg_wifi_high_icon, assets_wifi_strong_svg_wifi_icon, assets_wifi_connecting_svg_wifi_sync_icon, assets_wifi_disconnect_svg_wifi_off_icon [INFERRED]
- System Control Icons — assets_shutdown_svg_power_icon, assets_sleep_svg_moon_icon, assets_restart_svg_rotate_ccw_icon [INFERRED]
- Status Bar Widget Icons — assets_previous_svg_skip_back_icon, assets_volume_svg_volume_2_icon, assets_ram_usage_svg_memory_stick_icon [INFERRED]
- Lucide Icon Integration Pattern — https_lucide_icon_library, breadbar:icon-system, assets_previous_svg_skip_back_icon, assets_ram_usage_svg_memory_stick_icon, assets_restart_svg_rotate_ccw_icon, assets_shutdown_svg_power_icon, assets_sleep_svg_moon_icon, assets_volume_svg_volume_2_icon, assets_wifi_connecting_svg_wifi_sync_icon, assets_wifi_disconnect_svg_wifi_off_icon, assets_wifi_medium_svg_wifi_high_icon, assets_wifi_strong_svg_wifi_icon, assets_wifi_weak_svg_wifi_low_icon [INFERRED]
- SVG Vector Graphics Elements — assets_previous_svg_triangle_shape, assets_previous_svg_vertical_line, assets_ram_usage_svg_memory_modules, assets_ram_usage_svg_memory_chassis, assets_restart_svg_circular_arrow, assets_restart_svg_corner_arrow, assets_shutdown_svg_power_button, assets_shutdown_svg_power_symbol, assets_sleep_svg_crescent_shape, assets_volume_svg_speaker_cone, assets_volume_svg_sound_waves, assets_wifi_connecting_svg_wifi_arcs, assets_wifi_connecting_svg_sync_arrows, assets_wifi_disconnect_svg_wifi_arcs_disabled, assets_wifi_disconnect_svg_cancel_slash, assets_wifi_medium_svg_signal_dot, assets_wifi_medium_svg_two_signal_arcs, assets_wifi_strong_svg_signal_dot_full, assets_wifi_strong_svg_three_signal_arcs, assets_wifi_weak_svg_signal_dot_low, assets_wifi_weak_svg_one_signal_arc [INFERRED]
Communities (46 total, 17 thin omitted)
Community 0 - "App"
Cohesion: 0.07 Nodes (65): Cell, ComponentParts, Controller, FnOnce, Init, Input, LayerShell, Monitor (+57 more)
Community 1 - "notifications/mod.rs"
Cohesion: 0.09 Nodes (36): AtomicU32, OwnedValue, Action, BarService, compute_expire(), Expire, get_capabilities_includes_actions_and_inline_reply(), inline_reply_placeholder() (+28 more)
Community 2 - "Icon System"
Cohesion: 0.08 Nodes (35): Skip Back Icon, Triangle Polygon, Vertical Separator Line, Memory Chassis Rectangle, Memory Module Elements, Memory Stick Icon, Circular Arrow Path, Corner Arrow (+27 more)
Community 3 - "tray.rs"
Cohesion: 0.14 Nodes (23): Arc, Header, Proxy, SignalEmitter, make_tray_image(), parse_service(), pixels_to_image(), read_icon() (+15 more)
Community 4 - "stats.rs"
Cohesion: 0.16 Nodes (26): bat_path(), bt_connected_icon(), bt_rfkill_on(), CpuSnapshot, poll(), read_ac(), read_battery(), read_bt() (+18 more)
Community 5 - "GTK4 app entry point and widget tree"
Cohesion: 0.04 Nodes (46): GTK4 >= 4.12 (runtime required), Hyprland compositor, Minute-tick clock, Control panel data: volume, brightness, sinks, playerctl polling and media widget, Polling loop: CPU, RAM, power, battery, BT, WiFi, StatusNotifierWatcher D-Bus and SNI rendering, WiFi popover and breadcrumbs integration (+38 more)
Community 6 - "history.rs"
Cohesion: 0.12 Nodes (38): Path, build_window(), collapse_ws(), Entry, format_time(), from_persisted(), history_path(), load_into() (+30 more)
Community 7 - "screenshot.rs"
Cohesion: 0.22 Nodes (17): ApplicationWindow, capture_standalone_window(), Cli, dispatch(), finish(), Handles, open_panel_on_root_map(), Box (+9 more)
Community 8 - "wifi.rs"
Cohesion: 0.25 Nodes (17): HashSet, CrumbsStatus, fetch_profile_list(), fetch_scan(), fetch_status(), ComponentSender, Option, String (+9 more)
Community 9 - "client.rs"
Cohesion: 0.20 Nodes (14): emit_click(), fetch_and_send(), ComponentSender, spawn(), apply_style(), build_node(), bundled_icon(), icon_texture() (+6 more)
Community 10 - "bluetooth.rs"
Cohesion: 0.27 Nodes (12): BtDevice, BtPopoverData, fetch_devices(), powered(), ComponentSender, Option, String, Vec (+4 more)
Community 11 - "spawn"
Cohesion: 0.32 Nodes (12): brightness_watcher(), create_window(), OsdEvent, query_volume(), Option, Receiver, Sender, Window (+4 more)
Community 12 - "popup.rs"
Cohesion: 0.29 Nodes (20): Cards, apply_body_text(), build_window(), CardSpec, create_window(), dismiss(), emit_action(), emit_closed() (+12 more)
Community 13 - "control.rs"
Cohesion: 0.26 Nodes (8): AudioSink, ControlPanelData, fetch_sinks(), ComponentSender, String, Vec, spawn_load(), spawn_set_sink()
Community 14 - "Control panel popover"
Cohesion: 0.18 Nodes (11): Audio output selector (PulseAudio sinks), Brightness slider (brightnessctl), Control panel popover, Live CPU%, GPU%, network throughput display, Power buttons: lock, suspend, reboot, poweroff, SNI system tray, Volume slider (wpctl, up to 150%), Settings (+3 more)
Community 15 - "dev release workflow"
Cohesion: 0.25 Nodes (8): Artifact preparation and signing, bakery.toml integration, cargo build --release --locked, dev release workflow, Dev index.json regeneration, main branch push trigger, self-hosted runner on hestia, Dev version auto-computation
Community 16 - "AGENTS.md — Repo hygiene"
Cohesion: 0.33 Nodes (5): AGENTS.md — Repo hygiene, Architecture, CI, Don't, Remotes
Community 17 - "workspaces.rs"
Cohesion: 0.15 Nodes (28): Fixed, Instant, Overlay, RefCell, apply_geom(), button_geom(), ease(), ease_overshoot() (+20 more)
Community 18 - "rc release workflow"
Cohesion: 0.33 Nodes (6): Beta index.json regeneration, RC artifact preparation, RC build on tag, RC tag guard (contains -rc.), rc release workflow, vX.Y.Z-rc.N tag push trigger
Community 19 - "bakery package manager integration"
Cohesion: 0.60 Nodes (5): bakery package manager integration, beta track (vX.Y.Z-rc.N tags), dev track (every push to main), Tag-based release cycle, stable track (vX.Y.Z tags)
Community 20 - "clock.rs"
Cohesion: 0.36 Nodes (8): DateTime, current(), date(), now(), ComponentSender, String, spawn_ticker(), time()
Community 21 - "media.rs"
Cohesion: 0.43 Nodes (5): fetch(), MediaState, ComponentSender, String, spawn_poller()
Community 22 - "Stable artifact preparation"
Cohesion: 0.50 Nodes (4): GitHub Release artifact upload, Stable artifact preparation, Stable release build, Stable index.json regeneration
Community 23 - "stable release workflow"
Cohesion: 0.67 Nodes (3): NOT -rc tag guard, stable release workflow, vX.Y.Z tag push trigger
Community 42 - "CLAUDE.md — Repo hygiene"
Cohesion: 0.40 Nodes (4): CI, CLAUDE.md — Repo hygiene, Don't, Remotes
Community 44 - "theme.rs"
Cohesion: 0.23 Nodes (11): Native, Palette, bind_auto(), bind_output(), fg_color(), fg_color_for(), load_css(), load_css_for() (+3 more)
Community 45 - "PanelSet"
Cohesion: 0.29 Nodes (7): make_dismiss(), make_panel(), PanelSet, IsA, Self, Widget, Window
Knowledge Gaps
- 98 isolated node(s):
build.sh script,CpuSnapshot,Remotes,CI,Architecture(+93 more) These have ≤1 connection - possible missing edges or undocumented components. - 17 thin communities (<3 nodes) omitted from report — run
graphify queryto explore isolated nodes.
Suggested Questions
Questions this graph is uniquely positioned to answer:
- Why does
AppconnectApptotray.rs,stats.rs,wifi.rs,client.rs,bluetooth.rs,control.rs,PanelSet,workspaces.rs,clock.rs,media.rs? High betweenness centrality (0.189) - this node is a cross-community bridge. - Why does
WorkspaceTrailconnectworkspaces.rstoApp? High betweenness centrality (0.052) - this node is a cross-community bridge. - Why does
AppInputconnectApptotray.rs,stats.rs,wifi.rs,bluetooth.rs,control.rs,media.rs? High betweenness centrality (0.037) - this node is a cross-community bridge. - What connects
build.sh script,CpuSnapshot,Remotesto the rest of the system? 98 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Appbe split into smaller, more focused modules? Cohesion score 0.06771929824561404 - nodes in this community are weakly interconnected. - Should
notifications/mod.rsbe split into smaller, more focused modules? Cohesion score 0.08843537414965986 - nodes in this community are weakly interconnected. - Should
Icon Systembe split into smaller, more focused modules? Cohesion score 0.07563025210084033 - nodes in this community are weakly interconnected.