aceberg/TrayPumpkin
1
0
Fork
You've already forked TrayPumpkin
0
Fully configurable tray icon and menu
  • C++ 69.2%
  • CMake 19.6%
  • Shell 10.4%
  • Makefile 0.8%
2026年01月21日 00:45:39 +07:00
.github AppImage workflow 2025年12月25日 22:53:02 +07:00
assets Yellow pumpkin 2026年01月21日 00:45:39 +07:00
cmake Release 0.1.6 2025年12月27日 21:40:25 +07:00
packaging Release 0.1.6 2025年12月27日 21:36:23 +07:00
src typo fix 2025年12月28日 00:40:12 +07:00
.gitignore AppImage workflow 2025年12月25日 22:53:02 +07:00
CHANGELOG.md Release 0.1.6 2025年12月27日 21:36:23 +07:00
CMakeLists.txt Default config path 2025年11月28日 19:39:45 +07:00
config.yaml Release 0.1.2 2025年11月22日 03:03:30 +07:00
LICENSE Release 0.1.6 2025年12月27日 21:36:23 +07:00
Makefile Default config path 2025年11月28日 19:39:45 +07:00
README.md Release 0.1.5 2025年12月25日 23:04:26 +07:00

TrayPumpkin


Binary-release

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

  1. Install dependencies. The app needs those packages:
qt5-qtbase, kf5-knotifications, yaml-cpp
  1. Download .tar.gz archive from latest release.
  2. Unpack
tar xvzf tray-pumpkin-*-x86_64.tar.gz
  1. 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

  1. Install dependencies
apt install -y \
 cmake \
 build-essential \
 qtbase5-dev \
 libkf5notifications-dev \
 libyaml-cpp-dev
  1. Clone the repo and build
mkdir -p build
cmake -B build
cd build && make
  1. Run
./build/tray-pumpkin -c config.yaml

Icons

Pumpkin icons created by LAFS - Flaticon