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

Fancy Feature Request...Text Selection Popover #151

Open
roelvangils opened this issue Jul 21, 2024 · 34 comments
Open

Fancy Feature Request...Text Selection Popover #151

roelvangils opened this issue Jul 21, 2024 · 34 comments

Comments

@roelvangils
Copy link

roelvangils commented Jul 21, 2024

So, here's the idea.

Wooshy already has the Cmd+C shortcut to copy the highlighted text on the screen, which I use frequently. I look at the screen, identify a paragraph on a web page (or elsewhere) that I want to copy, type a few letters or words from the beginning of that paragraph, hit the Wooshy shortcut, and then press Cmd+C to copy it. This is usually quicker than using the mouse to select the paragraph, as I like to give my mouse plenty of rests.

However, I think we can take this functionality a step further. I'll try to explain.

Many other actions can be performed on selected text in macOS, besides just copying it. For example, I have a shortcut to send text to DeepL for translation, and I have Ctrl+G set up to start a Google search with the selected text. Raycast also has a shortcut to send selected text to the AI Chat window, etc. These are just a few examples, as everyone has their own set of keyboard shortcuts for working with selected text.

Of course, these don't work out of the box with Wooshy, as Wooshy doesn't (and often, of course, can't) select text on the screen. Also, Wooshy doesn't need to know about all of these use cases for things you can do with text selections. But, what if Wooshy had a feature called "Show as Selection" (or "Treat as Selection")? Let's say the shortcut (while Wooshy is active) for this feature is Cmd+S, which is close to Cmd+C and easy to press.

Here's how I imagine this would work: When I press Cmd+S, Wooshy would use the identified text and display it in a nice-looking popover that contains the selectable text, already selected and ready for the user to perform some next action on it. The next action could be... pressing another shortcut (unique to the user's computer) to send it to a translation app, perform an AI action on it, or even edit it first (with their mouse, why not!). The text box would be like a tiny text editor.

20240721_200429_Keynote.mp4

Dismissing the Popover could be as easy as pressing Escape.

Thinking of it, the popover (box) could even be used for accessibility reasons, if Wooshy allowed the text size and colors to be customized in its settings. Under the "Look" section, there could be a "Selection Popover" option.

I think this feature would add a lot of flexibility to Wooshy, allowing users to do even more with text on the screen. What do you think?

@roelvangils
Copy link
Author

@godbout I'm curious about what you think about my idea! 🙊

@godbout
Copy link
Owner

godbout commented Jul 29, 2024

@godbout I'm curious about what you think about my idea! 🙊

YESSIR! needed some time to digest and experiment a bit. more in the next comment.

@godbout
Copy link
Owner

godbout commented Jul 29, 2024

Many other actions can be performed on selected text in macOS, besides just copying it.

so my first question is here. i know there's something similar with Alfred and their new Universal Actions, but i never use those kind of stuff. so my question is: isn't there the same functionality but with text copied in the clipboard? i have no idea, but i'd be surprised if there's no? do the text really has to be selected on the screen in order to do something with it? what about Apple's Shortcuts? same for me i personally don't use Shortcuts coz i build my own stuff lol, but i would guess they have a whole bunch of stuff based on the text in the clipboard?

Here's how I imagine this would work: When I press Cmd+S, Wooshy would use the identified text and display it in a nice-looking popover that contains the selectable text, already selected and ready for the user to perform some next action on it. The next action could be... pressing another shortcut (unique to the user's computer) to send it to a translation app, perform an AI action on it, or even edit it first (with their mouse, why not!). The text box would be like a tiny text editor.

20240721_200429_Keynote.mp4

Dismissing the Popover could be as easy as pressing Escape.

Thinking of it, the popover (box) could even be used for accessibility reasons, if Wooshy allowed the text size and colors to be customized in its settings. Under the "Look" section, there could be a "Selection Popover" option.

I think this feature would add a lot of flexibility to Wooshy, allowing users to do even more with text on the screen. What do you think?

well i really like the idea of selecting the text for further use yeah. adding a very useful feature to Wooshy's user. don't care about it myself but i definitely see the use and added value. i wanna/need to promote more the copying of the Targets (text and metadata like URLs etc.). but... why the popover? wouldn't be just selecting the text just enough? like this:

ScreenFlow.mp4

that feels much cleaner to me than some extra UI.

