zk-phi/symon

Tiny graphical system monitor

Emacs Lisp

305

29 commits

updated Apr 11, 2026

See the code

README

* symon.el

コンパクトでおしゃれなシステムモニター

tiny graphical system monitor

** Screenshot

[[file:img/screenshot.png]]

** NOTE: RECENT INCOMPATIBLE CHANGES

- sparkline types are renamed:
  - =symon-sparkline-plain= -> =plain=
  - =symon-sparkline-bounded= -> =bounded=
  - =symon-sparkline-boxed= -> =boxed=
  - =symon-sparkline-gridded= -> =gridded=

** Usage

Load =symon=

: (require 'symon)

and turn on =symon-mode=.

: (symon-mode)

then a tiny system monitor is displayed in minibuffer, during idle.

** Customization

- =symon-monitors= :: List of symon monitors used to fetch system
     statuses. You can set this variable to specify what metrics to
     display and what to not. List of available monitors is provided
     below.

- =symon-refresh-rate= :: Refresh rate of symon display.

- =symon-delay= :: Delay in seconds until symon is displayed.

- =symon-history-size= :: Number of old values to keep. Sparklines
     grow faster when set smaller.

You need to restart =symon-mode= in order to reflect changes of these
4 options above.

- =symon-sparkline-height= :: Height of sparklines.

- =symon-sparkline-width= :: Width of sparklines.

- =symon-sparkline-thickness= :: Line width of sparklines.

- =symon-sparkline-ascent= :: Adjust vertical position of sparklines.

- =symon-sparkline-type= :: Type of sparklines. following
     preconfigured types are available:

  - =plain=

    [[file:img/plain.png]]

  - =bounded=

    [[file:img/bounded.png]]

  - =boxed=

    [[file:img/boxed.png]]

  - =gridded=

    [[file:img/gridded.png]]

** Preconfigured Monitors

- GNU/Linux

  - =symon-linux-memory-monitor= :: memory usage (%) and swapped
       memory (MB) via =/proc/meminfo=

  - =symon-linux-cpu-monitor= :: CPU load (%) via =/proc/stat=

  - =symon-linux-battery-monitor= :: remaining battery (%) via
       built-in library =battery.el=

  - =symon-linux-network-rx-monitor= :: network RX (KB/s) via
       =/proc/net/dev=

  - =symon-linux-network-tx-monitor= :: network TX (KB/s) via
       =/proc/net/dev=

- Darwin (Mac OS X)

  - =symon-darwin-memory-monitor= :: memory usage (%) and swapped
       memory (MB) via =sysctl=

  - =symon-darwin-cpu-monitor= :: CPU load (%) via =hostinfo=

  - =symon-darwin-battery-monitor= :: remaining battery (%) via
       built-in library =battery.el=

  - =symon-darwin-network-rx-monitor= :: network RX (KB/s) via
       =netstat=

  - =symon-darwin-network-tx-monitor= :: network TX (KB/s) via
       =netstat=

- Windows

  - =symon-windows-memory-monitor= :: memory usage (%) via =WMI=

  - =symon-windows-page-file-monitor= :: page file usage (MB) via =WMI=

  - =symon-windows-cpu-monitor= :: CPU load (%) via =WMI=

  - =symon-windows-battery-monitor= :: remaining battery (%) via =WMI=

  - =symon-windows-network-rx-monitor= :: network RX (KB/s) via =WMI=

  - =symon-windows-network-tx-monitor= :: network TX (KB/s) via =WMI=

- misc

  - =symon-current-time-monitor= :: current Time (hh::mm) via built-in
       function =format-time-string=

** Contributors

- [[https://github.com/pierre-lecocq][Pierre Lecocq]] added darwin support.

Thanks!

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

emacs

Contributors

zk-phi

12 commits

pierre-lecocq

4 commits

benfitzg

2 commits

Languages

Emacs Lisp

100.0%

zk-phi/symon

Tiny graphical system monitor

Emacs Lisp

305

29 commits

updated Apr 11, 2026

See the code

README

* symon.el

コンパクトでおしゃれなシステムモニター

tiny graphical system monitor

** Screenshot

[[file:img/screenshot.png]]

** NOTE: RECENT INCOMPATIBLE CHANGES

- sparkline types are renamed:
  - =symon-sparkline-plain= -> =plain=
  - =symon-sparkline-bounded= -> =bounded=
  - =symon-sparkline-boxed= -> =boxed=
  - =symon-sparkline-gridded= -> =gridded=

** Usage

Load =symon=

: (require 'symon)

and turn on =symon-mode=.

: (symon-mode)

then a tiny system monitor is displayed in minibuffer, during idle.

** Customization

- =symon-monitors= :: List of symon monitors used to fetch system
     statuses. You can set this variable to specify what metrics to
     display and what to not. List of available monitors is provided
     below.

- =symon-refresh-rate= :: Refresh rate of symon display.

- =symon-delay= :: Delay in seconds until symon is displayed.

- =symon-history-size= :: Number of old values to keep. Sparklines
     grow faster when set smaller.

You need to restart =symon-mode= in order to reflect changes of these
4 options above.

- =symon-sparkline-height= :: Height of sparklines.

- =symon-sparkline-width= :: Width of sparklines.

- =symon-sparkline-thickness= :: Line width of sparklines.

- =symon-sparkline-ascent= :: Adjust vertical position of sparklines.

- =symon-sparkline-type= :: Type of sparklines. following
     preconfigured types are available:

  - =plain=

    [[file:img/plain.png]]

  - =bounded=

    [[file:img/bounded.png]]

  - =boxed=

    [[file:img/boxed.png]]

  - =gridded=

    [[file:img/gridded.png]]

** Preconfigured Monitors

- GNU/Linux

  - =symon-linux-memory-monitor= :: memory usage (%) and swapped
       memory (MB) via =/proc/meminfo=

  - =symon-linux-cpu-monitor= :: CPU load (%) via =/proc/stat=

  - =symon-linux-battery-monitor= :: remaining battery (%) via
       built-in library =battery.el=

  - =symon-linux-network-rx-monitor= :: network RX (KB/s) via
       =/proc/net/dev=

  - =symon-linux-network-tx-monitor= :: network TX (KB/s) via
       =/proc/net/dev=

- Darwin (Mac OS X)

  - =symon-darwin-memory-monitor= :: memory usage (%) and swapped
       memory (MB) via =sysctl=

  - =symon-darwin-cpu-monitor= :: CPU load (%) via =hostinfo=

  - =symon-darwin-battery-monitor= :: remaining battery (%) via
       built-in library =battery.el=

  - =symon-darwin-network-rx-monitor= :: network RX (KB/s) via
       =netstat=

  - =symon-darwin-network-tx-monitor= :: network TX (KB/s) via
       =netstat=

- Windows

  - =symon-windows-memory-monitor= :: memory usage (%) via =WMI=

  - =symon-windows-page-file-monitor= :: page file usage (MB) via =WMI=

  - =symon-windows-cpu-monitor= :: CPU load (%) via =WMI=

  - =symon-windows-battery-monitor= :: remaining battery (%) via =WMI=

  - =symon-windows-network-rx-monitor= :: network RX (KB/s) via =WMI=

  - =symon-windows-network-tx-monitor= :: network TX (KB/s) via =WMI=

- misc

  - =symon-current-time-monitor= :: current Time (hh::mm) via built-in
       function =format-time-string=

** Contributors

- [[https://github.com/pierre-lecocq][Pierre Lecocq]] added darwin support.

Thanks!

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

emacs

Contributors

zk-phi

12 commits

pierre-lecocq

4 commits

benfitzg

2 commits

Languages

Emacs Lisp

100.0%