All Projects → doums → Baru

doums / Baru

A system monitor written in Rust and C

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Baru

axyl-iso
Axyl is a Linux distro centered on tiling window managers. Choose from i3, bspwm, dwm and more.
Stars: ✭ 348 (+300%)
Mutual labels:  archlinux, window-manager
Dots
A Repository For Config Files / Dotfiles / Themes / Color Schemes / Etc...
Stars: ✭ 100 (+14.94%)
Mutual labels:  archlinux, window-manager
Archcraft
// Source : ISO
Stars: ✭ 437 (+402.3%)
Mutual labels:  archlinux, window-manager
Rofi
A large collection of Rofi based custom Menu, Applets, Launchers & Powermenus.
Stars: ✭ 2,907 (+3241.38%)
Mutual labels:  archlinux, window-manager
gobble
Rust rewrite of Devour
Stars: ✭ 23 (-73.56%)
Mutual labels:  archlinux, window-manager
Polybar Themes
A huge collection of polybar themes with different styles, colors and variants.
Stars: ✭ 3,687 (+4137.93%)
Mutual labels:  archlinux, window-manager
Polybar
A fast and easy-to-use status bar
Stars: ✭ 9,604 (+10939.08%)
Mutual labels:  window-manager, bar
Monconn
A TCP connection monitoring tool written in Go.
Stars: ✭ 69 (-20.69%)
Mutual labels:  monitor
Gatus
⛑ Gatus - Automated service health dashboard
Stars: ✭ 1,203 (+1282.76%)
Mutual labels:  monitor
Gnome Shell Extension System Monitor
Gnome Shell extension for displaying resource usage
Stars: ✭ 67 (-22.99%)
Mutual labels:  monitor
Prism
Application Performance Management & Monitoring for iOS (APM)
Stars: ✭ 67 (-22.99%)
Mutual labels:  monitor
Github Monitor
Github Sensitive Information Leakage Monitor(Github信息泄漏监控系统)
Stars: ✭ 1,166 (+1240.23%)
Mutual labels:  monitor
Command Center
A CLI-based launcher and general productivity tool.
Stars: ✭ 78 (-10.34%)
Mutual labels:  window-manager
React Native X Bar
🎩 A flexible, lightweight bar component for common UI patterns in React Native
Stars: ✭ 68 (-21.84%)
Mutual labels:  bar
Node Os Monitor
simple OS monitoring for Node.js
Stars: ✭ 83 (-4.6%)
Mutual labels:  monitor
Glance
Mg/dL and mmol/L Fitbit watchface for CGM in the Cloud Group
Stars: ✭ 75 (-13.79%)
Mutual labels:  monitor
Nanonodemonitor
Nano Node Monitor is a server-side PHP-based monitor for a Nano node.
Stars: ✭ 83 (-4.6%)
Mutual labels:  monitor
Amethyst
Automatic tiling window manager for macOS à la xmonad.
Stars: ✭ 10,023 (+11420.69%)
Mutual labels:  window-manager
Ctlosiso
Ctlos Linux source. Arch based distro x86-64(64-bit).
Stars: ✭ 74 (-14.94%)
Mutual labels:  archlinux
Discordgsm
📺 Monitor your game servers on Discord and tracks the live data of your game servers. Also support one-click deployment to Heroku, self-hosted. Invite: https://discordgsm.com/invite
Stars: ✭ 74 (-14.94%)
Mutual labels:  monitor

baru baru

baru

A system monitor written in Rust and C.

baru

features

  • date and time
  • battery (level, status, design level based)
  • wireless (state, essid, signal strength)
  • wired (state)
  • audio sink and source (level, muted)
  • brightness
  • cpu usage, frequency and temperature
  • memory (percent or used/total in gigabyte/gibibyte)
  • dynamic and customizable labels
  • customizable format output
  • configuration in YAML

Baru gathers the information from /sys and /proc filesystems (filled by the kernel). Except audio and network modules which use C libraries.
There is no memory leak over time. All modules are threaded. Thanks to this design (as well Rust and C), baru is lightweight and efficient. It can run at high refresh rate with a minimal processor footprint.

The audio module communicates with the PulseAudio server through the client API to retrieve its data.
Wireless and wired modules use the netlink interface with the help of libnl to talk directly to kernel and retrieve their data.
In addition, wireless module uses the 802.11 API.

Baru is modular. This means that only the modules you want to see are instantiated and executed.

prerequisite

  • libnl (for wired and wireless modules)
  • libpulse (for sound and mic modules)

install

Rust is a language that compiles to native code and by default statically links all dependencies.
Simply download the latest release of the compiled binary and use it! (do not forget to make it executable chmod +x baru)

For Arch Linux users, baru is present as a package in the Arch User Repository.

configuration

The binary looks for the config file baru.yaml located in $XDG_CONFIG_HOME/baru/ (default to $HOME/.config/baru/).
If the config file is not found, baru prints an error and exits.
All options are detailed here.

Example:

format: '%m  %f  %c  %t  %b  %i  %s   %w%e  %a    %d'
tick: 50
battery:
  full_design: true
  low_level: 30
  full_label: '*'
  charging_label: '^'
  discharging_label: 'b'
  low_label: '!'
  unknown_label: '?'
  format: '%l %v'
brightness:
  label: 'l'
  format: '%l %v'
cpu:
  label: 'c'
  high_label: '!'
  format: '%v %l'
cpu_freq:
  tick: 100
  high_level: 60
  label: 'f'
  high_label: '!'
  format: '%v %l'
memory:
  core_inputs: 2..5
  label: 'm'
  high_label: '!'
  format: '%v %l'
mic:
  index: 1
  label: 'i'
  mute_label: '.'
  format: '%v %l'
sound:
  index: 0
  label: 's'
  mute_label: '.'
  format: '%v %l'
temperature:
  core_inputs: 2..5
  label: 't'
  high_label: '!'
  format: '%v %l'
wired:
  discrete: true
  label: 'e'
  disconnected_label: '\'
  format: '%l'
wireless:
  interface: wlan0
  display: Essid
  max_essid_len: 5
  label: 'w'
  disconnected_label: '\'
  format: '%v %l'

usage

$ baru

credits

Clément Dommerc for providing me with the C code for the lib netlink, wireless part.

license

Mozilla Public License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].