Code Monkey home page Code Monkey logo

supersize's Introduction

SuperSize Logo

SuperSize

Customisable, Multi-Display Resizer

SuperSize is a utility which maximises your window to multiple displays for maximum work (or play) efficiency. It includes a number of presets to maximise to and it's extensible with plugins for ultimate adaptability.

Some official plugins:

Download

Preview builds are periodically tagged and released here.

This is at best, alpha quality software.

supersize's People

Contributors

itisrazza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

supersize's Issues

Windows not meant to maximise can still be supersized.

SuperSize version: 0.1.0

Expected behaviour: Non-maximisable windows should not be able to be supersized.

Actual behaviour: Said windows (like the SuperSize configuration dialog) get supersized anyway, breaking layout with no way to restore them.

Make plugin API more secure

At the moment, the plugin API is "anything goes" since the program loads any DLL with potentially malicious code. There are a few ways we can mitigate this risk.

  • Keep a list of known plugins and prompt the user for new plugin installations
    • Will ask user if the file just simply appears in the plugin folder, without using the "Install" button
    • Keep track of plugin hashes to check tampering

This is not 100% secure, but it's a step in the right direction without the need for certificates or public key crypto.

2.0: Port the configuration interface to WPF or WinUI.

I've recently noticed Windows Forms are horrible at scaling to HiDPI displays. It would be better to use another UI Toolkit, such as WPF or WinUI, which tend to scale much better, as well as offer more services for integration with Windows 10 and 11.

For example on how this should look, see the Microsoft PowerToys and ModernFlyouts configuration utilities.

Redesign plugin API

I feel like the plugin API is a bit too limited and can easily cause lockups if the logic takes too long to execute. As well as the plugin definition isn't as simple and "safe" as I'd like it to be.

  • Make sizing logic asynchrnonous, especially for scripts taking a bit longer to run, such as for IronPython setup and execution.
  • Make logic selections a read-only collection. This will prevent other plugins from causing havoc.

Merge CoreLogic into SuperSize

CoreLogic (the built-in sizing logic) was made as a separate plugin (included in the SuperSize installer) to test the plugin functionality. This makes testing for developer and the portable version more difficult.

The Python plugin now takes the role of the "demo plugin" from here on out, so we can re-merge it back into the main codebase.

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.