Skip to content

windvalley/dot-hammerspoon

Repository files navigation

sre.imdot-hammerspoon

Language Platform Version LICENSE Page Views

dot-hammerspoon is my personal configuration for Hammerspoon, and you can modify to suit your needs and preferences.

Features

  • Application quick launch or hide.
  • Application window manipulation, such as moving, resizing, changing position, etc.
  • System management, such as lock screen, restart system, etc.
  • Auto switch input method according to the application.
  • Switch to the specified input method.
  • Open the specified website directly.
  • Toggle the keybindings cheatsheet.
  • Keep the desktop wallpaper the same as the bing daily picture.
  • Auto reload configuration when lua files changes.
  • The code structure is clear and easy to customize into your own configuration.

Installation

  1. Install Hammerspoon first: brew install hammerspoon --cask

  2. Run Hammerspoon.app and follow the prompts to enable Accessibility access for the app.

  3. git clone --depth 1 https://github.com/windvalley/dot-hammerspoon.git ~/.hammerspoon

Keep update:

cd ~/.hammerspoon && git pull

Usage

Toggle Keybindings Cheatsheet

toggle-keybindings-cheatsheet

+ /

Switch to the specified Input Method

  • + 1: ABC
  • + 2: Pinyin

System Management

  • + Q: Lock Screen
  • + S: Start Screensaver
  • + R: Restart Computer
  • + S: Shutdown Computer

Website Open

  • + 8: github.com
  • + 9: google.com
  • + 7: bing.com

Application Launch or Hide

application-launch

  • + H: Hammerspoon Console
  • + F: Finder
  • + I: Alacritty
  • + C: Chrome
  • + O: Obsidian
  • + D: Draw.io
  • + K: Freeplane
  • + N: YNote
  • + M: Mail
  • + P: Postman
  • + E: Excel
  • + V: VSCode
  • + W: WeChat

Window Manipulation

Window Position

window-position

  • + C: Center Window

  • + K: Up Half of Screen

  • + J: Down Half of Screen

  • + H: Left Half of Screen

  • + L: Right Half of Screen

  • + U: Top Left Corner

  • + I: Top Right Corner

  • + O: Bottom Left Corner

  • + P: Bottom Right Corner

  • + Q: Left or Top 1/3

  • + W: Right or Bottom 1/3

  • + E: Left or Top 2/3

  • + R: Right or Bottom 2/3

Window Resize

window-resize

  • + M: Max Window

  • + =: Stretch Outward

  • + -: Shrink Inward

  • + K: Bottom Side Stretch Upward

  • + J: Bottom Side Stretch Downward

  • + H: Right Side Stretch Leftward

  • + L: Right Side Stretch Rightward

Window Movement

window-movement

  • + K: Move Upward
  • + J: Move Downward
  • + H: Move Leftward
  • + L: Move Rightward

Window Monitor

  • + UP: Move to Above Monitor
  • + DOWN: Move to Below Monitor
  • + LEFT: Move to Left Monitor
  • + RIGHT: Move to Right Monitor
  • + SPACE: Move to Next Monitor

Window Batch

  • + M: Minimize All Windows
  • + U: Unminimize All Windows
  • + Q: Close All Windows

Keybindings Customization

Modify the file ~/.hammerspoon/keybindings_config.lua according to your keystroke habits.

Some Useful Shortcuts Come With macOS

More details

Desktop

  • + RIGHT: Switch to right desktop
  • + LEFT: Switch to left desktop
  • + UP: Toggle tiling windows
  • + D: Toggle dock

Application

  • + Q: Close app
  • + ,: Open the app's preferences
  • + /: Toggle help

Window

  • + H: Hide window
  • + M: Minimize window
  • + N: New window
  • + W: Close window
  • + `: Switch between windows of the same application
  • + F: Toggle window fullscreen
  • + H: Hide all windows except the current one

Window Tab

  • + [: Switch to the left tab
  • + ]: Switch to the right tab
  • + NUMBER: Switch to the specified tab
  • + 9: Switch to the last tab

Cursor

  • + P: Move the cursor up
  • + N: Move the cursor down
  • + B: Move the cursor back/left
  • + F: Move the cursor forward/right
  • + A: Move the cursor to the beginning of the line
  • + E: Move the cursor to the end of the line

File

  • + BACKSPACE: Delete the selected file
  • + DOWN: Go to a directory or open a file
  • + UP: Back to the upper level directory
  • + BACKSPACE: Clear the Trash

Others

  • + +: Expand font size

  • + -: Shrink font size

  • + 0: Reset font size

  • + Z: Undo

  • + Z: Redo

  • + C: Copy

  • + V: Paste

  • + V: Paste and delete the original object

Acknowledgments

License

This project is under the MIT License. See the LICENSE file for the full license text.