Skip to content

Instantly share code, notes, and snippets.

@atomicstack
atomicstack / tmux.vim
Last active March 21, 2024 00:55
a custom ~/.config/nvim/syntax/tmux.vim file which fixes colour definitions
" inspired by https://stackoverflow.com/a/69141482
" the existing highlight rules for tmux.vim create a bunch of highlight definitions similar to this:
" for i in range(0,255)
" hi tmuxColour$i ctermfg=$i
" ...but in neovim, this just resulted in plain white text. after looking at the output of :highlight
" in vim for a while, it seemed that other entries with guifg definitions were showing the right colour,
" and indeed, the fix was to instead specify RGB values for the guifg style.
@atomicstack
atomicstack / no-checklist-strikethrough.css
Created February 28, 2024 02:17
Obsidian CSS snippet: Disable strikethrough in marked checkboxes
.markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:not([data-task=" "]) {
text-decoration:none;
color: var(--text-normal);
}
.markdown-preview-view ul > li.task-list-item.is-checked {
text-decoration:none;
color:var(--text-normal);
}
@atomicstack
atomicstack / extract-urls-from-youtube-search-results.js
Created August 26, 2022 20:37
a JS snippet that dumps a list of title+href for each selected YouTube search result
document.querySelectorAll('a[title*=$foo]').forEach(function(item, i) { console.log([item.title, item.href ]); })
@atomicstack
atomicstack / check-for-tmux-updates.zsh
Last active March 28, 2022 01:31
runs git pull in tmux.git and shows the most recent commit SHA; then queries homebrew to see which revision is installed locally
#!/bin/zsh
brew_tmux_path="$( brew info tmux | perl -naE '/[*]$/ and say($F[0])' )"
tmux_installed="${${brew_tmux_path//*HEAD-/}%_1}"
tmux_head=$(cd $HOME/git_tree/tmux && git pull &> /dev/null && git ls -1 | awk '{print $1}')
tmux_head_short=${tmux_head:0:7}
if [[ "$tmux_head_short" == "$tmux_installed" ]]; then
update_status="$(tput setaf 33)Already up to date.$(tput sgr0)"
else
@atomicstack
atomicstack / brew-active-path.zsh
Created March 27, 2022 07:25
zsh function to display the install path for a given brew package
function brew-active-path() {
brew info "$1" | perl -naE 'm/[*]$/ and say($F[0])'
}
@atomicstack
atomicstack / brew-tmux-build-HEAD.sh
Created March 27, 2022 07:18
brew commands to build and upgrade tmux from its source repository
brew install --head tmux
brew upgrade --fetch-HEAD tmux
@atomicstack
atomicstack / dupe-remover.sh
Created March 5, 2022 22:25
removes files with duplicate SHA-256 hashes. tweaked enhancement of https://gist.github.com/atomicstack/2c5501f6210b6a303b626f447d50d487
find . -type f -print0 | xargs -0 sha256sum | pv -l -s $( find . -type f | wc -l ) | sponge | perl -naE 'my $hash = shift @F; $seen{$hash}++ or next; $ENV{UNLINK_FILES} and unlink "@F"; my $result = $! ? "failed" : ""; say qq{unlinked @F $result}'
@atomicstack
atomicstack / batch-mp3-decoder.sh
Last active February 10, 2022 18:23
(zsh) shell one-liner to walk a directory tree and use lame to decode all the mp3s within
find $PWD -type d | ( while read d; do pushd $d; for mp3_filename in *.mp3(N); do lame --quiet --decode "$mp3_filename" && echo $PWD/$(basename "$PWD/$
mp3_filename" .mp3).wav | tee -a converted.txt; done; popd; done ) | ts '[%F %T]'
@atomicstack
atomicstack / url-extractor
Created February 8, 2022 09:21
useful for sample repositories, such as kb6
javascript console:
to_fetch = []; $('.machine_names').each(function(i, item) { var u = $(item).attr('href'); if (u.match('rar$')) { to_fetch.push(window.location.origin + "/" + u) } }); console.log(JSON.stringify(to_fetch))
shell:
jq -r '.[]' < 'kb6.json' | vipe | ( while read u; do wget --continue --no-glob "$u"; sleep 60; done )
@atomicstack
atomicstack / gist:7654627f74355b2b5e8c15289744479a
Created February 5, 2022 06:15
update zsh completion for tmux
% sudo cp -v $HOME/git_tree/zsh/Completion/Unix/Command/_tmux /opt/homebrew/Cellar/zsh/5.8_1/share/zsh/functions/_tmux