aceberg/TrayPumpkin
Fully configurable tray icon and menu
- C++ 69.2%
- CMake 19.6%
- Shell 10.4%
- Makefile 0.8%
|
|
||
|---|---|---|
| .github | AppImage workflow | |
| assets | Yellow pumpkin | |
| cmake | Release 0.1.6 | |
| packaging | Release 0.1.6 | |
| src | typo fix | |
| .gitignore | AppImage workflow | |
| CHANGELOG.md | Release 0.1.6 | |
| CMakeLists.txt | Default config path | |
| config.yaml | Release 0.1.2 | |
| LICENSE | Release 0.1.6 | |
| Makefile | Default config path | |
| README.md | Release 0.1.5 | |
TrayPumpkin
Fully configurable tray icon and menu.
- Icon: can be changed on command
- Menu: shows a user-defined menu that allows to run custom scripts
- Left click: runs a command
- Second Left click (toggle): runs another command
- Each command can change Icon and app Tooltip
| Menu | Tray | User defined icon (Tux) |
|---|---|---|
| Screenshot1 | Screenshot2 | Screenshot2 |
Install
There are only packages for x86_64 arch right now.
AppImage
.AppImage can be downloaded from latest release.
DEB
.deb package can be downloaded from latest release or from my ppa repo.
RPM
.rpm package can be downloaded from latest release.
TAR.GZ
- Install dependencies. The app needs those packages:
qt5-qtbase, kf5-knotifications, yaml-cpp
- Download
.tar.gzarchive from latest release. - Unpack
tar xvzf tray-pumpkin-*-x86_64.tar.gz
- Install
cd tray-pumpkin-*-x86_64
sudo ./install.sh
Run
tray-pumpkin
By default, the app will look in ~/.config/TrayPumpkin/config.yaml for config file. If there is none, it will copy default config example there.
To set another config path, run:
tray-pumpkin -c /my/path/config.yaml
Config
Each config item has name, cmd, icon and tooltip. You can skip some of them, as in the config.yaml example:
# app configapp:name:"Tray Pumpkin"# App nametooltip:"Pumpkin tray utility"# Dafault tooltipicon:"assets/pumpkin-green.png"# Dafault iconcmd:"notify-send 'Tray Pumpkin Started'"# This cmd is optional and runs only at the start# optional, runs on first left clickleft_click:cmd:"sh ~/myscript.sh start && notify-send 'Start'"icon:"assets/pumpkin-orange.png"tooltip:"MyApp"# optional, runs on second left clickleft_click_toggle:cmd:"sh ~/myscript.sh stop && notify-send 'Stop'"icon:"assets/pumpkin-green.png"tooltip:"Pumpkin tray utility"# optional, runs on quitquit:cmd:"killall xpenguins && notify-send 'All stopped'"# optional, right click menu# name and cmd are required for every menu item except separatormenu:- name:"Edit config.yaml"cmd:"gedit config.yaml"- separator:true- name:"Start MyApp-1"cmd:"sh ~/myscript.sh start && notify-send 'Start'"icon:"assets/pumpkin-orange.png"tooltip:"MyApp"- name:"Stop MyApp-1"cmd:"sh ~/myscript.sh stop && notify-send 'Stop'"icon:"assets/pumpkin-line.png"tooltip:"Pumpkin tray utility"- separator:true- name:"Penguins Big"cmd:"xpenguins --theme 'Big Penguins' -a -b"icon:"assets/tux.png"- name:"Penguins Stop"cmd:"killall xpenguins"icon:"assets/pumpkin-green.png"Build
- Install dependencies
apt install -y \
cmake \
build-essential \
qtbase5-dev \
libkf5notifications-dev \
libyaml-cpp-dev
- Clone the repo and build
mkdir -p build
cmake -B build
cd build && make
- Run
./build/tray-pumpkin -c config.yaml