Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmapish #214

Open
2 of 4 tasks
Versatilus opened this issue Mar 24, 2018 · 9 comments
Open
2 of 4 tasks

Roadmapish #214

Versatilus opened this issue Mar 24, 2018 · 9 comments
Labels
Enhancement Enhancement of an existing feature Help Wanted Seeking co-contributor Investigation Required Issue needs to be investigated. New Feature A new feature that is not currently implemented. WIP An work in progress
Milestone

Comments

@Versatilus
Copy link
Collaborator

Versatilus commented Mar 24, 2018

This isn't an official roadmap. I'm just using this space as a scratchpad for ideas.

  • There should be commands to store to/stage from our special clipboard history. There are many times when I'm using some program which copies strings directly to the clipboard and I would like to be able to save them for later. I also occasionally use programs which use nonstandard key bindings for copy and paste and it would be equally nice to be able to set up a paste operation from a stored string.
    I'm currently thinking the command phrases should be store stoosh # and stage spark #, but I'm open to suggestions.

  • One of my top priorities is to make Caster more robust/fault-tolerant, especially during startup. It shouldn't fail to start unless one of the core modules fails. An incorrect CCR or app grammar shouldn't cause the whole system to crumble. I think this might be most important during module imports. This is a priority to me in no small part because of how many times I've broken everything by merging some "trivial" change without testing it first.

  • That brings us to our next area I would like to work on: unit tests. I'm flying kind of blind here. I'm not sure where to begin or what will be needed to mock up so that we can test just the Caster code.

  • Somewhat related to the robustness as listed above, I believe the settings/configuration could and should be separated better from the core program. I envision the core system restoring absent configuration, but it should otherwise be hidden away in the .caster directory.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Versatilus Versatilus added Enhancement Enhancement of an existing feature Help Wanted Seeking co-contributor WIP An work in progress New Feature A new feature that is not currently implemented. Investigation Required Issue needs to be investigated. labels Mar 24, 2018
@LexiconCode
Copy link
Member

LexiconCode commented Mar 26, 2018

Could you give me an example to copy and paste and explain a bit more what you mean by nonstandard key bindings?

How does this compare to casters undocumented feature sticky list?

...copies strings directly to the clipboard and I would like to be able to save them for later. I also occasionally use programs which use nonstandard key bindings for copy and paste and it would be equally nice to be able to set up a paste operation from a stored string....

@Versatilus
Copy link
Collaborator Author

Versatilus commented Mar 27, 2018 via email

@LexiconCode
Copy link
Member

LexiconCode commented Mar 27, 2018

Thank you for such a detailed response.

@LexiconCode
Copy link
Member

LexiconCode commented Apr 16, 2018

I updated your opening post to reflect the merge of important tolerance.

@LexiconCode LexiconCode added this to the v6 milestone Apr 16, 2018
@LexiconCode
Copy link
Member

The 4th goal should be satisfied by the following:
Caster as a Python package #246
Utilizing new format instead of json for Caster settings file. #247

@LexiconCode
Copy link
Member

@Versatilus are you aware that Caster already has 28 unit tests? say run unit tests

@Versatilus
Copy link
Collaborator Author

I'm so far behind right that it isn't even funny. I really do need to spend some time reacquainting myself with where everything is. What little I've kept up with has looked awesome! Keep up the good work!

I recently made the mistake of playing SimCity 4. Now that I have no responsibilities it's brought back a lot of the bad habits I had as a teenager. Using an eye tracker for mouse control makes the experience almost as fluid as it was when I was able to move.

One good thing that's come from the experience is that it finally compelled me to fix a problem I've had with my eye tracking software for a very long time. I really need to clean up that source code a bit and properly release it. I think others would find it useful.

I've also been forced to better acquaint myself with the way Windows handles keyboard input. I managed to fix a few glitches I've been having for quite a while. Documenting that is definitely on my list of things to do.

As soon as I can tear myself away from the game I will try to catch up to where the rest of you are and get productive within the next few days.

@LexiconCode
Copy link
Member

@Versatilus unit tests have been set up right now 95 of them and they are set up the run through Travis. Continue to add more overtime. So I've checked that box in your goals.

@LexiconCode
Copy link
Member

LexiconCode commented Jun 4, 2021

* There should be commands to store to/stage from our special clipboard history. There are many times when I'm using some program which copies strings directly to the clipboard and I would like to be able to save them for later. I also occasionally use programs which use nonstandard key bindings for copy and paste and it would be equally nice to be able to set up a paste operation from a stored string.
  I'm currently thinking the command phrases should be `store stoosh #` and `stage spark #`, but I'm open to suggestions.

Dragonfly now has ContextAction which helps handles these use cases. Basically an action gets assigned to default key and then checks the context where other is might be used. For instance foxitreader uses cs-z

from dragonfly ContextAction
        "redo [<nnavi10>]":
            R(ContextAction(default=Key("c-y")*Repeat(extra="nnavi10"),
                              actions=[
                                  (AppContext(executable=["rstudio", "foxitreader"]),
                                   Key("cs-z")*Repeat(extra="nnavi10")),
                              ])),

There might be different methods to leverage that and I'm open to suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Enhancement of an existing feature Help Wanted Seeking co-contributor Investigation Required Issue needs to be investigated. New Feature A new feature that is not currently implemented. WIP An work in progress
Projects
None yet
Development

No branches or pull requests

2 participants