This is a script that provides context menus (via rofi) based on a
previous action.
It takes an optional --first argument that, when present, causes the
script to select the first option on the list automatically.
It currently has two actions that it knows how to follow:
* using my password manager script to select a password
- In this situation it will get a otp for the same password
* After taking a screenshot
- open the screenshot
- Add a shadow to the screenshot
- Perform ocr on the screenshot
I will extend this to do more things in time.
The two plugins were added along with relevant configuration for each
If in neovim and sudo_askpass isn't set, vim will display a warning if
WW is typed in command mode
I have added a default binging of ctrl+/ to toggle the preview in fzf
I have added some git key bindings for git stuff. They are all in the
form with ctrl+g ctrl+<something>. Most are what they want, for example
branches are ctrl+g ctrl+b however commits are not. I assume this is
because I can't overwrite what ctrl+c does, even if prefixed. I will
look into this at some point but for now commits are ctrl+g ctrl+h.
Largely stolen the code from here:
https://gist.github.com/junegunn/8b572b8d4b5eddd8b85e5f4d40f17236
although with minor tweaks.
I might change the initial ctrl+g binding as it is awkward on colemak
although we'll see how often I use it.
I should probably re-work all of them at some point but these changes
allow for external monitors with a resolution other than 1920x1080. When
switching to laptop only, I disable all other monitors by listing all
rather than hard coding common ones
I have been experimenting with running a terminal on a black and white
e-ink display. A lot of things are difficult to see when converted from
colour to black and white.
The main args completion no longer uses a bash while loop for splitting
up the arguments making it much faster.
I have also removed the use of FZF for looking up modes. This has been
moved into the overidepartialcompletion file in includes.
The functions are wrappers around http and https and set the
x-xsrf-token header based on the value of the Xsrf-token cookie in the
session file.
Currently, the cookie name and header name are hard coded. I may look to
specify those in an argument at some point although for now it's
probably fine.
This is useful if I want to edit a script but I'm not in my scripts
directory. It will look for a file with the name I have typed and
replace it.
for example:
vim yt<^n>
will be replaced with
vim /home/jonathan/.bin/yt
The script will first try `which <filename>`, searching the path. If
that fails, it will do `locate "*/filename"` which will search for the
file elsewhere
The alt-m key binding is used to create a directory for the current
"word". This change makes it work if it has something like ~ in the
name.
${~var} is used to turn on GLOB_SUBST. The string resulting from the
expansion will be interpreted as a pattern anywhere that is possible,
such as filenames expanding `~`
man zshexpn