Skip to content

Devisualization/spew

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages