Home
Softono

EConky

Open source Emacs Lisp
11
Stars
0
Forks
1
Issues
0
Watchers
5 months
Last Commit

 About EConky

A side-buffer dashboard for Emacs inspired by Conky.

Platforms

Web Self-hosted Linux

Languages

Emacs Lisp

Links

Need Help Installing EConky?

We provide expert installation service for this software. Our team will install, configure, and secure EConky on your server. plans start at just $30.

eConky: The Linux Power-User Dashboard for Emacs

eConky (Emacs-Conky) is a lightweight, side-buffer system monitor for GNU Emacs, heavily inspired by the classic Linux Conky. It provides a real-time, high-fidelity overview of your system's health, networking, and power status, specifically optimized for multi-interface laptop setups.

License Platform

PRs Welcome Repo Size

Screenshots

Screenshot Emacs 28.2 Screenshot Emacs 29.3

Features

  • Smart Networking Table: Lists all IPv4 and Global IPv6 addresses with precise column alignment, ignoring local fe80 addresses.
  • Intelligent Battery Monitor: Automatically detects battery presence. Displays a progress bar and status (AC/Discharging) or hides itself on desktops/servers.
  • Resource Visualization: Clean ASCII bars for CPU and Memory usage with "shielded" logic to handle null values.
  • Traffic Monitoring: Real-time Download and Upload speeds (in kb/s) using symon logic adapted for modern interface names.
  • Modular Architecture: Built as an independent project with symon as a dependency, allowing for a clean versioning cycle.

Installation

Prerequisites

eConky depends on the symon package for its core metric collection.

  1. Ensure you have symon installed: M-x package-install RET symon RET.
  2. Clone this repository into your load path:
    git clone [https://github.com/Jeremias-A-Queiroz/econky.git](https://github.com/Jeremias-A-Queiroz/econky.git) ~/.emacs.d/lisp/econky
    

Basic Configuration

Add the following to your init.el:

(add-to-list 'load-path "~/.emacs.d/lisp/econky")
(require 'econky)

;; The dashboard is started manually or via hooks
;; M-x econky-start

Usage

  • M-x econky-start: Initializes the *econky* buffer and starts the 2-second refresh timer.
  • M-x econky-stop: Stops the refresh timer.

Pro Setup: The 80/20 Layout (emacsclient)

A common use case for eConky is to have it automatically appear when opening a new Emacs frame via emacsclient -c, creating a dedicated system monitoring area.

Add the following hook to your init.el. It ensures that when a new frame is created, the window is split: 80% for your work (*scratch* or current buffer) and 20% pinned on the right for eConky.

(defun my/setup-econky-frame (frame)
  "Configura o layout 80/20 ao abrir um novo frame via emacsclient."
  (with-selected-frame frame
    (let ((econky-buffer (get-buffer-create "*econky*")))
      ;; 1. Inicia o timer do eConky caso nĂŁo esteja rodando
      (econky-start)
      
      ;; 2. Divide a janela: 80% esquerda, 20% direita
      (let ((window-side (split-window-right (- (window-total-width) 
                                                (/ (window-total-width) 5)))))
        ;; 3. Garante o foco no scratch Ă  esquerda
        (switch-to-buffer "*scratch*")
        
        ;; 4. Exibe o eConky na janela da direita
        (set-window-buffer window-side econky-buffer)
        
        ;; 5. Torna a janela 'dedicada' para evitar que outros 
       ;; buffers ocupem o lugar do eConky
        (set-window-dedicated-p window-side t)))))

;; Ativa o layout apenas para novos frames criados (ex: emacsclient -c)
(add-hook 'after-make-frame-functions #'my/setup-econky-frame)

License

This project is licensed under the GNU General Public License v3.0.


Created with focus on performance and aesthetics for the emacs environment.