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

Add a option to help with --and-exit #51

Open
DevHyperCoder opened this issue May 30, 2022 · 2 comments
Open

Add a option to help with --and-exit #51

DevHyperCoder opened this issue May 30, 2022 · 2 comments

Comments

@DevHyperCoder
Copy link

Hi, I would like to add a new flag (can't find a good name for it) to supplement the --and-exit flag. Currently, if I have multiple files "served" by dragon with the -x option, then dragon doesn't wait till i drag all the files to respective apps. It closes on the first drag_end event.

I would like to add a -X or --individual-exit (name could be improved) that will:

  • Remove "dragged" entry on the drag_end event
  • Once there are no more entires, close dragon

I know the -a option exists but my workflow consists of me having to drag different files to different applications.

I have the code changes ready and can create a PR if the maintainers are interested. Please let me know if you have any questions

Thanks

@mwh
Copy link
Owner

mwh commented Jun 5, 2022

This seems pretty reasonable. The goal is essentially that each entry can be dragged out once ("shelf"-style), and the program exits when there are no entries remaining?

I wonder whether this is severable into two parts:

  1. Once-each mode, where an item is removed from the list once dragged out. Perhaps this is -1, --once-each.
  2. Exit on empty, where the program closes once there are no entries left. Perhaps this is -X, --exit-empty. Arguably we could overload the existing -x with this meaning, but I imagine someone may have made a menu system or something out of it for which this would be a breaking change.

The mode you want would then be dragon -1 -X file.... A "shelf" mode, where it starts up and you can drag items in for temporary storage and back out at will, would be dragon -t -k -1 or something.

The shelf may be the only use for -1 without -X, however, so perhaps this is really two separate modes with some shared functionality: drag-and-remove until exhausted (your proposal), and drag-in-and-out-once (shelf). If there are other use cases for -1 or -X in the future it would be nice to have them, but I'm unsure whether there are other use cases or functionality where they make sense.

I know there are some others who watch these issues, so they might have comments on that. If you've already implemented this, however, I guess my question is: how straightforward is it to separate those two aspects? The functionality you describe sounds valuable already.

@DevHyperCoder
Copy link
Author

The goal is essentially that each entry can be dragged out once ("shelf"-style), and the program exits when there are no entries remaining?

Exactly that!

Perhaps this is -X, --exit-empty. Arguably we could overload the existing -x with this meaning, but I imagine someone may have made a menu system or something out of it for which this would be a breaking change.

A new flag would be better so as to not break backwards-compatibility

I will make a PR with what I have done already. I don't know much of C, so there might be better ways to do it. If there are, please point them out and I will be more than happy to correct them.

adding a once-each to my existing solution seems to be quite straight forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants