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

Cannot Use With Vertically Stacked Monitors #146

Closed
jpotter23 opened this issue Nov 2, 2024 · 7 comments
Closed

Cannot Use With Vertically Stacked Monitors #146

jpotter23 opened this issue Nov 2, 2024 · 7 comments
Labels
Milestone

Comments

@jpotter23
Copy link

/// How the terminal actually gets toggled on- and off the screen.
/// "Resize" (default) or "Move".
/// "Resize" should work on any setup, but may cause characters in the terminal to jump around after toggling.
/// "Move" keeps the size of the terminal constant, but moves the terminal off-screen to the top, which won't work great with vertically stacked monitors.
"ToggleMode": "Move",

Do you have a solution for the issue with vertically Stacked Monitors? I am unable to use the app becuase of this. Setting to resize seems to make no difference either.

Would it be possible to make the window opacity 100% as another method?

@flyingpie
Copy link
Owner

@jpotter23 Hey Jason, thank you for reaching out about this!

The "Move" method has not been implemented in version 2 (yet?), because it causes some pretty annoying issues in the apps themselves, such as text moving around in terminals and Electron apps specifically going haywire (lots of flickering and parts of the window not being repainted).

However, I am still looking for a way to properly support vertically-stacked monitors. One way I've come up with so far, is to vary the direction in which the app window is toggled on/off.

E.g. instead of moving off the top of the screen, moving off the bottom, or even off either side.

Another method could be to keep moving off the top until the top monitor has also been cleared, but that seems a little less clean imho.

Would this solve the issue for you, and do you have other suggestions?

@jpotter23
Copy link
Author

Indeed allowing control of the direct the app is moved to hide it would work for me.

Down would probably be the most reliable for people, but both down and right would work in my setup. Or even diagonally.

Thanks for your quick reply and interest in my personal issue!

@flyingpie
Copy link
Owner

@jpotter23 You're welcome! I appreciate hearing from people's fun and interesting ways of using the software, and you taking the time to report back about it :)

A plan is to have the direction be based on what monitor the window is on, something like so:
image

But I'll start with one where it's merely based on a setting (so single direction for everything, all the time), and I'll try to have a prerelease ready this weekend.

Diagonal is an interesting one I didn't even think of, maybe useful for 5-monitor setups :D

I'll ping back when it's ready for testing.

@jpotter23
Copy link
Author

I have an x4 monitor setup, used to have x6 but traded 3 of them for one 42" 4k TV, which I often divide up into 4 virtual monitors. So down or right works for me easy enough:

image

@flyingpie
Copy link
Owner

The PR went pretty smoothly, I've a first version ready for testing.
The release: https://github.com/flyingpie/windows-terminal-quake/releases/tag/v2.0.11

There are now 5 off-screen locations that an app window can be moved to when toggled off: "Above", "Below", "Left", "Right", and "Behind".

When toggling off an app, WTQ goes through these locations in order, and determines whether there is space there to put the window (e.g. if it does not intersect with a monitor), until it finds one.

So, if things work alright on your end as well, the prerelease should be enough, no additional configuration is necessary.

However, the feature also introduces a new setting, called "OffScreenLocations", which allows customizing the list of locations, including its order.

Here's an example snippet of wtq.jsonc, with the default settings (so this does not need to be added, but it's to illustrate what's going on by default):

{
  "Apps": [
    // Per app:
    {
      "Name": "...",
      "OffScreenLocations": ["Above", "Below", "Left", "Right", "Behind"]
    }
  ],

  // Or globally:
  "OffScreenLocations": ["Above", "Below", "Left", "Right", "Behind"]
}

Here's an example of my setup, where I've changed the locations, so I get different behavior on a single-monitor laptop:

{
  "Apps": [
    {
      "Name": "WezTerm",
      "OffScreenLocations": ["Above"]
    },

    {
      "Name": "Dolphin",
      "OffScreenLocations": ["Left"]
    },

    {
      "Name": "System Monitor",
      "OffScreenLocations": ["Below"]
    },

    {
      "Name": "KeePass",
      "OffScreenLocations": ["Right"]
    },

    {
      "Name": "Spotify"
    }
  ]
}
Screencast_20241103_235925.mp4

Please let me know if this works for you!

@jpotter23
Copy link
Author

Working perfectly! tyvm!

@flyingpie
Copy link
Owner

Thank you for testing ❤️ I'll merge this into the next release 🙂

@flyingpie flyingpie added the fixed label Nov 5, 2024
@flyingpie flyingpie added this to the v2.0.11 milestone Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants