lolPing README

The project's README from github.com/darrenprx/lolPing. As one markdown file: README.md.


lolPing

English | 简体中文

League of Legends pings and emotes for your whole desktop, on Windows and macOS.
Hold Alt (⌥ Option on a Mac), drag, and let go on a ping. The animation pops and the sound plays on top of any app, on any monitor.
Hold Ctrl (⌃ Control on a Mac) and drag for the emote wheel: League's emotes, or your own images.

Download for Windows · Download for Mac (Apple Silicon, experimental)

CI Latest release MIT license

An app freezes with a not-responding dialog, and the ping wheel drops three Enemy Missing pings on it

Pings and emotes show up in whole-screen capture, so friends watching your Discord or OBS stream see them too. lolPing is a desktop toy: it doesn't read, change or hook into League itself.

Install

Windows

  1. Download lolPing-Setup-<version>.exe from the latest release.
  2. Run it. The installer isn't code-signed, so Windows SmartScreen may say "Windows protected your PC". Select More info, then Run anyway.
  3. lolPing opens its settings and moves to the tray. Hold Alt and drag anywhere to ping.

lolPing is built for Windows 11, 64-bit. Windows 10 may work, but it isn't tested.

macOS (experimental)

The Mac version needs an Apple Silicon Mac (M1 or later) and macOS 12 or later. It is built and tested automatically, but hasn't had much use on real Macs yet. Please report anything that doesn't work.

  1. Download lolPing-<version>-arm64.dmg from the latest release, open it, and drag lolPing into Applications.
  2. Open lolPing. It isn't signed by a registered Apple developer, so macOS says it can't check it for malware. Select Done, open System Settings → Privacy & Security, scroll down, select Open Anyway next to the lolPing message, and confirm. If macOS instead says lolPing "is damaged", run xattr -dr com.apple.quarantine /Applications/lolPing.app in Terminal and open it again.
  3. lolPing asks for Accessibility access, which it needs to read the mouse and keyboard. Select Open System Settings and turn lolPing on. Pinging starts as soon as it's allowed.
  4. lolPing lives in the menu bar. Hold ⌥ Option and drag anywhere to ping.

After every update, macOS forgets the Accessibility permission, because the app isn't signed with a fixed developer identity. In Privacy & Security → Accessibility, select lolPing, remove it with –, then turn it on again. The settings window walks you through it.

Updating an older version

Updating from v0.4 or earlier: download the new version by hand once. From v0.5 on, lolPing updates itself (see Updates).

Use

To Do this
Ping Hold Alt, drag, and let go on a slice
Emote Hold Ctrl, drag, and let go on an emote
Cancel Let go in the centre, right-click, or press Esc
Pause or resume pinging Ctrl + Alt + P
Open settings Click the tray icon
Quit, or restart the input helper Right-click the tray icon

On a Mac, use ⌥ Option instead of Alt, ⌃ Control instead of Ctrl for emotes, ⌃⌥P to pause, and the ping icon in the menu bar instead of the tray icon.

The wheel, from the top going clockwise: Danger, Push, On My Way, All In, Assist Me, Need Vision, Enemy Missing, Enemy Vision. You can rearrange it and add Bait or Vision Cleared in settings. The emote wheel has 8 slots too, and you pick its emotes in settings.

Settings

The lolPing settings window, with sections for trigger, toggle, pings and sound, wheel, emotes, room and app

Settings are saved in %APPDATA%\lolPing\settings.json on Windows and ~/Library/Application Support/lolPing/settings.json on a Mac.

Updates

lolPing checks GitHub for a new version 10 seconds after it starts, then every 6 hours. When there is one, you get a notice on screen, and the tray menu and Settings → App → About offer Update. It asks first: nothing downloads until you click.

Ping with friends (rooms)

Join a room and everyone in it sees your pings on their own screen, at the same spot (scaled to their resolution), with your name under them. Their pings show up on yours. It works between Windows and Mac.

  1. One person opens Settings → Room (or the tray menu → Room) and clicks Create room.
  2. They copy the code, such as PING-7KQ4M-2HXTR, and send it to friends.
  3. Each friend copies it and clicks Join from clipboard in the tray menu, or pastes it into the Room page and clicks Join.

