About
Get the current state of "Focus Assist" / "Quiet Hours" and/or check the state of the computer for the current user to determine whether sending a notification is appropriate.
This is a FFI wrapper to the Windows win32 shell API SHQueryUserNotificationState and the undocumented WNF (Windows Notification Facility) API NtQueryWnfStateData.
Example
import { queryUserNotificationState } from "notification-state-ffi";
const state = queryUserNotificationState();
console.log(state);
const state = queryUserNotificationState({translate: false});
console.log(state);
You can use this to easily know if an application is currently running in fullscreen (main monitor):
import { isFullscreenAppRunning } from "notification-state-ffi";
if (isFullscreenAppRunning()){
}
Focus assist / quiet hours
import { queryFocusAssistState } from "notification-state-ffi";
const state = await queryFocusAssistState({translate: true});
console.log(state);
Installation
npm install notification-state-ffi
API
⚠️ This module is only available as an ECMAScript module (ESM)
Named export
queryUserNotificationState(option?: object): Promise<number | string
>
Checks the state of the computer for the current user to determine whether sending a notification is appropriate.
⚙️ Options:
- translate?: boolean (true)
When a value is known it will be 'translated' to its string equivalent value otherwise its integer value.
If you want the raw data only set it to false.
Return value:
✔️ If this function succeeds, it returns QUERY_USER_NOTIFICATION_STATE.
❌ Otherwise, it throws with the corresponding HRESULT error code.
Example:
queryUserNotificationState({translate: true})
queryUserNotificationState({translate: false})
isFullscreenAppRunning(): Promise<boolean>
Uses queryUserNotificationState()
to easily know if an application is currently running in fullscreen on the user's primary display.
Return value:
✔️ Returns whether an application is currently running in fullscreen.
If queryUserNotificationState()
fails then false
is assumed.
queryFocusAssistState(option?: object): Promise<number | string
>
Get the current state of "Focus Assist" / "Quiet Hours".
⚠ WNF (Windows Notification Facility) is an undocumented Windows API !
This API can change/break at any time in the future.
⚙️ Options:
- translate?: boolean (true)
When a value is known it will be 'translated' to its string equivalent value otherwise its integer value.
If you want the raw data only set it to false.
Return value:
✔️ If this function succeeds, it returns the current state.
❌ Otherwise, it throws with the corresponding NTSTATUS error code.
Example:
queryFocusAssistState({translate: true})
queryFocusAssistState({translate: false})