mirror of
https://github.com/mpv-player/mpv
synced 2025-01-24 00:23:27 +00:00
w32: enable screensaver when paused
This is quite similar to the previous commit. Untested. I'm not sure if this is how it's supposed to work. At least --no-stop-screensaver should work in any case.
This commit is contained in:
parent
f1d3ba0e33
commit
118a2a359f
@ -176,10 +176,13 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
switch (wParam) {
|
||||
case SC_SCREENSAVE:
|
||||
case SC_MONITORPOWER:
|
||||
if (w32->disable_screensaver) {
|
||||
mp_msg(MSGT_VO, MSGL_V, "vo: win32: killing screensaver\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case WM_KEYDOWN:
|
||||
case WM_SYSKEYDOWN: {
|
||||
int mpkey = lookup_keymap_table(vk_map, wParam);
|
||||
@ -672,6 +675,7 @@ static void vo_w32_ontop(struct vo *vo)
|
||||
|
||||
int vo_w32_control(struct vo *vo, int *events, int request, void *arg)
|
||||
{
|
||||
struct vo_w32_state *w32 = vo->w32;
|
||||
switch (request) {
|
||||
case VOCTRL_CHECK_EVENTS:
|
||||
*events |= vo_w32_check_events(vo);
|
||||
@ -696,6 +700,12 @@ int vo_w32_control(struct vo *vo, int *events, int request, void *arg)
|
||||
} else {
|
||||
while (ShowCursor(0) >= 0) { }
|
||||
}
|
||||
case VOCTRL_KILL_SCREENSAVER:
|
||||
w32->disable_screensaver = true;
|
||||
break;
|
||||
case VOCTRL_RESTORE_SCREENSAVER:
|
||||
w32->disable_screensaver = false;
|
||||
break;
|
||||
}
|
||||
return VO_NOTIMPL;
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ struct vo_w32_state {
|
||||
uint32_t o_dwidth;
|
||||
uint32_t o_dheight;
|
||||
|
||||
bool disable_screensaver;
|
||||
int event_flags;
|
||||
int mon_cnt;
|
||||
int mon_id;
|
||||
|
Loading…
Reference in New Issue
Block a user