paperwm / PaperWM

Tiled scrollable window management for Gnome Shell
GNU General Public License v3.0
2.75k stars 122 forks source link

Improving window previews: animated window "peeking" previews #507

Closed jtaala closed 1 year ago

jtaala commented 1 year ago

I've been talking with @letavocado about improving window previews (see #506).

Anyways, I was playing around with window previews today and decided to implement a window "peek" preview to see what others think.

See #511 - I'm not sure yet which one I prefer: "peek" previews or just fixing current previews to always be in view and center vertically on mouse which #511 implements). More feedback needed!

peek previews:

https://user-images.githubusercontent.com/30424662/230534886-b9d04460-48b2-40a8-bb0b-c60261e1ede8.mp4

This PR adds a new (better?) window previewing mechanism. It also has the following improvements:

Currently the preview scale (0.90) and the amount of "peek" (300px) is hard-coded - but it might be worth making these user-settable (via dconf) etc.

I've made the preview-pressure-threshold user settable, current default is 100. You can change it (so it needs more/less pressure on an edge to trigger the preview), for example, with:

dconf write /org/gnome/shell/extensions/paperwm/preview-pressure-threshold 200

Setting it to:

dconf write /org/gnome/shell/extensions/paperwm/preview-pressure-threshold 0

would mimic the current preview sensitivity (which is basically no pressure, just touch an edge).

letavocado commented 1 year ago

I keep watching the video and can't stop. It's amazing! 😍

jtaala commented 1 year ago

Cool, I'll clean it up a bit - it's currently in the PaperWM-redux fork and I'll push it to the main develop branch there soon.

