Hyprland Wiki
Contribute to the Wiki!Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Event List

These are all the events that can be listened to using Event Hooks.

Complete list

namedescriptionargument(s)
tickfired on a tick, meaning once per (1000 / highestMonitorHz) msnullptr
activeWindowfired on active window changeCWindow*
keyboardFocusfired on keyboard focus change. Contains the newly focused surfacewlr_surface*
moveWorkspacefired when a workspace changes its monitorstd::vector<void*>{CWorkspace*, CMonitor*}
focusedMonfired on monitor focus changeCMonitor*
moveWindowfired when a window changes workspacestd::vector<void*>{CWindow*, CWorkspace*}
openLayerfired when a LS is mappedCLayerSurface*
closeLayerfired when a LS is unmappedCLayerSurface*
openWindowfired when a window is mappedCWindow*
closeWindowfired when a window is unmappedCWindow*
urgentfired when a window requests urgentCWindow*
minimizefired when a window requests a minimize status change. Second param is 1 or 0std::vector<void*>{CWindow*, uint64_t}
monitorAddedfired when a monitor is plugged inCMonitor*
monitorRemovedfired when a monitor is unpluggedCMonitor*
createWorkspacefired when a workspace is createdCWorkspace*
destroyWorkspacefired when a workspace is destroyedCWorkspace*
fullscreenfired when a window changes fullscreen stateCWindow*
changeFloatingModefired when a window changes float stateCWindow*
workspacefired on a workspace change (only ones explicitly requested by a user)CWorkspace*
submapfired on a submap changestd::string
mouseMovefired when the cursor moves. Param is coords.const Vector2D
mouseButtonfired on a mouse button presswlr_pointer_button_event*
activeLayoutfired on a keyboard layout change. String pointer temporary, not guaranteed after execution of the handler finishes.std::vector<void*>{SKeyboard*, std::string*}
preRenderfired before a frame for a monitor is about to be renderedCMonitor*
screencastfired when the screencopy state of a client changes. Keep in mind there might be multiple separate clients.std::vector<uint64_t>{state, framesInHalfSecond, owner}
renderfired at various stages of rendering to allow your plugin to render stuff. See src/SharedDefs.hpp for a list with explanationseRenderStage
windowtitleemitted when a window title changes.CWindow*