Git Product home page Git Product logo

screensaverkit's Introduction

ScreensaverKit

Main

About

ScreensaverKit is a screensaver toolkit written in Delphi, that supports easily building screensavers for Windows platform.

Features

  • Multi monitor support (duplicates across all monitors)
  • Provides hotkey binding internally
  • Provides settings supports for options persistence
  • Supports building screensavers for Windows 10 platform
  • True screensaver mode (hide taskbar, full screen, etc.)
  • Single instance checks to disallow screensaver from running more than once
  • Mouse and keyboard detection to exit the screensaver has been optimized
  • Handling external changes to screensaver screen(s)

Demo features

  • Supports IE rendering engine
  • Customizable URL
  • Customizable splash background color and logo (default is black without logo)
  • Hotkey binding to start screensaver (Achieved by accessing the screensavers settings, and clicking on create shortcut, which creates a desktop shortcut binded to the hotkey Ctrl+Alt+L)
  • An indefinite progress bar that reacts to normal and erroneous url loading
  • Support for JPG logos
  • Made embedded IE chromeless (no scrollbars, no borders, no clickable content)

Prerequisites

The ScreensaverKit library has no external dependencies on third party libraries or frameworks.

But the demo examples utilize modules from JCL and JVCL, therefore you must have it installed into your Delphi development environment before attempting to run them.

API

Methods

Names Description
Screensaver.Initialize sets bounding rectangle
Screensaver.Run adds an obstacle

Usage

The key difference between a ScreensaverKit based application, and a standard Delphi application is the usage of Screensaver.Initialize and Screensaver.Run. We do not reference or use Application or any of it's methods and variables.

Here is an example setup from one of the accompanied demo examples.

program InternetScreensaver;

uses
  Main in 'Main.pas' {MainForm},
  Settings in 'Settings.pas' {SettingsForm},
  UNulContainer in 'UNulContainer.pas',
  IntfDocHostUIHandler in 'IntfDocHostUIHandler.pas',
  UContainer in 'UContainer.pas',
  ScreensaverKit in '..\..\src\ScreensaverKit.pas',
  ScreensaverKit.SettingUtils in '..\..\src\ScreensaverKit.SettingUtils.pas',
  ScreensaverKit.WebBrowserUtils in '..\..\src\ScreensaverKit.WebBrowserUtils.pas',
  ScreensaverKit.ShortcutUtils in '..\..\src\ScreensaverKit.ShortcutUtils.pas';

{$R *.res}
{$E scr}

begin
  Screensaver.Initialize;
  Screensaver.Run;
end.

Kindly notice the usage of the {$E} compiler directive. This sets the compiled binary file to have a SCR extension, which is the default extension for Windows based screensavers. Notice: This can be commented, and when run within the Delphi IDE, a special screensaver debug mode will kick in.

License

ScreensaverKit is licensed under the MIT License. See LICENSE for details.

screensaverkit's People

Watchers

Me avatar

Forkers

kimkucheol

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.