diff options
| -rw-r--r-- | Makefile | 11 | ||||
| -rw-r--r-- | X11/openbox/rc.xml | 10 | ||||
| -rwxr-xr-x | X11/rofi/pass.edit | 3 | ||||
| -rw-r--r-- | alias | 10 | ||||
| -rwxr-xr-x | bin/mail/deliver.sh | 40 | ||||
| -rw-r--r-- | gitconfig | 3 | ||||
| -rw-r--r-- | misc/vconsole.conf | 2 | ||||
| -rw-r--r-- | mutt/default | 5 | ||||
| -rw-r--r-- | mutt/muttrc.topo | 33 | ||||
| -rw-r--r-- | profile | 1 | ||||
| -rw-r--r-- | snippets/gitconfig_receive_deny | 2 | ||||
| -rw-r--r-- | snippets/html_template_map_leaderline | 15 | ||||
| -rw-r--r-- | tigrc | 4 | ||||
| -rw-r--r-- | tmux/tmux.conf (renamed from misc/tmux.conf) | 0 | ||||
| -rw-r--r-- | web/bookmarklet/contextmenu | 1 |
15 files changed, 91 insertions, 49 deletions
| @@ -59,7 +59,7 @@ mutt: ~/.local/share/application | |||
| 59 | pass mail/mutt.hooks >mutt/hooks.topo | 59 | pass mail/mutt.hooks >mutt/hooks.topo |
| 60 | 60 | ||
| 61 | tmux: | 61 | tmux: |
| 62 | ln -sf `pwd`/misc/tmux.conf ~/.tmux.conf | 62 | ln -sf `pwd`/tmux/tmux.conf ~/.tmux.conf |
| 63 | 63 | ||
| 64 | crontab: | 64 | crontab: |
| 65 | (crontab -l 2>/dev/null; cat bin/cron/* | sed '/^#/ d') | crontab - | 65 | (crontab -l 2>/dev/null; cat bin/cron/* | sed '/^#/ d') | crontab - |
| @@ -73,7 +73,6 @@ console: | |||
| 73 | sudo ln -sf `pwd`/misc/vconsole.conf /etc/vconsole.conf | 73 | sudo ln -sf `pwd`/misc/vconsole.conf /etc/vconsole.conf |
| 74 | sudo systemctl restart systemd-vconsole-setup.service | 74 | sudo systemctl restart systemd-vconsole-setup.service |
| 75 | 75 | ||
| 76 | |||
| 77 | task: | 76 | task: |
| 78 | ln -sf $(HOME)/.task/taskrc $(HOME)/.taskrc | 77 | ln -sf $(HOME)/.task/taskrc $(HOME)/.taskrc |
| 79 | if [ ! -d "$(HOME)/.task/.git" ]; then | 78 | if [ ! -d "$(HOME)/.task/.git" ]; then |
| @@ -91,6 +90,14 @@ theme: | |||
| 91 | 90 | ||
| 92 | openbox: theme | 91 | openbox: theme |
| 93 | ln -sf `pwd`/X11/openbox/rc.xml ~/.config/openbox/ | 92 | ln -sf `pwd`/X11/openbox/rc.xml ~/.config/openbox/ |
| 93 | cat <<EOF >~/.xprofile | ||
| 94 | export XMODIFIERS=@im=fcitx | ||
| 95 | export QT_IM_MODULE=fcitx | ||
| 96 | export GTK_IM_MODULE=fcitx | ||
| 97 | fcitx & | ||
| 98 | picom & | ||
| 99 | ~/.fechbg | ||
| 100 | EOF | ||
| 94 | 101 | ||
| 95 | rofi: | 102 | rofi: |
| 96 | ln -sf `pwd`/X11/rofi/config.rasi ~/.config/rofi/config.rasi | 103 | ln -sf `pwd`/X11/rofi/config.rasi ~/.config/rofi/config.rasi |
diff --git a/X11/openbox/rc.xml b/X11/openbox/rc.xml index 256f234..ffc6c67 100644 --- a/X11/openbox/rc.xml +++ b/X11/openbox/rc.xml | |||
| @@ -112,7 +112,7 @@ | |||
| 112 | -o "window.dimensions.lines=32" \ | 112 | -o "window.dimensions.lines=32" \ |
| 113 | -o "window.dimensions.columns=70" \ | 113 | -o "window.dimensions.columns=70" \ |
| 114 | -o 'env.fullrc="false"' \ | 114 | -o 'env.fullrc="false"' \ |
| 115 | -e nvim ~/.config/openbox/rc.xml; | 115 | -e vim ~/.config/openbox/rc.xml; |
| 116 | openbox --reconfigure | 116 | openbox --reconfigure |
| 117 | ' | 117 | ' |
| 118 | </command> | 118 | </command> |
| @@ -543,7 +543,7 @@ | |||
| 543 | <action name="Execute"> | 543 | <action name="Execute"> |
| 544 | <!-- Copy to CLIPBOARD --> | 544 | <!-- Copy to CLIPBOARD --> |
| 545 | <command> | 545 | <command> |
| 546 | alacritty --title @CLIPBORD -o 'env.fullrc="false"' -e nvim -c 'r !xsel -ob' -c 'normal A' -c 'startinsert' -c 'nmap <C-c> :w !xsel -ib<CR>:qa!<CR>' | 546 | alacritty --title @CLIPBORD -o 'env.fullrc="false"' -e vim -c 'r !xsel -ob' -c 'normal A' -c 'startinsert' -c 'nmap <C-c> :w !xsel -ib<CR>:qa!<CR>' |
| 547 | </command> | 547 | </command> |
| 548 | </action> | 548 | </action> |
| 549 | </keybind> | 549 | </keybind> |
| @@ -616,7 +616,7 @@ | |||
| 616 | <!-- Rofi --> | 616 | <!-- Rofi --> |
| 617 | <keybind key="A-F1"> | 617 | <keybind key="A-F1"> |
| 618 | <action name="Execute"> | 618 | <action name="Execute"> |
| 619 | <command>launcher</command> | 619 | <command>rofi -show drun -modes run</command> |
| 620 | </action> | 620 | </action> |
| 621 | </keybind> | 621 | </keybind> |
| 622 | <keybind key="W-n"> | 622 | <keybind key="W-n"> |
| @@ -702,7 +702,7 @@ | |||
| 702 | </keybind> | 702 | </keybind> |
| 703 | <keybind key="W-r"> | 703 | <keybind key="W-r"> |
| 704 | <action name="Execute"> | 704 | <action name="Execute"> |
| 705 | <command>runner</command> | 705 | <command>rofi -show run</command> |
| 706 | </action> | 706 | </action> |
| 707 | </keybind> | 707 | </keybind> |
| 708 | <keybind key="W-g"> | 708 | <keybind key="W-g"> |
| @@ -758,7 +758,7 @@ | |||
| 758 | </keybind> | 758 | </keybind> |
| 759 | <keybind key="C-A-n"> | 759 | <keybind key="C-A-n"> |
| 760 | <action name="Execute"> | 760 | <action name="Execute"> |
| 761 | <command>alacritty -e nvim</command> | 761 | <command>alacritty -e vim</command> |
| 762 | </action> | 762 | </action> |
| 763 | </keybind> | 763 | </keybind> |
| 764 | <keybind key="W-S-r"> | 764 | <keybind key="W-S-r"> |
diff --git a/X11/rofi/pass.edit b/X11/rofi/pass.edit index bfbdc31..a1a091d 100755 --- a/X11/rofi/pass.edit +++ b/X11/rofi/pass.edit | |||
| @@ -16,5 +16,6 @@ fi | |||
| 16 | 16 | ||
| 17 | # Use detected terminal emulator to edit password | 17 | # Use detected terminal emulator to edit password |
| 18 | coproc ( | 18 | coproc ( |
| 19 | EDITOR=nvim $terminal -e pass edit $1 && $(dirname $0)/pass.get $1 | 19 | terminal=${terminal:-alacritty} |
| 20 | EDITOR=vim $terminal -e pass edit $1 && $(dirname $0)/pass.get $1 | ||
| 20 | ) | 21 | ) |
| @@ -55,6 +55,7 @@ alias j='sudo -i journalctl -xeu' | |||
| 55 | alias jf='sudo -i journalctl -xfeu' | 55 | alias jf='sudo -i journalctl -xfeu' |
| 56 | alias fb{.,''}conf='sudo vim /etc/fail2ban/jail.d/jail.local' | 56 | alias fb{.,''}conf='sudo vim /etc/fail2ban/jail.d/jail.local' |
| 57 | alias fb='sudo -i fail2ban-client' | 57 | alias fb='sudo -i fail2ban-client' |
| 58 | alias vps.test='curl -sL https://yabs.sh | bash' | ||
| 58 | 59 | ||
| 59 | # }}} | 60 | # }}} |
| 60 | # Nginx{{{ | 61 | # Nginx{{{ |
| @@ -116,6 +117,7 @@ rm() { | |||
| 116 | /bin/rm $@ | 117 | /bin/rm $@ |
| 117 | } | 118 | } |
| 118 | config(){ cd ~/.config/$1; } | 119 | config(){ cd ~/.config/$1; } |
| 120 | alias cdapp='cd /usr/share/applications/' | ||
| 119 | alias sound="echo -ne '\a'" | 121 | alias sound="echo -ne '\a'" |
| 120 | alias hg='history | grep' | 122 | alias hg='history | grep' |
| 121 | prompt-vim() { | 123 | prompt-vim() { |
| @@ -363,9 +365,10 @@ if which nvim &>/dev/null; then | |||
| 363 | else | 365 | else |
| 364 | alias v='vim' | 366 | alias v='vim' |
| 365 | fi | 367 | fi |
| 366 | alias vu='vim -u NONE' | 368 | alias vu='vim -u NONE "+set nowrap"' |
| 367 | alias sv='sudo vim' | 369 | alias sv='sudo vim' |
| 368 | alias vr='vim -R' | 370 | alias vr='vim -R' |
| 371 | alias vm='vim Makefile' | ||
| 369 | # Edit last file | 372 | # Edit last file |
| 370 | alias vl="vim -c 'norm '" | 373 | alias vl="vim -c 'norm '" |
| 371 | # Use Telescope to select recent files | 374 | # Use Telescope to select recent files |
| @@ -607,6 +610,11 @@ fix() { which $1 && grep -Po 'FIXME.*' $(which $1); } | |||
| 607 | alias monitor.light='ddcutil --permit-unknown-feature setvcp 10' | 610 | alias monitor.light='ddcutil --permit-unknown-feature setvcp 10' |
| 608 | alias cdosm='cd /srv/osm' | 611 | alias cdosm='cd /srv/osm' |
| 609 | alias y='yazi' | 612 | alias y='yazi' |
| 613 | acme.issue() { | ||
| 614 | acme.sh --issue -d $1 -w $2 | ||
| 615 | } | ||
| 616 | alias recall='cd /srv/recall' | ||
| 617 | alias river='rclone mount r2:/river ~/Downloads/river' | ||
| 610 | # }}} | 618 | # }}} |
| 611 | 619 | ||
| 612 | # vim:fdm=marker fdl=0 | 620 | # vim:fdm=marker fdl=0 |
diff --git a/bin/mail/deliver.sh b/bin/mail/deliver.sh index d101602..52c5d01 100755 --- a/bin/mail/deliver.sh +++ b/bin/mail/deliver.sh | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | # Deliver incoming mail to proper mailbox | 3 | # Deliver incoming mail to proper mailbox |
| 4 | # TODO image/audio mail part | 4 | # TODO image/audio mail part |
| 5 | # TODO CJK Subject in index/pager mode: tofo or backslash | ||
| 5 | 6 | ||
| 6 | epoch=$(date +%s) | 7 | epoch=$(date +%s) |
| 7 | mail_date="$(date --rfc-email -d @${epoch})" | 8 | mail_date="$(date --rfc-email -d @${epoch})" |
| @@ -106,45 +107,54 @@ done <<<"$header" | |||
| 106 | # decide mailbox by vars {{{ | 107 | # decide mailbox by vars {{{ |
| 107 | if [[ "$SENDER" = pham@topo.tw && -n $CHAT_VERSION ]]; then | 108 | if [[ "$SENDER" = pham@topo.tw && -n $CHAT_VERSION ]]; then |
| 108 | private_message | 109 | private_message |
| 110 | elif [[ "${FROM}" =~ riverbien ]]; then | ||
| 111 | mailbox=river | ||
| 112 | elif [[ "${FROM}" =~ MAILER-DAEMON|accounts ]]; then | ||
| 113 | mailbox= | ||
| 114 | elif [[ "${FROM}" =~ taiwandreamer|imtaiwanese18741130|recall ]]; then | ||
| 115 | mailbox=recall | ||
| 109 | elif [[ "${TO}" =~ '+'|'=' ]]; then | 116 | elif [[ "${TO}" =~ '+'|'=' ]]; then |
| 110 | mailbox=${TO#*[+=]} # remove chars before symbol of mailbox | 117 | mailbox=${TO#*[+=]} # remove chars before symbol of mailbox |
| 111 | mailbox=${mailbox%@*} # remove suffix for mail address | 118 | mailbox=${mailbox%@*} # remove suffix for mail address |
| 112 | elif [[ "${FROM}${RETURN_PATH}" =~ notifications@github.com|noreply@github.com ]]; then | 119 | elif [[ "${FROM}${RETURN_PATH}" =~ notifications@github.com|noreply@github.com ]]; then |
| 113 | mailbox=DEV/github | 120 | mailbox=zd/github |
| 114 | elif [[ "${FROM}" =~ jgbsmart.com ]]; then | 121 | elif [[ "${FROM}" =~ jgbsmart.com ]]; then |
| 115 | mailbox=rent | 122 | mailbox=rent |
| 116 | elif [[ "${SUBJECT}" =~ 帳單|轉帳|對帳|付款|發票|消費|繳費|收據|費用|Invoice|Billing ]]; then | 123 | elif [[ "${SUBJECT}" =~ 帳單|轉帳|對帳|付款|發票|消費|繳費|收據|費用|簽帳|Invoice|Billing ]]; then |
| 117 | mailbox=pay | 124 | mailbox=pay |
| 118 | elif [[ "${TO}" =~ dmarc@topo.tw ]]; then | 125 | elif [[ "${TO}" =~ dmarc@topo.tw ]]; then |
| 119 | mailbox=DEV/dmarc | 126 | mailbox=zd/dmarc |
| 120 | elif [[ "${LIST_ID}" =~ ^'Open Street Map Taiwan' ]]; then | 127 | elif [[ "${LIST_ID}" =~ ^'Open Street Map Taiwan' ]]; then |
| 121 | mailbox=FOSS/osm | 128 | mailbox=FOSS/osm |
| 122 | elif [[ "${TO}" =~ talk-ja@openstreetmap.org ]]; then | 129 | elif [[ "${TO}" =~ talk-ja@openstreetmap.org ]]; then |
| 123 | mailbox=LIST/talk-ja | 130 | mailbox=zl/talk-ja |
| 124 | elif [[ "${LIST_ID}" =~ ^~rjarry/aerc-discuss ]]; then | 131 | elif [[ "${LIST_ID}" =~ rjarry/aerc-discuss ]]; then |
| 125 | mailbox=LIST/aerc | 132 | mailbox=zl/aerc |
| 126 | elif [[ "${LIST_ID}" =~ mutt-users.mutt.org ]]; then | 133 | elif [[ "${LIST_ID}" =~ mutt-users.mutt.org ]]; then |
| 127 | mailbox=LIST/mutt | 134 | mailbox=zl/mutt |
| 135 | elif [[ "${RECEIVED}" =~ lists.archlinux.org ]]; then | ||
| 136 | mailbox=zl/arch | ||
| 128 | elif [[ "${SUBJECT}" =~ 啟用 ]]; then | 137 | elif [[ "${SUBJECT}" =~ 啟用 ]]; then |
| 129 | mailbox=service | 138 | mailbox=service |
| 130 | elif [[ | 139 | elif [[ |
| 131 | "${SUBJECT}" =~ 電子報|快訊|newsletter || | 140 | "${SUBJECT}" =~ 電子報|快訊|newsletter || |
| 132 | "${FROM}${TO}" =~ substack|service@kucw.io \ | 141 | "${FROM}${TO}" =~ substack|service@kucw.io|linuxhandbook |
| 133 | ]]; then | 142 | ]]; then |
| 134 | mailbox=news | 143 | mailbox=news |
| 135 | elif [[ "${SUBJECT}" =~ 密碼|安全性警示|登入|存取|驗證|login|verify|sign-in ]]; then | 144 | elif [[ "${SUBJECT}" =~ 密碼|安全性警示|登入|存取|驗證|確認|login|verif|sign-in ]]; then |
| 136 | mailbox=login | 145 | mailbox=login |
| 137 | elif [[ "${TO}" = cloudflare@topo.tw ]]; then | 146 | elif [[ "${TO}" = cloudflare@topo.tw ]]; then |
| 138 | mailbox=SRV/cloudflare | 147 | mailbox=SRV/cloudflare |
| 139 | elif [[ | 148 | elif [[ |
| 140 | "${SUBJECT}" =~ 通知|提及|未讀|更新|核對|嘟文|unread|summary|mention|introduc || | 149 | "${SUBJECT}" =~ 通知|提及|未讀|更新|核對|嘟文|unread|summary|mention|introduc || |
| 141 | "${FROM}" =~ notification[s]?@|no-reply@hackmd.io \ | 150 | "${FROM}" =~ iservice@narlabs.org.tw || |
| 151 | "${FROM}" =~ notification[s]?@|no-reply@hackmd.io | ||
| 142 | ]]; then | 152 | ]]; then |
| 143 | mailbox=update | 153 | mailbox=update |
| 144 | elif [[ | 154 | elif [[ |
| 145 | "${SUBJECT}${FROM}" =~ 優惠|快訊|願望清單|期待|活動|eDM || | 155 | "${SUBJECT}${FROM}" =~ 優惠|快訊|願望清單|期待|活動|eDM|invitation || |
| 146 | -n "${LIST_ID}${LIST_UNSUBSCRIBE}" || | 156 | ${FROM} =~ cora.computer|noreply@steampowered.com || |
| 147 | ${TO} =~ tienling.chou@topo.tw \ | 157 | -n "${LIST_ID}${LIST_UNSUBSCRIBE}${FEEDBACK_ID}${THREAD_INDEX}${X_MAILGUN_TAG}${X_SFMC_STACK}" |
| 148 | ]]; then | 158 | ]]; then |
| 149 | mailbox=promote | 159 | mailbox=promote |
| 150 | fi | 160 | fi |
| @@ -40,3 +40,6 @@ | |||
| 40 | 40 | ||
| 41 | [core] | 41 | [core] |
| 42 | excludesFile = /srv/git/www/gitignore | 42 | excludesFile = /srv/git/www/gitignore |
| 43 | |||
| 44 | [safe] | ||
| 45 | directory = ~/Downloads/recall171 | ||
diff --git a/misc/vconsole.conf b/misc/vconsole.conf index 8a1e7e7..8e118a0 100644 --- a/misc/vconsole.conf +++ b/misc/vconsole.conf | |||
| @@ -1,2 +1,2 @@ | |||
| 1 | KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map | 1 | KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map |
| 2 | FONT=ter-218b | 2 | FONT=ter-132b |
diff --git a/mutt/default b/mutt/default index 5d7369b..8a3df31 100644 --- a/mutt/default +++ b/mutt/default | |||
| @@ -10,6 +10,7 @@ set header_cache = ~/.cache/mutt | |||
| 10 | set message_cachedir = ~/.cache/mutt.message | 10 | set message_cachedir = ~/.cache/mutt.message |
| 11 | set edit_headers = yes | 11 | set edit_headers = yes |
| 12 | set mailcap_path = ~/.config/mutt/mailcap | 12 | set mailcap_path = ~/.config/mutt/mailcap |
| 13 | set recall = no | ||
| 13 | 14 | ||
| 14 | # This allows to reply with "To: " in header | 15 | # This allows to reply with "To: " in header |
| 15 | set reverse_name = yes | 16 | set reverse_name = yes |
| @@ -31,6 +32,7 @@ set my_keep_lines2 = 12 | |||
| 31 | set pager_index_lines = $my_keep_lines1 | 32 | set pager_index_lines = $my_keep_lines1 |
| 32 | set markers = no # Remove '+' for long links with limited terminal width | 33 | set markers = no # Remove '+' for long links with limited terminal width |
| 33 | # set reply_with_xorig = true | 34 | # set reply_with_xorig = true |
| 35 | set text_flowed = yes | ||
| 34 | 36 | ||
| 35 | # Index format | 37 | # Index format |
| 36 | #set index_format = "%4C %8Y %Z %(%b %d) %-15.15L (%?l?%4l&%4c?) %s" | 38 | #set index_format = "%4C %8Y %Z %(%b %d) %-15.15L (%?l?%4l&%4c?) %s" |
| @@ -51,7 +53,9 @@ macro pager l "v/(html|zip)<Return>xq<Return>" "Open html file" | |||
| 51 | # Vim-style key binding, \c means Ctrl | 53 | # Vim-style key binding, \c means Ctrl |
| 52 | macro index,pager c '<change-folder>=' | 54 | macro index,pager c '<change-folder>=' |
| 53 | macro index q '<change-folder>?' | 55 | macro index q '<change-folder>?' |
| 56 | bind attach g exit | ||
| 54 | bind index o sort-reverse | 57 | bind index o sort-reverse |
| 58 | bind index R group-chat-reply | ||
| 55 | bind index O sort-mailbox | 59 | bind index O sort-mailbox |
| 56 | bind index,pager <Return> sync-mailbox | 60 | bind index,pager <Return> sync-mailbox |
| 57 | bind index x tag-entry | 61 | bind index x tag-entry |
| @@ -195,6 +199,7 @@ color index blue green "~N~v~(~F)" # | |||
| 195 | color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) | 199 | color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) |
| 196 | color index magenta black "~h Stay" # marked as Stay | 200 | color index magenta black "~h Stay" # marked as Stay |
| 197 | color index lightblack black "~h Done" # marked as Done | 201 | color index lightblack black "~h Done" # marked as Done |
| 202 | color index lightblack black "~y done" # marked as Done | ||
| 198 | 203 | ||
| 199 | # color header | 204 | # color header |
| 200 | color header green black "^(From)" | 205 | color header green black "^(From)" |
diff --git a/mutt/muttrc.topo b/mutt/muttrc.topo index 9b2d2f1..f3e81bf 100644 --- a/mutt/muttrc.topo +++ b/mutt/muttrc.topo | |||
| @@ -33,16 +33,18 @@ mailboxes -label 'INBOX' -poll + \ | |||
| 33 | -poll +act\ | 33 | -poll +act\ |
| 34 | -poll +box \ | 34 | -poll +box \ |
| 35 | -poll +continue \ | 35 | -poll +continue \ |
| 36 | -poll -label '[r]' +river \ | 36 | -poll -label '[r]iver' +river \ |
| 37 | -poll -label '[h]' +hiking \ | 37 | -poll -label '[h]ome' +home \ |
| 38 | -poll -label '[R]ecall' +recall \ | ||
| 38 | "+-- Permanent ---" \ | 39 | "+-- Permanent ---" \ |
| 39 | -poll -label 'de[v]' +DEV \ | 40 | -poll -label '[n]ews' +news \ |
| 40 | -poll -label '[t]alk 🍺' +talk \ | 41 | -poll -label '[p]ay' +pay \ |
| 41 | -poll -label '[n]ews 📰' +news \ | 42 | -poll -label '[t]alk' +talk \ |
| 42 | -poll -label '[p]ay 💲' +pay \ | 43 | -poll -label '[d]ev' +zd \ |
| 43 | -poll -label '[l]ogin' +login \ | 44 | -poll -label '[u]pdate' +update \ |
| 44 | -poll -label '[u]pdate' +update \ | 45 | -poll -label '[l]ogin' +login \ |
| 45 | -poll -label '[R]ent' +rent \ | 46 | -poll -label '[P]romote' +promote \ |
| 47 | -poll -label '[C]omment' +comment \ | ||
| 46 | 48 | ||
| 47 | # Keybinding | 49 | # Keybinding |
| 48 | macro index,pager <f4> '<sync-mailbox><enter-command>source ~/.config/mutt/muttrc.topo<enter><change-folder>!<enter>' | 50 | macro index,pager <f4> '<sync-mailbox><enter-command>source ~/.config/mutt/muttrc.topo<enter><change-folder>!<enter>' |
| @@ -58,21 +60,22 @@ macro index,pager gi "<change-folder>+<Return>" "Switch to INBOX folder" | |||
| 58 | macro index,pager ga "<change-folder>+act<Return>" | 60 | macro index,pager ga "<change-folder>+act<Return>" |
| 59 | macro index,pager gb "<change-folder>+box<Return>" | 61 | macro index,pager gb "<change-folder>+box<Return>" |
| 60 | macro index,pager gc "<change-folder>+continue<Return>" | 62 | macro index,pager gc "<change-folder>+continue<Return>" |
| 61 | macro index,pager gd "<change-folder>+done<Return>" | 63 | macro index,pager gD "<change-folder>+done<Return>" |
| 62 | 64 | ||
| 63 | macro index,pager gt "<change-folder>+talk<Return>" | 65 | macro index,pager gt "<change-folder>+talk<Return>" |
| 64 | macro index,pager gk "<change-folder>+keep<Return>" | 66 | macro index,pager gk "<change-folder>+keep<Return>" |
| 65 | macro index,pager gn "<change-folder>+news<Return>" | 67 | macro index,pager gn "<change-folder>+news<Return>" |
| 66 | macro index,pager gh "<change-folder>+hiking<Return>" | 68 | macro index,pager gH "<change-folder>+hiking<Return>" |
| 67 | macro index,pager gp "<change-folder>+pay<Return>" | 69 | macro index,pager gp "<change-folder>+pay<Return>" |
| 68 | macro index,pager gs "<change-folder>+Sent<Return>" | 70 | macro index,pager gs "<change-folder>+Sent<Return>" |
| 69 | macro index,pager gr "<change-folder>+river<Return>" | 71 | macro index,pager gr "<change-folder>+river<Return>" |
| 70 | macro index,pager gv "<change-folder>+DEV<Return>" | 72 | macro index,pager gR "<change-folder>+recall<Return>" |
| 73 | macro index,pager gd "<change-folder>+zd<Return>" | ||
| 71 | macro index,pager gu "<change-folder>+update<Return>" | 74 | macro index,pager gu "<change-folder>+update<Return>" |
| 75 | macro index,pager gh "<change-folder>+home<Return>" | ||
| 72 | 76 | ||
| 73 | macro index,pager gP "<change-folder>+MISC/promote<Return>" | 77 | macro index,pager gP "<change-folder>+promote<Return>" |
| 74 | macro index,pager gT "<change-folder>+Trash<Return>" | 78 | macro index,pager gT "<change-folder>+Trash<Return>" |
| 75 | macro index,pager gl "<change-folder>+login<Return>" | 79 | macro index,pager gl "<change-folder>+login<Return>" |
| 76 | macro index,pager gf "<change-folder>+feedback<Return>" | 80 | macro index,pager gf "<change-folder>+feedback<Return>" |
| 77 | macro index,pager gR "<change-folder>+rent<Return>" | 81 | macro index,pager gC "<change-folder>+comment<Return>" |
| 78 | macro index,pager gS "<change-folder>+spam<Return>" | ||
| @@ -1,6 +1,7 @@ | |||
| 1 | # trap 'exit.sh' EXIT | 1 | # trap 'exit.sh' EXIT |
| 2 | 2 | ||
| 3 | export PATH=~/.local/bin:$PATH | 3 | export PATH=~/.local/bin:$PATH |
| 4 | export PATH=~/go/bin:$PATH | ||
| 4 | export SETTING_DIR=${SETTING_DIR:=$HOME/helper} | 5 | export SETTING_DIR=${SETTING_DIR:=$HOME/helper} |
| 5 | export TERM=xterm-256color | 6 | export TERM=xterm-256color |
| 6 | export XDG_CONFIG_HOME=~/.config | 7 | export XDG_CONFIG_HOME=~/.config |
diff --git a/snippets/gitconfig_receive_deny b/snippets/gitconfig_receive_deny new file mode 100644 index 0000000..a616427 --- /dev/null +++ b/snippets/gitconfig_receive_deny | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | [receive] | ||
| 2 | denyCurrentBranch = false | ||
diff --git a/snippets/html_template_map_leaderline b/snippets/html_template_map_leaderline index afcec6d..02affef 100644 --- a/snippets/html_template_map_leaderline +++ b/snippets/html_template_map_leaderline | |||
| @@ -5,12 +5,12 @@ | |||
| 5 | <meta charset='utf-8'> | 5 | <meta charset='utf-8'> |
| 6 | <title>Leader Line with Markdown</title> | 6 | <title>Leader Line with Markdown</title> |
| 7 | 7 | ||
| 8 | <meta property="og:description" content="Add a default marker to the map." /> | 8 | <meta property="og:description" content="門牌分布地圖" /> |
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1"> | 9 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 10 | 10 | ||
| 11 | <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.css' /> | 11 | <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.4.0/dist/maplibre-gl.css' /> |
| 12 | 12 | ||
| 13 | <script src='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.js'></script> | 13 | <script src='https://unpkg.com/maplibre-gl@5.4.0/dist/maplibre-gl.js'></script> |
| 14 | <script src='https://cdnjs.cloudflare.com/ajax/libs/leader-line/1.0.7/leader-line.min.js'></script> | 14 | <script src='https://cdnjs.cloudflare.com/ajax/libs/leader-line/1.0.7/leader-line.min.js'></script> |
| 15 | <script src='https://cdnjs.cloudflare.com/ajax/libs/marked/14.0.0/marked.min.js'></script> | 15 | <script src='https://cdnjs.cloudflare.com/ajax/libs/marked/14.0.0/marked.min.js'></script> |
| 16 | <style> | 16 | <style> |
| @@ -26,12 +26,13 @@ | |||
| 26 | #markdown { | 26 | #markdown { |
| 27 | height: 100%; | 27 | height: 100%; |
| 28 | } | 28 | } |
| 29 | 29 | #map { | |
| 30 | #map, | 30 | flex: 70%; |
| 31 | } | ||
| 31 | #markdown { | 32 | #markdown { |
| 32 | flex: 50%; | 33 | flex: 30%; |
| 34 | padding: 0.5em 1em; | ||
| 33 | } | 35 | } |
| 34 | |||
| 35 | pre { | 36 | pre { |
| 36 | display: none; | 37 | display: none; |
| 37 | } | 38 | } |
| @@ -224,8 +224,8 @@ bind blob m >tig --follow -- %(file) | |||
| 224 | 224 | ||
| 225 | # }}} | 225 | # }}} |
| 226 | # status view {{{ | 226 | # status view {{{ |
| 227 | bind status j :/^[MCADRUT?] | 227 | bind status j :/^[MADRT?] |
| 228 | bind status k :?^[MCADRUT?] | 228 | bind status k :?^[MADRT?] |
| 229 | 229 | ||
| 230 | # use vscode to edit a file | 230 | # use vscode to edit a file |
| 231 | bind status E !>code %(file) | 231 | bind status E !>code %(file) |
diff --git a/misc/tmux.conf b/tmux/tmux.conf index 1ddc877..1ddc877 100644 --- a/misc/tmux.conf +++ b/tmux/tmux.conf | |||
diff --git a/web/bookmarklet/contextmenu b/web/bookmarklet/contextmenu new file mode 100644 index 0000000..8bdf4c6 --- /dev/null +++ b/web/bookmarklet/contextmenu | |||
| @@ -0,0 +1 @@ | |||
| javascript:(function(w){ var arr = ['contextmenu','copy','cut','paste','mousedown','mouseup','beforeunload','beforeprint']; for(var i = 0, x; x = arr[i]; i++){ if(w['on' + x])w['on' + x] = null; w.addEventListener(x, function(e){e.stopPropagation()}, true); }; for(var j = 0, f; f = w.frames[j]; j++){try{arguments.callee(f)}catch(e){}}})(window); | |||