@roelvangils
Copy link
Author

roelvangils commented Jul 29, 2024

so my question is: isn't there the same functionality but with text copied in the clipboard?

That is certainly true for some apps and some features. For example, Keyboard Maestro even lets you watch the clipboard for certain content to be added, so it can then immediately act on that. But that's a different use case, I think?

but... why the popover? wouldn't be just selecting the text just enough?

That's a very fair point, and I agree this is much cleaner. But now you assume that we only want to do something with text that is selectable. The beauty, at least to me, of Wooshy, is that it helps with finding almost all text, including non-selectable text (such as text in the UI).

Maybe we can think of a compromise where the text becomes selected when you press Command+S when it's selectable – or appear in popover (with pre-selected text) when the text is not selectable. Or you could offer the popover it as an option to the user. Personally, I think I would always use the popover, especially if Wooshy would let me customize the font size and the colours of the text in the popover, making it easier to see.

(Actually, my assumption was that it would be much harder for Wooshy to select text in an app based on the accessibility information that Wooshy uses to identify the text, but I guess I was wrong.)

@godbout
Copy link
Owner

godbout commented Jul 30, 2024

That is certainly true for some apps and some features. For example, Keyboard Maestro even lets you watch the clipboard for certain content to be added, so it can then immediately act on that. But that's a different use case, I think?

it is? i don't know. you tell me 😂️

That's a very fair point, and I agree this is much cleaner. But now you assume that we only want to do something with text that is selectable. The beauty, at least to me, of Wooshy, is that it helps with finding almost all text, including non-selectable text (such as text in the UI).

actually you're right. i think some text in the UI may not be selected, even through the macOS Accessibility. so your idea of a popup is better, yeah.

Maybe we can think of a compromise where the text becomes selected when you press Command+S when it's selectable – or appear in popover (with pre-selected text) when the text is not selectable. Or you could offer the popover it as an option to the user. Personally, I think I would always use the popover, especially if Wooshy would let me customize the font size and the colours of the text in the popover, making it easier to see.

after more testing and more digestion your popover idea seems much better to me. thank you! font size i can definitely see the use. what about the color? how does it help?

(Actually, my assumption was that it would be much harder for Wooshy to select text in an app based on the accessibility information that Wooshy uses to identify the text, but I guess I was wrong.)

it is. but i was targeting a very clean UI. felt that if i selected text instead of the popup, it was somehow engulfing both the copying and selecting into the same mindset, and it'd be easier for people to grasp and remember. but ultimately you're totally right. the popup is better. definitely adding this feature to the list, and with a high priority. (still things i wanna do first tho.) will update.

@roelvangils
Copy link
Author

Yay, I'm glad I was able to convince you! 🤣 I'm really looking forward to this feature.

Regarding the colour customization, you're probably right that it's not so important (though font size is). I would already be happy if it was just a nice-looking macOS pop-over that adapts to dark and light mode with the typical "Vibrancy" (blurry frosted glass) background.

@godbout
Copy link
Owner

godbout commented Jul 31, 2024

Yay, I'm glad I was able to convince you! 🤣 I'm really looking forward to this feature.

well i definitely can see how people may want to use this, even if i don't. makes Wooshy a better app. so thank you!

Regarding the colour customization, you're probably right that it's not so important (though font size is). I would already be happy if it was just a nice-looking macOS pop-over that adapts to dark and light mode with the typical "Vibrancy" (blurry frosted glass) background.

something like The Inspector? the cleanest UI would be something like The Inspector, with the text selected, but not editable. can you convince me more about using an input inside that popup so that the text is editable? 😂️ also the color, lemme know your reasons why. the discussions are important for the future of Wooshy!

@roelvangils
Copy link
Author

Ah, you are right. The UI of the Inspector pop-over is prefect. It looks nice and native.

And yes, I think indeed the text should be selectable (and even pre-selected by default) in the pop-over. Why? Because then a user can select the portion of the text that they need, or make a quick change before they copy the text or send it off to another app (such as the DeepL use case). Maybe you can even add Vim style editing shortcuts! ;) Although I must admit I don't use those myself.

Colors? Well, it's not crucial, but I think many people like customization. It's fun that you can now customize the look and feel of the Wooshy window and the color of the text selection and the outline, etc. It is just a nice touch. The only thing that matters for me is the ability to set the font size of the text in the popover, because I have bad eyes! :)

