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

[New utility]Sysinternals ZoomIt #35880

Open
wants to merge 74 commits into
base: main
Choose a base branch
from

Conversation

jaimecbernardo
Copy link
Collaborator

@jaimecbernardo jaimecbernardo commented Nov 11, 2024

Summary of the Pull Request

This PR integrates the Sysinternals tool ZoomIt into PowerToys.
Has the PowerToys Settings page with the options allowed from ZoomIt.
Also updates some C++ dependencies.

Still missing/WIP:

  • spell check
  • Make it pass CI
  • OOBE page
  • Entries in Dashboard and quick access
  • Settings icons / images
  • Telemetry
  • Logging
  • Tweak copyright issues
  • Tweak Community.md
  • Verify what else might we need to localize
  • Test it more

PR Checklist

@jaimecbernardo
Copy link
Collaborator Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@htcfreek
Copy link
Collaborator

@jaimecbernardo
Did you see my review above?

@jaimecbernardo
Copy link
Collaborator Author

@jaimecbernardo Did you see my review above?

@htcfreek , thanks for the comments 😄 I was waiting to really finalize the development before addressing any review. Thank you.

<value>Snip</value>
</data>
<data name="ZoomIt_SnipGroup.Description" xml:space="preserve">
<value>Copy a region of the screen to the clipboard or enter the hotkey with the Shift key in the opposite mode to save it to a file.</value>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what if I set hotkey to Shift+ ? then save to file is unreachable?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tried setting it to Shift+1. Pressing just 1 will save it to a file, similar to original ZoomIt behavior.

<data name="ZoomIt_RecordGroup.Description" xml:space="preserve">
<value>Record video of the unzoomed live screen or a static zoomed session by entering the recording hot key and finish the recording by entering it again.

To crop the portion of the screen that will be recorded, enter the hotkey with the Shift key in the opposite mode.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To finish recording you need to enter "Record video" (ctrl+5) hotkey, not (ctrl+shift+5). Might be worth pointing out, make it clear.

Also, same Q - what if I set hotkey that uses Shift or Alt?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To finish recording you need to enter "Record video" (ctrl+5) hotkey, not (ctrl+shift+5). Might be worth pointing out, make it clear.

or is this a bug? Because alt+ctrl+5 both starts and ends recording of the window

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Took it from the original ZoomIt UI:
image

Actually Ctrl+Shift+5 is another mode. (crop and record)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let me rephrase:

  • if you enter crop and record mode (Ctrl + Shift + 5) , same hotkey (Ctrl + Shift + 5) does not end it. You have to pres Ctrl + 5

This is not the case for window record mode (Ctrl + Alt + 5). You end it with Ctrl + Alt + 5

Copy link
Collaborator

@stefansjfw stefansjfw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should timer color be preserved? It is only correct after I change some other timer setting

DrawMode sometimes fails to start properly, it takes the cursor and "freezes" the desktop, but there's no actual cursor and nothing happens on clicking. I can exit that mode on Esc as expected. Type mode works as expected when this happens. Also, pressing a button to change color brings the cursor up and everything starts working.

My cursor gets stuck unvisible when:
ctrl+4 to enter live zoom mode
press 2, select area and either save or cancel
cursor is gone and stays gone until PT is closed

If I press Choose Font option, select anything and then try Ctrl+7 to Demo Type, it also opens Choose Font dialog
Forget about this, I just didn't know how to use DemoType

<value>Timer Opacity</value>
</data>
<data name="ZoomIt_Break_TimerOpacity_10Percent.Content" xml:space="preserve">
<value>10%</value>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this need to be localized? 🤔

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, different cultures present percents in a different way 🤷

src/settings-ui/Settings.UI/Strings/en-us/Resources.resw Outdated Show resolved Hide resolved
@jaimecbernardo
Copy link
Collaborator Author

Should timer color be preserved? It is only correct after I change some other timer setting

DrawMode sometimes fails to start properly, it takes the cursor and "freezes" the desktop, but there's no actual cursor and nothing happens on clicking. I can exit that mode on Esc as expected. Type mode works as expected when this happens. Also, pressing a button to change color brings the cursor up and everything starts working.

My cursor gets stuck unvisible when: ctrl+4 to enter live zoom mode press 2, select area and either save or cancel cursor is gone and stays gone until PT is closed

@stefansjfw , thank you for the review. Not sure if I tested it exactly as you, but this seems to be original ZoomIt behavior too. Have you tested with original ZoomIt too? https://learn.microsoft.com/pt-pt/sysinternals/downloads/zoomit

Copy link
Collaborator

@stefansjfw stefansjfw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! nice work! all the issues I reported previously are actually original ZoomIt behavior

.github/actions/spell-check/expect.txt Fixed Show fixed Hide fixed
src/common/sysinternals/dll.c Fixed Show fixed Hide fixed
src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj Fixed Show fixed Hide fixed
src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj Fixed Show fixed Hide fixed
src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj Fixed Show fixed Hide fixed
src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj Fixed Show fixed Hide fixed

This comment has been minimized.

This comment has been minimized.

@jaimecbernardo
Copy link
Collaborator Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants