⌨ Toward a more useful keyboard

Overview

Toward a more useful keyboard

Steve Losh's Modern Space Cadet is an inspiration. It opened my eyes to the fact that there's a more useful keyboard hidden inside the vanilla QWERTY package that most of us have tolerated for all these years. This repo represents my nascent quest to unleash that more useful keyboard.

At first, this might sound no different than the typical Emacs/Vim/<Every-Other-Editor> tweakfest. But it is. I'm not talking about honing my editor-of-choice. I'm not talking about pimping out my shell. I want a more useful keyboard everywhere. Whether I'm in my editor, in the terminal, in the browser, or in Keynote, I want a more useful keyboard.

And ideally, I want the same (more useful) keyboard in every app. Ubiquitous keyboarding. Muscle memory. Don't make me think.

How do I go to the beginning of the line in this app? The same way I go to the beginning of the line in every app! Don't make me think.

How do I go to the top of the file/screen/page in this app? The same way I... Well, you get the point.

More useful (for me)

cus·tom·ize (verb): to modify or build according to individual or personal specifications or preference [dictionary.com]

Any customization is, by definition, personal. While I find that these customizations yield a more-useful keyboard for me, they might not feel like a win for you.

Features

A more useful caps lock key

By repurposing the anachronistic caps lock key, we can make control and escape accessible via the home row.

  • Tap caps lock for escape
  • Hold caps lock for control

📣 Shout-out to @arbelt and @jasoncodes for the implementation. ⚡️ 🍻 🌟

(S)uper (D)uper Mode

To activate, push the s and d keys simultaneously and hold them down. Now you're in (S)uper (D)uper Mode. It's like a secret keyboard inside your keyboard. (Whoa.) It's optimized for keeping you on the home row, or very close to it. Now you can:

  • Use h / j / k / l for left/down/up/right respectively
  • Use a for option (AKA alt)
  • Use f for command
  • Use space for shift
  • Use a + j / k for page down / page up
  • Use i / o to move to the previous/next tab
  • Use u / p to go to the first/last tab (in most apps)
  • Use a + h / l to move to previous/next word (in most apps)

(S)uper (D)uper Mode Keybindings

📣 Shout-out to Karabiner's Simultaneous vi Mode for providing the inspiration for (S)uper (D)uper Mode. :neckbeard:

Window Layout Mode

Quickly arrange and resize windows in common configurations, using keyboard shortcuts that are on or near the home row. (Or, feel free to choose your own keyboard shortcuts.)

Default keybindings

Use control + s to turn on Window Layout Mode. Then, use any shortcut below to make windows do your bidding. For example, to send the window left, hit control + s, and then hit h.

  • Use h to send window left (left half of screen)
  • Use j to send window down (bottom half of screen)
  • Use k to send window up (top half of screen)
  • Use l to send window right (right half of screen)
  • Use shift + h to send window to left 40% of screen
  • Use shift + l to send window to right 60% of screen
  • Use i to send window to upper left quarter of screen
  • Use o to send window to upper right quarter of screen
  • Use , to send window to lower left quarter of screen
  • Use . to send window to lower right quarter of screen
  • Use space to send window to center of screen
  • Use enter to resize window to fill the screen
  • Use n to send window to the next monitor
  • Use to send window to the monitor on the left (if there is one)
  • Use to send window to the monitor on the right (if there is one)
  • Use control + s to exit Window Layout Mode without moving any windows

Window Layout Mode Keybindings (1) Window Layout Mode Keybindings (2)

Choose your own keybindings

Window Layout Mode ships with the default keybindings above, but you're welcome to personalize this setup. See hammerspoon/windows-bindings-defaults.lua for instructions on configuring shortcuts to your personal taste.

Markdown Mode

Perform common Markdown-formatting tasks anywhere that you're editing text (e.g., in a GitHub comment, in your editor, in your email client).

Use control + m to turn on Markdown Mode. Then, use any shortcut below to perform an action. For example, to format the selected text as bold in Markdown, hit control + m, and then b.

  • Use b to wrap the currently-selected text in double asterisks ("B" for "Bold")

    Example: **selection**

  • Use c to wrap the currently-selected text in backticks ("C" for "Code")

    Example: `selection`

  • Use i to wrap the currently-selected text in single asterisks ("I" for "Italic")

    Example: *selection*

  • Use s to wrap the currently-selected text in double tildes ("S" for "Strikethrough")

    Example: ~~selection~~

  • Use l to convert the currently-selected text to an inline link, using a URL from the clipboard ("L" for "Link")

    Example: [selection](clipboard)

  • Use control + m to exit Markdown Mode without performing any actions

Hyper key for quickly launching apps

macOS doesn't have a native hyper key. But thanks to Karabiner-Elements, we can create our own. In this setup, we'll use the right option key as our hyper key.

With a new modifier key defined, we open a whole world of possibilities. I find it especially useful for providing global shortcuts for launching apps.

Choose your own apps

Hyper Mode ships with the default keybindings below, but you'll likely want to personalize this setup. See hammerspoon/hyper-apps-defaults.lua for instructions on configuring shortcuts to launch your most commonly-used apps.

