RetGal / Dayon

Dayon! - A cross-platform remote desktop assistance solution for your family and friends
https://retgal.github.io/Dayon/
GNU General Public License v3.0
146 stars 45 forks source link

less clutter/fewer buttons: "send [winkey]" to include "send [cmd]" #87

Closed lammel-hub closed 6 months ago

lammel-hub commented 6 months ago

Is your feature request related to a problem? Please describe. The function to "send [winkey]" is very useful when the assisted is a windows machine. In other cases the assisted might be a MacOS.

The winkey is not present on the Apple keyboard, while the [cmd]-key is not present on the Windows keyboard.

Describe the solution you'd like Context: Session Function: change toggle "send [winkey]" to a dropdown toggle with two options: "send [winkey]" and "send [cmd]"

  1. Press the icon of the toggle to activate or deactivate the "send [...]" function
  2. press the small dropdown-arrow on the right hand part to show dropdown with alternative "send [...]" options.

This would enable assistant to send either of the two special keys to assisted, without adding clutter/more buttons to context. It would also prepare for potential future "send [...]" functions.

(reference: selecting type of underline and togling it on/off in LibreOffice Writer, or Dayon! function "Set up IP", but with a small dropdown arrow to allow for the toggle function if main button icon is pressed)

Describe alternatives you've considered add a separate toggle for function "send [cmd]", but this would add clutter to context

Additional context Simple mockup (not representative of final renedering)

RetGal commented 6 months ago

I'm struggling to implement this selection into the existing "Windows key" button. As the button also needs to be a toggle button (either pressed or released). So I moved the conversion to the assisted side: when the wizard receives a "windows key" event and runs on a Mac, it maps it to the "cmd" event. Just have to document this behavior - together with the rest of the documentation, which I should still update :)

lammel-hub commented 6 months ago

I must say that is a VERY clever workaround!

lammel-hub commented 6 months ago

Perhaps Assisted should shift its icon to the CMD-logo if it is run on MacOS (but Assisted receive Winkey if run in Windows) so that you get the clever solution consistent at both ends?

OR

Simply call it "send [Special] key" (in analogy with [ctrl] key) and explain in the text that it sends win or cmd depending on Assisted's OS ?

RetGal commented 6 months ago

Yes, but the Assistant can only display the correct icon of the button, if he "knows" which OS that is running on the Assisted. (which he currently does not). Another approach would be to use a generic "boss key" button icon. I tried to combine them, but it doesn't look too nice/recognizable, especially when scaled down to 24x24 pixel: grafik

lammel-hub commented 6 months ago

I like the generic boss key you suggest, but perhaps it could be an animated button that switches between the two symbols?

lammel-hub commented 6 months ago

Note: in the earlier comment, I meant that the Assistant would reflect its own OS in selecting icom for the boss key.

RetGal commented 6 months ago

Got to check if swing somehow supports animated icons.

lammel-hub commented 6 months ago

I found an inspiration for combiming the logos if animation does not work Screenshot_2024-02-23-22-57-41-446_com brave browser-edit

RetGal commented 6 months ago

I was not entirely satisfied with the chosen approach. So I inverted the the control - now the assistant receives the os type from the hello message and then switches between mac/windows button.

lammel-hub commented 6 months ago

Impressive! You really know your stuff and work fast.

RetGal commented 6 months ago

Thanks for the flowers - maybe I just prefer to implement stuff instead of documenting them ;)