Caffi is a simple desktop calendar that is in a very early stage of development.
Can be installed from crates.io with cargo
:
cargo install caffi --locked --features Sass,Wayland...
- GTK4
- gtk4-layer-shell (Feature: Wayland)
- libxcb (Feature: X11)
Some features can be enabled at compile time.
- Accent - Inherits the accent color from the system's settings.
- Sass - Allows you to use SCSS instead of CSS.
- Wayland - Uses wlr-layer-shell to imitate window positioning.
- X11 - Sets WM hints and properties, and repositions the window.
Usage: caffi [-1 <first>] [-a <anchor...>] [-m <margin...>] [-u <userstyle>] [-v]
Calendar
Options:
-1, --first first day of the week: (sun)day, (mon)day, (tue)sday...
-a, --anchor screen anchor point: (t)op, (b)ottom, (l)eft, (r)ight
-m, --margin margin distance for each anchor point
-u, --userstyle path to the userstyle
-v, --version print version
--help display usage information
Caffi is built with GTK4 and uses CSS to define its appearance.
You will find the style sheet in your config directory after the first launch.
${XDG_CONFIG_HOME:-$HOME/.config}/caffi/style.css
If you have enabled the Sass feature, it will also look for *.scss and *.sass files.
${XDG_CONFIG_HOME:-$HOME/.config}/caffi/style.sass
${XDG_CONFIG_HOME:-$HOME/.config}/caffi/style.scss
It is often desirable to be able to position widgets relatively to a screen side.
Two flags will help with this: -a --anchor
and -m --margin
.
Each margin value provided will match every anchor point respectively.
caffi --anchor left --anchor bottom --margin 20 --margin 30
If you want to toggle window with a click of a button, Unix way is the way:
pkill caffi | caffi
Caffi is developed and tested with:
- Wayland (Hyprland):
0.45.2
If your setup is different and you experience issues, feel free to file a bug report.
To get GTK related messages a specific environment variable must be non empty.
GTK_DEBUG=1 caffi
To build this little thing, you'll need some Rust.
git clone --depth 1 https://github.com/Elvyria/caffi
cd caffi
cargo build --locked --release --features Sass,Wayland...