gui icon indicating copy to clipboard operation
gui copied to clipboard

Feature requests/issues reported on Hacker News

Open evdubs opened this issue 7 years ago • 1 comments

Recently, there was some feedback given about racket/gui limitations from user 13415. I figured it may be helpful to leave them here? If they're valued, I can break them out into independent issues.

  1. no internal drag&drop from control to control in a frame or from frame to frame, like from an editor snip to a listbox, or from a listbox item to a text field or canvas

  2. text% and editor-canvas% are too slow for some applications, esp. for displaying lots of data fast or styling snips

  3. text% does not allow associating arbitrary data with ranges (strange enough, list-box% has this)

  4. text% uses a nonstandard format, neither RTF, XML, HTML, rich text is not easily drag&droppable or copy&pastable to other applications in a platform-compliant way without writing your own converter

  5. no images in list-boxes, and generally speaking no advanced custom "grid" control (e.g. also no editable fields in list-boxes or similar table features)

  6. no images in menu items

  7. no toolbar, you have to make one your own and it will not be platform-compliant (macOS)

  8. no docking manager or other advanced user configuration controls (we could implement these easily if we had frame-internal drag&drop, but we don't, so we can't)

  9. no built-in input validation for text fields, like limiting one to integers, floats, dates, you have to do that on your own

  10. it appears that some icons are not properly installed by Racket's deployment functions even if you specify them in the #:aux argument of create-embedding-executable

  11. no access to tray icon

  12. no way to obtain system colors from the system color scheme for custom controls, so you cannot create theme compliant custom controls

  13. clipboard operations are limited (unless this has changed since I checked last time), meaning e.g. you cannot easily implement a "receiver" for some mime type data

  14. related to the previous one, only whole frames can receive drag&drop objects and you basically just get a file path

That are all the points off the top of my head. For me, only 1, 3, 4, and 5 are problematic and 1 is a show-stopper. 3 is also important, since implementing this on your own can lead to a vast range of problems (you'd have to constantly maintain a data structure in sync with the snips in the editor).

I can close this if it's not helpful.

evdubs avatar Sep 25 '18 00:09 evdubs

This issue has been mentioned on Racket Discourse. There might be relevant details there:

https://racket.discourse.group/t/scope-and-purpose-of-racket-gui/2965/17