Known limitations

Build from source

You need Node 22.12 or later, plus:

npm install
npx install-electron
npm run build:helper
npm run dev

npx install-electron downloads the Electron binary that npm run dev needs.

Command What it does
npm test TypeScript tests, including a protocol test that runs the real helper in --simulate mode
npm run test:helper Builds the helper and runs its C++ tests
npm run typecheck Type-checks everything
npm run dist Builds the Windows installer into release/
npm run dist:mac Builds the Mac disk image into release/ (on a Mac)
npm run dev:site Serves a browser demo of the wheel (site/)
npm run media Re-records docs/media/demo.gif and docs/media/og.png from that demo (needs ffmpeg)
node tools/room-peer/run.mjs <code> Joins a room as a fake member that pings at random, to try rooms with one computer; --relay joins through the relays and --emotes also sends emotes (see tools/room-peer)
node tools/relay-probe/run.mjs Tests which public Nostr relays can carry rooms; it chose the list in src/main/relays.ts (see tools/relay-probe)

Releasing

Bump version in package.json, commit, then push a matching tag such as v0.2.0. The Release workflow creates the GitHub release as a draft. The Windows job attaches the installer, latest.yml and the installer's .blockmap, and the Mac job attaches the disk image. electron-updater needs both latest.yml and the .blockmap to update installed copies. A last job publishes the release once everything is attached.

How it works

Ping assets

The icons in assets/textures and the sounds in assets/sounds come from a local League of Legends install. tools/extract-assets explains how to extract them again after a patch. The emote animations, icons and sounds in assets/emotes are © Riot Games too, and tools/extract-assets --emotes bakes them from the same install.

License

The code is under the MIT license. The ping and emote icons, animations and sounds are © Riot Games and aren't covered by it. If you represent Riot Games and want something removed, please open an issue.

lolPing isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

lolPing (darrenprx/lolPing)

Searching Database…

1.5K ·GitHub
What is this?lolPing puts the League of Legends ping wheel and emote wheel onto your whole desktop: hold Alt (Option on a Mac), drag, and let go on a slice to play the original ping animation and sound over any app, on any monitor.
Does it hook into the League of Legends client to do this?No. lolPing is a standalone desktop overlay that intercepts your Alt+drag gesture at the OS level; it never reads, modifies or connects to the League game itself.
Any known limitations?The wheel can't open over elevated windows like Task Manager since Windows hides their input, exclusive-fullscreen games draw above the overlay, and sharing just one window in a stream won't show your pings (you need to share the whole screen).
Does it work on Mac, or only Windows?Both, but macOS support is experimental and limited to Apple Silicon Macs (M1 or later) on macOS 12+; it hasn't seen much real-world use on Macs yet.
What data does it send when checking for updates or pinging with friends in a room?Update checks only tell GitHub your IP address and lolPing's version. Room pings, emotes and names are end-to-end encrypted with a key derived from the room code; public relays can see your IP and an anonymous room ID but never the content.
How do I ping together with friends remotely?Create a room from the tray menu, share the generated code (like PING-7KQ4M-2HXTR), and friends join it; pings travel over the local network or, with internet connections allowed, through public Nostr relays so anyone can join from anywhere.
Can I use my own pictures as emotes?Yes, you can add up to 24 custom PNG, JPG, GIF or WebP images to the emote wheel by clicking Add image or dropping a file onto the list; animated images only play on your own screen.
Can I change the trigger key from Alt?Yes, in Settings you can set the trigger to Alt, Ctrl, Shift, Win, Caps Lock, Mouse 4, Mouse 5 or any other key, and a separate key for emotes.
How many people can be in a ping room together?A room holds up to 8 people; you leave and create a new room if you need to remove someone.
Creator
darrenprx
Size
65.5 MB
Stars
1.5K
Age
14d
Commits · 90 Days