Skip to content

whhone/gws.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gws.el

An Emacs package for reading and managing Gmail using gws, the Google Workspace CLI.

Features

  • Inbox list with date, sender, subject, and labels
  • Full email rendering (HTML via shr, plain text fallback)
  • Archive, label, and read/unread management
  • Search with arbitrary Gmail queries
  • Quick navigation to Inbox, Starred, Snoozed, Sent, Drafts, All Mail
  • Open any email or thread in a browser

Requirements

  • Emacs 27+ (uses libxml-parse-html-region, transient, shr)
  • gws, the Google Workspace CLI, set up and authenticated

Installation

Place gws.el and gws-gmail.el on your load-path:

(add-to-list 'load-path "/path/to/gws")
(require 'gws-gmail)

Optionally set the path to the gws binary if it is not on $PATH:

(setq gws-binary-path "/path/to/gws")

Screenshots

Search view (gws-gmail-search-mode)

Inbox

Email view (gws-gmail-email-mode)

Email view

Usage

Open the inbox

M-x gws-gmail

Inbox keybindings (gws-gmail-search-mode)

Key Action
RET Open email at point
e Archive email(s)
r Mark as read
u Mark as unread
+ Add label
- Remove label
s Search / change query
G Refresh
g Navigation menu

Select a region to act on multiple emails at once.

Email view keybindings (gws-gmail-email-mode)

Key Action
n Next email
p Previous email
e Archive
+ Add label
- Remove label
G Refresh
g Navigation menu

Development

Run tests:

make test

Run lint:

make lint

About

Google Workspace Integration for Emacs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors