The package desktop-environment provides commands and a global minor mode to control your GNU/Linux desktop from Emacs.
With desktop-environment, you can control the brightness and volume as well as take screenshots and lock your screen. The package depends on the availability of shell commands to do the hard work for us. These commands can be changed by customizing the appropriate variables.
The global minor mode desktop-environment-mode
binds standard keys
to provided commands: e.g., <XF86AudioRaiseVolume>
to raise the
volume, <print>
to take a screenshot, and <s-l>
to lock the
screen.
Add the following to your initialization file:
(add-to-list 'load-path "~/.emacs.d/lib/desktop-environment/")
(require 'desktop-environment)
If you want all commands to be bound to keys, add this line after the ones above:
(desktop-environment-mode)
The following table summarizes the available commands and their
keybinding if desktop-environment-mode
is enabled:
Command | Key binding |
---|---|
desktop-environment-brightness-increment | <XF86MonBrightnessUp> |
desktop-environment-brightness-decrement | <XF86MonBrightnessDown> |
desktop-environment-brightness-increment-slowly | S-<XF86MonBrightnessUp> |
desktop-environment-brightness-decrement-slowly | S-<XF86MonBrightnessDown> |
desktop-environment-volume-increment | <XF86AudioRaiseVolume> |
desktop-environment-volume-decrement | <XF86AudioLowerVolume> |
desktop-environment-volume-increment-slowly | S-<XF86AudioRaiseVolume> |
desktop-environment-volume-decrement-slowly | S-<XF86AudioLowerVolume> |
desktop-environment-toggle-mute | <XF86AudioMute> |
desktop-environment-toggle-microphone-mute | <XF86AudioMicMute> |
desktop-environment-screenshot-part | S-<print> |
desktop-environment-screenshot | <print> |
desktop-environment-lock-screen | s-l |
desktop-environment-toggle-wifi | <XF86WLAN> |
desktop-environment-toggle-bluetooth | <XF86Bluetooth> |
To use every commands desktop-environment provides, the following packages must be available on your system:
- Volume: amixer
- Brightness: brightnessctl
- Screenshot: scrot
- Screenlock: slock
- Keyboard backlight: upower
- Wifi and bluetooth: TLP
See COPYING. Copyright (c) 2018 Damien Cassou.