Giter Club home page Giter Club logo

winreform's Introduction

WinReform

WinReform

A simple tool to help resize and relocate stubborn windows.



About

WinReform is a utility tool that exists to solve resolution issues with older applications. Many old games/applications were not designed with today's bigger screens in mind. Often this results into extremely large or small windows with no possibility to resize them.

WinReform is here to help with these kind of applications. By utilizing the Windows API it allows for non resizable windows to be resized to your resolution of choice or move windows that have mysteriously disappeared outside of your screen bounds. No matter the application, as long as it contains a window, WinReform will be able to help!

Roll Call

This application wouldn't exist without the help of several amazing open source project that I love. If you like this app I recommend checking out the following.

  • MahApps which helped modernize the application by providing amazing tools and visuals.
  • Autofac which helped manage all the dependencies that the application relied on.
  • Moq which allowed for a simpler time writing tests by taking the mocking out of our hands.
  • DotNet which provided the possibility to create this application to begin with.

Faq

Is there a way to see the current window location?

The settings allows you to change the PID column for a location column that shows the current location within the virtual screen.

Why do some windows show a negative location?

The coordinate position of a window is based on it's current location within the virtual screen. The zero point (0 x and y coordinate ) of the virtual space is based on the top left corner of the primary monitor. windows located behind or above the zero point are assigned negative values (for example when using a multi monitor setup).

Why does my window resolution not match the monitor?

Some windows might contain invisible border, drop shadows etc that are counted towards the resolution (full width and height of a window), this can cause resolutions that don't match a monitors exact resolution.

Does WinReform support multiple monitors?

The answer is yes.

License

WinReform is provided as-is under the Apache License Version 2.0. For more information see LICENSE.

ShowRoom

image

image

image

winreform's People

Contributors

akruimink avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

winreform's Issues

Active windows deselection on item update

Describe the bug

When the ActiveWindows is set to auto refresh (or manualy for that matter), and an item it's content is update the item automaticly get's deselected.

To Reproduce

  1. Open the app
  2. Select one or more windows
  3. Apply a change to the window, for example change the resolution
  4. Window automaticly get's deselected

Expected behavior

The selected items should remain when changes are applied.

Screenshots

n/a

Desktop (please complete the following information):

  • OS: Windows 10, build 18363.1016
  • Version: Pre-Release

Additional context

The issue seems to have to do with either one of the two.
Either the Insert used to update an item in UpdateCollection (ObservableCollectionExtensions) is seen as a new item, and thus the selection get's lost.
Or the replacement of an item temporarly removes the item from the list resulting in a loss of the selection, and doesnt get added back again.

Items not always deselecting

Describe the bug

Sometimes when an item is selected, and another item is clicked to deselect the previouse one, it not always actualy deselects.

To Reproduce

  1. open the application
  2. select a window
  3. select another window
  4. scroll the list up and down
  5. in some cases the old item reselects by refresh the list

Expected behavior

Deselected items should actualy be deselected

Screenshots

n/a

Desktop (please complete the following information):

  • Version: pre release

Additional context

n/a

Add location to the ActiveWindows view

Is your feature request related to a problem? Please describe.

The ActiveWindows currently displays the application name, Pid and resolution, although this is all great and should stay the way it is, it would be prefered if there is some way to also add the location.

A user might just use all the preset functions and plays around with it till it works, but others might look at the current resolution and know bij how much to roughlyt increase it.

Incase with location, the manual option is rather meaning less, wanting to move the window bit more to the left becomes a guessing game as to wat the current position would even be, especialy with multi monitor setups it be take quite a bit of guess work, so knowing the current position would help with that.

Describe the solution you'd like

Preferably the ActiveWindows list gets a 4th column that contains the application position on just the x and y cordinates

Describe alternatives you've considered

Alternativly a new setting could be added to the general application settings where you could opt to switch the resolutions tab for a positions tab.

Additional context

n/a

Active Windows contains windows with no resolution

Describe the bug

The list of active windows contains items that have no resolution

To Reproduce

  1. open the app
  2. some windows might have a resolution of 0 x 0

Expected behavior

everywindow should have a resolution.

Screenshots

n/a

Desktop (please complete the following information):

  • Version pre release

Additional context

Resizing these windows often cause weird issues,

Add logging for errors

Is your feature request related to a problem? Please describe.

When the application runs into an issue there is no way to know what happend

Describe the solution you'd like

Preferably a logging system should be added to generate a log file with wat ever error occured,

Describe alternatives you've considered

You could instead direct the error to the user, but as it's suppose to be a simple utility tool it might not be the prefered way of doing it

Additional context

n/a

Minimum size support for 1280x800 and up

Is your feature request related to a problem? Please describe.

Currently the application is scaled to work for 1920x1080 and up, But the most used size is rather 1366 x 768, for that reason it's probably prefered if the minimum size of the application supports up to atleast that size and up (but preferably go all the way down to 1280x800)

Describe the solution you'd like

Resolution could be shortend to Res as there is little point in having the full word, no resolution takes up more then 4 characters, so allot of space on that is wasted, PID also seems limited to 4 characters and could thus be made a bit less wide as well. might also be worth looking into scaling text size

The ratio convertion for min size should be removed in favor of a hard coded min size that fits for 1366x768 (but again, preferaby 1280x800), this way the minimum size of the application will fit for everything of 1366x768 (preferaby 1280x800) and up, systems with bigger res can then still opt to use the smaller resolution if they so desire (maybe even do away with the ratio convertion all together)

Describe alternatives you've considered

n/a

Additional context

n/a

Refresh of Active Windows causes freeze

Describe the bug

When the Active Window is being refreshed it freezes the ui temporarily.

To Reproduce

  1. Open the app
  2. Enable auto refresh
  3. Drag the window around

Expected behavior

Preferaly the ui should be responsive, regardless of data updates

Screenshots

Desktop (please complete the following information):

  • OS: Windows 10 Version 18363.1016
  • Version: Pre release

Additional context

n/a

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.