Feel free to clone and checkout the branch and install it (you'll need to install as per the usual install.sh script and logout/login then and activate it). Otherwise, hopefully other like it well and it gets in normal PaperWM develop branch soon.

jtaala commented 1 year ago

So, made a small improvement to improvement to y position of preview - now centers on it's actor (this works better if you have vertically stacked windows to the left/right).

Also made the scale a bit smaller - feels a little better to me.

Might be worth making the preview scale and peek (i.e. how many pixels of the window to show in the "peek", currently 300px) a user settable option. Then users could also set to 0 to hide previews they don't like previews.

letavocado commented 1 year ago

I installed from improving-window-previews branch. Thank you, It's amazing!

What if add this feature? The peak does not appear when hovering over the edge, but only if hover over the edge and move the mouse continuously (slightly force) in the direction of the corner. Wireframe in Figma

Issue: For example, if you move the browser scrollbar with your cursor, you might accidentally hit the peak response area, and call peak. With such an accidental call, the peak is useless and only gets in the way. IMHO.

letavocado commented 1 year ago

For example, how Dash to Dock is invoked when you hover over the bottom edge and move the cursor down slightly more.

Screencast from 2023-04-07 11-35-26.webm

jtaala commented 1 year ago

I installed from improving-window-previews branch. Thank you, It's amazing!

What if add this feature? The peak does not appear when hovering over the edge, but only if hover over the edge and move the mouse continuously (slightly force) in the direction of the corner. Wireframe in Figma

Issue: For example, if you move the browser scrollbar with your cursor, you might accidentally hit the peak response area, and call peak. With such an accidental call, the peak is useless and only gets in the way. IMHO.

Sure, sounds like a good idea. If we have it triggered from a pressure barrier (which I think is a good idea), then we could make the pressure barrier threshold user settable - e.g. some might like it sensitive, others may not.

jtaala commented 1 year ago

The latest commit adds pressure threshold setting, default is 100, can change it with

dconf write /org/gnome/shell/extensions/paperwm/preview-pressure-threshold 200

Setting it to 0 makes it like the previous behaviour.

letavocado commented 1 year ago

Amaizing! Wow, that was fast!!! 🔥

Found some bugs:

  1. peak only works to the left
  2. left side (peak) sometimes holds up the cursor
  3. dash-to-dock (bottom position) does not appear when hovering over the bottom edge only in the first workspace
  4. 'windows-focus-mode' icon is overlaid on top of workspace name image
jtaala commented 1 year ago

Amaizing! Wow, that was fast!!! fire

Found some bugs:

  1. peak only works to the left
  2. left side (peak) sometimes holds up the cursor
  3. dash-to-dock (bottom position) does not appear when hovering over the bottom edge only in the first workspace
  4. 'windows-focus-mode' icon is overlaid on top of workspace name

Hmmm - I'm not seeing any of these and haven't been able to reproduce them. Looks like it's from another extension that also changes the topbar and is conflicting with PaperWM. Can you please:

./gather-system-info.sh

and post the output here.

Also, are you using multiple monitors and wayland or x11?

Let me know.

jtaala commented 1 year ago

4. 'windows-focus-mode' icon is overlaid on top of workspace name

Just guessing, but this is likely caused by a conflicting extension (that also changes topbar in gnome) - see https://github.com/paperwm/PaperWM/issues/506#issuecomment-1500739437 for an option here.

Lythenas commented 1 year ago

This looks really cool and feels more "paperwmy" than the current behavior. But I think the current behavior is a bit more functional (if that is the correct word) because it shows the entire window. Not sure how hard it would be to integrate an option for this into this PR.

I think as much as possible about the preview should be configurable (e.g. the 300px, opacity). Preferably through CSS, but not sure if that is possible.

Also what happens if the window to be previewed is smaller than 300px? Maybe we should take the minimum of 300px and (e.g.) 50% (maybe even 100%) of the windows width or something like that.

jtaala commented 1 year ago

But I think the current behavior is a bit more functional (if that is the correct word) because it shows the entire window.

I agree - I think it's very cool, but for functionality I think I prefer the current one (with the improvements from #511).

Not sure how hard it would be to integrate an option for this into this PR.

It's won't be too hard, could make it an option for users who might prefer it.

letavocado commented 1 year ago

Hey @jtaala. Sorry for not replying for a long time, I was busy with work and preparing to moving. In the meantime, I enjoyed all this time with improving-window-previews.

still appearing bugs:

  1. peak only works to the left
  2. peak sides (left and right corners) sometimes holds up the cursor
  3. 'windows-focus-mode' icon is overlaid on top of workspace name

fixed bug:

3. `dash-to-dock (bottom position)` does not appear when hovering over the bottom edge only in the first workspace

Also, are you using multiple monitors and wayland or x11?

Host: Dell XPS 17 9700 (only laptop)
Resolution: 3840x2400
GPU: NVIDIA GeForce RTX 2060 Max-Q
DE: GNOME Shell 43.4 (Wayland)

./gather-system-info.sh

➜  PaperWM git:(improving-window-previews) ✗ ./gather-system-info.sh
Please include this information in your bug report on GitHub!
Distribution: Arch Linux
GNOME Shell 43.4
PaperWM branch/tag: improving-window-previews
PaperWM commit: 0cddfe0591e1d9c475d9459c01d12da13d85c210
Enabled extensions:
- paperwm@hedning:matrix.org
- switcher@landau.fi
- dash-to-dock@micxgx.gmail.com

./debug

Unit gnome-shell-x11.service could not be found.
Unit gnome-shell-wayland.service could not be found.
14:07:21: Running GNOME Shell (using mutter 43.4) as a Wayland display server
14:07:24: Device '/dev/dri/card0' prefers shadow buffer
14:07:24: Added device '/dev/dri/card0' (i915) using atomic mode setting.
14:07:24: Created gbm renderer for '/dev/dri/card0'
14:07:24: Boot VGA GPU /dev/dri/card0 selected as primary
14:07:25: Using public X11 display :1024, (using :1025 for managed services)
14:07:25: Using Wayland display name 'wayland-0'
14:07:25: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
14:07:25: Will monitor session 1
14:07:25: Extension apps-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension auto-move-windows@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension drive-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension launch-new-instance@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension native-window-placement@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension places-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension user-theme@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension window-list@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension windowsNavigator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Extension workspace-indicator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com will not be loaded
14:07:25: Window manager warning: Failed to parse saved session file: Failed to open file “/var/lib/gdm/.config/mutter/sessions/104e951a92a8428359168180524163366100000010840000.ms”: No such file or directory
14:07:25:
  JS ERROR: TypeError: this._managerProxy is undefined
  _onGeoclueVanished@resource:///org/gnome/shell/ui/status/location.js:163:9

14:07:25: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
14:07:26: ATK Bridge is disabled but a11y has already been enabled.
14:07:27: Registering session with GDM
14:07:35: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
14:07:35: gvc_mixer_card_get_index: assertion 'GVC_IS_MIXER_CARD (card)' failed
14:07:35: Running GNOME Shell (using mutter 43.4) as a Wayland display server
14:07:35: Device '/dev/dri/card0' prefers shadow buffer
14:07:35: Added device '/dev/dri/card0' (i915) using atomic mode setting.
14:07:35: Created gbm renderer for '/dev/dri/card0'
14:07:35: Boot VGA GPU /dev/dri/card0 selected as primary
14:07:36: Using public X11 display :0, (using :1 for managed services)
14:07:36: Using Wayland display name 'wayland-0'
14:07:37: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
14:07:37: Will monitor session 3
14:07:37: Telepathy is not available, chat integration will be disabled.
14:07:37: #paperwm init: 1681805257532#
14:07:37: #paperwm init tiling
14:07:37: #paperwm init navigator
14:07:37: #paperwm init keybindings
14:07:37: #paperwm init scratch
14:07:37: #paperwm init liveAltTab
14:07:37: #paperwm init utils
14:07:37: #paperwm init stackoverlay
14:07:37: #paperwm init app
14:07:37: #paperwm init kludges
14:07:37: #paperwm init topbar
14:07:37: #paperwm init settings
14:07:37: #paperwm init gestures
14:07:37: #paperwm init user
14:07:37: #paperwm enable 1681805257532#
14:07:37: #paperwm enable tiling
14:07:37: #paperwm enable navigator
14:07:37: #paperwm enable keybindings
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
14:07:37: _gtk_replace_virtual_modifiers: assertion 'GDK_IS_KEYMAP (keymap)' failed
14:07:37: #paperwm enable scratch
14:07:37: #paperwm enable liveAltTab
14:07:37: #paperwm enable utils
14:07:37: #paperwm enable stackoverlay
14:07:37: #paperwm enable app
14:07:37: #paperwm enable kludges
14:07:37: #paperwm enable topbar
14:07:37: #paperwm enable settings
14:07:37: #paperwm enable gestures
14:07:37: #paperwm enable user
14:07:37: Some code accessed the property 'Main' on the module 'messageTray'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
14:07:37:
  JS ERROR: Exception in callback for signal: changed: Error: IconGridLayout does not have page 4
  getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:887:19
  getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:1386:30
  _getLinearPosition@resource:///org/gnome/shell/ui/appDisplay.js:1021:46
  _addItem@resource:///org/gnome/shell/ui/appDisplay.js:1035:32
  _redisplay/<@resource:///org/gnome/shell/ui/appDisplay.js:1083:22
  _redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1080:17
  _redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1373:15
  _init/<@resource:///org/gnome/shell/ui/appDisplay.js:638:24
  _emit@resource:///org/gnome/gjs/modules/core/_signals.js:114:47
  AppFavorites/<@resource:///org/gnome/shell/ui/appFavorites.js:75:18
  _initializeManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:95:14
  async*_init@resource:///org/gnome/shell/misc/parentalControlsManager.js:63:14
  ParentalControlsManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:55:4
  getDefault@resource:///org/gnome/shell/misc/parentalControlsManager.js:42:22
  start@resource:///org/gnome/shell/ui/main.js:184:29
  @resource:///org/gnome/shell/ui/init.js:6:17

14:07:37:
  JS ERROR: Error: IconGridLayout does not have page 4
  getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:887:19
  getItemsAtPage@resource:///org/gnome/shell/ui/iconGrid.js:1386:30
  _getLinearPosition@resource:///org/gnome/shell/ui/appDisplay.js:1021:46
  _addItem@resource:///org/gnome/shell/ui/appDisplay.js:1035:32
  _redisplay/<@resource:///org/gnome/shell/ui/appDisplay.js:1083:22
  _redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1080:17
  _redisplay@resource:///org/gnome/shell/ui/appDisplay.js:1373:15
  _init/<@resource:///org/gnome/shell/ui/appDisplay.js:633:24
  _initializeManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:95:14
  async*_init@resource:///org/gnome/shell/misc/parentalControlsManager.js:63:14
  ParentalControlsManager@resource:///org/gnome/shell/misc/parentalControlsManager.js:55:4
  getDefault@resource:///org/gnome/shell/misc/parentalControlsManager.js:42:22
  start@resource:///org/gnome/shell/ui/main.js:184:29
  @resource:///org/gnome/shell/ui/init.js:6:17

14:07:37: Failed to create color profile from colord profile: Error opening file /home/letavocado/.local/share/icc/dell_u4021qw.icm: Permission denied
14:07:38: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
14:07:38: GTask meta_color_store_ensure_colord_profile (source object: 0x5566c5e023f0, source tag: 0x7f3367e6add0) finalized without ever returning (using g_task_return_*()). This potentially indicates a bug in the program.
14:07:38: Window manager warning: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
14:07:38: Window manager warning: Overwriting existing binding of keysym ff56 with keysym ff56 (keycode 75).
14:07:38: Window manager warning: Overwriting existing binding of keysym ff1b with keysym ff1b (keycode 9).
14:07:38: Window manager warning: Overwriting existing binding of keysym 6e with keysym 6e (keycode 39).
.............(a lot of similar logs)
14:31:35: Window manager warning: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).

