Open CrazeXD opened 6 months ago
This seems more like a feature request for the Advanced Paste component, doesn't it?
Smart, I didnt have that feature installed from later updates.
@CrazeXD Could you please rename the issue to something lik "[Advanced Paste] Add advanced text formatting"?
My thoughts on this: Great idea but the new fornats should be available through the ui too. (Maybe configurable which one.) There are so many shortcuts in PowerToys already 🤯 and I can't imagine everyone if I need it.
What I was thinking about was something similiar to what word does. On paste, a small tooltip pops up with different options where you can press a keybind to change the way something pastes in. This could be toggled on or off, with the additional options of what you mentioned.
What I was thinking about was something similiar to what word does. On paste, a small tooltip pops up with different options where you can press a keybind to change the way something pastes in. This could be toggled on or off, with the additional options of what you mentioned.
Sounds interesting. Can you share a demo or mock up?
I don't really have any experience in creating mockups, but here is a little google drawing I made as an example.
I like this idea! I was actually noodling on and started prototyping a feature that would allow users to add their own custom shortcut that they could reuse. Ideally, we could make it so that the user can select which SLM they want to use for the custom shortcut and/or decide to use the Open AI API flow we already have today.
It sounds like your enhancement is slightly different because some of the functionality doesn't really need an AI model, but rather just additional logic baked into advanced paste (which sounds nice).
I'd love to coordinate our ideas and efforts here, so we don't do overlapping work with the additional shortcuts flow. I'm working to get my prototype design to a point where I can share the designs out in this thread and we can bounce ideas off one another!
Sounds great, let me know!
Thinking if instead of having this be a whole new shortcut, perhaps being options for Text as Plain text, changing that text in some ways we select? Just an idea, though.
That's what we were discussing above, integration with advanced paste.
Apologies for the delay - I didn't have a chance to clean up the UI more than what I had already mocked up for just the settings, so here is roughly the idea that I was playing around with:
The overall goal of this feature is to allow the user to have autonomy over various copy/paste flows they want to include. It would be great to be able to choose from a set of local models and/or choose from whatever cloud based models we have available.
Please be aware this is purely a mockup of the settings functionality with essentially random strings in places that I've just used to communicate the idea. @CrazeXD @jaimecbernardo @craigloewen-msft - would be interested to get your thoughts.
@CrazeXD, I know your suggestion is a bit different, but I think we can integrate both of our ideas in a cohesive way.
I really like that mockup, I think it definetly expands upon the ideas I originally was thinking about. Both of these features definetly have a place in Advanced Paste and I think I have a way of integrating them as well.
Instead of having a global option "Enable Paste with AI" as you have at the top, what we could do is just use the presets and inside the preset customizer have the option to enable AI, at which point we would be able to see all of the different options and modals that you designed in your demo. We could also have optionality for regex, capitalization, single line, etc. to give as much control over the paste function as we can think of (baked in with regular code rather than an AI model as in my original issue).
Let me know what you think about this combination @joadoumie
Seems like a good approach to me. Not sure if this is what you had in mind exactly, but having a regex type input that would literally just apply some regex formula to text and paste it would be epic.
That's what I was thinking, sounds like a useful feature.
Please be aware this is purely a mockup of the settings functionality with essentially random strings in places that I've just used to communicate the idea. @CrazeXD @jaimecbernardo @craigloewen-msft - would be interested to get your thoughts.
It sounds like an interesting feature. A sort of quick prompts. I wonder if it makes sense having them on the same section as the others or having a distinct section like "custom prompts", to distinguish local run logic from AI based prompts. 🤔
My thought process was that inside of a separate modal for preset editing, we have a toggle similar to the original mockup that enables Paste with AI and then opens up many more options relevant to an AI based feature. This could reduce some of the confusion/clutter within the page (at least in my opinion). Let me know what you think about this approach.
@CrazeXD - maybe some artwork to help illustrate your last suggestion could be helpful. Just pen on paper works, nothing too fancy!
I'm really excited about merging these ideas and continuing to build them out!
@joadoumie Here is my pencil and paper crude drawing. Apologize for the delay, I've been busy with finals.
The idea is that when a user clicks on the "Add custom shortcut " in the above prototype, they see this as a pop-up modal. A cool feature idea I had while drawing this was "Custom string code", in which a user gets to make a custom C# script or other language (not getting too gritty on those details) which will be run on paste.
This would be in addition to the Google drawing I have at the top, which would show up on a different paste key one, or perhaps it could be one of the different icons.
Love these ideas thank you - sorry for the slow turnaround! I'm juggling a few ideas coming in from various areas - great idea for the scripting logic (C#, python etc.). There are a lot of moving parts coming from different directions that I'd like to bring into the mix and need to figure out the best way to prioritize with the team.
I'm working on some proposals this week and will share out here as soon as I can.
edit: I hope your finals went great!
Hey @joadoumie, I was wondering if you hard any updates in regards to this feature.
Still working on publishing a short-term roadmap so we can get the ball rolling. If you're interested in working on a branch to integrate some of your ideas in code I'm open to it we'll just need to sync and gutcheck before we can pull anything in
@CrazeXD - we're working on adding custom paste actions for the upcoming release.
https://github.com/microsoft/PowerToys/tree/dev/ani/advanced-paste-custom-actions
You can take a look at the code in the branch there. For now, it's focused on adding custom prompts to the existing paste actions. This means it simply takes a name for your action and a prompt:
It uses a modal similar to what we do for custom color formats in color picker. If you are still interested in playing around with some of the ideas you've shared above, I think we can leverage the same modal and just make it more robust with different panes potentially at the top that you can select.
@drawbyperpetual @craigloewen-msft for visibility
@joadoumie Sounds good, I'll start working on it (as soon as I can figure out how to use the repository lol).
Let me know if you need any help -- happy to help you get up and running.
@joadoumie Actually that would be great, I was having some trouble navigating the repository so a quick tour/explanation would be helpful.
Thanks!
Sure thing - it's a really large repo. I recommend looking at the file diffs in the branch that I just shared above because that will help you understand where things have to be changed in order to add similar functionality.
In terms of building/compiling the project, check out https://github.com/microsoft/PowerToys/tree/main/doc/devdocs#compiling-powertoys to get started.
Let me know if you have any specific questions I'm more than happy to help
@joadoumie Hey, I was working on trying to implement some of the features (I started with single line since it's super similiar to paste as plain text) and was having some issues (probably because I still haven't figured out entirely how the repo works), and was wondering if you could take a look and help me out? Whenever you get a chance.
Do you have a fork/branch I can take a look at? Happy to look into it.
@joadoumie I don't know if I should make a commit with the changes I have (I can if it would work better) but here is a cloud patch that you can take a look at (let me know if you have any issues accessing it). https://gitkraken.dev/drafts/9996b635-9108-43f6-b763-3ed4f4ee69c4?%3Fsource%3Dgitlens
Edit: The changes are based on the branch you sent above. Sorry if any of the mistakes are stupid, I've never really done any work in large repositories / with C# projects.
no worries at all! I'm still learning myself. I'll try my best to take when I get the chance -- likely within about 1 week.
@CrazeXD Any updates? Is it planned to support custom text formatting without using ai?
@htcfreek Sorry I've been kind of swamped and this took a backseat, but implementation has started.
Description of the new feature / enhancement
Make AdvancedPaste more versatile by giving more text editing shortcuts, such as convert to single line (to get rid of linebreaks when copy pasting from a pdf), capitalize (correctly capitalize a sentence / convert to upper/lowercase), etc.
Scenario when this would be used?
This feature could be used during essay writing. When copying information from a pdf over to for example a google doc, it would be helpful to be able to select the text and paste it as a single line.
Supporting information
No response