Description
Badge notifications based on activity.
1. COMPATIBILITY
Most of you know that for applying a badge to the parent icon we need to have the application ungrouped. So, basically for this, we need to use Win32 API -> SetCurrentProcessExplicitAppUserModelID, which must be called during the application’s initial startup routine, before presents any UI, basically in the initialization of singleton class would be fine.
Before doing the ungroup of the taskbar, we’ve to check the operating system version, since there’re many players in metin2 who still using XP/Vista and this feature is working since Windows 7+. So there’s a function called IsWindowsCompatibleVersion which check if the version is at least Windows7 then trying to do the ungroup and if successful then set a variable m_isWindowsCompatible to true, so we can check later other functions with it, that means the feature will be totally disabled for those who aren’t compatible.
2. CACHE FEATURES
When the application is created it’s loading all resources and creates only one object on the local system for the taskbar interface.
3. FEATURES
– Show badges on the taskbar (ON/OFF) Show badges on the taskbar (ON/OFF)
– Counted flashes, using small taskbar icons + badge option
4. ACTIVITY
Whisper messages
- There are many scenarios related to application active, whisper window opened and focused.
Exchange
- When an exchange window is opened.
Fishing
- When you catch a fish.
Big notice
- When the staff makes a big notice announcement.
Duel request
- When a player sends a duel request.
Friend request
- When you receive a friend request.
- Added multi friend request as well. (Click here)
Party/Guild/Guild war request
- When you receive a request.
5. SETTINGS
- Everything is written in C++.
- You can add how many activities you want.
- Play a sound specified by the given file name, resource, or system event, the sound is played asynchronously.
- Available a python module that you can use where you want just by calling:
import badge
badge.Notification(badge.ACTIVITY_OFFLINESHOP_SEEN, True)