The workflow-osx package

[maintain]
Warnings:

a "Desktop Workflow" monad with Objective-C bindings

e.g. press some keys, click the mouse, get/set the clipboard

see Workflow.OSX for several examples

(if the build fails, see the README)

(this package is on hackage for convenience, but it's still a prerelease)


[Skip to ReadMe]

Properties

Versions0.0.0, 0.0.0, 0.0.1
Dependenciesbase (==4.8.*), bv (==0.3.*), bytestring (==0.10.*), exceptions (==0.8.*), filepath (==1.4.*), free (==4.12.*), http-types (==0.8.*), mtl (==2.2.*), transformers (==0.4.2.*), workflow-osx (==0.0.0) [details]
LicenseGPL-3
CopyrightCopyright (C) 2015 Spiros M. Boosalis
AuthorSpiros Boosalis
Maintainersamboosalis@gmail.com
Stabilityexperimental
CategoryAccessibility, Apple, Automation, Bindings, Desktop, FFI
Home pagehttps://github.com/sboosali/workflow-osx#readme
Bug trackerhttps://github.com/sboosali/workflow-osx/issues
Source repositoryhead: git clone https://github.com/sboosali/workflow-osx
Executablesexample
UploadedFri Oct 2 00:46:53 UTC 2015 by sboo

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for workflow-osx-0.0.0

workflow-osx

a (free) monad, with Objective-C bindings, for "Workflow" actions.

e.g. press some keys, click the mouse, get and set the clipboard. GHC's C FFI takes only microseconds.

for examples, see the documentation on hackage https://hackage.haskell.org/package/workflow-osx

Issues

the build

foreign dependencies always complicate the build process. it's known to work with the following:

TODO

platform agnosticism

exploit the free monad's flexibility to define platform-agnostic workflows

problem: windows (Linux/Windows) versus processes (OS X)

problem: keyboards. Apple keyboards don't have the Windows key, Windows keyboards don't have the Apple key. some keyboards have a dozen random extra unbound keys.

automatic delay insertion

problem: currently, delays must be inserted manually. keyboard shortcuts in Emacs succeed with no delay. keyboard shortcuts in Chrome, like closing a tab with M-w, may drop without a long delay (like 250ms). furthermore, different actions need different delays between them (e.g. inserting text into Chrome can be done without delay).

parameterize Workflow on a keyboard type