Default app keybindings

  • hyper + a to open iTunes ("A" for "Apple Music")
  • hyper + b to open Google Chrome ("B" for "Browser")
  • hyper + c to open Slack ("C for "Chat")
  • hyper + d to open Remember The Milk ("D" for "Do!" ... or "Done!")
  • hyper + e to open Atom ("E" for "Editor")
  • hyper + f to open Finder ("F" for "Finder")
  • hyper + g to open Mailplane ("G" for "Gmail")
  • hyper + s to open Slack ("S" for "Slack")
  • hyper + t to open iTerm2 ("T" for "Terminal")

Miscellaneous goodness

  • Use control + - (dash) to split iTerm2 panes horizontally
  • Use control + | (pipe) split iTerm2 panes vertically
  • Use control + h / j / k / l to move left/down/up/right by one pane in iTerm2
  • Use control + u to delete to the start of the line
  • Use control + ; to delete to the end of the line
  • Use option + h / l to delete the previous/next word

Dependencies

This setup is honed and tested with the following dependencies.

Installation

  1. Grab the bits

    git clone https://github.com/jasonrudolph/keyboard.git ~/.keyboard
    
    cd ~/.keyboard
    
    script/setup
  2. Enable accessibility to allow Hammerspoon to do its thing [screenshot]

  3. You'll be prompted to allow Karabiner-Elements to load its kernel extension, followed by a flurry of prompts related to input monitoring. Follow the prompts to upgrade your life.

Comments
  • macOS Sierra Support

    macOS Sierra Support

    This setup has historically relied heavily on Karabiner. According to the Karabiner site:

    Karabiner does not work on macOS Sierra at the moment.

    We are developing Karabiner-Elements which provides simple key modification for macOS Sierra at first. (Karabiner-Elements works well on macOS Sierra. We are working on fixing several remaining issues.)

    We'll start updating for the full featured Karabiner for Sierra after Karabiner-Elements is completed.

    I have high hopes for all a full-featured Karabiner coming to Sierra 🤞, but in the meantime, I'd :heart: to have as much of this setup working on Sierra as possible.

    This branch represents a work-in-progress attempt to port the majority of this repository's pre-Sierra functionality to Sierra. Presently, the tools available on Sierra lack the power and flexibility available in Karabiner. Given those limitations, porting the previous functionality to Sierra will likely involve compromises. It's unlikely to be an exact port.

    TODO

    • [x] A more useful caps lock
      • [x] Tap caps lock for escape
      • [x] Hold caps lock for control
    • [x] Enable navigation via the home row (See README 📝)
      • [x] Left/down/up/right
      • [x] Previous/next word
        • [x] In most apps
        • [x] In iTerm2
      • [x] Start/end of line
      • [x] Page down/up
      • [x] Select while navigating
      • [x] Delete previous/next word
      • [x] Delete to start/end of line
    • [x] Enable other commonly-used actions on or near the home row (See README 📝)
      • [x] Previous/next tab
      • [x] First/last tab
      • [x] Split panes horizontally/vertically in iTerm2
      • [x] Move left/up/down/right by one pane in iTerm2
    • [x] Window management using keyboard shortcuts on or near the home row
      • [x] Send window left (left half of screen) - control + s, h
      • [x] Send window down (bottom half of screen) - control + s, j
      • [x] Send window up (top half of screen) - control + s, k
      • [x] Send window right (right half of screen) - control + s, l
      • [x] Send window to upper left - control + s, i
      • [x] Send window to upper right - control + s, o
      • [x] Send window to lower left - control + s, ,
      • [x] Send window to lower right - control + s, .
      • [x] Send window to center of screen - control + s, space
      • [x] Resize window to fill the screen - control + s, enter
      • [x] Send window to next monitor - control + s, n
    • [x] Hyper key for quickly launching apps
      • [x] Use right option key as hyper key
      • [x] hyper + a to open iTunes ("A" for "Apple Music")
      • [x] hyper + b to open Google Chrome ("B" for "Browser")
      • [x] hyper + c to open Hackable Slack Client ("C for "Chat")
      • [x] hyper + d to open Remember The Milk ("D" for "Do!" ... or "Done!")
      • [x] hyper + e to open Atom Beta ("E" for "Editor")
      • [x] hyper + f to open Finder ("F" for "Finder")
      • [x] hyper + g to open Mailplane 3 ("G" for "Gmail")
      • [x] hyper + t to open iTerm ("T" for "Terminal")
    • [x] Markdown formatting
      • [x] Italics (Wrap the currently-selected text in single asterisks) - control + m, i
      • [x] Bold (Wrap the currently-selected text in double asterisks) - control + m, b
      • [x] Strikethrough (Wrap the currently-selected text in double tildes - control + m, s
      • [x] Inline link (Convert the currently-selected text to an inline link, using a URL from the clipboard) - control + m, l
    • [x] Consider providing visual indicator when in (S)uper (D)uper Mode, WindowLayout Mode, and Markdown Mode
    • [x] Update README
    opened by jasonrudolph 20
  • Add shush-like functionality

    Add shush-like functionality

    This is a work-in-progress and just a proof-of-concept right now.

    I wanted to see if I could copy the functionality of Shush.app with Hammerspoon - turns out it was not that difficult. Basically, you hold a hot key to mute or unmute the mic, and double-tap the hot key to toggle hold-to-mute or hold-to-unmute. It's a super minimal app that just brings push-to-talk to macOS.

    screen shot 2017-01-30 at 4 33 20 pm

    Building out the hotkey functionality is kind of funny in Hammerspoon - from what I could tell you can't use hs.hotKey or hs.hotKey.modal to listen for meta-only keys (like ⌥), so I ended up doing basically the same thing you did in control-escape.lua.

    I got all the way to this point and realized that hs.audiodevice:setMuted(state) doesn't exactly work as advertised. I can see the current device being muted/unmuted in Audio MIDI Setup.app, but it still comes through in all of the applications I tested in.

    screen shot 2017-01-30 at 4 41 00 pm

    It sounds like another option is to set the input volume to 0, but I've read that it doesn't completely mute the input, but just makes it really quiet. I'm going to try that next, but I just wanted to put this here to see if it is something you're interested in (and to see if maybe someone knows why setMuted doesn't actually work 😄).

    opened by adamyonk 11
  • stuck on Tapping caskroom/cask

    stuck on Tapping caskroom/cask

    Hello there, can't wait to adabting this keyboard

    so I followed the insteractions and after running script/setup i'm left out with the following :

    brew bundle can't satisfy your Brewfile's dependencies.
    Satisfy missing dependencies with `brew bundle install`.
    

    when I run brew bundle install it get stuck on

    Tapping caskroom/cask
    Using karabiner-elements
    

    now when I redo script/setup i get

    brew bundle can't satisfy your Brewfile's dependencies.
    Satisfy missing dependencies with `brew bundle install`.
    Tapping caskroom/cask
    Using karabiner-elements
    

    thanks

    opened by Kwask94 9
  • Bug when typing

    Bug when typing "s"/"d" with another character in rapid succession

    Steps to reproduce: Type "s" or "d" followed by another character in rapid succession (< MAX_TIME_BETWEEN_SIMULTANEOUS_KEY_PRESSES), such as se really fast. Instead of inserting se, es is inserted. Running on macOS 10.13.5 with Hammerspoon 0.9.66. This issue has been consistently reproduced with Hammerspoon running, and has been consistently absent with Hammerspoon closed.

    opened by denosawr 9
  • Mac Big Sur - 2 Brewfile dependencies failed to install.

    Mac Big Sur - 2 Brewfile dependencies failed to install.

    I am not sure if this is related to big Sur or not. I am running brew under Rosetta2 otherwise there is no brew with Big Sur yet. I am using the recommended installation and with pre-installed hammerspoon and Karabiner elements brew fails to recognise the installations. If I delete the installations i get the error below, - still fialing to install the dependencies. Is this a Big Sur/Rosetta issue?.

    ❯ script/setup brew bundle can't satisfy your Brewfile's dependencies. Satisfy missing dependencies with brew bundle install. Error: Cask 'karabiner-elements' is unavailable: No Cask with this name exists. Installing karabiner-elements has failed! Error: Cask 'hammerspoon' is unavailable: No Cask with this name exists. Installing hammerspoon has failed! Homebrew Bundle failed! 2 Brewfile dependencies failed to install.

    opened by capnahab 8
  • Can't activate SuperDuper mode while using Russian keyboard

    Can't activate SuperDuper mode while using Russian keyboard

    Problem

    When switching to Russian language, I can't activate SuperDuper mode. At the same time, WindowsLayout and Markdown modes work just fine.

    I use macOS Catalina

    Is there any way to make it working?

    help-wanted 
    opened by aantipov 7
  • Persist 'muted' status message when microphone is muted

    Persist 'muted' status message when microphone is muted

    I often find myself toggling push-to-talk on/off to gain confidence as to which mode I'm in (PTT vs. PTM), whereas this change will leave the "muted" status message on screen when in push-to-talk mode.

    opened by jamesottaway 6
  • ln error during script/setup

    ln error during script/setup

    Running script/setup gives me this error: ln: /Users/harmtemolder/.config//karabiner: Operation not permitted Rewriting line 12 from ln -sfn $PWD/karabiner ~/.config/ to ln -sfn $PWD/karabiner ~/.config fixed this.

    I'm not confident enough around ln to change the file, but happy to do so if you agree that this would improve it.

    opened by harmtemolder 4
  • Hyper issues on German keyboards with @-sign

    Hyper issues on German keyboards with @-sign

    Hey Jason,

    thank you for this awesome repo but I have a small problem with the 'Hyper' key. On the German Keyboard the 'right option' + lowercase 'L' writes the @-sign. Is it possible to remap that to 'Hyper' + lowercase 'L' ? I looked at the 'hyper.lua' file and it looks like I can only open apps or execute functions. I am not familiar with Lua so I was wondering what I would have to do to just send one symbol.

    Best, Chris

    opened by chbroecker 4
  • Super Duper mode

    Super Duper mode "space to select" is not working with "h" key

    When I'm pressing (s)+(d) and holding (space) to select text, it only works when moving forward (pressing (l) key) and not when moving backwards (pressing (h). So that means I cannot select the text that is before the cursor.

    So to sum up, the key combination (s)+(d)+(space)+(h) is not working for me

    opened by garrofederico 3
  • Windows bindings stopped working when I upgraded to Big Sur 11.5.1

    Windows bindings stopped working when I upgraded to Big Sur 11.5.1

    Last night I upgraded from Big Sur 11.5 (Intel) to Big Sur 11.5.1. This morning I realized that most of my windows bindings weren't working. (I.E. ctrl-s + h)

    All of the alpha bindings no longer work. The symbol bindings (,, ., space, return, etc.) still appear to be working.

    I realized that my versions of Hammerspoon, Karabiner-Elements, and keyboard were all of out date. I spent a bit of time upgrading everything. When that didn't fix it, I removed my configuration and all of the apps and reinstalled from a fresh copy of keyboard.

    Now with a fresh copy of everything, nothing has changed. Since I just upgraded to Big Sur 11.5.1 last night, something must have changed with macOS.

    Any ideas?

    opened by kgust 3
  • Install error

    Install error

    Dear Jason,

    I've been trying to install your keyboard on my Mac but when the bits are copied to the terminal the following error pops up:

    fatal: destination path '/Users/cyril/.keyboard' already exists and is not an empty directory. Homebrew is required: http://brew.sh/

    Does this mean the keyboard is already installed? If so I would like to know if there are any additional steps to the installation because I am not able to use it's features presently.

    Thanks Cyril

    opened by cyrilgmathew 1
  • Period -

    Period - "." stops working after sometime

    When I load the Hammerspoon config (which loads this keyboard), for sometime the period character "." works as expected. Every key press of "." inserts the "." character.

    Since the period is not remapped in any of the customized shortcuts, this is as expected.

    However, after a while, consistently, I see that pressing the period key does not insert the period. Instead, the only way to insert a period is to consecutively press period twice (within a short time).

    In order to insert every "." in this issue description, I had to press "." twice quickly to print it to the screen.


    Now as I'm typing this, I'm reloading the Hammerspoon config. And all periods after this point was inserted with a single key press of "." .... -> each period corresponds to a single press now, after reloading the config.

    This is an interesting issue. Any idea why this might be happening.

    opened by novicebaba 4
  • Cannot access command(f) in Super Duper Mode

    Cannot access command(f) in Super Duper Mode

    Hi, I recently starting using this set of code, but when I am in super-duper mode, I cannot hit f to go to command, as when I try things like cmd-z or cmd-c, nothing happens. Can someone tell me if I am doing anything wrong?

    opened by rockwoodfrank 6
Releases(v6.0.0)
  • v6.0.0(Oct 10, 2020)

    Hammerspoon 0.9.80 introduced a breaking API change related to window management (https://github.com/Hammerspoon/hammerspoon/issues/2517, jasonrudolph/keyboard#72). Since Hammerspoon regularly prompts users to upgrade, anyone who upgraded to the newer version of Hammerspoon was then unable to use Window Layout Mode in jasonrudolph/keyboard v5.0.0 and earlier.

    To be compatible with Hammerspoon 0.9.80 and up, this release updates to the new API, but this change is incompatible with older versions of Hammerspoon (0.9.79 and earlier).

    To upgrade to this release, upgrade to Hammerspoon 0.9.81 and then update your local checkout of jasonrudolph/keyboard:

    $ cd ~/keyboard
    
    $ git fetch
    
    $ git checkout v6.0.0
    

    Shout-out to @landongrindheim for the fix! (https://github.com/jasonrudolph/keyboard/pull/73) :zap:

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0(Jul 22, 2018)

    To overcome an issue with Karabiner-Elements where keys would seemingly get stuck and start repeating at unexpected times, jasonrudolph/keyboard v4.0.0 removed the dependency on Karabiner-Elements and implemented Hyper Mode via Hammerspoon.

    Due to differences in the abilities of Karabiner-Elements and Hammerspoon, implementing Hyper Mode via Hammerspoon required a slight reduction in the ease of activating Hyper Mode. That slightly degraded user experience was a reasonable compromise to overcome the bug in Karabiner-Elements, but now that the Karabiner-Elements bug is resolved, jasonrudolph/keyboard v5.0.0 restores Hyper Mode's previous (faster, more pleasant) user experience. :sweat_smile:

    For full details on Hyper Mode and its usage, check out the README.

    Upgrading

    1. Install the latest bits
      cd <path-to-your-local-copy-of-this-repository>
      
      git pull
      
      script/setup
      
    2. Restart Hammerspoon
    3. You may be prompted to allow Karabiner-Elements to load its kernel extension. If so, follow the prompts to upgrade your life:
      1. Click "Open System Preferences" [screenshot]
      2. Click "Allow" [screenshot]

    Changelog

    • #43 Restore use of Karabiner-Elements for more convenient Hyper Key
    Source code(tar.gz)
    Source code(zip)
  • v4.0.0(Jun 22, 2018)

    To overcome an issue with Karabiner-Elements, this release removes the dependency on Karabiner-Elements and doubles down on Hammerspoon.

    As a result of this change, Hyper Mode is now triggered by tapping the option key.

    Upgrading

    1. Grab the latest bits
      cd <path-to-your-local-copy-of-this-repository>
      
      git pull
      
    2. Uninstall Karabiner-Elements
    3. Restart your Mac
    4. [OPTIONAL] Remap your caps lock key to control: Open System Preferences, navigate to Keyboard > Modifier Keys, and set the caps lock key to control [screenshot]

    Changelog

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(Jun 3, 2017)

    Changelog

    • #11 Add script/setup to automate installation -- :zap: @bkeepers
    • #12 Support native modifier keys in (S)uper (D)uper mode -- :zap: @raineorshine
    • #13 + #21 Provide universal push-to-talk/push-to-mute hotkey using the fn key -- :zap: @adamyonk
    • #16 In Markdown Mode, use c to format the selected text as code -- :zap: @jnunemaker
    • #20 In Window Layout Mode, use / to send window to the monitor on the left/right -- :zap: @sonnius
    • #21 Make it easier to use jasonrudolph/keyboard in combination with other Hammerspoon customizations

    Upgrading

    To account for the changes in #21, you'll need to remove your existing ~/.hammerspoon symlink before upgrading to this version. The following steps should do the trick:

    rm ~/.hammerspoon
    
    cd <path-to-your-local-copy-of-this-repository>
    
    git pull
    
    ./script/setup
    
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Jan 28, 2017)

  • v1.0.0(Jan 28, 2017)

    ✅ El Capitan (10.11), Yosemite (10.10), and Mavericks (10.9)

    This release is suitable for use on OS X El Capitan (10.11), and it probably works on OS X Yosemite (10.10) and OS X Mavericks (10.9) as well. This release depends on:

    ❌ Not compatible with Sierra (10.12)

    This release is not compatible with macOS Sierra (10.12). According to the Karabiner site as of January 2017:

    Karabiner does not work on macOS Sierra at the moment.

    We are developing Karabiner-Elements which provides simple key modification for macOS Sierra at first. ... We'll start updating for the full featured Karabiner for Sierra after Karabiner-Elements is completed.

    https://github.com/tekezo/Karabiner/issues/660#issuecomment-226942420 provides additional context on the breaking changes in macOS Sierra:

    macOS 10.12 changes of the generic keyboard and mouse drivers made a great impact on Karabiner and Seil. We should make a large changes in Karabiner and Seil architecture. There is not a workaround for this issue.

    Please wait an update of Karabiner and Seil for macOS 10.12. (It may take a long time.)

    For Sierra support, see v2.0.0, which removes the dependency on Karabiner and Seil, and instead depends on Karabiner-Elements and Hammerspoon.

    Source code(tar.gz)
    Source code(zip)
Owner
Jason Rudolph
Creator of @buildpulse. Previously: Staff Engineer at @GitHub, Partner at @Relevance.
Jason Rudolph
A simple cli utility for importing or exporting dashboard json definitions using the Grafana HTTP API.

P4CMD 🌴 A Python Perforce package that doesn't bring in any other packages to work. Relies on p4cli installed on the system. p4cmd The p4cmd module h

Beam Connectivity 31 Jan 06, 2023
Tmux Based Dropdown Dashboard For Python

sextans It's a private configuration and an ongoing experiment while I use Archlinux. A simple drop down dashboard based on tmux. It includes followin

秋葉 4 Dec 22, 2021
A Julia library for solving Wordle puzzles.

Wordle.jl A Julia library for solving Wordle puzzles. Usage julia import Wordle: play julia play("panic") 4 julia play("panic", verbose = true) I

John Myles White 3 Jan 23, 2022
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 02, 2023
A simple python application for running a CI pipeline locally

A simple python application for running a CI pipeline locally This app currently supports GitLab CI scripts

Tom Stowe 0 Jan 11, 2022
Browse Hacker News like a haxor: A Hacker News command line interface (CLI).

haxor-news Coworker who sees me looking at something in a browser: "Glad you're not busy; I need you to do this, this, this..." Coworker who sees me s

Donne Martin 3.8k Jan 07, 2023
Tidier - a simple command line tool that helps you make your files tidy up

Tidier - a simple command line tool that helps you make your files tidy up

AmirMohammad Hosseini Nasab 8 Aug 16, 2022
Loading animation; a progress bar

Loading animation; a progress bar. When you know the remaining time or task completion percentage, then you’re able to show an animated progress bar:

Goldy 1 Jan 23, 2022
A CLI for creating styled-components for React projects quickly

new-component Ian Cleary (iancleary) Description Welcome! This is a CLI for creating styled-components for React projects quickly. Note: I've rewrote

Ian Cleary (he/him/his) 1 Feb 15, 2022
🎄 Advent of Code command-line tool.

🎄 advent-cli advent-cli is a command-line tool for interacting with Advent of Code, specifically geared toward writing solutions in Python. It can be

Christian Ferguson 6 Dec 01, 2022
A very simple and lightweight ToDo app using python that can be used from the command line

A very simple and lightweight ToDo app using python that can be used from the command line

Nilesh Sengupta 2 Jul 20, 2022
A communist shell written in Python

kash A communist shell written in Python It doesn't support escapes, quotes, comment lines, |, &&, , or similar yet. If you need help, get it from

Çınar Yılmaz 1 Dec 10, 2021
🌈 Lightweight Python package that makes it easy and fast to print terminal messages in colors. 🌈

🌈 Colorist for Python 🌈 Lightweight Python package that makes it easy and fast to print terminal messages in colors. Prerequisites Python 3.9 or hig

Jakob Bagterp 1 Feb 05, 2022
Wordle for CLUE - WORDLE clone for Adafruit Clue

Wordle_for_CLUE This project is a clone of the very popular word solving puzzle

Michael Lacock 4 Feb 15, 2022
Command Line Manager + Interactive Shell for Python Projects

Manage Command Line Manager + Interactive Shell for Python Projects

Python Manage 123 Aug 28, 2022
A Python module and command line utility for working with web archive data using the WACZ format specification

py-wacz The py-wacz repository contains a Python module and command line utility for working with web archive data using the WACZ format specification

Webrecorder 14 Oct 24, 2022
The most comprehensive, exhaustive, parameterized command-line wordle solver.

Wordle Solver The most comprehensive, exhaustive, parameterized command-line wordle solver. Wordle is a real

Debarghya Das 27 Nov 21, 2022
A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli.

ABOUT A command-line based, minimal torrent streaming client made using Python and Webtorrent-cli. Installation pip install -r requirements.txt It use

Janardon Hazarika 17 Dec 11, 2022
The project help you to quickly build layouts in terminal,cross-platform

The project help you to quickly build layouts in terminal,cross-platform

gojuukaze 133 Nov 30, 2022
Because sometimes you need to do it live

doitlive doitlive is a tool for live presentations in the terminal. It reads a file of shell commands and replays the commands in a fake terminal sess

Steven Loria 3.2k Jan 09, 2023