@godbout
Copy link
Owner

godbout commented Aug 1, 2024

Ah, you are right. The UI of the Inspector pop-over is prefect. It looks nice and native.

makes me think i'd be nice to add a shortcut to show The Inspector without the mouse too. cool.

And yes, I think indeed the text should be selectable (and even pre-selected by default) in the pop-over. Why? Because then a user can select the portion of the text that they need, or make a quick change before they copy the text or send it off to another app (such as the DeepL use case).

yes, would be selected by default. nice. i really like the idea. seems a little extra steps but not sure how could this be made better for now.

Maybe you can even add Vim style editing shortcuts! ;) Although I must admit I don't use those myself.

one of my other app kV would add this 😁️

Colors? Well, it's not crucial, but I think many people like customization. It's fun that you can now customize the look and feel of the Wooshy window and the color of the text selection and the outline, etc. It is just a nice touch. The only thing that matters for me is the ability to set the font size of the text in the popover, because I have bad eyes! :)

ok. makes me think also that then The Inspector could also have some options to have bigger text etc. cooooooooooool. thanks again Roel.

@roelvangils
Copy link
Author

Anytime, Looking forward to the future of Wooshy! :)

@godbout
Copy link
Owner

godbout commented Aug 1, 2024

Wooshy will be developed forever. well. until i die. when i die it goes open source and free. system is already set in place woohoohoohogogogoogog

@roelvangils
Copy link
Author

Don't die please! 🥺

@godbout
Copy link
Owner

godbout commented Aug 3, 2024

the plan is to live at least until 88. but you never know!

@godbout
Copy link
Owner

godbout commented Aug 14, 2024

this has now taken the first place in development for Wooshy. best ratio of added feature vs development time, i think. will be doing this before the custom mapping and the stop stealing the focus thing.

@roelvangils
Copy link
Author

a-man-in-a-blue-shirt-and-tie-is-screaming-with-his-hands-in-the-air

@roelvangils
Copy link
Author

I'm just curious about how this is coming along. No pressure; I am simply excited about this feature 😁 If you've started working on it and would like me to test the beta, I'm here for you.

@godbout
Copy link
Owner

godbout commented Oct 13, 2024

I'm just curious about how this is coming along. No pressure; I am simply excited about this feature 😁 If you've started working on it and would like me to test the beta, I'm here for you.

i'm currently working on a new manual mode for Scrolla. coz there wasn't an idea of "mode" before in Scrolla, it's quite a big change, especially regarding the testing framework. so it's taking some time. BUT. it should be finished within the next two weeks.

THAT BEING SAID, i'm a week in the hospital next week for elbow surgery. planning to spend the days working there, but no idea how my right arm will be handling.

THAT BEING SAID, once the latest Scrolla is out, work is back on Wooshy, and the Popover is at the top of the list. the tests should be quite straightforward so i'm not expecting any issues there. but also because the Popover is a UI thing, even though it does sound simple, i'll have to plug it within the current structure of Wooshy, or, if needed, might have to rewrite some part of the structure. no idea for now because i haven't done any research. but i'll keep you updated on the timeline. i don't wanna be super rush nor super slow, but i'd like to get this done before the end of the year.

i'll keep you posted YOU HANDSOME MAN.

@godbout
Copy link
Owner

godbout commented Oct 13, 2024

once i'll start researching i'll probably come up with questions for you, coz i'm only gonna develop the Popover this way if there's no better solution. which currently brings me back to an old question of mine:

what about Apple's Shortcuts?

still not using it myself. but isn't there something possible there? like you press cmd s and the UI text/metadata text is sent to Apple Shortcuts... where you can decide what you wanna do with the text?

@roelvangils
Copy link
Author

Cool man, thanks for the update! Good luck with the elbow surgery, I hope it's not the elbow that's attached to the hand, that you need to control your mouse. Oh wait, that's right, you don't use a mouse. That's the reason why you build Scrolla 😁

@roelvangils
Copy link
Author

About Apple Shortcuts, hmm no I don't think Apple Shortcuts can listen for specific events like text that's being sent from another app. Although maybe there's something possible with callback URL schemes or something. I have to give it some more thought.

@godbout
Copy link
Owner

godbout commented Oct 21, 2024

can't get popups to show up as soon as they're editable lol. excellent. gonna require more mornings with coffees in the sun

