Dup Ver Goto 📝

BobbinsKeyboardShortcuts

PT2/linux/kde linux kde bobbins does not exist
To
73 lines, 470 words, 2920 chars Page 'BobbinsKeyboardShortcuts' does not exist.

KDE 6 Breaks this

So I finally put Kubuntu 25.10 on a Thinkpad that needed a reinstall. It comes with KDE 6, and the custom keyboard shortcuts of old is gone. Moreover, mass adding shortcuts as with Bobbins, which meant hundreds of them, just crashes the settings app. So I needed a different approach. What I came up with is a simple app with Tkinter which displays a list of shortcuts which one can press. I called it schmoop for the sake of giving it a silly name like schmerp. Then, I bind e.g. A-C-M-l to the command schmoop A-C-M-l, which then finds ~/.schmoop/A-C-M-l.schmoop which contains eybindings in a simple form:

x command args
y command args

and generally each keystroke then launches a script or application. Generally that places most things two combos away, one to load schmoop, and the other to follow it. For other things, there is the schmerp app I wrote a while back, which presents a simple text entry into which you can use shorthands for commands.

Old Content

I often use the word bobbins and a random word for things, especially an 'everything else'. What I do with KDE is to bind many combos using meta (which I try to reserve to window management and app launching stuff, so that all combos without meta are passed to the application and not intercepted by the desktop environment). These all then call a single binary ~/bin/bobbins passing the keyboard shortcut, in A-C-M-S-x notation (Alt-Control-Meta-Shift-key) as a command line argument. So Meta+Shift+0 calls bobbins M-S-0. I can then control what this shortcut does by editing the script at ~/bin/bobbins. I then put environment variables for bobbins in ~/.bobbins. I then assign A-C-M-delete to edit the bobbins script. I've exported the group here (load them in the Custom Shortcuts panel in KDE Settings). Note that after importing, you may need to disable and renable the group for the mappings to take effect.

bobbins kde shortcuts

My bobbins file

Note that tkt is Tk Text Display and mp is my MPD helper script

#!/bin/bash

# $HOME/.bobbins contains variables
# C-w gf to edit in new tab; C-w C-f to open in split
if [ -e "$HOME/.bobbins" ]; then . "$HOME/.bobbins"; fi

MP="${MP-1}" # default 

# ~/.bobbins.log is the log file
# if you're wondering why I state the f'ing obvious,
# it's so I can position the cursor over ~/.bobbins.log
# in vim and use C-w gf to open it in a new tab
LOG=~/.bobbins.log
echo "[$(date +"%Y/%m/%d %H:%M:%S")] bobbins $@" >> $LOG

# REMEMBER the ;;
case "$1" in
  M-S-0)
    mp "$MP",p
    ;;
  C-M-minus)
    mp "$MP",v-4 >> $LOG
    ;;
  C-M-=)
    mp "$MP",v+4 >> $LOG
    ;;
  A-C-M-delete)
    gvim ~/bin/bobbins
    ;;
  A-C-M-insert)
    gvim ~/.bobbins
    ;;
  *)
    echo "Bobbins $1" | tkt
    ;;
esac