StickersManager is a Windows sticker management tool built with C++20 and Qt 6.10.1. It manages sticker packs from local folders.
- Multi-window — one window per library
- Global hotkeys — customizable shortcuts per library via Win32 hook
- Local folders — subdirectories become categories
- Preview-file filtering — files named
.preview*(or containing.preview.) are excluded from library scanning, search, and statistics - Category tags — name (bottom-left) and sticker count (bottom-right) on category buttons; the Recent category uses a clock as its preview icon
- Sticker tags — file name without extension (top-left), file size (bottom-right), and file type (bottom-left) on each cell
- Recently used — a per-library "Recent" category (first in the panel, default view; hidden while empty) sorted by usage time, recorded on copy, with a clock preview icon and a configurable display limit
- Search — search stickers by filename, categories by name
- Copy — double-click to copy to clipboard
- Preview — right-click for full-size view
- Hot-reload — rescan picks up config/library changes at runtime
- Animated GIF — scroll-in/out lifecycle, zero memory for off-screen cells
- Override system — per-library settings override global defaults
- Settings dialog — 4-tab configuration (General / Libraries / Base / About)
- Update check — About page fetches latest release from GitHub API
StickersManager/
├── CMakeLists.txt
├── resources.qrc
├── assets/ # icons, stylesheet, icon.rc
├── src/
│ ├── main.cpp
│ ├── appinfo.h # version, author, license, URLs
│ ├── core/ # config, library, image loading, cache, input
│ ├── ui/ # mainwindow, tray, dialogs, cells, settings pages
│ └── utils/ # log.hpp, launcher.hpp
└── thirdparty/
└── stb/ # stb_image, stb_image_resize2
Each library is a local folder; every immediate subdirectory becomes a category:
Stickers/
├── Cat/
│ ├── sticker1.png
│ └── sticker2.gif
├── Meme/
│ └── ...
- Supported image formats:
png, jpg, jpeg, gif, bmp, tiff, tif, webp, psd, hdr, tga, ico, svg, heic, heif, avif - Files named
.preview*(or containing.preview.) are excluded from scanning, search, and statistics
App-level settings live next to the executable (relative to [EXE_DIR]):
[EXE_DIR]/.stickersmanager/
├── config.json # default{} defaults + libraries[] (id, path, hotkey, enabled, settings{})
└── settings.json # doubleClickTarget, searchDelayMs, thumbnailCacheSize,
# checkForUpdatesOnStartup, startWithWindows
Configuration is written only on "Save & Reload" in the Settings dialog.
Diagnostics are written to log/log.log relative to the working directory (created/truncated on each start).
喜欢的话就点个star,谢谢喵~ ❤
