Adjacent Windows

UUID: adjacent-windows@klangman
Last edited:
3 months ago 2024-12-21, 20:36
Last commit: [42304549] Extensions - French translation (#798)

Use hotkeys to switch to adjacent windows

README

Close

Adjacent Windows

A Cinnamon extension that allows you to define hotkeys which will activate the nearest window to the current window on the left, right, above, below or underneath. There is also an option (disabled by default) to undo the window change and activate the window that previously had the focus. With this extension you can easily change the window focus without reaching for the mouse and it's faster than using Alt-TAB. It's particularly useful for people who frequently use window tiling.

By default the Super+Alt+(arrow-keys) are defined as the hotkeys to move to adjacent windows, but this can be changed in the configuration. If for example, you like the Vim key bindings, you could change the hotkeys to be Super+h/j/k/l. The default hotkey for activating windows underneath the current window is Super+Alt+Insert (Keypad).

Requirements

This extension requires at least Linux Mint 21 / Cinnamon 5.4 because the Meta.Window.get_frame_rect() API is needed.

Installation

  1. Right click on the cinnamon panel and click "System Settings"
  2. Click on the "Extensions" icon under the "Preferences" category
  3. Click the "Download" tab and then click the "Adjacent Windows" entry
  4. Click the "Install" button on the right and then return to the "Manage" tab
  5. Select the new "Adjacent Windows" entry and then click the "+" button at the bottom of the window
  6. Click on the gears icon to the right of the "Adjacent Windows" entry to open the configuration window so you can change the hotkeys and other options as desired.

Feedback

Please leave a comment here on cinnamon-spices.linuxmint.com or you can create an issue on my "Adjacent Windows" development GitHub repository if you encounter any issues with this extension:

https://github.com/klangman/Adjacent-Windows

This is where I develop new features and test out any new ideas I have before pushing to cinnamon-spices.

If you use this extension please let me know by "liking" it here and on my Github repository, that way I will be encouraged to continue working on the project.

Free Icon: https://www.flaticon.com/free-icon/four-arrows_10696144 Four ways icons created by Laisa Islam Ani

CHANGELOG

Open

Log In To Comment!

13 Comments

qadzek
qadzek-1 week ago
I've been using this extension for over a year, and it's still running great, now under Linux Mint 22.1 and Cinnamon 6.4.8. Cinnamon can be made pretty keyboard-centric by using Adjacent Windows together with applications like keyd (to remap keys), sxhkd (to bind keys to commands), and jumpapp (to bind keys to launching or focusing an app). Thanks again for developing this extension; I use it dozens or hundreds of times a day. It led me to translate your extensions, and eventually all other Cinnamon Spices, helping me become more familiar with translating FOSS and as a way to give back to the community.
Kevin Langman
Kevin Langman-1 week ago
Thanks qadzek for the original suggestion leading to this extension and for all your translation work. Sadly, I still haven't got by brain to reliability remember to use this extensions hotkeys all that often, but it still saves me some time each day when I am able to remember to use it. Lastly, for those that would benefit from "jumpapp", one of my other projects (CassiaWindowList Applet) offers a similar functionality. It allows you to assign hotkeys to launch or switch to whatever application you like.
Harald Weber
Harald Weber-4 weeks ago
Great extension! Exactly what I was looking for after playing around with hyprland on cachy os. This extension is an excellent addition to have a near "tiling wm" experience (of course together with a lot of custom keyboard shortcuts in Mint's keyboard preferences) You seem to be "the god of Mint extensions" :) I also like your other Extensions: - Magic Lamp - Blur Cinnamon - Flipper Well done! Keep up the good work!
Kevin Langman
Kevin Langman-4 weeks ago
Thanks for the comment, but I must point out that I am standing on the shoulders of many other developers. With the exception of this one, my extensions make extensive use of code from other developers. I did write Adjacent Windows from scratch, but it's based on a suggestion from qadzek so the original idea for this extension is not mine either. In any case, I am happy that I was able to bring these extensions to Cinnamon.
Crispy
Crispy-1 month ago
Fantastic! Thank you for this wonderful extension.
Kevin Langman
Kevin Langman-1 month ago
Thanks for the comment. Let me know if you find any problems or have any suggestions.
lachase
lachase-4 months ago
I love it when I think of a functionality and discover it's been made possible in my DE by a piece of software like this. I didn't even know about extensions in cinnamon, just applets/desklets, so that's a bonus. Good work! I assume that there is some reason that this tool can't work across multiple monitors, aside from that I have absolutely no complaints.
lachase
lachase-4 months ago
Wow this is embarrassing, just looked at the settings for half a second and realized that mulit-monitor support is indeed possible. I now have absolutely no complaints!
Kevin Langman
Kevin Langman-4 months ago
Glad that this extension is useful to you. Let me know if you spot and issues with it.
Nekkowe!
Nekkowe!-1 year ago
That's wild, what a concept! I can think of a good couple cases where this kind of keyboard-only tiled-window navigation would become really useful. Thank you for this extension!
Kevin Langman
Kevin Langman-1 year ago
Hope it works well for you. Let me know if you find any bugs or have any suggestions.
qadzek
qadzek-1 year ago
This extension is working great on Linux Mint 21.3. Together with the key bindings available under Keyboard > Shortcuts > Windows > Tiling and Snapping, it almost feels like using a tiling window manager.
Kevin Langman
Kevin Langman-1 year ago
Thanks qadzek for making the suggestion that lead to this extension and for your testing work.