summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Lemon <chaffinach+git@protonmail.ch>2022-04-16 17:22:56 +0100
committerMatthew Lemon <chaffinach+git@protonmail.ch>2022-04-16 17:22:56 +0100
commitbe04be63ce7202d86931fddee3aaddc94ef2f5ee (patch)
tree9dfff09d600260a33ed72806ef0778f603df478a
parent5d0ac192722f798dc3fa884cdb74296e4d4e3654 (diff)
the big apr 22 update
-rw-r--r--.gitignore1
-rw-r--r--gitconfig11
-rw-r--r--gitignore_global4
-rw-r--r--kshrc8
-rw-r--r--mpv/mpv.conf7
-rw-r--r--newsboat/config65
-rw-r--r--newsboat/history.cmdline3
-rw-r--r--[l---------]newsboat/urls56
-rw-r--r--profile34
-rw-r--r--qutebrowser/bookmarks/urls3
-rw-r--r--qutebrowser/config.py41
-rw-r--r--qutebrowser/quickmarks13
-rw-r--r--ssh/config32
-rw-r--r--taskopenrc5
-rw-r--r--taskrc295
15 files changed, 344 insertions, 234 deletions
diff --git a/.gitignore b/.gitignore
index 8b06081..3599687 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+*.un~
mutt/temp/
task/pending.data
newsbeuter/cache.db
diff --git a/gitconfig b/gitconfig
index 7e01267..6251489 100644
--- a/gitconfig
+++ b/gitconfig
@@ -1,5 +1,5 @@
[user]
- email = matt@matthewlemon.com
+ email = chaffinach+git@protonmail.ch
name = Matthew Lemon
[core]
excludesfile = /home/lemon/.gitignore_global
@@ -23,5 +23,14 @@
tool = vimdiff
[difftool]
prompt = false
+[color]
+ ui = true
+ branch = true
+ diff = true
+ interactive = true
+ status = true
+ log = false
[pull]
rebase = false
+[init]
+ defaultBranch = master
diff --git a/gitignore_global b/gitignore_global
index 65ea724..22582b6 100644
--- a/gitignore_global
+++ b/gitignore_global
@@ -8,6 +8,9 @@ __pycache__/
# Distribution / packaging
.Python
env/
+.idea/
+venv/
+.venv/
#bin/
build/
develop-eggs/
@@ -50,3 +53,4 @@ coverage.xml
docs/_build/
.pdb-pyhist
.mypy_cache/
+.venv
diff --git a/kshrc b/kshrc
index c600a67..d76f931 100644
--- a/kshrc
+++ b/kshrc
@@ -12,6 +12,8 @@ export LESS='-iMRS -x2'
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
export CLICOLOR=1
+#export PATH=$PATH:/usr/local/jdk-11/bin
+export PATH=/home/lemon/bin:$PATH
HISTFILE=$HOME/.ksh_history
HISTSIZE=20000
@@ -24,6 +26,10 @@ if command -v colorls > /dev/null ; then
else
LS='ls'
fi
+alias ta="task add $1"
+alias t="task ready"
+alias report="task burndown.daily"
+#alias a='task add'
alias ls="$LS -FHh"
alias ll='ls -l'
alias la='ls -lA'
@@ -33,7 +39,7 @@ alias ...='cd ...'
alias mkdir='mkdir -p'
alias df='df -h'
alias du='du -ch'
-alias weather='curl http://wttr.in/New_York'
+alias weather='curl http://wttr.in/Berwick-upon-Tweed'
command -v neomutt > /dev/null && alias mutt='neomutt'
alias svim="doas vim"
alias svi="doas vi"
diff --git a/mpv/mpv.conf b/mpv/mpv.conf
index 79aa361..a8592a7 100644
--- a/mpv/mpv.conf
+++ b/mpv/mpv.conf
@@ -2,6 +2,9 @@
# use Jack
#ao=jack
#ao=pulse
-vo=x11
+vo=gpu
+hwdec=vaapi
+audio-channels=2
save-position-on-quit=yes
-ytdl-format=bestvideo[height <= 1080]+bestaudio/best
+#ytdl-format=bestvideo[height <= 1080]+bestaudio/best
+script-opts-append=ytdl_hook-ytdl_path=yt-dlp
diff --git a/newsboat/config b/newsboat/config
index 112e1c5..e3cb4cc 100644
--- a/newsboat/config
+++ b/newsboat/config
@@ -1,5 +1,9 @@
#browser "w3m %u"
-auto-reload yes
+auto-reload no
+
+# confirm-mark-feed-read no
+
+run-on-startup toggle-show-read-feeds
bind-key j down
bind-key k up
@@ -20,35 +24,9 @@ bind-key D pb-download
bind-key U show-urls
bind-key x pb-delete
-refresh-on-startup yes
+refresh-on-startup no
define-filter "Linux articles" "title =~ \"Linux\""
-#color info color15 color6
-
-
-
-# Light Solarized color scheme for newsbeuter, based on
-# Ethan Schoonover's Solarized.
-#
-# In order to use this color scheme, you must first configure
-# your terminal emulator to use the Solarized palette.
-# See <http://ethanschoonover.com/solarized/> for more information.
-
-color background default default
-color listnormal default default
-color listnormal_unread default default
-color listfocus white yellow
-color listfocus_unread white yellow
-color info default white
-color article default default
-
-# highlights
-highlight article "^(Title):.*$" blue default
-highlight article "https?://[^ ]+" red default
-highlight article "\\[image\\ [0-9]+\\]" green default
-
-
-
-
+color info color15 color6
#macro y set browser "mpv %u"; open-in-browser ; set browser "elinks %u"
#color listfocus color15 color0
#color listfocus color14 color0
@@ -60,9 +38,32 @@ notify-program "notify-send"
notify-screen yes
notify-xterm yes
-#max-items 20
+max-items 20
download-path "~/Downloads"
player mpv
-browser qutebrowser
-macro m set browser "mpv %u" ; open-in-browser ; set browser "qutebrowser %u"
+browser /home/lemon/dotfiles/lynx/lynx
+macro m set browser "mpv %u" ; open-in-browser ; set browser "/home/lemon/dotfiles/lynx/lynx %u"
+#
+# press ,y to log the url - you can type a comment to prefix the URL in the log file but it doesn't prompt you...
+# massive hack but it works
+macro y set browser "get-newsboat-comment.sh %u" ; open-in-browser ; set browser "/home/lemon/dotfiles/lynx/lynx %u"
+
+# solarized
+color background default default
+color listnormal default default
+color listnormal_unread default default
+color listfocus black cyan
+color listfocus_unread black cyan
+color info default black
+color article default default
+
+confirm-mark-all-feeds-read no
+#confirm-mark-feed-read no
+
+show-read-articles no
+
+# highlights
+highlight article "^(Title):.*$" blue default
+highlight article "https?://[^ ]+" red default
+highlight article "\\[image\\ [0-9]+\\]" green default
diff --git a/newsboat/history.cmdline b/newsboat/history.cmdline
deleted file mode 100644
index aed4974..0000000
--- a/newsboat/history.cmdline
+++ /dev/null
@@ -1,3 +0,0 @@
-q
-q
-q
diff --git a/newsboat/urls b/newsboat/urls
index 020e210..f8af09a 120000..100644
--- a/newsboat/urls
+++ b/newsboat/urls
@@ -1 +1,55 @@
-/home/lemon/Nextcloud/Notes/newsboat-urls \ No newline at end of file
+https://www.reddit.com/r/rugbyunion/.rss
+https://gosamples.dev/index.xml
+https://eli.thegreenplace.net/feeds/all.atom.xml
+https://m-chrzan.xyz/rss.xml
+https://web3isgoinggreat.com/feed.xml
+https://plaintextproject.online/feed.xml
+http://ebb.org/bkuhn/blog/rss.xml
+https://usesthis.com/feed.atom
+http://www.linuxjournal.com/node/feed
+http://www.linuxinsider.com/perl/syndication/rssfull.pl
+http://feeds.feedburner.com/mylinuxrig
+https://planet.gnu.org/rss20.xml
+https://landchad.net/rss.xml
+https://lukesmith.xyz/rss.xml
+https://yewtu.be/feed/channel/UCs6KfncB4OV6Vug4o_bzijg
+https://idle.nprescott.com/
+https://eradman.com/
+https://hunden.linuxkompis.se/feed.xml
+https://greghendershott.com/
+https://www.romanzolotarev.com/rss.xml
+http://feeds.bbci.co.uk/news/rss.xml
+http://feeds.bbci.co.uk/sport/rugby-union/rss.xml?edition=uk
+https://weather-broker-cdn.api.bbci.co.uk/en/forecast/rss/3day/2655819
+https://www.willmcgugan.com/feeds/posts/
+https://feeds.feedburner.com/StudyHacks
+https://www.theregister.com/Design/page/feeds.html
+https://krebsonsecurity.com/feed/
+https://stevenpressfield.com/feed
+https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg "Tsoding"
+https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Luke Smith"
+https://www.youtube.com/feeds/videos.xml?channel_id=UCittVh8imKanO_5KohzDbpg "Paul Joseph Watson"
+https://www.youtube.com/feeds/videos.xml?channel_id=UChWbNrHQHvKK6paclLp7WYw "Ben Hoff"
+https://www.youtube.com/feeds/videos.xml?channel_id=UC5A6gpksxKgudZxrTOpz0XA "fstori"
+https://www.reddit.com/r/stallmanwasright.rss
+http://feeds2.feedburner.com/Command-line-fu
+https://www.debian.org/News/news
+http://planet.debian.org/rss20.xml
+https://opensource.org/news.xml
+http://feedproxy.google.com/linuxtoday/linux
+https://www.fsf.org/static/fsforg/rss/news.xml
+http://updo.debian.net/index.rss
+https://jordanorelli.com/rss
+https://www.c0ffee.net/rss/
+http://tonsky.me/blog/atom.xml
+https://akkshaya.blog/feed
+https://github.com/lukesmithxyz/voidrice/commits/master.atom
+https://github.com/banillie/analysis_engine/commits/master.atom
+https://miguelmota.com/index.xml
+https://blog.jessfraz.com/index.xml
+https://sivers.org/en.atom
+https://www.wired.com/feed/category/security/latest/rss
+https://www.wired.com/feed/rss
+https://www.computerweekly.com/rss/IT-security.xml
+https://feeds.feedburner.com/arstechnica/open-source
+https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-only.xml
diff --git a/profile b/profile
index d14ba30..fa5877f 100644
--- a/profile
+++ b/profile
@@ -1,35 +1 @@
-# $OpenBSD: dot.profile,v 1.7 2020/01/24 02:09:51 okan Exp $
-#
-# sh/ksh initialization
export ENV=$HOME/.kshrc
-export PATH=$PATH:/usr/local/jdk-11/bin
-export PATH=$PATH:/home/lemon/bin
-export HISTFILE=~/.ksh_history
-export HISTSIZE=10000
-
-alias lynx='~/dotfiles/lynx/lynx'
-#alias xclip='xclip -selection c'
-alias '?'=duck
-alias vimpluginstall="vim +':PlugInstall' +':q!' +':q!'"
-alias ipinfo="curl ipinfo.io"
-alias weather="curl wttr.in"
-alias ta="task add $1"
-alias t="task ready"
-alias report="task burndown.daily"
-#alias a='task add'
-alias du='ncdu --color dark -rr -x --exclude .git'
-alias free='free -h'
-alias gloga='git log --oneline --decorate --graph --all'
-
-taskProject(){
- echo "Please enter a task number \nfollowed by a project name"
- task $1 modify project:$2
-}
-alias tpro=taskProject
-
-# Perl stuff
-PATH="/home/lemon/perl5/bin${PATH+:}${PATH}"; export PATH;
-PERL5LIB="/home/lemon/perl5/lib/perl5${PERL5LIB+:}${PERL5LIB}"; export PERL5LIB;
-PERL_LOCAL_LIB_ROOT="/home/lemon/perl5${PERL_LOCAL_LIB_ROOT+:}${PERL_LOCAL_LIB_ROOT}"; export PERL_LOCAL_LIB_ROOT;
-PERL_MB_OPT="--install_base \"/home/lemon/perl5\""; export PERL_MB_OPT;
-PERL_MM_OPT="INSTALL_BASE=/home/lemon/perl5"; export PERL_MM_OPT;
diff --git a/qutebrowser/bookmarks/urls b/qutebrowser/bookmarks/urls
index 966103f..a545f70 100644
--- a/qutebrowser/bookmarks/urls
+++ b/qutebrowser/bookmarks/urls
@@ -1,5 +1,7 @@
+https://b2b.enterprise.co.uk/Pages/CreateReservation.aspx Create Reservation
https://regex101.com/ Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript
https://github.com/insanum/gcalcli/pull/402#discussion_r249528101 Better user interaction during prompts when adding an event by hammerheadlemon · Pull Request #402 · insanum/gcalcli
+https://ronver.xyz/apps/files/?dir=/&fileid=10344 Files - Nextcloud
https://getoutline.org/en/home Outline VPN - Making it safer to break the news
https://wiki.lineageos.org/adb_fastboot_guide.html Using ADB and fastboot | LineageOS Wiki
https://wiki.lineageos.org/devices/bacon/install Install LineageOS on bacon | LineageOS Wiki
@@ -21,4 +23,3 @@ https://www.britishgas.co.uk/my-account/premises/001A4BF58A241ED1A0B0FB818A255E0
https://wiki.lineageos.org/upgrading.html Upgrading LineageOS | LineageOS Wiki
http://www.qutebrowser.org/doc/help/commands.html | qutebrowser
http://wellclosemedicalgroup.co.uk/ Well Close Medical Group
-https://trello.com/c/ov4CrxWa/1066-bean-and-halloumi-stew Bean and Halloumi Stew on 🍴Food and Meal Planning | Trello
diff --git a/qutebrowser/config.py b/qutebrowser/config.py
index 4684b14..a43eb02 100644
--- a/qutebrowser/config.py
+++ b/qutebrowser/config.py
@@ -10,11 +10,9 @@
## Aliases for commands. The keys of the given dictionary are the
## aliases, while the values are the commands they map to.
## Type: Dict
-##c.aliases = {"ncbookmark": "open -t https://ronver.xyz/index.php/apps/bookmarks/bookmarklet?output=popup&url="}
-c.aliases = {'w': 'session-save', 'q': 'quit', 'wq': 'quit --save'}
+# c.aliases = {'w': 'session-save', 'q': 'quit', 'wq': 'quit --save'}
#c.aliases.update({"ncbookmark": "jseval javascript:(function(){var a=window,b=document,c=encodeURIComponent,e=c(document.title),d=a.open('https://ronver.xyz/index.php/apps/bookmarks/bookmarklet?output=popup&url=');});" })
#c.aliases.update({"ncbookmark": "jseval javascript:(function(){var a=window,b=document,c=encodeURIComponent,e=c(document.title),d=a.open('https://ronver.xyz/index.php/apps/bookmarks/bookmarklet?output=popup&url='+c(b.location)+'&title='+e,'bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=500px,width=550px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300);});" })
-#c.aliases.update({"pboard": "jseval javascript:q=location.href;if(document.getSelection){d=document.getSelection();}else{d='';};p=document.title;void(open('http://pinboard.in/add?url='+encodeURIComponent(q)+'&description='+encodeURIComponent(d)+'&title='+encodeURIComponent(p),'Pinboard', 'toolbar=no,width=700,height=350'));"})
## Time interval (in milliseconds) between auto-saves of
## config/cookies/etc.
## Type: Int
@@ -24,31 +22,6 @@ c.aliases = {'w': 'session-save', 'q': 'quit', 'wq': 'quit --save'}
## Type: Bool
c.auto_save.session = True
-# Remove images and javascript from sites
-#c.content.images = False
-config.set('content.images', False, '*://www.bbc.co.uk/*')
-#config.set('content.javascript.enabled', False, '*://www.bbc.co.uk/*')
-#
-#config.set('content.images', False, '*://www.telegraph.co.uk/*')
-#config.set('content.javascript.enabled', False, '*://www.telegraph.co.uk/*')
-config.set('content.javascript.enabled', True, '*://office.com/*')
-config.set('content.javascript.enabled', True, '*://microsoft.com/*')
-config.set('content.javascript.enabled', True, '*://google.co.uk/*')
-config.set('content.javascript.enabled', True, '*://google.com/*')
-config.set('content.javascript.enabled', True, '*://todoist.com/*')
-config.set('content.javascript.enabled', True, '*://*.calendar.google.com/*')
-config.set('content.javascript.enabled', True, '*://*.mail.protonmail.com/*')
-config.set('content.javascript.enabled', True, '*://*.todoist.com/*')
-config.set('content.javascript.enabled', True, '*://*.vault.bitwarden.com/*')
-config.set('content.javascript.enabled', True, '*://*.www.google.com/*')
-config.set('content.javascript.enabled', True, '*://device.login.microsoftonline.com/*')
-config.set('content.javascript.enabled', True, '*://login.microsoftonline.com/*')
-config.set('content.javascript.enabled', True, '*://www.office.com/*')
-config.set('content.javascript.enabled', True, '*://www.youtube.com/*')
-
-c.content.javascript.enabled = True
-
-
## Backend to use to display websites. qutebrowser supports two different
## web rendering engines / backends, QtWebKit and QtWebEngine. QtWebKit
## was discontinued by the Qt project with Qt 5.6, but picked up as a
@@ -72,6 +45,8 @@ c.content.javascript.enabled = True
## Type: Dict
# c.bindings.key_mappings = {'<Ctrl-[>': '<Escape>', '<Ctrl-6>': '<Ctrl-^>', '<Ctrl-M>': '<Return>', '<Ctrl-J>': '<Return>', '<Shift-Return>': '<Return>', '<Enter>': '<Return>', '<Shift-Enter>': '<Return>', '<Ctrl-Enter>': '<Ctrl-Return>'}
+config.bind('<z><p><l>', 'spawn --userscript qute-pass --password-only')
+
## Background color of the completion widget category headers.
## Type: QssColor
# c.colors.completion.category.bg = 'qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)'
@@ -521,7 +496,7 @@ c.content.javascript.enabled = True
## - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
## - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
## - never: Don't accept cookies at all.
-c.content.cookies.accept = 'no-unknown-3rdparty'
+# c.content.cookies.accept = 'all'
## Store cookies. Note this option needs a restart with QtWebEngine on Qt
## < 5.9.
@@ -1140,7 +1115,7 @@ c.content.cookies.accept = 'no-unknown-3rdparty'
## as it can cause issues with some bitmap fonts. As an alternative to
## this, it's possible to set font sizes and the `zoom.default` setting.
## Type: Bool
-# c.qt.highdpi = False
+c.qt.highdpi = True
## When to use Chromium's low-end device mode. This improves the RAM
## usage of renderer processes, at the expense of performance.
@@ -1462,7 +1437,7 @@ c.tabs.close_mouse_button = 'middle'
## Page to open if :open -t/-b/-w is used without URL. Use `about:blank`
## for a blank page.
## Type: FuzzyUrl
-# c.url.default_page = 'https://start.duckduckgo.com/'
+c.url.default_page = 'https://start.duckduckgo.com/'
## URL segments where `:navigate increment/decrement` will search for a
## number.
@@ -1489,10 +1464,9 @@ c.tabs.close_mouse_button = 'middle'
## used by prepending the search engine name to the search term, e.g.
## `:open google qutebrowser`.
## Type: Dict
-#c.url.searchengines = {'DEFAULT': 'https://www.google.co.uk/?q={}'}
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}'}
c.url.searchengines.update({'ddg': 'https://duckduckgo.com/?q={}'})
-c.url.searchengines.update({'g': 'https://www.google.co.uk/?q={}'})
+c.url.searchengines.update({'g': 'https://www.google.co.uk/#q={}'})
c.url.searchengines.update({'deb': 'https://packages.debian.org/search?keywords={}'})
c.url.searchengines.update({'t': 'https://twitter.com/search?q={}'})
c.url.searchengines.update({'yt': 'https://www.youtube.com/results?search_query={}'})
@@ -1600,7 +1574,6 @@ config.bind(';M', 'hint links spawn mpv {hint-url}')
# config.bind('@', 'run-macro')
# config.bind('B', 'set-cmd-text -s :quickmark-load -t')
config.bind('D', 'nop')
-config.bind(';P', 'spawn --userscript pinboard.sh')
# config.bind('F', 'hint all tab')
# config.bind('G', 'scroll-to-perc')
# config.bind('H', 'back')
diff --git a/qutebrowser/quickmarks b/qutebrowser/quickmarks
index 084237b..153a1ff 100644
--- a/qutebrowser/quickmarks
+++ b/qutebrowser/quickmarks
@@ -1,3 +1,14 @@
+YNAB https://app.youneedabudget.com/users/login
+Installing LineageOS https://wiki.lineageos.org/devices/bacon/install
+Safari Books https://learning.oreilly.com/home/
+gcalcli https://github.com/insanum/gcalcli
+Github Help https://help.github.com/
+Clarity Travel https://ctmcrown.sabscorp.com/js/SABS/Corporate.html
Amazon https://www.amazon.co.uk/
+NatWest Cards Online https://cardsonline-commercial.com/RBSG_Commercial/Login.do?promoCode=NatWest
QT Forum https://forum.qt.io/
-Github https://github.com/yulqen
+A Book about QT https://qmlbook.github.io/
+Fastmail https://www.fastmail.com/login/?
+Live Sport https://www.vipbox.live/
+Classy Class-Based Views https://ccbv.co.uk/
+privsep https://man.openbsd.org/bsd.port.mk#PORTS_PRIVSEP
diff --git a/ssh/config b/ssh/config
new file mode 100644
index 0000000..c9ccc6c
--- /dev/null
+++ b/ssh/config
@@ -0,0 +1,32 @@
+Host bobbins
+ HostName 16693433.xyz
+ User lemon
+ Port 2222
+
+Host tamla
+ HostName 178.62.82.94
+ User lemon
+ Port 2222
+
+Host joannalemon.com
+ HostName joannalemon.com
+ User lemon
+ Port 2222
+# don't drop connection if network is down temporarily (eg, suspend)
+
+# from www.c0ffee.net/blog/openbsd-on-a-laptop/#x11
+
+TCPKeepAlive no
+# but do send ssh keepalives every minute to keep firewalls happy
+ServerAliveInterval 60
+ServerAliveCountMax 10
+# keep connections open for 4 hours, even after logging out
+ControlPersist 2h
+ControlMaster auto
+ControlPath ~/.ssh/sockets/socket-%r@%h:%p
+# allow host key verification via SSHFP records
+VerifyHostKeyDNS yes
+# cwm's ssh menu does not work with host hashing enabled
+HashKnownHosts no
+# automatically add ssh keys to running ssh agent
+AddKeysToAgent yes
diff --git a/taskopenrc b/taskopenrc
index 17add9c..6addbbe 100644
--- a/taskopenrc
+++ b/taskopenrc
@@ -1,5 +1,6 @@
#BROWSER='xdg-open $FILE &>/dev/null'
+BROWSER='qutebrowser'
EDITOR='vim'
#FILE_CMD='xdg-open'
TASKBIN='task'
@@ -7,7 +8,7 @@ TASKBIN='task'
# If you sync tasks NOTES_FOLDER should be a location that syncs and is available to
# other computers, i.e. /users/dropbox/tasknotes
# NOTES_FOLDER to store notes in, must already exist!
-NOTES_FOLDER="$HOME/tasknotes/"
+NOTES_FOLDER="$HOME/Documents/textnotes"
# Preferred extension for tasknotes
NOTES_EXT=".md"
@@ -36,7 +37,7 @@ NOTES_EXT=".md"
# Add some paths to the taskopen's PATH variable
#PATH_EXT=/path/to/taskopen/scripts
-PATH_EXT=/usr/local/share/taskopen/scripts
+PATH_EXT=/usr/share/taskopen/scripts
# Regular expression that referes to the NOTES_FILE.
# Default is: Notes
diff --git a/taskrc b/taskrc
index 83ca728..8002399 100644
--- a/taskrc
+++ b/taskrc
@@ -7,6 +7,13 @@
calendar.details=full
calendar.holidays=sparse
+editor=vim
+
+default.project=Inbox
+
+#verbose=1
+verbose=header,footnote,label,new-id,affected,edit,special,project
+
#
#
# Here is an example of entries that use the default, override and blank values
@@ -19,6 +26,9 @@ calendar.holidays=sparse
# HOLIDAYS
#include /usr/share/doc/task/rc/holidays.en-GB.rc
#include /usr/share/taskwarrior/holidays.en-GB.rc
+holiday.easter22.name=Easter 2022
+holiday.easter22.start=2022-04-09
+holiday.easter22.end=2022-04-12
# Files
data.location=~/.task
@@ -42,8 +52,7 @@ weekstart=Monday
#include /usr/share/taskwarrior/dark-gray-blue-256.theme
#include /usr/share/taskwarrior/solarized-dark-256.theme
#include /usr/share/taskwarrior/solarized-light-256.theme
-#include /usr/local/share/doc/taskwarrior/rc/no-color.theme
-include /usr/local/share/doc/taskwarrior/rc/solarized-light-256.theme
+#include /usr/share/taskwarrior/no-color.theme
#include /home/lemon/.task/solarized-16.theme
#include /home/lemon/.task/solarized-dark-256.theme
#
@@ -55,11 +64,15 @@ color.calendar.due.today=on red
color.calendar.overdue=bold red
color.calendar.today=blue
color.calendar.due=cyan
-#color.blocked=underline grey10 on grey3
+color.blocked=underline grey10 on grey3
color.blocking=color5
color.due=
color.tagged=
-#color=off
+color.tag.waiting=yellow
+color.tag.next=cyan
+color=on
+color.project.Inbox=yellow
+color.alternate=on rgb253
# Task server - essential config!
taskd.certificate=\/home\/lemon\/.task\/Matthew_Lemon.cert.pem
@@ -67,7 +80,9 @@ taskd.key=\/home\/lemon\/.task\/Matthew_Lemon.key.pem
taskd.ca=\/home\/lemon\/.task\/ca.cert.pem
taskd.server=16693433.xyz:53589
#taskd.trust=ignore hostname
-taskd.credentials=Public\/Matthew Lemon\/bb8f1075-3435-452a-ad98-a5da868abbaf
+#taskd.credentials=Public\/matt lemon\/65ed83f1-a2ec-48d2-ad74-9625cc58b030
+#taskd.credentials=Public\/Matthew Lemon\/bb8f1075-3435-452a-ad98-a5da868abbaf
+taskd.credentials=Public\/Matthew Lemon\/51f50856-8333-445e-9c81-273df1ff148a
# Tasksh report stuff
uda.reviewed.type=date
@@ -91,8 +106,11 @@ urgency.user.tag.trivial.coefficient=-3.0
urgency.user.tag.bug.coefficient=+1.5
urgency.user.tag.reference.coefficient=-3.2
urgency.user.tag.idea.coefficient=-3.0
-urgency.user.project.Gmail.coefficient=-1
+urgency.user.project.h.chore.coefficient=-3.0
+urgency.user.project.h.buy.coefficient=-4.0
+urgency.user.project.h.diy.coefficient=-5.0
urgency.user.tag.link.coefficient=-5.0
+urgency.user.tag.idea.coefficient=-5.0
urgency.user.tag.home.coefficient=+1.8
urgency.user.tag.waiting.coefficient=-2.0
# UDA for bash script (inspection_planning.sh)
@@ -105,10 +123,12 @@ urgency.annotations.coefficient=0
# Changing coefficients
#urgency.annotations.coefficient=0.5
urgency.tags.coefficient=0
+urgency.blocking.coefficient=+2.0
#urgency.project.coefficient=1
#urgency.age.coefficient=1
#urgency.due.coefficient=6.0
+urgency.project.coefficnent=1.0
# Colours
#color.project.code.dbasik=green
@@ -120,34 +140,33 @@ urgency.tags.coefficient=0
#color.scheduled=bold magenta
#color.tag.dft=white on rgb100
#color.tag.prep=rgb150 on rgb020
-#color.alternate=on grey2
+color.alternate=
#color.tag.bug=red on cyan
#rule.color.merge=no
-# 2019 HOLIDAYS
-holiday.en-GB1.name=New Year's Day
-holiday.en-GB1.date=20190101
-holiday.en-GB2.name=Good Friday
-holiday.en-GB2.date=20190419
-holiday.en-GB2.name=Easter Sunday
-holiday.en-GB2.date=20190421
-holiday.en-GB3.name=Easter Monday
-holiday.en-GB3.date=20190422
-holiday.en-GB4.name=Early May Bank Holiday
-holiday.en-GB4.date=20190506
-holiday.en-GB5.name=Spring Bank Holiday
-holiday.en-GB5.date=20190527
-holiday.en-GB6.name=August Bank Holiday
-holiday.en-GB6.date=20190826
-holiday.en-GB7.name=Christmas Day
-holiday.en-GB7.date=20191225
-holiday.en-GB8.name=Boxing Day
-holiday.en-GB8.date=20191226
-holiday.en-GB9.name=New Year's Day
-holiday.en-GB9.date=20200101
+# 2022 HOLIDAYS
+holiday.en-nyd.name=New Year's Day BH
+holiday.en-nyd.date=20220103
+holiday.en-gf.name=Good Friday
+holiday.en-gf.date=goodfriday
+holiday.en-es.name=Easter Sunday
+holiday.en-es.date=easter
+holiday.en-em.name=Easter Monday
+holiday.en-em.date=eastermonday
+#holiday.en-GB4.name=Early May Bank Holiday
+#holiday.en-GB4.date=20190506
+#holiday.en-GB5.name=Spring Bank Holiday
+#holiday.en-GB5.date=20190527
+#holiday.en-GB6.name=August Bank Holiday
+#holiday.en-GB6.date=20190826
+#holiday.en-GB7.name=Christmas Day
+#holiday.en-GB7.date=20191225
+#holiday.en-GB8.name=Boxing Day
+#holiday.en-GB8.date=20191226
+#holiday.en-GB9.name=New Year's Day
+#holiday.en-GB9.date=20200101
# next report ("task")
-#default.command=ls limit:page
# Don't ask for confirmation
confirmation=no
@@ -156,96 +175,128 @@ confirmation=no
recurrence=no
recurrence.limit=1
-# Context
-context.code=project:code
-context.work=-code +dft
-context.nocode=(project.not:code and project.not:audible)
-context.home=(project.not:code and project.not:audible) -dft
-context.bcompiler=(project:code.bcompiler-engine or code.bcompiler or project:'code.hammerheadlemon/bcompiler-engine' or project:'code.hammerheadelemon/bcompiler')
-context.listen=+listen
-
-
-# REPORTS
-report.waiting.columns=id,start.active,entry.age,depends.indicator,priority,project,tags,recur.indicator,wait,wait.remaining,scheduled,due,until,description.count
-
-
-report.all.column=id,status.short,uuid.short,start.active,entry.age,end.age,depends.indicator,priority,project.parent,tags.count,recur.indicator,wait.remaining,scheduled.remaining,due,until,remaining,description
-report.all.labels=ID,St,UUID,A,Age,Done,D,P,Project,Tags,R,Wait,Sch,Due,Until,Description
-report.all.description="All Tasks (amended)"
-reprot.all.sort=entry-
-
-# how to filter out a project from next - but this also means you can't filter
-# it at all
-#report.next.columns=id,start.age,entry.age,depends,priority,project,tags.count,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
-#report.next.filter=status:pending and (+next or scheduled.before:today or due.before:today or scheduled.today or due.today)
-#report.next.filter=project.not:code.bcompiler status:pending limit:page
-
-# mlscheduled
-report.ml_scheduled.description='Modified list of scheduled tasks'
-report.ml_scheduled.columns=id,project.indented,tags.count,scheduled.formatted,due,description.count,priority,urgency
-report.ml_scheduled.labels=ID,Project,Tags,Scheduled,Due,Description,Priority,Urgency
-report.ml_scheduled.sort=scheduled+/,priority-
-report.ml_scheduled.filter=status:pending and +SCHEDULED and -BLOCKED
-
-
-# inspection_prep
-report.ml_inspection_prep.description="List of all tasks related to inspection planning"
-report.ml_inspection_prep.columns=id,project.indented,description.count,scheduled,due
-report.ml_inspection_prep.labels=ID,Project,Task,Scheduled,Due
-report.ml_inspection_prep.filter=+inspection -inspection_followup status:pending
-report.ml_inspection_prep.sort=project+/,due+,scheduled+
-
-# inspection_followup
-report.ml_inspection_followup.description="List of all tasks related to inspection follow-up"
-report.ml_inspection_followup.columns=id,project.indented,description.count,scheduled,due
-report.ml_inspection_followup.labels=ID,Project,Task,Scheduled,Due
-report.ml_inspection_followup.filter=+inspection_followup status:pending
-
-# upcoming
-report.ml_upcoming.description=Pending and Waiting coming up
-report.ml_upcoming.columns=id,status,wait.remaining,entry,tags,scheduled,due,description.count
-report.ml_upcoming.labels=ID,Status,Wait,Age,Tags,Sched,Due,Description
-report.ml_upcoming.sort=status+,wait+,scheduled+,due+
-report.ml_upcoming.filter=status:pending or status:waiting
-
-# nextmonth
-report.ml_nextmonth.description=Next month
-report.ml_nextmonth.columns=id,status,wait.remaining,entry,tags,scheduled,due,description.count
-report.ml_nextmonth.labels=ID,Status,Wait,Age,Tags,Sched,Due,Description
-report.ml_nextmonth.sort=status+,wait+,scheduled+,due+
-report.ml_nextmonth.filter=scheduled.after:yesterday and scheduled.before:4weeks
-#context=work
-
-# completed in last week
-report.ml_comp_lastweek.description=Tasks completed in the last week
-report.ml_comp_lastweek.columns=uuid.short,project.full,description.combined,end.relative
-report.ml_comp_lastweek.labels=UUID,Project,Task,Completed
-report.ml_comp_lastweek.sort=end-
-report.ml_comp_lastweek.filter=end.after:today-7day
-
-# completed in last month
-report.ml_comp_lastmonth.description=Tasks completed in the last month
-report.ml_comp_lastmonth.columns=uuid.short,project.full,description.combined,end.relative
-report.ml_comp_lastmonth.labels=UUID,Project,Task,Completed
-report.ml_comp_lastmonth.sort=end-
-report.ml_comp_lastmonth.filter=end.after:today-31day
-
-# deleted in the last month
-report.ml_deleted_last_month.description=Tasks deleted in last month
-report.ml_deleted_last_month.columns=status.short,uuid.short,project.full,tags.list,description.count,end.formatted
-report.ml_deleted_last_month.labels=Status,UUID,Project,Tags,Description,Deleted
-report.ml_deleted_last_month.sort=end-
-report.ml_deleted_last_month.filter=end.after:today-30day status:deleted
-
-
-# all projects used
-# THIS IS THE COMMAND THAT WORKS: task rc.list.all.projects=1 projects
-# BUT DOESN'T WORK HERE - NOT TRIED TOO HARD
-#report.ml_all_projects_used.description=All projects
-#report.ml_all_projects_used.columns=project.full
-#report.ml_all_projects_used.labels=Project
-#report.ml_all_projects_used.sort=project+
-#report.ml_all_projects_used.filter=rc.list.all.projects=1 projects
-
-# regex on
-regex=on
+ # Context
+ context.work=project:w
+ context.work.write=project:w
+ context.work.read=project:w
+
+ context.home=project:h
+ context.home.write=project:h
+ context.home.read=project:h
+# context.code=project:code
+# context.work=-code +dft
+# context.nowork=-dft
+# context.nocode=project.not:code
+# context.home=(project.not:code) -dft
+
+
+ # REPORTS
+ report.waiting.columns=id,start.active,entry.age,depends.indicator,priority,project,tags,recur.indicator,wait,wait.remaining,scheduled,due,until,description.count
+
+ # Due or scheduled today
+ report.ml_due_or_scheduled_today.columns=id,entry.age,depends,priority,project,tags.count,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
+ report.ml_due_or_scheduled_today.description="Due or scheduled today"
+ report.ml_due_or_scheduled_today.filter=(due.is:today or scheduled.is:today) and status:pending
+ report.ml_due_or_scheduled_today.sort=due,urgency
+ #
+ # Due or scheduled tomorrow
+ report.ml_due_or_scheduled_tomorrow.columns=id,entry.age,depends,priority,project,tags.count,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
+ report.ml_due_or_scheduled_tomorrow.description="Due or scheduled tomorrow"
+ report.ml_due_or_scheduled_tomorrow.filter=(due.is:tomorrow or scheduled.is:tomorrow) and status:pending
+ report.ml_due_or_scheduled_tomorrow.sort=due,urgency
+
+ # Due within 5 days, including waiting
+ report.ml_due_within_5_days.columns=id,entry.age,depends,priority,project,tags.count,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
+ report.ml_due_within_5_days.description="Due within 5 days, including waiting"
+ report.ml_due_within_5_days.filter=(+WAITING and (due.before:today+5days)) or (status:pending) and (due.before:today+5days)
+ report.ml_due_within_5_days.sort=due,urgency
+
+
+ # Report all
+ report.all.column=id,status.short,uuid.short,start.active,entry.age,end.age,depends.indicator,priority,project.parent,tags.count,recur.indicator,wait.remaining,scheduled.remaining,due,until,remaining,description
+ report.all.labels=ID,St,UUID,A,Age,Done,D,P,Project,Tags,R,Wait,Sch,Due,Until,Description
+ report.all.description="All Tasks (amended)"
+ report.all.sort=entry-
+
+ # how to filter out a project from next - but this also means you can't filter
+ # it at all
+ #report.next.columns=id,start.age,entry.age,depends,priority,project,tags.count,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
+ #report.next.filter=status:pending and (+next or scheduled.before:today or due.before:today or scheduled.today or due.today)
+ #report.next.filter=project.not:code.bcompiler status:pending limit:page
+
+ # Next/default
+ report.next.description="Next"
+ report.next.columns=id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.relative,due.relative,until.remaining,description.truncated_count,urgency
+ report.next.filter=status:pending limit:page -idea project.not:h.buy project.not:h.comp.code
+
+ # mlscheduled
+ report.ml_scheduled.description='Modified list of scheduled tasks'
+ report.ml_scheduled.columns=id,project.indented,tags.count,scheduled,due,description.count,priority,urgency
+ report.ml_scheduled.labels=ID,Project,Tags,Scheduled,Due,Description,Priority,Urgency
+ report.ml_scheduled.sort=scheduled+/,priority-
+ report.ml_scheduled.filter=status:pending and +SCHEDULED and -BLOCKED
+
+ # inspection_prep
+ report.ml_inspection_prep.description="List of all tasks related to inspection planning"
+ report.ml_inspection_prep.columns=id,project.indented,description.count,scheduled,due
+ report.ml_inspection_prep.labels=ID,Project,Task,Scheduled,Due
+ report.ml_inspection_prep.filter=+inspection -inspection_followup status:pending
+ report.ml_inspection_prep.sort=project+/,due+,scheduled+
+
+ # inspection_followup
+ report.ml_inspection_followup.description="List of all tasks related to inspection follow-up"
+ report.ml_inspection_followup.columns=id,project.indented,description.count,scheduled,due
+ report.ml_inspection_followup.labels=ID,Project,Task,Scheduled,Due
+ report.ml_inspection_followup.filter=+inspection_followup status:pending
+
+ # upcoming
+ report.ml_upcoming.description=Pending and Waiting coming up
+ report.ml_upcoming.columns=id,status,wait.remaining,entry,tags,scheduled,due,description.count
+ report.ml_upcoming.labels=ID,Status,Wait,Age,Tags,Sched,Due,Description
+ report.ml_upcoming.sort=status+,wait+,scheduled+,due+
+ report.ml_upcoming.filter=status:pending
+
+ # nextmonth
+ report.ml_nextmonth.description=Next month
+ report.ml_nextmonth.columns=id,status,wait.remaining,entry,tags,scheduled,due,description.count
+ report.ml_nextmonth.labels=ID,Status,Wait,Age,Tags,Sched,Due,Description
+ report.ml_nextmonth.sort=status+,wait+,scheduled+,due+
+ report.ml_nextmonth.filter=scheduled.after:yesterday and scheduled.before:4weeks
+ #context=work
+
+ # completed in last week
+ report.ml_comp_lastweek.description=Tasks completed in the last week
+ report.ml_comp_lastweek.columns=uuid.short,project.full,description.combined,end.relative
+ report.ml_comp_lastweek.labels=UUID,Project,Task,Completed
+ report.ml_comp_lastweek.sort=end-
+ report.ml_comp_lastweek.filter=end.after:today-7day
+
+ # completed in last month
+ report.ml_comp_lastmonth.description=Tasks completed in the last month
+ report.ml_comp_lastmonth.columns=uuid.short,project.full,description.combined,end.relative
+ report.ml_comp_lastmonth.labels=UUID,Project,Task,Completed
+ report.ml_comp_lastmonth.sort=end-
+ report.ml_comp_lastmonth.filter=end.after:today-31day
+
+ # deleted in the last month
+ report.ml_deleted_last_month.description=Tasks deleted in last month
+ report.ml_deleted_last_month.columns=status.short,uuid.short,project.full,tags.list,description.count,end.formatted
+ report.ml_deleted_last_month.labels=Status,UUID,Project,Tags,Description,Deleted
+ report.ml_deleted_last_month.sort=end-
+ report.ml_deleted_last_month.filter=end.after:today-30day status:deleted
+
+
+ # all projects used
+ # THIS IS THE COMMAND THAT WORKS: task rc.list.all.projects=1 projects
+ # BUT DOESN'T WORK HERE - NOT TRIED TOO HARD
+ #report.ml_all_projects_used.description=All projects
+ #report.ml_all_projects_used.columns=project.full
+ #report.ml_all_projects_used.labels=Project
+ #report.ml_all_projects_used.sort=project+
+ #report.ml_all_projects_used.filter=rc.list.all.projects=1 projects
+
+ # regex on
+ regex=on
+
+news.version=2.6.0
+context=home