Skip to content

windows-alttab@samuel-ifrs: add new extension#1073

Open
samuel-ifrs wants to merge 2 commits into
linuxmint:masterfrom
samuel-ifrs:windows-alttab@samuel-ifrs
Open

windows-alttab@samuel-ifrs: add new extension#1073
samuel-ifrs wants to merge 2 commits into
linuxmint:masterfrom
samuel-ifrs:windows-alttab@samuel-ifrs

Conversation

@samuel-ifrs

Copy link
Copy Markdown

This PR adds a new extension: Windows Alt+Tab (windows-alttab@samuel-ifrs).

What it does

An Alt+Tab window switcher that shows live window thumbnails (previews), in the classic Windows style:

  • Live thumbnails of every window while holding Alt and pressing Tab, each with the app icon and window title.
  • Items wrap into multiple rows when there are many windows, centered on the active monitor.
  • Minimized windows are dimmed.
  • Middle-click a thumbnail closes that window without leaving the switcher.
  • Right-click opens the standard window menu.

While enabled it sets alttab-switcher-style to windows; the previous style is restored on disable.

Checklist

  • ./validate-spice windows-alttab@samuel-ifrs passes
  • metadata.json has uuid, name, description; no forbidden fields; ASCII only
  • info.json with author
  • square icon.png, screenshot.png
  • files/ contains only the UUID directory

Tested on Cinnamon 6.6 (Linux Mint).

Alt+Tab window switcher with live window thumbnails, in the classic
Windows style. Middle-click a thumbnail to close that window;
right-click for the window menu.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 14, 2026 19:30
@github-actions

Copy link
Copy Markdown

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Most findings
are advisory and do not automatically disqualify a pull request.

This check is not perfect and will not replace a normal review.


Found 3 potential issue(s):

⚠️ WARNING

⚠️ lang_bind

windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/classic_switcher_windows_style.js:185

Lang.bind(this, function (actor, event) {

Lang.bind() is deprecated. Use arrow functions (() => {}) or Function.prototype.bind() instead.

windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/classic_switcher_windows_style.js:395

Lang.bind(this, this._appActivated),

Lang.bind() is deprecated. Use arrow functions (() => {}) or Function.prototype.bind() instead.

windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/classic_switcher_windows_style.js:399

Lang.bind(this, this._appEntered),

Lang.bind() is deprecated. Use arrow functions (() => {}) or Function.prototype.bind() instead.


Automated pattern check.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new Cinnamon extension that replaces the default Alt+Tab switcher with a Windows-style multi-row thumbnail switcher.

Changes:

  • Introduces a custom ClassicSwitcher implementation with live window previews, multi-row wrapping, and middle/right click actions.
  • Adds styling, extension metadata, and root project info.
  • Documents features and usage in a new README.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
windows-alttab@samuel-ifrs/info.json Adds top-level project metadata for the spice/repo.
windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/stylesheet.css Adds CSS for the Windows-style switcher layout and selection styling.
windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/metadata.json Adds Cinnamon extension metadata (uuid/name/description/version).
windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/extension.js Hooks Cinnamon’s app switcher creation to use the custom switcher and toggles the global style setting.
windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/classic_switcher_windows_style.js Implements the custom switcher, window preview sizing, click handling, and row-based layout.
windows-alttab@samuel-ifrs/README.md Documents features, usage, and behavior of the global style setting.

Comment thread windows-alttab@samuel-ifrs/files/windows-alttab@samuel-ifrs/extension.js Outdated
Comment thread windows-alttab@samuel-ifrs/info.json
@samuel-ifrs samuel-ifrs marked this pull request as draft June 14, 2026 19:34
- Replace Lang.bind() with arrow functions / .bind() (deprecated API)
- Use set_child() instead of direct child property assignment
- Cache _computeRows() result; invalidate on item add or icon resize
- Split long inline object literal in _computeRows
- Translate hardcoded PT-BR notification messages to English
- Complete info.json with uuid, name and description fields
- Add comment explaining why SwitcherList._init is called directly

Co-Authored-By: Claude Code
@samuel-ifrs samuel-ifrs marked this pull request as ready for review June 15, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants