Closed sminez closed 1 year ago
This is the diff needed to move my personal config over to the new API: https://github.com/sminez/my-penrose-config/commit/0b9cb6bc69d7611c021ce50f66bf5931dc7b5333
A clean release build of my window manager following the change then looks like this:
❯ make build && sudo make install
:: Rebuilding in release mode...
Compiling proc-macro2 v1.0.64
Compiling unicode-ident v1.0.10
Compiling quote v1.0.29
Compiling cfg-if v1.0.0
Compiling once_cell v1.18.0
Compiling libc v0.2.147
Compiling autocfg v1.1.0
Compiling serde v1.0.169
Compiling pkg-config v0.3.27
Compiling memoffset v0.7.1
Compiling syn v2.0.24
Compiling rustversion v1.0.13
Compiling tracing-core v0.1.31
Compiling heck v0.4.1
Compiling static_assertions v1.1.0
Compiling bitflags v1.3.2
Compiling nix v0.26.2
Compiling pin-project-lite v0.2.10
Compiling thiserror v1.0.41
Compiling x11rb v0.12.0
Compiling gethostname v0.3.0
Compiling x11 v2.21.0
Compiling yeslogic-fontconfig-sys v4.0.1
Compiling libloading v0.8.0
Compiling regex-syntax v0.6.29
Compiling x11rb-protocol v0.12.0
Compiling regex-syntax v0.7.3
Compiling tracing-attributes v0.1.26
Compiling strum_macros v0.25.1
Compiling strum v0.25.0
Compiling tracing v0.1.37
Compiling thiserror-impl v1.0.41
Compiling serde_json v1.0.100
Compiling lazy_static v1.4.0
Compiling penrose_keysyms v0.3.3 (/home/innes/repos/personal/penrose/crates/penrose_keysyms)
Compiling regex-automata v0.3.2
Compiling regex-automata v0.1.10
Compiling dlib v0.5.2
Compiling bitflags v2.3.3
Compiling anymap v0.12.1
Compiling const-cstr v0.3.0
Compiling log v0.4.19
Compiling ryu v1.0.14
Compiling itoa v1.0.8
Compiling overload v0.1.1
Compiling anyhow v1.0.71
Compiling nu-ansi-term v0.46.0
Compiling tracing-log v0.1.3
Compiling penrose v0.3.3 (/home/innes/repos/personal/penrose)
Compiling regex v1.9.1
Compiling matchers v0.1.0
Compiling sharded-slab v0.1.4
Compiling tracing-serde v0.1.3
Compiling thread_local v1.1.7
Compiling smallvec v1.11.0
Compiling penrose_ui v0.3.3 (/home/innes/repos/personal/penrose/crates/penrose_ui)
Compiling tracing-subscriber v0.3.17
Compiling penrose-sminez v0.2.0 (/home/innes/.config/penrose)
Finished release [optimized] target(s) in 1m 09s
:: Installing binaries...
:: Installing utility scripts...
:: Done
····················································· 1m 10s 08:14:36
❯ du -sh target
196M target
This also reduces my resulting binary size from 8.4MB to 3.5MB :tada:
Implemented in #274
The pango and cairo dependencies brought in by penrose_ui account for massive amount of the dependency tree that we end up pulling in. Given that the UI of the status bar widgets is really quite minimal, it would be nice to find a more lightweight alternative if possible.