Skip to content

[23 Jan 2023] Winger 2.0

Lionel Wong edited this page Aug 30, 2023 · 12 revisions

Winger 2.0 works better, loads faster and looks nicer. Here's how.

Simplified and streamlined

Winger has been extensively refactored, made leaner, less buggy, and more elegant.

Low-value features and cruft were shed e.g. showing the titles of active tabs of each window in edit mode.

To reduce unnecessary complexity, some options are no more e.g. you had a choice between allow, disallow and partially allow sending/bringing pinned tabs – now it's just allow, same as native pinned tab behaviour. Options to remove every panel button are gone (meaning no minimalist panel; let me know if you miss it)*, but so are the less-frequently-used edit and settings buttons.

*Update v2.0.1: Options to toggle send/bring buttons are back by request.

Many things behind the scenes are also done more efficiently. The most obvious one is that the popup panel now renders (and opens) considerably faster than before.

A neater, tighter Winger is also better prepared for the future, with high-impact features and updates to come.

Edit mode upgrade

While edit buttons are gone, other ways to enter edit mode have been improved. You now single-click the current window name rather than double-click, and you can do so via keyboard as well. The /edit command now has an alias /name, if you prefer that. Edit mode via slash command now keeps focus in the omnibox, allowing you to immediately filter windows if you want.

Yes, you can now filter in edit mode.

Holding the up or down key now traverses through the names continuously, as you'd expect. An invalid or duplicate name entered no longer stop you in your tracks; when de-targeted it is simply reverted. Saving a valid name will indicate success so you know when it sticks. All this is hopefully a far better user experience.

Smarter traversal

Speaking of better user experience: In a scrolling panel (with a dozen or more windows), Up/Down keys now "scroll ahead" before you reach the visible top/bottom of the list.

No more auto-naming

Winger 1.x named every window, if not with a user-set name, then with a default name like "Window 1" automatically. Winger 2.0 drops this behaviour; no name from you means no name. This avoids unwanted overrides for first-time users trying out Winger who happen to use other extensions that also modify window titles.

TODO: A future version of Winger may, ideally, detect and accommodate any window titles modified by other extensions.

/new, /kick and /pop commands

Early in Winger 2.0's development, I came up with /pop for creating new windows with currently selected tabs, effectively the keyboard equivalent of dragging tabs off a window. Later, spire-carlos independently suggested /new for creating a new window, which can be modified with Ctrl/Shift to send/bring tabs to it. That latter part is very Winger, I like it, thanks Carlos – also /new+bring = /pop – so I included it, and for completeness created /kick as the /new+send counterpart as well.

TODO: There are tentative plans to add a GUI method to perform these actions, and the ability to name the new window-to-be within the same step.

Update v2.2.0: GUI method is not pursued, but the ability to immediately name windows that these commands create has been added.

Preserve row order between sessions

Winger now remembers the the order of windows listed on the panel, surviving browser shutdowns and even crashes.

Dark theme

Yes!

New default keyboard shortcut

The default keyboard shortcut to open the popup panel is now F1, which should be more ergonomic than the previous Alt+W, especially as a frequently used shortcut. This applies to new users; if you've been using Winger 1.x, your keyboard shortcut will remain unchanged.

(If it conflicts with another extension's keyboard shortcut, let's say Tree Style Tabs, you can always choose another shortcut for either Winger or the other extension. e.g. I did the latter, remapped Tree Style Tabs' sidebar toggling to Shift+F1, since I use it far less often than I do Winger's popup panel.)

Minor updates for stashing

Stashing and unstashing now have "non-destructive" variations: /stash Shift+Enter will not close the window, and Shift+clicking the Unstash menu command will not delete the bookmark folder or bookmark.

Stashing a window used to delete the resulting Recently Closed Window entry (so that the list only contained windows you specifically closed); this has been reverted. Because one, default behaviour is simpler. Two, a backup is always worth taking up an entry. Three, I might leverage them to improve the unstashing mechanism in the future.

That's it for now about stashing; much is still under development so nothing of the "grand vision" will be seen yet.

Enjoy!

And apologies for the long wait.