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

Add preferences: thumbnails layout #89

Closed
adityakaulagi opened this issue Dec 20, 2019 · 3 comments
Closed

Add preferences: thumbnails layout #89

adityakaulagi opened this issue Dec 20, 2019 · 3 comments
Labels
preference Introduction of a new preference

Comments

@adityakaulagi
Copy link

adityakaulagi commented Dec 20, 2019

Firstly, thanks for creating this! I've been looking for a replacement for HyperSwitch for a long time since its quite buggy and not updated as frequently as it used to be.

Anyway, here are some features I think would be a great addition to make this look as close to HyperSwitch:

  1. Allow previews to be justified to left when spanning across multiple rows. Currently, they are justified to center, and I personally prefer them to be justified to left. Since this is just a personal preference, an option to be able to choose preview alignment would be great.

  2. Make previews equal sized (aligned to a grid) so they take up the same size even if window size is different. The window image can be of different size to show that window size is different, but the whole preview would look better if all previews were the same size.

  3. Add option to control transparency / color of blurred background for the previews. Also allow to control border radius of the same blurred background if possible.

Sorry if any of these are already in work or already asked for previously. Please edit/remove as you feel necessary. Thanks again for the fantastic app!

@lwouis
Copy link
Owner

lwouis commented Dec 20, 2019

Thank you for sharing these ideas @adityakaulagi! Here is some feedback:

  1. That would be quite easy to do. Would you like to try? There are few things to touch, so that would be a great first ticket!
  • Here is where we would need to add the left-center logic
  • Here is where you would add the preference UI
  • Here you would add the preference so it's saved on disk between runs
  1. Personally I prefer the current implem which is: each thumbnail has a max width and a max height, and the we pick one of the other depending on if the window is wide or tall. This means we have better visibility on wide and tall windows. This is also what Windows 10 does. If you explore this folder you can see examples of that. Could you elaborate on why you think same height is a better design? Especially some mockups or screenshots so it helps visualize the situation for the discussion

  2. Again that would be quite easy to do. It would be adding a slider preference. Very similar to what I linked above for 1). Here is the background object.

Let me know if you are interested in trying to raise a PR. I would like to be convinced for #2, but 1) and 3) are very simple changes, ideal for a first contribution here :)

@lwouis lwouis assigned lwouis and unassigned lwouis Dec 20, 2019
@lwouis lwouis added enhancement New feature or request good first issue labels Dec 20, 2019
@lwouis lwouis changed the title More options on UI of previews More preferences for thumbnails layout Jan 4, 2020
@lwouis lwouis changed the title More preferences for thumbnails layout New preferences for thumbnails layout Jan 4, 2020
@lwouis
Copy link
Owner

lwouis commented Jan 20, 2020

@adityakaulagi note that in the v3 branch #114, I kind of touched on your point 2. The new layout logic is:

  • Cells have a all the same height (to visually notices rows better)
  • Cells have a minimum width (to help read titles of tall and thin windows)
  • Cells have a maximum width (actual width will be between minWidth and maxWidth, to accommodate different aspect ratios)
  • Main UI window size is a ratio of screen size (to scale with display size)
  • Cells height and width is a percentage of main UI window size (to get a number of rows for which they are still easy to read)
  • As you open more windows, the cells shrink to fit more on screen (to support users who have lots of open windows)

@lwouis lwouis added the preference Introduction of a new preference label Jan 24, 2020
@lwouis lwouis changed the title New preferences for thumbnails layout Add preferences: thumbnails layout Jan 24, 2020
@lwouis lwouis removed S size enhancement New feature or request labels Jan 24, 2020
lwouis added a commit that referenced this issue Mar 24, 2020
…oses #89)

* Replaced the NSCollectionView with a custom NSView. Benefit includes simpler code, and control over recycling logic.
* In cases where the user has many open windows, replaced the downscaling strategy with a scrollable view
* Added a preference: align thumbnails to the left or center
@lwouis
Copy link
Owner

lwouis commented Mar 24, 2020

@adityakaulagi I was working on #171 and while reworking the layout code, I took the opportunity to implement the layout preference (thumbnails aligned: left or center). Could you give it a try? Here is a build for convenience: AltTab.app.zip

lwouis added a commit that referenced this issue Mar 24, 2020
* Replaced the NSCollectionView with a custom NSView. Benefit includes simpler code, and control over recycling logic.
* In cases where the user has many open windows, replaced the downscaling strategy with a scrollable view
* Added a preference: align thumbnails to the left or center
@lwouis lwouis closed this as completed in 311beef Mar 24, 2020
lwouis pushed a commit that referenced this issue Mar 24, 2020
# [3.2.0](v3.1.3...v3.2.0) (2020-03-24)

### Bug Fixes

* refresh both thumbnails on focus switch in bg ([4fee590](4fee590))
* things in background properly reflect in ui ([fdf1524](fdf1524))

### Features

* faster ui (closes [#171](#171), closes [#128](#128), closes [#89](#89)) ([311beef](311beef))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preference Introduction of a new preference
Projects
None yet
Development

No branches or pull requests

2 participants