Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 

README.md

System Propagation of Event Wells (S.P.E.W.)

' Not spew,' said Alphaglosined impatiently. 'It's S-P-E-W. Stands for the System Propagation of Event Wells.'

So what is an Event Well, you may ask. Well good question. I don't quite know, but it has something to do with creating events at a higher level then the system that created them and propagating them to a nice user (developer) interface.

In the end what exactly are the goals for S.P.E.W? Well not much, just a unified event loop, bindings and of course interfacing to OS constructs that can have major performance impact like windowing.

So why should we take you seriously? After all glib exists. Well, you're still reading this aren't you.

Platform support

  • Windows 7+ (tested on Windows 10 officially only)

Depends upon LibUV for sockets+timer+file watcher support. Can load+extract from a Nuget package. The linked packed is fat, meaning it should work on Linux, OSX and Windows.

Warning: Windows 64bit for dmd is currently bugged when using the diagnostic code. OpenGL bindings is too large for debug information.

Tasks

  • General structure
  • Event loop
    • Abstraction
    • Basic implementation
    • Wells:
      • X11
      • WinAPI
      • Cocoa
      • LibUV
      • GLIB
      • Poll (posix)
      • Epoll (linux)
      • D-Bus (system-d)
    • Consumers:
      • X11
      • WinAPI
      • Cocoa
  • Streams
    • TCP
      • Client LibUV
      • Client Fallback
      • Server LibUV
      • Server Fallbak
    • UDP
      • Local LibUV
      • Local Fallback
      • Remote LibUV
      • Remote Fallback
  • File system
    • Watcher
      • LibUV
      • Fallback
  • Timer
    • WinAPI
    • LibUV
    • Fallback
  • Windowing
    • X11
      • Core
      • Features:
        • notifications
          • FreeDesktop
          • D-Bus org.freedesktop.Notifications
        • cursor
        • icon
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL
      • Robot
    • WinAPI
      • Core
      • Features:
        • notifications
        • cursor
        • icon
        • menu
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL
      • Robot
    • Cocoa
      • Core
      • Features:
        • notifications
        • cursor
        • icon
        • menu
        • screenshot
        • Clipboard
        • Drag&Drop
      • Contexts:
        • VRAM
        • OpenGL
      • Robot

Warning:

  • For X11 under e.g. KDE you won't get a notification window support. You must create an external config file to make it appear.

Short list of won't-implement:

License

Boost

About

No description, website, or topics provided.

Resources

Releases

No releases published

Languages

You can’t perform that action at this time.