Skip to content

Commit

Permalink
Merge pull request #20 from rdp/blank_screen
Browse files Browse the repository at this point in the history
wake up screen on connect [and if no sleep is set]
  • Loading branch information
stweil authored Sep 24, 2019
2 parents 287a50e + 40f6827 commit 2e3fa27
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
7 changes: 5 additions & 2 deletions OSXvnc-server/dimming.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

Bool rfbNoDimming = FALSE;
Bool rfbNoSleep = TRUE;
IOPMAssertionID userActivityLastAssertionId;

static pthread_mutex_t dimming_mutex;
static unsigned long dim_time;
Expand All @@ -25,11 +26,13 @@ static Bool sleep_time_saved = FALSE;
void rfbScreensaverTimer(EventLoopTimerRef timer, void *userData)
{
#pragma unused (timer, userData)
if (rfbNoSleep && rfbClientsConnected())
if (rfbNoSleep && rfbClientsConnected()) {
UpdateSystemActivity(IdleActivity);
// UpdateSystemActivity's seeming replacement:
IOPMAssertionDeclareUserActivity(CFSTR("VNC user is logged in"), kIOPMUserActiveLocal, &userActivityLastAssertionId);
}
}


static int
saveDimSettings(void)
{
Expand Down
3 changes: 3 additions & 0 deletions OSXvnc-server/rfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@

#include "CoreGraphics/CGGeometry.h"

#include <IOKit/pwr_mgt/IOPMLib.h>

#define MAX_ENCODINGS 17

/*
Expand Down Expand Up @@ -602,6 +604,7 @@ extern void rfbPrintStats(rfbClientPtr cl);

extern Bool rfbNoDimming;
extern Bool rfbNoSleep;
extern IOPMAssertionID userActivityLastAssertionId;

extern int rfbDimmingInit(void);
extern int rfbUndim(void);
Expand Down
4 changes: 4 additions & 0 deletions OSXvnc-server/rfbserver.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,10 @@ rfbClientPtr rfbNewClient(int sock) {
rfbCloseClient(cl);
return NULL;
}

// wake up screen in case monitor off (avoid blank VNC screen):
IOPMAssertionDeclareUserActivity(CFSTR("VNC user is logged in"),
kIOPMUserActiveLocal, &userActivityLastAssertionId);

return cl;
}
Expand Down

0 comments on commit 2e3fa27

Please sign in to comment.