docs: add project README
This commit is contained in:
commit
d4134ccb0d
2 files changed
+142
No files matched your search
@@ -0,0 +1,2 @@
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
@@ -0,0 +1,140 @@
|
||||
# cinnamon-tweaks
|
||||
|
||||
Two small GTK 3 desktop utilities for the Cinnamon desktop environment, each
|
||||
one built around the same frustration: a setting you change often enough to
|
||||
resent how many clicks it takes to reach through Cinnamon Settings.
|
||||
|
||||
| Tool | Replaces | Interface |
|
||||
| --- | --- | --- |
|
||||
| [`shortcut-manager`](#shortcut-manager) | Settings → Keyboard → Shortcuts → Custom Shortcuts | GTK window, menu launcher |
|
||||
| [`panel-tweaks`](#panel-tweaks) | Settings → Panel | GTK window, menu launcher |
|
||||
|
||||
Neither tool invents its own storage. Both read and write exactly the same
|
||||
gsettings/dconf keys Cinnamon itself uses, so every change is live immediately,
|
||||
survives logout, and shows up in Cinnamon Settings as if you had made it there.
|
||||
Nothing needs to be restarted and no daemon runs in the background.
|
||||
|
||||
They install independently — take one, both, or neither.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Cinnamon (the tools read `org.cinnamon.*` gsettings schemas, so they will not
|
||||
do anything useful on GNOME, KDE or anything else)
|
||||
- Python 3
|
||||
- PyGObject with GTK 3
|
||||
- `dconf` command-line tool — used by `shortcut-manager` to discover orphaned
|
||||
shortcut slots and to delete shortcuts cleanly. Optional; the tool degrades
|
||||
gracefully if it is missing.
|
||||
|
||||
On Linux Mint and other Debian derivatives:
|
||||
|
||||
```bash
|
||||
sudo apt install python3-gi gir1.2-gtk-3.0 dconf-cli
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## shortcut-manager
|
||||
|
||||
A window that lists every custom keyboard shortcut registered on your desktop
|
||||
and lets you add, edit and delete them.
|
||||
|
||||
### Features
|
||||
|
||||
- **One list of everything.** Name, key combo and command for every custom
|
||||
shortcut, in one sortable table.
|
||||
- **Capture instead of type.** The shortcut field records the next combination
|
||||
you press rather than asking you to spell out `<Super><Shift>T`. Escape or
|
||||
Backspace clears it.
|
||||
- **Conflict warnings.** Before you save, the dialog tells you if the
|
||||
combination is already taken — by another custom shortcut, or by a built-in
|
||||
one. It checks the Cinnamon desktop, window manager, media-key, Muffin and
|
||||
GNOME window-manager schemas.
|
||||
- **Command presets.** The new-shortcut dialog offers quick-fill commands for
|
||||
a terminal, file manager, screen lock, screenshot tools, volume mute, browser
|
||||
and text editor. Only presets whose binary is actually installed are offered,
|
||||
so the list never suggests a command that would fail.
|
||||
- **No orphans.** New shortcuts claim the lowest free `customN` slot, taking
|
||||
into account slots left behind in dconf by other tools, and deleting a
|
||||
shortcut resets its dconf path rather than just unlisting it.
|
||||
|
||||
### Installing
|
||||
|
||||
```bash
|
||||
cd shortcut-manager
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Copies the app into `~/.local/share/cinnamon-shortcut-manager` and adds a
|
||||
"Custom Shortcuts" launcher to your applications menu under Settings.
|
||||
|
||||
To run it without installing:
|
||||
|
||||
```bash
|
||||
python3 shortcut-manager/shortcut_manager.py
|
||||
```
|
||||
|
||||
### Where the settings live
|
||||
|
||||
Cinnamon stores custom shortcuts as a relocatable schema. Each one lives at
|
||||
`/org/cinnamon/desktop/keybindings/custom-keybindings/customN/` with `name`,
|
||||
`command` and `binding` keys, and the list of active ids sits in `custom-list`
|
||||
under `org.cinnamon.desktop.keybindings`. This tool writes precisely those, so
|
||||
anything it creates is indistinguishable from a shortcut made by hand.
|
||||
|
||||
---
|
||||
|
||||
## panel-tweaks
|
||||
|
||||
A window with the handful of panel settings worth a one-click toggle.
|
||||
|
||||
### Features
|
||||
|
||||
- **Auto-hide** the panel on or off.
|
||||
- **Edit mode** on or off — the mode that lets you drag applets around the
|
||||
panel.
|
||||
- **Panel height** on a slider, from 20 to 80 pixels, applied live as you drag.
|
||||
- **Applet list** for the panel, with a checkbox to enable or disable each one.
|
||||
|
||||
### Installing
|
||||
|
||||
```bash
|
||||
cd panel-tweaks
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Copies the app into `~/.local/share/cinnamon-panel-tweaks` and adds a "Panel
|
||||
Tweaks" launcher to your applications menu under Settings.
|
||||
|
||||
To run it without installing:
|
||||
|
||||
```bash
|
||||
python3 panel-tweaks/panel_tweaks.py
|
||||
```
|
||||
|
||||
### Limitations worth knowing
|
||||
|
||||
- **It only manages one panel.** If you have several panels configured, the tool
|
||||
operates on the first one listed in `panels-enabled` and ignores the rest.
|
||||
- **Disabling an applet is one-way within a session.** Unchecking an applet
|
||||
removes it from `enabled-applets` immediately. You can re-check the box while
|
||||
the window is still open, but once you close and reopen the tool the applet is
|
||||
no longer in the list, and you will need Cinnamon Settings to bring it back.
|
||||
- It deliberately does not try to be a layout editor or an applet manager.
|
||||
That is Cinnamon Settings' job; this is a shortcut to the knobs used often.
|
||||
|
||||
### Where the settings live
|
||||
|
||||
All under the `org.cinnamon` schema: `panels-enabled`, `panels-autohide`,
|
||||
`panels-height`, `panel-edit-mode` and `enabled-applets`.
|
||||
|
||||
---
|
||||
|
||||
## Tested on
|
||||
|
||||
Linux Mint 22.2 with Cinnamon, on an X11 session. Both tools depend on Cinnamon
|
||||
schemas specifically and are not expected to work on other desktops.
|
||||
|
||||
## Licence
|
||||
|
||||
No licence has been chosen yet.
|
||||
Reference in new issue
Block a user