Git Product home page Git Product logo

Comments (4)

romanofski avatar romanofski commented on August 22, 2024

I'm currently playing around with the following data type:

data Keybinding = Keybinding
    { _kbDescription :: String
    , _kbEvent :: Vty.Event
    , _kbAction :: AppState -> EventM Name (Next AppState)
    }

Then define all keybindings in a list and look up incoming keyboard events for the given Vty.Event. If it matches perform the action, if it doesn't... well perform a default action. I think that mostly comes down to continue.

Those are not configurable by a config file, but it's a first step.

from purebred.

frasertweedale avatar frasertweedale commented on August 22, 2024

from purebred.

romanofski avatar romanofski commented on August 22, 2024

I hear ya... hm.. not sure how I would model that. I'll defer that. I also had in mind the support for uh macros? It's all a bit hand waiving, but I guess something in which you can apply a couple of functions on something... not sure.

from purebred.

romanofski avatar romanofski commented on August 22, 2024

I've transformed most of the keybindings now and left alone the ones which are already handled by the widgets. I'm getting a bit worried with the lack of testing, but tell myself we can still add that once the interfaces are more stable.

from purebred.

Related Issues (20)

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.