A Path of Exile price-check overlay for the COSMIC desktop. Native Rust and Wayland — no Electron — in the spirit of Awakened PoE Trade, which does not run well on Wayland compositors like COSMIC's.
Hover an item in game, press Ctrl+Alt+D, and a layer-shell overlay pops up with the item parsed into adjustable trade filters and live prices from the official trade site.
- One-hotkey price check — copies the hovered item (XTest into the XWayland game, the same mechanism Awakened uses) and opens the overlay
- Interactive trade filters, grouped by Enchants / Implicits / Prefixes / Suffixes: per-affix checkbox and editable min/max, applied when you press Search — adjust and re-search until the comparables make sense
- Type badges —
fractured/crafted/veiled/scourgemods are labeled; click the badge to toggle between "must be that type" and "match as a plain explicit". Crafted mods start unchecked (buyers re-craft) - Pseudo totals — spread resistances fold into
+#% total Elemental Resistance(and total chaos res / total life), the way rares actually price; per-statpseudotoggles search item-wide totals - Weapon DPS — pDPS / eDPS / total DPS computed from the item and
searchable as
weapon_filters, dominant kind prefilled - Sockets/links, corrupted, and listing-status filters; league picker fetched from the API and remembered
- Currency, fragments, scarabs, essences, fossils, oils, and divination cards price via poe.ninja — whose currency rates come from the in-game currency exchange — cached locally for 30 minutes
- Open in browser — jump to the exact search on pathofexile.com/trade
- Local/global stat disambiguation (
+# to Armouron a chest is the Local stat), advanced and simple clipboard formats, eldritch implicits, and the official trade API's rate limits respected across runs
- COSMIC desktop (uses wlr-layer-shell for the overlay and COSMIC custom shortcuts for the hotkey; other wlr compositors are untested)
- Path of Exile 1 running under Steam/Proton (XWayland) — PoE 2 support is planned
- English game client
wl-clipboard(wl-paste/wl-copy)- Clipboard access enabled in COSMIC: set
COSMIC_DATA_CONTROL_ENABLED=1session-wide (e.g. in~/.config/environment.d/cosmic.conf, then re-log) - Rust via rustup to build (distro Rust packages may fail the build)
cargo install --git https://github.com/jdoss/poechkThen bind the hotkey in COSMIC Settings → Input Devices → Keyboard → Keyboard Shortcuts → Custom Shortcuts:
| Field | Value |
|---|---|
| Name | poechk price check |
| Command | /home/YOU/.cargo/bin/poechk check --copy |
| Shortcut | Ctrl+Alt+D |
(Equivalent RON, if you prefer editing
~/.config/cosmic/com.system76.CosmicSettings.Shortcuts/v1/custom directly:)
(
modifiers: [Ctrl, Alt],
key: "d",
description: Some("poechk price check"),
): Spawn("/home/YOU/.cargo/bin/poechk check --copy"),-
Hover an item in game and press Ctrl+Alt+D.
-
The overlay opens with the item parsed: pseudo totals and prefilled affix filters (uniques start name-only; crafted mods and implicits start unchecked — tick the implicits you actually want to pay for).
-
Adjust — toggle affixes, edit min/max, cycle
Instant Buyout / Online / AnyandCorrupted, set sockets/links or DPS floors — then press Search. Gear searches its whole class by default (Class: Dagger), since one base type is usually too thin a market to price against. Click it forBase: Ambusherwhen the base itself is what you're selling. Items defined by their base — maps, flasks, cluster jewels — always search the base.Every ticked affix has to match — which ones you tick is what decides the price, so nothing is dropped for you. Each is floored at its mod's tier rather than at the exact roll, so a listing rolling
83 to 177still matches your91 to 172. The Rolls slider moves that floor: left pins the exact roll, the default sits on the tier, right reaches past it. -
Cheapest listings show as price bands with the total match count. Open in browser lands on the same search on the trade site.
-
Esc (or clicking away) closes the overlay.
Run PoE in windowed fullscreen — exclusive fullscreen can hold a keyboard grab that blocks compositor shortcuts.
If you'd rather not have poechk inject the copy keystroke, bind the shortcut
to poechk check (without --copy) and press Ctrl+Alt+C yourself before the
hotkey.
Searches work without an account, but unauthenticated rate limits are low. To
search as your account (higher limits, private leagues), give poechk your
trade-site session cookie in ~/.config/poechk/config.toml:
poesessid = "your-cookie-value"Get the value from a browser logged into pathofexile.com: DevTools → Storage/
Application → Cookies → POESESSID. Treat it like a password — it is your
login. poechk only sends it to www.pathofexile.com.
A check launched from a desktop shortcut has no terminal, so poechk writes to
~/.local/state/poechk/:
| file | contents |
|---|---|
checks.jsonl |
one JSON object per event: the item text, the parsed item, the exact search body sent to the trade API, and the raw responses |
poechk.log |
the same messages that go to stderr |
Both roll over at 32 MB, keeping one previous file (.1). Every line of a
single check shares a check id, so to read the last check:
tail -1 ~/.local/state/poechk/checks.jsonl | jq -r .check |
xargs -I{} rg '"check":"{}"' ~/.local/state/poechk/checks.jsonl | jq .Useful when a price looks wrong: search_req.body is exactly what was asked
for, and search_resp.body is exactly what came back.
Your POESESSID is never written — only whether one was sent. Listings do
carry seller account names, so the log is about as private as your trade
history.
One binary, no daemon. The COSMIC shortcut spawns poechk check --copy,
which seeds the clipboard with a sentinel, fakes Ctrl+Alt+C into the game via
XTest (PoE runs under XWayland), polls until the item text lands, parses it
against vendored stat/item data, and opens a wlr-layer-shell overlay
(libcosmic's iced fork) that talks to the official trade API — search +
fetch, honoring the x-rate-limit-* headers across runs. Exchange-traded
items skip the trade site and read poe.ninja's cached economy feed instead.
- Awakened PoE Trade (MIT) —
the reference for the parsing pipeline and the vendored stat/item data
(see
NOTICE), itself derived via RePoE - poe.ninja — economy reference prices
- libcosmic — layer-shell UI
poechk is fan-made and is not affiliated with or endorsed by Grinding Gear Games. Path of Exile is a trademark of Grinding Gear Games.
MIT. The vendored data/ files derive from Path of Exile game
data; see NOTICE.
