Awesome
hitokage 日と影
hitokage is a configurable status bar for Windows implemented in Rust using the relm4 GUI library.
It is primarily built for usage with komorebi
, but is also usable as a
standalone drop-in replacement for the default Windows Taskbar.
Documentation and guides at: codyduong.github.io/hitokage
Demos
examples/minimal
:
<br/>
Configuration
hitokage is configured with lua and css<sup>1</sup>. hitokage by default looks for your configuration in
%USERPROFILE%/.config/hitokage
and it looks for init.lua
and styles.css
. Example configurations are found at examples
.
The minimal configuration might look something like this:
init.lua
local monitors = hitokage.monitor.get_all()
for _, monitor in ipairs(monitors) do
monitor:attach({
children = {
{ Workspace = { halign = "Start", item_height = 24, item_width = 24 } },
{ Box = {} },
{ Clock = { format = "%a %b %u %r", halign = "End" } },
},
})
end
styles.css
.bar {
background-color: rgba(29, 32, 33, 0.0);
color: #f2e5bc;
font-family: 'MesloLGS NF', 'Courier New', 'Bars', 'Font Awesome 5 Free';
font-size: 12px;
line-height: 12px;
min-height: 24px;
}
.workspace {
padding: 0px 0px 0px 0px;
/* border: 1px solid rgba(255, 0, 0, 0.4); */
}
.workspacechild {
/* distance between workspace children */
/* margin-left: 8px; */
border: 1px solid rgba(168, 153, 132, 0.4);
color: #f2e5bc;
background-color: rgba(60, 56, 54, 0.4);
font-size: 11px;
/* border-radius: 11px; */
transition: all 500ms;
transition-property: min-width, background-color;
}
.workspacechild:first-child {
margin-left: 0px;
}
.workspacechild:selected {
/* min-width: 32px; */
border: 1px solid #f2e5bc;
background-color: #f2e5bc;
color: #333333;
font-weight: bold;
}
hitokage also comes with hitokage-lua-lib to provide LuaLS type annotations, and can be used with your preferred editor for helping you write your configuration.
<!-- The *hitokage-lua-lib* rockspec ~~is available at: ~~ (🚧 TODO ROCKSPEC 🚧) --><a name="css-footnote">1</a>: gtk4 css supported properties
Installation
Install from nightly or latest from the releases page.
[!CAUTION] hitokage is in a pre-release state, the APIs are subject to breaking changes (this will not be the case after 0.1.0).
Developing/Building From Source
Requires
<!-- Build notes: * msys2 pkg-config sucks -> https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858 -->Acknowledgements
yasb
- The original inspiration for this status barkomorebi
- The tiling manager used in conjunction with this status barwezterm
- Code for various WinAPI and mlua utilities
License
MIT