@godbout
Copy link
Owner

godbout commented Oct 21, 2024

(also, which macOS version you're using?)

@roelvangils
Copy link
Author

Yes, you can! 💪🏼

I'm using macOS 15.1 (24B82). Yes, the Public Beta.

@godbout
Copy link
Owner

godbout commented Oct 23, 2024

Yes, you can! 💪🏼

lol
incredible how stuff that seem easy are like massively hardcore. even more during that SwiftUI transition period

I'm using macOS 15.1 (24B82). Yes, the Public Beta.

good. coz i'm gonna stop supporting macOS 12 soon.

@godbout
Copy link
Owner

godbout commented Oct 24, 2024

haven't found a way yet. made a release in between.

@roelvangils
Copy link
Author

roelvangils commented Oct 27, 2024

good. coz i'm gonna stop supporting macOS 12 soon.

Ugh. I think it is frustrating to support older versions of macOS, isn't it? Everyone should update as soon as possible so developers can utilize the latest and greatest APIs! 😁

@godbout
Copy link
Owner

godbout commented Oct 27, 2024

Ugh. I think it is frustrating to support older versions of macOS, isn't it? Everyone should update as soon as possible so developers can utilize the latest and greatest APIs! 😁

you can always branch out and support both the old and the new APIs but i like clean code. my idea from the start for kV/Ws/Sl was for them to be subs and to only support what Apple supports (the current macOS plus the last two ones). i'll leave an old version for people stuck to old macOSes, but as far as kV/Ws/Sl are concerned they're gonna keep going up and being clean, light, and efficient ✌️

it's a little less hardcore for Ws and Sl, but for kV keeping old versions of macOS means a whole bunch of code to support bugs depending on macOS versions, bugs depending on UI Element types, bugs depending on whether those elements are handled in third party apps with AppKit or with SwiftUI, etc., etc. 😂️😂️😂️ the code is full of hacks of bug reports to Apple. very happy to get rid of those lines.

@godbout
Copy link
Owner

godbout commented Nov 3, 2024

gonna need more more time it seems. can't get it to work. not sure if it's still a SwiftUI issue/limitation and i need to go to AppKit instead (barely any experience with AppKit, i tend to avoid old stuff and UI stuff lol).

question tho: you're using Alfred or running on Raycast now? considering creating some other tools to go along Wooshy for Alfred (like the https://github.com/godbout/WooshyWindowToTheForeground).

@roelvangils
Copy link
Author

gonna need more more time it seems. can't get it to work. not sure if it's still a SwiftUI issue/limitation and i need to go to AppKit instead (barely any experience with AppKit, i tend to avoid old stuff and UI stuff lol).

Take your time! :D I almost feel guilty for my feature request!

question tho: you're using Alfred or running on Raycast now? considering creating some other tools to go along Wooshy for Alfred (like the godbout/WooshyWindowToTheForeground).

Full-time Raycast user here! ❤️

@godbout
Copy link
Owner

godbout commented Nov 4, 2024

Take your time! :D I almost feel guilty for my feature request!

please no hahahahahahahaha. you're helping me learning and making Wooshy better ✌️

Full-time Raycast user here! ❤️

oh. i retract. you SHOULD feel guilty.

@godbout
Copy link
Owner

godbout commented Dec 7, 2024

sorry new release but still haven't figured out this one ☹️ not sure if it's SwiftUI not ready for that or if it me who sucks. i'm leaning towards the

@roelvangils
Copy link
Author

I'm sure SwiftU is to blame! 😁 I'm happy with every update btw.

@godbout
Copy link
Owner

godbout commented Dec 9, 2024

I'm sure SwiftU is to blame! 😁

i think everyone is a witness here and now that i wasn't the one saying it

I'm happy with every update btw.

:LOVE:

trying my best to have fun and be useful hahahahahahahahah

but yeah. loved your idea(s) and i think it's gonna be super useful for Ws. just not sure yet how to do it (properly, without investigating the dying AppKit...). and still a few good priorities. but definitely digging into youre FFR (Fancy Feature Request) after each new release of Ws. :LOVE:

@godbout
Copy link
Owner

godbout commented Dec 12, 2024

this FFR is now officially in the roadmap which means i will be stressed every time i open the README which means there's even more chances it will be done within this decade.

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