Screencast 1: testing peak

https://user-images.githubusercontent.com/31704887/232752147-cc43ef86-4778-4bce-8137-f9bd84bbc2f0.mp4

Screencast 2: 'windows-focus-mode' icon is overlaid on top of workspace name

https://user-images.githubusercontent.com/31704887/232752603-1e1e33e2-b25e-4178-9604-4a0c1ed62b6a.mp4

jtaala commented 1 year ago

Thanks @letavocado,

I've updated this branch to incorporate latest develop branch - there's been some changes to icons. Please do a

git pull

Question:

image

what's the icon from? how did you get it there? it looks like it's from another extension?

I'm not quite sure what's messing up on your machine, but I haven't been able to reproduce these issues. Can you please try:

I note too that your log shows quite a few other extensions that might be enabled(?):

> 14:07:25: Extension apps-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension auto-move-windows@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension drive-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension launch-new-instance@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension native-window-placement@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension places-menu@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension user-theme@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension window-list@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension windowsNavigator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com will not be loaded
> 14:07:25: Extension workspace-indicator@gnome-shell-extensions.gcampax.github.com already installed in /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com. /usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com will not be loaded
jtaala commented 1 year ago

P.S. I'm not sure we'll end up implementing this PR. I prefer the other approach for functionality.

On a sidenote, please try the develop branch to see what you think of the smart previews that are now implemented.

letavocado commented 1 year ago

Hi, @jtaala!

what's the icon from? how did you get it there? it looks like it's from another extension?

Emoji from default installed Gnome Characters. I just copy-pasted icon to the workspace name. image

disabling all other extensions (except PaperWM-redux) and logout / login

Before testing, I disabled all other extensions (except PaperWM-redux, Switcher and dash to dock) and even rebooted the laptop.

P.S. I'm not sure we'll end up implementing this PR. I prefer the other approach for functionality.

Although peak is an elegant solution. I absolutely agree with you and also prefer the develop branch.

On a sidenote, please try the develop branch to see what you think of the smart previews that are now implemented.

Thanks @jtaala! Everything works perfect! Deep In love with PaperWM! ♥️

jtaala commented 1 year ago

Closing this - it was experimental and functionally, the previous window previews approach was better (imho), especially with the changes in #506.