kvakulo / Switcheroo

The humble incremental-search task switcher for Windows
www.switcheroo.io
GNU General Public License v3.0
789 stars 122 forks source link

Enhancing Multi-Screen Support with Dynamic Screen Detection and Multi-Screen Window List #170

Open FaizanYounasTanooli opened 1 year ago

FaizanYounasTanooli commented 1 year ago

This pull request adds two new features to the software to enhance the user experience on multi-screen setups.

  1. Dynamic Screen Detection - The software now automatically detects the screen where the user's cursor is located and displays the software on that screen.

  2. Multi-Screen Window List - A list of windows available on the screen where the user's cursor is located is now displayed, allowing the user to easily switch between windows.

I have tested these features on multiple devices and screen configurations to ensure they work correctly. I hope these changes will improve the overall user experience and make the software more accessible to a wider range of users.

hiyorijl commented 1 year ago

I'm leaving a small tutorial on here for the ones who want to implement this pull together bundled with the original Switcheroo, since the owner's repository seems to be inactive since years. I asked ChatGPT for this btw. This small tutorial is designed for people who are powers-users but not software developers. It's doing this on Windows.

If you have any doubt you can ask ChatGPT (like how to install the prerequisites if you're new to this, etc).

Prerequisites:

Apply this code to the main Switcheroo code

  1. copy paste this exact command into your terminal, choose the folder you want this software to be in, if you're on Windows you can go first to your folder on File Explorer and right-click then choose the Windows Terminal option git clone https://github.com/kvakulo/Switcheroo.git
  2. now copy-paste this wget https://github.com/kvakulo/Switcheroo/pull/170.patch -O pr_170.patch
  3. copy paste the following commands: git apply pr_170.patch
  4. git add .
  5. git commit -m "multiples screen _ FaizanYounasTanooli" currently you have the software code now you have to convert this code into an .exe or msi so it's installed on your computer

Converting new code into an .msi (applicable only to Windows)

milnak commented 1 year ago

FYI, I integrated this change into my fork

kobayashikanata commented 10 months ago

Hello, I integrated your changes and build, but nothing showing up on my second monitor. I checked the code and found when two monitor has diff resolution and issues turn out. It may need to convert pixel to wpf points when center the window on multi monitor screen.