Compare commits
11 commits
0aeccdad4f
...
a3b00c4693
Author | SHA1 | Date | |
---|---|---|---|
a3b00c4693 | |||
485730ba83 | |||
209ac92eb5 | |||
53c6373b00 | |||
7a18bc4a21 | |||
cb698090c6 | |||
b8e97120d9 | |||
b67ceb1330 | |||
179840e4c0 | |||
524272f063 | |||
8c00641c17 |
22 changed files with 57 additions and 102 deletions
|
@ -1,7 +1,7 @@
|
|||
[user]
|
||||
email = marty.oehme@gmail.com
|
||||
name = Marty Oehme
|
||||
signingkey = B7538B8F50A1C800
|
||||
signingkey = 73BA40D5AFAF49C9
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[alias]
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
--
|
||||
-- original from https://codeberg.org/jouni/mpv_sponsorblock_minimal
|
||||
-- adapted for local playback skipping and some refactoring by me
|
||||
|
||||
local options = {
|
||||
API = "https://sponsor.ajay.app/api/skipSegments",
|
||||
|
||||
|
@ -15,36 +14,39 @@ local options = {
|
|||
|
||||
local function getranges()
|
||||
local args = {
|
||||
"curl",
|
||||
"-s",
|
||||
"-d",
|
||||
"videoID="..youtube_id,
|
||||
"-d",
|
||||
"categories=["..options.categories.."]",
|
||||
"-G",
|
||||
options.API}
|
||||
local sponsors = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args})
|
||||
"curl", "-s", "-d", "videoID=" .. Youtube_id, "-d",
|
||||
"categories=[" .. options.categories .. "]", "-G", options.API
|
||||
}
|
||||
local sponsors = mp.command_native({
|
||||
name = "subprocess",
|
||||
capture_stdout = true,
|
||||
playback_only = false,
|
||||
args = args
|
||||
})
|
||||
|
||||
if string.match(sponsors.stdout,"%[(.-)%]") then
|
||||
ranges = {}
|
||||
for i in string.gmatch(string.sub(sponsors.stdout,2,-2),"%[(.-)%]") do
|
||||
k,v = string.match(i,"(%d+.?%d*),(%d+.?%d*)")
|
||||
ranges[k] = v
|
||||
if string.match(sponsors.stdout, "%[(.-)%]") then
|
||||
Ranges = {}
|
||||
for i in string.gmatch(string.sub(sponsors.stdout, 2, -2), "%[(.-)%]") do
|
||||
local k, v = string.match(i, "(%d+.?%d*),(%d+.?%d*)")
|
||||
Ranges[k] = v
|
||||
end
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local function skip_ads(name,pos)
|
||||
local function skip_ads(name, pos)
|
||||
if pos ~= nil then
|
||||
for k,v in pairs(ranges) do
|
||||
for k, v in pairs(Ranges) do
|
||||
if tonumber(k) <= pos and tonumber(v) > pos then
|
||||
--this message may sometimes be wrong
|
||||
--it only seems to be a visual thing though
|
||||
mp.osd_message("[sponsorblock] skipping forward "..math.floor(tonumber(v)-mp.get_property("time-pos")).."s")
|
||||
--need to do the +0.01 otherwise mpv will start spamming skip sometimes
|
||||
--example: https://www.youtube.com/watch?v=4ypMJzeNooo
|
||||
mp.set_property("time-pos",tonumber(v)+0.01)
|
||||
-- this message may sometimes be wrong
|
||||
-- it only seems to be a visual thing though
|
||||
mp.osd_message("[sponsorblock] skipping forward " ..
|
||||
math.floor(
|
||||
tonumber(v) - mp.get_property("time-pos")) ..
|
||||
"s")
|
||||
-- need to do the +0.01 otherwise mpv will start spamming skip sometimes
|
||||
-- example: https://www.youtube.com/watch?v=4ypMJzeNooo
|
||||
mp.set_property("time-pos", tonumber(v) + 0.01)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
@ -54,19 +56,23 @@ end
|
|||
|
||||
local function file_loaded()
|
||||
local video_path = mp.get_property("path")
|
||||
local youtube_id1 = string.match(video_path, "https?://youtu%.be/([%w-_]+).*")
|
||||
local youtube_id2 = string.match(video_path, "https?://w?w?w?%.?youtube%.com/v/([%w-_]+).*")
|
||||
local youtube_id1 = string.match(video_path,
|
||||
"https?://youtu%.be/([%w-_]+).*")
|
||||
local youtube_id2 = string.match(video_path,
|
||||
"https?://w?w?w?%.?youtube%.com/v/([%w-_]+).*")
|
||||
local youtube_id3 = string.match(video_path, "/watch.*[?&]v=([%w-_]+).*")
|
||||
local youtube_id4 = string.match(video_path, "/embed/([%w-_]+).*")
|
||||
local localytfile = string.match(video_path, "-([%a%d%-_]+)%.[mw][kpe][v4b][m]?$")
|
||||
youtube_id = youtube_id1 or youtube_id2 or youtube_id3 or youtube_id4 or localytfile
|
||||
if not youtube_id or string.len(youtube_id) < 11 then return end
|
||||
youtube_id = string.sub(youtube_id, 1, 11)
|
||||
local localytfile = string.match(video_path,
|
||||
"-([%a%d%-_]+)%.[mw][kpe][v4b][m]?$")
|
||||
Youtube_id = youtube_id1 or youtube_id2 or youtube_id3 or youtube_id4 or
|
||||
localytfile
|
||||
if not Youtube_id or string.len(Youtube_id) < 11 then return end
|
||||
Youtube_id = string.sub(Youtube_id, 1, 11)
|
||||
|
||||
getranges()
|
||||
if ranges then
|
||||
if Ranges then
|
||||
ON = true
|
||||
mp.add_key_binding("b","sponsorblock",toggle)
|
||||
mp.add_key_binding("b", "sponsorblock", toggle)
|
||||
mp.observe_property("time-pos", "native", skip_ads)
|
||||
end
|
||||
return
|
||||
|
|
|
@ -50,7 +50,7 @@ config.bind(leader + "tV", "set tabs.position left")
|
|||
config.bind(lleader + "M", "spawn umpv {url}")
|
||||
config.bind(lleader + "m", "hint links spawn umpv {hint-url}")
|
||||
config.bind(lleader + "I", "spawn nsxiv-rifle {url}")
|
||||
config.bind(lleader + "i", "hint --rapid links spawn nsxiv-rifle {hint-url}")
|
||||
config.bind(lleader + "i", "hint links spawn nsxiv-rifle {hint-url}")
|
||||
|
||||
# bind youtube-dl to download the current page/links
|
||||
config.bind(lleader + "dM", "spawn vidl {url}")
|
||||
|
|
|
@ -38,6 +38,7 @@ redirects = {
|
|||
"www.instagram.com": "bibliogram.art",
|
||||
"wikipedia.org": "wikiless.org",
|
||||
"en.wikipedia.org": "wikiless.org",
|
||||
"medium.com": "scribe.rip",
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
# Open any of: quickmarks, bookmarks and browser history via dmenu (or rofi)
|
||||
# Handle open -s && open -t with bemenu
|
||||
#
|
||||
# Requires sqlite3 binary installed to traverse the history.
|
||||
|
||||
#:bind o spawn --userscript /path/to/userscripts/qutedmenu open
|
||||
#:bind O spawn --userscript /path/to/userscripts/qutedmenu tab
|
||||
|
|
|
@ -20,7 +20,7 @@ cleanup() {
|
|||
}
|
||||
|
||||
from_local() {
|
||||
fpath="$(realpath "$1")"
|
||||
fpath="$(realpath -e "$1")"
|
||||
ln -s "$fpath" "$cache_dir"
|
||||
}
|
||||
|
||||
|
@ -71,5 +71,5 @@ while [ -n "$1" ]; do
|
|||
shift
|
||||
done
|
||||
|
||||
[ "$(find "$cache_dir" -type f -print | wc -l)" -ne 0 ] &&
|
||||
[ "$(find -L "$cache_dir" -type f -print | wc -l)" -ne 0 ] &&
|
||||
nsxiv -p "$cache_dir"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/usr/lib/systemd/user/an2linuxserver.service
|
|
@ -1 +0,0 @@
|
|||
../dropdown-terminal.service
|
|
@ -1 +0,0 @@
|
|||
../dropdown-todo.service
|
|
@ -1 +0,0 @@
|
|||
../flashfocus.service
|
|
@ -1 +0,0 @@
|
|||
/usr/lib/systemd/user/greenclip.service
|
|
@ -1 +0,0 @@
|
|||
../x-started-confirm.service
|
|
@ -1,13 +0,0 @@
|
|||
[Unit]
|
||||
Description=Terminal window hidden to be called at any point
|
||||
Requires=x-started-confirm.service
|
||||
After=x-started-confirm.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# workaround to allow relative executable invocation (i.e. current users' home dir)
|
||||
ExecStart=/bin/bash -c 'kitty --title "dropdown-terminal" --class scratchpad'
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -1,13 +0,0 @@
|
|||
[Unit]
|
||||
Description=Todo.md hidden vim instance
|
||||
Requires=x-started-confirm.service
|
||||
After=x-started-confirm.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# workaround to allow relative executable invocation (i.e. current users' home dir)
|
||||
ExecStart=/bin/bash -c 'kitty --title "dropdown-todo" --class scratchpad nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F | :Limelight" %h/documents/records/todo.md'
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -1,12 +0,0 @@
|
|||
[Unit]
|
||||
Description=Perform windows animations on focus
|
||||
PartOf=graphical-session.target
|
||||
Requires=x-started-confirm.service
|
||||
After=x-started-confirm.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/flashfocus
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -1,3 +0,0 @@
|
|||
[Unit]
|
||||
Requires=x-started-confirm.service
|
||||
After=x-started-confirm.service
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description=Monitor status of X server start
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash -c '%h/.local/share/services/x-started-confirm.sh'
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -10,8 +10,9 @@ unalias -a
|
|||
# v shorthand for neovim
|
||||
if exist nvim; then
|
||||
alias v="nvim"
|
||||
alias vs="nvim -c 'ScratchPad'"
|
||||
alias vim="nvim"
|
||||
alias vs="nvim -c 'ScratchPad'" # open an empty 'scratchpad' which simply disappears after use
|
||||
alias vw="nvim -c \"lua require 'zettelkasten'.index_open()\"" # open to personal wiki
|
||||
elif exist vim; then
|
||||
alias v="vim"
|
||||
else
|
||||
|
|
|
@ -4,7 +4,7 @@ new-window -n dash
|
|||
send-keys "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task next" C-m
|
||||
split-window -h -l 71
|
||||
send-keys "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task summary" C-m
|
||||
split-window -v "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task end.after=tod-3m or entry.after=tod-1m burndown"
|
||||
split-window -v "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task status:pending or +ACTIVE burndown"
|
||||
select-pane -t 1
|
||||
split-window -v -l 5
|
||||
send-keys "t" Space
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<bool>false</bool>
|
||||
</edit>
|
||||
<edit name="dpi" mode="assign">
|
||||
<double>92</double>
|
||||
<double>93</double>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
|
|
|
@ -57,7 +57,7 @@ riverctl map normal $mod+Shift Space spawn "clipman pick --tool=bemenu"
|
|||
riverctl map normal $mod+Shift R spawn "$term --class float -e qalc"
|
||||
|
||||
# Open emoji picker
|
||||
riverctl map normal $mod+Shift E spawn "bemoji -t"
|
||||
riverctl map normal $mod+Shift E spawn "bemoji -nt"
|
||||
|
||||
# Open translation helper
|
||||
riverctl map normal $mod+Shift T spawn "bemenu-translate"
|
||||
|
@ -240,5 +240,6 @@ exec wl-paste -t text --watch clipman store &
|
|||
riverctl default-layout rivercarro &
|
||||
# start layouting engine
|
||||
killall rivercarro
|
||||
exec rivercarro -main-ratio 0.65 -view-padding 6 -outer-padding 6 &
|
||||
# brightnessctl set 100%
|
||||
exec rivercarro -main-ratio 0.65 &
|
||||
# exec rivercarro -main-ratio 0.65 -view-padding 6 -outer-padding 6 & # -> does not work with current rivercarro version (0.1.4)
|
||||
brightnessctl set 70%
|
||||
|
|
|
@ -70,13 +70,13 @@ prompt pure
|
|||
# load additional aliases
|
||||
if [ -d "$CONFDIR/sh/alias.d" ]; then
|
||||
for _alias in "$CONFDIR/sh/alias.d"/*.sh; do
|
||||
. "$_alias"
|
||||
source "$_alias"
|
||||
done
|
||||
unset _alias
|
||||
fi
|
||||
if [ -d "$ZSHCONFDIR/alias.d" ]; then
|
||||
for _alias in "$ZSHCONFDIR/alias.d"/*.sh; do
|
||||
. "$_alias"
|
||||
source "$_alias"
|
||||
done
|
||||
unset _alias
|
||||
fi
|
||||
|
@ -171,6 +171,7 @@ bindkey -M isearch '^N' history-incremental-search-forward
|
|||
# Send command to editor and back for execution
|
||||
zle -N edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
bindkey -M vicmd '^e' edit-command-line
|
||||
|
||||
# Deduplicate PATH - remove any duplicate entries from PATH
|
||||
# from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command
|
||||
|
|
Loading…
Reference in a new issue