# dnd

Hi! I was working on this project over a few weekends and I think it's finally 
ready. Maybe some of you can make an use of it. Please leave a feedback - 
issues, suggestions, etc. :)

## About

[dnd](https://github.com/adokitkat/dnd) is a bi-directional drag and drop 
source/target inspired by [dragon.c](https://github.com/mwh/dragon) written in 
Nim and [gintro](https://github.com/StefanSalewski/gintro) (GTK).

I think it's useful when you normally just use a terminal and need to drag and 
drop something e.g. into a web browser. You don't need to open a file manager, 
just run `dnd *` which shows a window with drag and drop source list of all of 
files in a current directory you're in and simply drag it from there.

[Here](https://www.youtube.com/watch?v=cbegEIczdNQ) is a video explaining 
dragon if you don't know what I am talking about.

### Key differences with _dragon_

  * is bi-directional (in dragon the source mode is default, the target mode is 
available via `dragon -t` flag, you cannot use both at the same time) - just 
run `dnd` and a window with a target area appears, run `dnd file1.txt 
file2.html` and a windows with two file drag sources and one target drop area
  * has `dnd.cfg` config file where you can store presets - is the config file 
is found, Default preset is loaded, you can load a different one via `dnd 
-p=Alt` where `Alt` is a name of a different preset - you don't have to run dnd 
every time with the same flags like `dnd -k -c -t:false -o:0.9`, just set it in 
your `dnd.cfg` file as a default preset and run `dnd`
  * automatically reads input from `stdin` as a source when text is piped into 
it, e.g. `find . -name "*.txt" | dnd`, you can also use program arguments at 
the same time too `find . -name "*.txt" | dnd file2.html` and displays all of 
it (in dragon you have to run it with additional flag `dragon -I`)
  * aesthetic options - a resizable window, you can set window dimensions, 
opacity, set if `dnd` window is decorated by a window manager, open `dnd` 
window in the center of you screen, open `dnd` window where your mouse cursor 
currently is, etc.
  * maybe I forgot something :)



More info at: <https://github.com/adokitkat/dnd>

## Acknowledgments

I want to thank Dr. @Stefan_Salewski for help with 
[gintro](https://github.com/StefanSalewski/gintro) and Michael Homer (mhw) for 
the original program and inspiration. 

Reply via email to