2020-05-08 15:45:43 +02:00
|
|
|
;; this is the main configuration file for tinmop.
|
|
|
|
|
|
|
|
;; This file must be a valid common lisp program to allow the program
|
|
|
|
;; to even starts. This file is actual common lisp source code that is
|
|
|
|
;; loaded end executed by the main program; be careful, do not copy
|
|
|
|
;; and paste code from untrusted sources as this could results in a
|
|
|
|
;; *severe* security damage.
|
|
|
|
|
|
|
|
;; Anyway, even if you do not know lisp you should be able to change
|
|
|
|
;; keybindings with no difficult. Editing this file is the way to
|
|
|
|
;; accomplish this task.
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; This line on top of the file is mandatory if you want to write a
|
|
|
|
;; module (AKA plugin) for the program as the form below will provide
|
|
|
|
;; you with access to many program's machinery
|
|
|
|
|
|
|
|
(in-package :modules)
|
|
|
|
|
|
|
|
;; of course you can define new functions. Also note that the function called at
|
|
|
|
;; the end of the each command:
|
|
|
|
;;
|
|
|
|
;; (define-key "command keybinding" function)
|
|
|
|
;; ^^^^^^^^
|
|
|
|
;;
|
|
|
|
;; can not be an anonymous function.
|
|
|
|
|
2020-06-22 13:58:04 +02:00
|
|
|
(defun quit () ; define a custom function named 'quit' and no parameters.
|
|
|
|
"Quit the program" ; This string after the function name and parameters is
|
2020-05-08 15:45:43 +02:00
|
|
|
; called 'docstring' and will be presented to the
|
|
|
|
; user as inline help
|
|
|
|
(ui:clean-close-program))
|
|
|
|
|
2020-05-12 19:48:09 +02:00
|
|
|
;; this file can load others using the 'load-module' function the file
|
|
|
|
;; in looked up in the home (e.g. $HOME/.config/tinmop/) config
|
|
|
|
;; directory or in the system wide config directory
|
|
|
|
|
|
|
|
(load-module "next-previous-open.lisp")
|
|
|
|
|
2020-12-27 14:51:59 +01:00
|
|
|
;; share a gemini page
|
|
|
|
|
|
|
|
(load-module "share-gemini-link.lisp")
|
|
|
|
|
2024-09-01 10:48:44 +02:00
|
|
|
;; abbreviations on command line
|
2021-08-12 22:40:49 +02:00
|
|
|
|
|
|
|
(load-module "expand-abbrev-command-window.lisp")
|
|
|
|
|
2023-02-24 11:21:57 +01:00
|
|
|
;; delete posts using a regular expression
|
2021-11-20 12:17:22 +01:00
|
|
|
|
|
|
|
(load-module "delete-by-regex.lisp")
|
|
|
|
|
2024-04-11 15:18:52 +02:00
|
|
|
;; fetch expired polls when deleting notifications
|
|
|
|
|
|
|
|
(load-module "fetch-expired-poll.lisp")
|
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
;; keybindings syntax:
|
|
|
|
|
|
|
|
;; a command is executed after a sequence of one or more keys. a key
|
|
|
|
;; can be composed by a single physical button pressed on the keyboard
|
|
|
|
;; or by a combination of a button pressed together.
|
|
|
|
|
|
|
|
;; Example of keys are:
|
|
|
|
|
|
|
|
;; "a" -> press the button on the keyboard with the symbol 'a' printed on top
|
|
|
|
;; "a b" -> press and release the button 'a' and then press the button 'b'
|
|
|
|
;; "f1 f2" -> press function key 1 and function key 2
|
|
|
|
|
|
|
|
;; sometimes a key is composed by two pressed buttons. For example to
|
|
|
|
;; input the character 'C' (i.e. capital 'c') usually you should use a
|
|
|
|
;; combination of SHIFT and C but there is more: a key can be composed
|
|
|
|
;; by two button pressed, the first called a "modifier" button.
|
|
|
|
|
|
|
|
;; The "modifier" button must be keep pressed
|
|
|
|
;; while the second button is hit for the key to be valid.
|
|
|
|
|
|
|
|
;; There are only two legal modifier buttons: the "Alt" button
|
|
|
|
;; (indicated with the letter "M") and the "Control" button (indicated
|
|
|
|
;; with "C").
|
|
|
|
|
|
|
|
;; So said some combined keys example are given:
|
|
|
|
|
|
|
|
;; "M-1" -> press "Alt" and, while pressed, press "1"
|
|
|
|
|
|
|
|
;; Note the dash between the symbols, the key below:
|
|
|
|
|
|
|
|
;; "M 1"
|
|
|
|
|
|
|
|
;; means: "Press the combination of button to print the capital button
|
|
|
|
;; 'M' and the button to print the character '1', so this is not
|
|
|
|
;; equivalent to "M-1".
|
|
|
|
|
|
|
|
;; With this information in mind we can decode more keys like the ones
|
|
|
|
;; given below:
|
|
|
|
|
|
|
|
;; "C-c x" -> Press control and keep pressed press 'c' then release
|
|
|
|
;; the two buttons and press 'x'.
|
|
|
|
|
|
|
|
;; "C-c c" -> Press control and keep pressed press 'c' then release
|
|
|
|
;; the two buttons and press 'c' again.
|
|
|
|
|
|
|
|
;; Caveat:
|
|
|
|
|
|
|
|
;; - The single letter after control modifier are case insensitive;
|
|
|
|
;; - the enter key must be specified by "C-J";
|
|
|
|
;; - "dc" is the key Delete;
|
|
|
|
|
|
|
|
;; To define a new key just use the 'define-key' form below:
|
|
|
|
|
|
|
|
;; (define key COMMAND FUNCTION)
|
|
|
|
|
|
|
|
;; Where COMMAND is a sequence of keys and FUNCTION is the name
|
|
|
|
;; (prefixed by: #') of the function to fire after command has been
|
|
|
|
;; completed
|
|
|
|
|
|
|
|
;; See the command below as examples.
|
|
|
|
|
|
|
|
;; key conflict
|
|
|
|
|
|
|
|
;; Sometime two commands key may conflict, for example:
|
|
|
|
|
|
|
|
;; (define "C-x a" #'foo)
|
|
|
|
|
|
|
|
;; (define "C-x a b" #'bar)
|
|
|
|
|
|
|
|
;; How the program could know which way choose when the button 'a' is
|
|
|
|
;; pressed? Should be executed the function 'foo' or should we go
|
|
|
|
;; beyond this function and wait for the button 'b' to be pressed?
|
|
|
|
|
|
|
|
;; The convention chosen is that will be executed the shorter path
|
|
|
|
;; that lead to a function so, in the case above, the function 'foo'
|
|
|
|
;; will be executed.
|
|
|
|
|
|
|
|
;; Note that the two command below are *not* in conflict:
|
|
|
|
|
|
|
|
;; (define "C-x a b c d" #'foo)
|
|
|
|
|
|
|
|
;; (define "C-x a e" #'bar)
|
|
|
|
|
2020-06-22 13:58:04 +02:00
|
|
|
(defun gemini-search ()
|
2022-06-15 14:33:56 +02:00
|
|
|
"Search the geminispace using keyword (note: will contact
|
2024-05-29 16:38:40 +02:00
|
|
|
\"gemini://kennedy.gemi.dev/search\""
|
2024-06-23 19:06:11 +02:00
|
|
|
(gemini-viewer:load-gemini-url (swconf:config-gemini-search-engine-iri)))
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(defun open-gemini-links-and-ask-tour ()
|
|
|
|
"Open the link window and ask for tour link indices"
|
|
|
|
(when (message-window:display-gemini-text-p specials:*message-window*)
|
|
|
|
(when (not specials:*open-message-link-window*)
|
|
|
|
(ui:open-message-link))
|
|
|
|
(ui::focus-to-open-message-link-window)
|
|
|
|
(ui:tour-mode-link)))
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
;; global keymap
|
2022-02-23 21:13:52 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "!" #'gemini-search)
|
2022-02-23 21:13:52 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key ">" #'open-net-address)
|
2022-03-05 10:32:13 +01:00
|
|
|
|
2024-03-31 11:19:27 +02:00
|
|
|
(define-key "@" #'switch-fediverse-account)
|
2024-03-30 15:47:39 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "?" #'print-quick-help)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2022-03-02 20:44:54 +01:00
|
|
|
(define-key "C d" #'clear-cache)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-I" #'pass-focus-next)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-a" #'show-about-window)
|
|
|
|
|
2023-09-25 19:03:32 +02:00
|
|
|
(define-key "A" #'show-announcements)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-h A" #'apropos-help-global)
|
2020-10-03 21:08:55 +02:00
|
|
|
|
|
|
|
(define-key "C-h a" #'apropos-help)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-h h" #'print-quick-help)
|
2021-08-28 16:39:34 +02:00
|
|
|
|
2021-08-28 12:33:49 +02:00
|
|
|
(define-key "C-h m" #'open-manual)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-q" #'quit)
|
2020-06-28 12:36:59 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(when (api-pleroma:instance-pleroma-p)
|
|
|
|
(define-key "M-c" #'open-chats-list-window))
|
2020-09-05 17:02:00 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-down" #'pass-focus-on-bottom)
|
2021-01-09 16:27:40 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-e" #'eval-command)
|
2021-10-10 12:38:37 +02:00
|
|
|
|
2021-08-03 18:31:34 +02:00
|
|
|
(define-key "M-g c i" #'import-gemini-certificate)
|
|
|
|
|
2021-08-06 21:16:02 +02:00
|
|
|
(define-key "M-g c s" #'gemini-open-certificates-window)
|
|
|
|
|
2021-08-28 19:53:41 +02:00
|
|
|
(define-key "M-g g b s" #'display-bookmark)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-g g l" #'open-gempub-library)
|
2022-06-15 14:33:56 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-g s o" #'gemini-open-gemlog-window)
|
2022-06-15 14:33:56 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-g s r" #'gemlog-refresh-all)
|
2021-10-10 12:38:37 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-g s t a" #'gemlog-add-unread-posts-tour)
|
2021-10-10 12:38:37 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-l" #'load-script-file)
|
2021-10-10 12:38:37 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-left" #'pass-focus-on-left)
|
2021-10-10 12:38:37 +02:00
|
|
|
|
2021-04-28 16:26:10 +02:00
|
|
|
(define-key "M-right" #'pass-focus-on-right)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-s l" #'message-window-lock-scrolling)
|
2021-04-28 16:26:10 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-s u" #'message-window-unlock-scrolling)
|
2021-04-28 16:26:10 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-t S" #'shuffle-tour)
|
2021-04-28 16:26:10 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-t a" #'open-gemini-links-and-ask-tour)
|
2021-10-08 11:55:16 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-t c" #'clean-all-tour)
|
2021-10-08 14:35:40 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-t s" #'show-tour-links)
|
2021-10-08 11:55:16 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-t t" #'next-tour-link)
|
2021-11-16 16:00:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-up" #'pass-focus-on-top)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "q" #'confirm-and-clean-close-program)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
;; follow requests keymap
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'process-follow-requests *follow-requests-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
(define-key "d" #'follow-request-delete *follow-requests-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'follow-request-go-down *follow-requests-keymap*)
|
|
|
|
|
|
|
|
(define-key "j" #'follow-request-go-down *follow-requests-keymap*)
|
|
|
|
|
|
|
|
(define-key "k" #'follow-request-go-up *follow-requests-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
(define-key "q" #'cancel-follow-requests *follow-requests-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'follow-request-go-up *follow-requests-keymap*)
|
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
;; send message keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'send-message *send-message-keymap*)
|
|
|
|
|
|
|
|
(define-key "d" #'attach-delete *send-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
(define-key "down" #'attach-go-down *send-message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "e" #'edit-message-body *send-message-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
|
|
|
(define-key "j" #'attach-go-down *send-message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'attach-go-up *send-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2020-09-18 16:32:04 +02:00
|
|
|
(define-key "m" #'change-mentions *send-message-keymap*)
|
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
(define-key "q" #'cancel-send-message *send-message-keymap*)
|
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'cancel-send-message *send-message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "s" #'change-subject *send-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-09-19 19:50:58 +02:00
|
|
|
(define-key "l" #'change-language *send-message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'attach-go-up *send-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "v" #'change-visibility *send-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
;; thread window keymap
|
|
|
|
|
2022-09-06 18:33:20 +02:00
|
|
|
(defun print-post-id ()
|
|
|
|
"Print the post's ID to the command window"
|
|
|
|
(a:when-let* ((selected-row (line-oriented-window:selected-row-fields specials:*thread-window*))
|
|
|
|
(status-id (db:row-message-status-id selected-row)))
|
|
|
|
(ui:info-message (format nil "ID: ~a" status-id))))
|
|
|
|
|
2024-04-08 20:45:44 +02:00
|
|
|
(define-key "[" #'thread-go-to-parent-post *thread-keymap*)
|
|
|
|
|
|
|
|
(define-key "^" #'thread-open-parent-post *thread-keymap*)
|
2024-04-04 15:45:47 +02:00
|
|
|
|
2024-05-04 14:07:33 +02:00
|
|
|
(define-key "/ q" #'search-fediverse *thread-keymap*)
|
|
|
|
|
2024-06-15 13:57:50 +02:00
|
|
|
(define-key "/ Q" #'search-fediverse-local *thread-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/ b" #'thread-search-next-message-body *thread-keymap*)
|
2022-09-10 13:21:20 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/ m" #'thread-search-next-message-meta *thread-keymap*)
|
2022-09-06 18:33:20 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'thread-open-selected-message *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m b" #'boost-selected-status *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m f" #'favourite-selected-status *thread-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m r b" #'unboost-selected-status *thread-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m r f" #'unfavourite-selected-status *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m s" #'subscribe-to-hash *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m t" #'move-message-tree *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-X m u" #'unsubscribe-to-hash *thread-keymap*)
|
2021-11-26 10:59:50 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-c c" #'change-conversation-name *thread-keymap*)
|
2021-11-26 10:59:50 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-c o" #'open-conversation *thread-keymap*)
|
2021-11-26 10:59:50 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-c u" #'update-conversations *thread-keymap*)
|
2021-11-26 10:59:50 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-f c" #'change-folder *thread-keymap*)
|
2021-11-26 10:59:50 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-t R" #'reset-timeline-pagination *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-t U" #'update-current-timeline-backwards *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-t c" #'change-timeline *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-t h r" #'refresh-tags *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-t u" #'update-current-timeline *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u c k g" #'crypto-generate-key *thread-keymap*)
|
2020-12-29 13:01:59 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u c k i" #'crypto-import-key *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u c k s" #'crypto-export-key *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u f" #'follow-user *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u i" #'ignore-user *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u r f" #'start-follow-request-processing *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u r r" #'report-status *thread-keymap*)
|
2021-06-13 14:07:47 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u u" #'unfollow-user *thread-keymap*)
|
2020-05-30 09:53:12 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u v a" #'view-user-avatar *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-u x" #'unignore-user *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "D" #'delete-post-using-regex *thread-keymap*)
|
2020-05-31 16:49:26 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "I" #'print-post-id *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M" #'print-mentions *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-u" #'delete-and-move-previous *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "N d" #'delete-notifications *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2024-03-29 11:57:54 +01:00
|
|
|
(define-key "T d" #'thread-delete-subtree *thread-keymap*)
|
|
|
|
|
2024-06-26 14:45:50 +02:00
|
|
|
(define-key "e" #'edit-posted-message *thread-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "P" #'poll-vote *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-10-15 13:58:49 +02:00
|
|
|
(define-key "p" #'show-parent-post *thread-keymap*)
|
2023-10-15 13:55:30 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "U" #'thread-mark-prevent-delete-selected-message *thread-keymap*)
|
2020-05-14 16:32:01 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "X" #'refresh-thread-totally *thread-keymap*)
|
2020-05-15 19:03:51 +02:00
|
|
|
|
2023-07-31 17:53:48 +02:00
|
|
|
(define-key "\\\\ \\\\" #'repeat-search *thread-keymap*)
|
|
|
|
|
2024-02-18 14:25:48 +01:00
|
|
|
(define-key "/ /" #'repeat-search *thread-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "\\\\ b" #'thread-search-previous-message-body *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "\\\\ m" #'thread-search-previous-message-meta *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "c" #'compose-message *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "d" #'delete-and-move-next *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-11-12 15:01:40 +01:00
|
|
|
;; instead of "dc", "key-delete-char" can be used
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "dc" #'thread-mark-delete-selected-message *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'thread-go-down *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'thread-goto-last-message *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "g" #'thread-goto-message *thread-keymap*)
|
2021-11-16 19:55:03 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "home" #'thread-goto-first-message *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'thread-go-down *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'thread-go-up *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "l" #'open-message-link *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "left" #'open-previous *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "n" #'thread-search-next-unread-message *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "r" #'reply-message *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "right" #'open-next *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "s d" #'status-tree->text *thread-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'thread-go-up *thread-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "v" #'open-message-attach *thread-keymap*)
|
2020-12-30 12:24:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "x" #'refresh-thread *thread-keymap*)
|
|
|
|
|
|
|
|
(define-key "|" #'send-message-to-pipe *thread-keymap*)
|
2022-11-17 14:03:03 +01:00
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
;; message window keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/" #'message-search-regex *message-keymap*)
|
|
|
|
|
|
|
|
(define-key "C-J" #'message-scroll-down *message-keymap*)
|
|
|
|
|
|
|
|
(define-key "N" #'repeat-search *message-keymap*)
|
|
|
|
|
2023-11-11 19:49:46 +01:00
|
|
|
(define-key "d" #'delete-shown-post *message-keymap*)
|
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
(define-key "down" #'message-scroll-down *message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'message-scroll-end *message-keymap*)
|
|
|
|
|
|
|
|
(define-key "home" #'message-scroll-begin *message-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
|
|
|
(define-key "j" #'message-scroll-down *message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'message-scroll-up *message-keymap*)
|
|
|
|
|
2022-10-02 14:19:50 +02:00
|
|
|
(define-key "l" #'message-extract-links *message-keymap*)
|
|
|
|
|
2021-06-27 13:13:28 +02:00
|
|
|
(define-key "left" #'message-scroll-left *message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "npage" #'message-scroll-next-page *message-keymap*)
|
2021-06-27 13:13:28 +02:00
|
|
|
|
2023-11-12 15:01:40 +01:00
|
|
|
;; instead of "ppage", "key-previous-page" can be used
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "ppage" #'message-scroll-previous-page *message-keymap*)
|
2020-12-29 13:41:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "right" #'message-scroll-right *message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'message-scroll-up *message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "|" #'send-to-pipe *message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
;; gemini viewer keymap
|
2020-12-29 13:01:59 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/" #'message-search-regex *gemini-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "B" #'address-go-back-in-path *gemini-message-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'message-scroll-down *gemini-message-keymap*)
|
2020-12-30 12:24:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-[" #'go-to-previous-link *gemini-message-keymap*)
|
2022-10-01 17:44:40 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-]" #'go-to-next-link *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-b a" #'bookmark-gemini-page *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-b d" #'delete-gemini-bookmark *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-b s" #'display-bookmark *gemini-message-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "I M" #'gemini-images-montage *gemini-message-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "N" #'repeat-search *gemini-message-keymap*)
|
2021-06-27 13:13:28 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "O" #'open-gemini-toc *gemini-message-keymap*)
|
2021-06-27 13:13:28 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "R" #'address-go-root-path *gemini-message-keymap*)
|
2020-12-29 13:41:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "T" #'show-tour-links *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "U" #'gemini-view-source *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "[" #'open-previous-link *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "]" #'open-next-visible-link *gemini-message-keymap*)
|
2020-12-29 13:01:59 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "b" #'net-address-history-back *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "c" #'gemini-open-certificates-window *gemini-message-keymap*)
|
|
|
|
|
|
|
|
(define-key "d" #'gemini-open-streams-window *gemini-message-keymap*)
|
2020-06-22 13:58:04 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'message-scroll-down *gemini-message-keymap*)
|
2020-06-23 16:27:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'message-scroll-end *gemini-message-keymap*)
|
2020-06-28 17:39:21 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "home" #'message-scroll-begin *gemini-message-keymap*)
|
2022-02-25 13:11:48 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'message-scroll-down *gemini-message-keymap*)
|
2022-02-25 13:11:48 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'message-scroll-up *gemini-message-keymap*)
|
2021-08-16 14:22:47 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "l" #'open-message-link *gemini-message-keymap*)
|
2021-08-16 14:22:47 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "left" #'message-scroll-left *gemini-message-keymap*)
|
2021-08-16 15:28:37 +02:00
|
|
|
|
2023-11-12 15:01:40 +01:00
|
|
|
;; instead of "npage", "key-next-page" can be used
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "npage" #'message-scroll-next-page *gemini-message-keymap*)
|
2020-07-15 12:40:30 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "p" #'message-toggle-preformatted-block *gemini-message-keymap*)
|
2020-08-30 15:34:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "ppage" #'message-scroll-previous-page *gemini-message-keymap*)
|
2020-10-23 20:57:17 +02:00
|
|
|
|
2020-12-29 12:36:10 +01:00
|
|
|
(define-key "r" #'gemini-refresh-page *gemini-message-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "right" #'message-scroll-right *gemini-message-keymap*)
|
2021-01-09 11:01:10 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "s" #'gemini-subscribe-gemlog *gemini-message-keymap*)
|
2021-05-01 13:44:50 +02:00
|
|
|
|
2021-05-23 10:50:58 +02:00
|
|
|
(define-key "t" #'next-tour-link *gemini-message-keymap*)
|
2021-05-16 14:18:19 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'message-scroll-up *gemini-message-keymap*)
|
2021-05-01 20:25:15 +02:00
|
|
|
|
2021-03-09 10:38:57 +01:00
|
|
|
(define-key "|" #'send-to-pipe *gemini-message-keymap*)
|
|
|
|
|
2021-11-26 14:10:11 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
;; gemini page table of contents keymap
|
2021-11-26 14:10:11 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/" #'gemini-toc-search *gemini-toc-keymap*)
|
2022-12-10 14:11:13 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'gemini-toc-scroll-down-page *gemini-toc-keymap*)
|
2021-05-16 14:18:19 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "N" #'repeat-search *gemini-toc-keymap*)
|
2021-05-16 14:18:19 +02:00
|
|
|
|
|
|
|
(define-key "down" #'gemini-toc-scroll-down *gemini-toc-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'gemini-toc-scroll-end *gemini-toc-keymap*)
|
|
|
|
|
|
|
|
(define-key "home" #'gemini-toc-scroll-begin *gemini-toc-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
|
|
|
(define-key "j" #'gemini-toc-scroll-down *gemini-toc-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'gemini-toc-scroll-up *gemini-toc-keymap*)
|
2021-05-01 13:44:50 +02:00
|
|
|
|
2021-06-17 14:36:48 +02:00
|
|
|
(define-key "n" #'gemini-toc-scroll-down-page *gemini-toc-keymap*)
|
2021-06-16 19:18:30 +02:00
|
|
|
|
2021-06-17 14:36:48 +02:00
|
|
|
(define-key "p" #'gemini-toc-scroll-up-page *gemini-toc-keymap*)
|
2022-02-24 18:42:11 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "q" #'gemini-toc-close *gemini-toc-keymap*)
|
2022-02-24 18:42:11 +01:00
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'gemini-toc-close *gemini-toc-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'gemini-toc-scroll-up *gemini-toc-keymap*)
|
2021-06-16 19:18:30 +02:00
|
|
|
|
2020-08-30 15:34:08 +02:00
|
|
|
;; gemini stream window keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'gemini-streams-window-open-stream *gemini-downloads-keymap*)
|
2020-08-30 15:34:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "a" #'gemini-abort-download *gemini-downloads-keymap*)
|
2020-08-30 15:34:08 +02:00
|
|
|
|
|
|
|
(define-key "down" #'gemini-streams-window-down *gemini-downloads-keymap*)
|
|
|
|
|
2022-02-25 12:37:18 +01:00
|
|
|
(define-key "j" #'gemini-streams-window-down *gemini-downloads-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'gemini-streams-window-up *gemini-downloads-keymap*)
|
|
|
|
|
2020-08-30 15:34:08 +02:00
|
|
|
(define-key "q" #'gemini-streams-window-close *gemini-downloads-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'gemini-streams-window-up *gemini-downloads-keymap*)
|
2020-07-26 16:34:05 +02:00
|
|
|
|
2020-10-23 20:57:17 +02:00
|
|
|
;; gemini certificates window keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'gemini-certificate-information *gemini-certificates-keymap*)
|
2020-10-23 20:57:17 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "d" #'gemini-delete-certificate *gemini-certificates-keymap*)
|
2020-10-23 20:57:17 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'gemini-certificate-window-go-down *gemini-certificates-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
|
|
|
(define-key "j" #'gemini-certificate-window-go-down *gemini-certificates-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'gemini-certificate-window-go-up *gemini-certificates-keymap*)
|
2020-10-23 20:57:17 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "q" #'gemini-close-certificate-window *gemini-certificates-keymap*)
|
2022-04-23 15:19:29 +02:00
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'gemini-close-certificate-window *gemini-certificates-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'gemini-certificate-window-go-up *gemini-certificates-keymap*)
|
2020-10-23 20:57:17 +02:00
|
|
|
|
2024-02-16 14:59:26 +01:00
|
|
|
(define-key "c" #'gemini-change-certificate-password *gemini-certificates-keymap*)
|
|
|
|
|
2024-02-17 14:09:37 +01:00
|
|
|
(define-key "D" #'clear-cached-client-tls-certificates *gemini-certificates-keymap*)
|
|
|
|
|
2021-01-09 16:27:40 +01:00
|
|
|
;; gemini subscription window
|
|
|
|
|
|
|
|
(define-key "C-J" #'show-gemlog-to-screen *gemlog-subscription-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "d" #'gemlog-cancel-subscription *gemlog-subscription-keymap*)
|
2021-01-09 16:27:40 +01:00
|
|
|
|
|
|
|
(define-key "down" #'gemlogs-subscription-go-down *gemlog-subscription-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'gemlogs-subscription-go-down *gemlog-subscription-keymap*)
|
|
|
|
|
2022-02-25 12:37:18 +01:00
|
|
|
(define-key "k" #'gemlogs-subscription-go-up *gemlog-subscription-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "l" #'open-message-link *gemlog-subscription-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2021-01-09 16:27:40 +01:00
|
|
|
(define-key "q" #'close-gemlog-window *gemlog-subscription-keymap*)
|
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'close-gemlog-window *gemlog-subscription-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'gemlogs-subscription-go-up *gemlog-subscription-keymap*)
|
2021-07-22 18:55:19 +02:00
|
|
|
|
2021-08-25 18:15:57 +02:00
|
|
|
;; gempub library window keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'gempub-open-file *gempub-library-keymap*)
|
2021-08-25 18:15:57 +02:00
|
|
|
|
|
|
|
(define-key "down" #'gempub-library-window-go-down *gempub-library-keymap*)
|
|
|
|
|
2022-02-25 12:37:18 +01:00
|
|
|
(define-key "j" #'gempub-library-window-go-down *gempub-library-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'gempub-library-window-go-up *gempub-library-keymap*)
|
|
|
|
|
2021-08-25 18:15:57 +02:00
|
|
|
(define-key "q" #'gempub-library-window-close *gempub-library-keymap*)
|
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'gempub-library-window-close *gempub-library-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'gempub-library-window-go-up *gempub-library-keymap*)
|
2021-08-25 18:15:57 +02:00
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
;; tags keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'open-tag-folder *tags-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "U" #'unsubscribe-to-hash *tags-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'tag-go-down *tags-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
|
|
|
(define-key "j" #'tag-go-down *tags-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'tag-go-up *tags-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "r" #'refresh-tags *tags-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2022-03-12 12:09:29 +01:00
|
|
|
(define-key "s" #'subscribe-to-hash *tags-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'tag-go-up *tags-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
;; conversations keymap
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'goto-conversation *conversations-keymap*)
|
|
|
|
|
2020-05-10 19:19:35 +02:00
|
|
|
(define-key "C-c c" #'change-conversation-name *conversations-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "I" #'ignore-conversation *conversations-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "dc" #'delete-conversation *conversations-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
(define-key "down" #'conversation-go-down *conversations-keymap*)
|
|
|
|
|
2022-02-25 12:37:18 +01:00
|
|
|
(define-key "j" #'conversation-go-down *conversations-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'conversation-go-up *conversations-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'conversation-go-up *conversations-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
;; attachments keymap
|
|
|
|
|
2022-03-04 15:55:57 +01:00
|
|
|
(defun copy-to-clipboard (window)
|
|
|
|
(ui:copy-link-to-clipboard window))
|
|
|
|
|
2022-04-16 12:13:03 +02:00
|
|
|
(defun copy-from-attach-window-to-clipboard ()
|
|
|
|
"Copy the selected link to clipboard"
|
|
|
|
(copy-link-to-clipboard specials:*open-attach-window*))
|
|
|
|
|
2024-02-28 20:23:11 +01:00
|
|
|
(defun open-attachment-ignoring-cache ()
|
|
|
|
(open-message-attach-perform-opening :ignore-cache t))
|
|
|
|
|
2020-05-08 15:45:43 +02:00
|
|
|
(define-key "C-J" #'open-message-attach-perform-opening *open-attach-keymap*)
|
|
|
|
|
2024-02-28 20:23:11 +01:00
|
|
|
(define-key "O" #'open-attachment-ignoring-cache *open-attach-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-c" #'copy-from-attach-window-to-clipboard *open-attach-keymap*)
|
2021-09-09 18:27:32 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "a" #'open-all-message-attachments *open-attach-keymap*)
|
2020-05-08 15:45:43 +02:00
|
|
|
|
|
|
|
(define-key "down" #'open-message-attach-go-down *open-attach-keymap*)
|
|
|
|
|
2022-02-25 12:37:18 +01:00
|
|
|
(define-key "j" #'open-message-attach-go-down *open-attach-keymap*)
|
|
|
|
|
2024-02-28 20:23:11 +01:00
|
|
|
(define-key "k" #'open-message-attach-go-up *open-attach-keymap*)
|
2023-07-30 14:45:06 +02:00
|
|
|
|
2020-05-17 17:47:33 +02:00
|
|
|
(define-key "q" #'close-open-attach-window *open-attach-keymap*)
|
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'close-open-attach-window *open-attach-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'open-message-attach-go-up *open-attach-keymap*)
|
|
|
|
|
2020-05-17 17:47:33 +02:00
|
|
|
;; message links keymap
|
|
|
|
|
2020-09-05 17:02:00 +02:00
|
|
|
(define-key "C-J" #'open-message-link-perform-opening *open-message-link-keymap*)
|
|
|
|
|
2024-05-28 19:32:30 +02:00
|
|
|
(define-key "C-s" #'open-message-link-perform-fediverse-searching *open-message-link-keymap*)
|
|
|
|
|
2022-04-16 12:13:03 +02:00
|
|
|
(defun copy-from-message-link-to-clipboard ()
|
|
|
|
"Copy the selected link to clipboard"
|
|
|
|
(copy-link-to-clipboard specials:*open-message-link-window*))
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/" #'search-link-window *open-message-link-keymap*)
|
2022-03-04 14:33:55 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-c" #'copy-from-message-link-to-clipboard *open-message-link-keymap*)
|
2020-09-05 17:02:00 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "N" #'repeat-search *open-message-link-keymap*)
|
2020-09-05 17:02:00 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "T" #'save-selected-message-in-tour *open-message-link-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "]" #'gemini-jump-to-link *open-message-link-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'open-message-link-go-down *open-message-link-keymap*)
|
2020-09-05 17:02:00 +02:00
|
|
|
|
2020-09-11 15:18:59 +02:00
|
|
|
(define-key "e" #'open-message-link-open-enqueue *open-message-link-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'open-message-link-window-scroll-end *open-message-link-keymap*)
|
2020-10-03 16:58:02 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "home" #'open-message-link-window-scroll-begin *open-message-link-keymap*)
|
2020-12-30 12:38:31 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'open-message-link-go-down *open-message-link-keymap*)
|
2021-05-01 13:44:50 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'open-message-link-go-up *open-message-link-keymap*)
|
2021-05-01 13:44:50 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "q" #'close-open-message-link-window *open-message-link-keymap*)
|
2022-02-04 12:58:37 +01:00
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'close-open-message-link-window *open-message-link-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "t" #'tour-mode-link *open-message-link-keymap*)
|
2022-02-25 16:37:43 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'open-message-link-go-up *open-message-link-keymap*)
|
2022-02-04 12:58:37 +01:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
;; chats list window, pleroma only
|
|
|
|
(when (api-pleroma:instance-pleroma-p)
|
|
|
|
(define-key "C-J" #'show-chat-to-screen *chats-list-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "R" #'refresh-chats *chats-list-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "c" #'chat-create-new *chats-list-keymap*)
|
2020-12-08 11:31:21 +01:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "down" #'chat-list-go-down *chats-list-keymap*)
|
2020-05-17 17:47:33 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "j" #'chat-list-go-down *chats-list-keymap*)
|
2020-06-25 14:38:14 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "k" #'chat-list-go-up *chats-list-keymap*)
|
2020-09-09 21:13:57 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "l" #'change-chat-label *chats-list-keymap*)
|
2020-09-10 17:50:22 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "q" #'close-chats-list-window *chats-list-keymap*)
|
2020-09-10 17:50:22 +02:00
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'close-chats-list-window *chats-list-keymap*)
|
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "r" #'refresh-chat-messages *chats-list-keymap*)
|
2020-09-10 17:50:22 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "up" #'chat-list-go-up *chats-list-keymap*))
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2020-09-09 21:13:57 +02:00
|
|
|
;; chat window
|
2020-09-06 17:28:16 +02:00
|
|
|
|
|
|
|
(defun write-to-chat ()
|
|
|
|
(chat-loop (message-window:metadata specials:*message-window*)))
|
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(when (api-pleroma:instance-pleroma-p)
|
|
|
|
(define-key "/" #'message-search-regex *chat-message-keymap*)
|
2023-07-30 14:45:06 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "M-c" #'write-to-chat *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "a" #'open-chat-link-window *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "down" #'message-scroll-down *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "end" #'message-scroll-end *chat-message-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "home" #'message-scroll-begin *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "j" #'message-scroll-down *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "k" #'message-scroll-up *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "npage" #'message-scroll-next-page *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "ppage" #'message-scroll-previous-page *chat-message-keymap*)
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2023-09-24 11:47:30 +02:00
|
|
|
(define-key "up" #'message-scroll-up *chat-message-keymap*))
|
2020-09-06 17:28:16 +02:00
|
|
|
|
2021-12-10 11:50:37 +01:00
|
|
|
;; file explorer
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "/" #'file-explorer-search *filesystem-explorer-keymap*)
|
2021-12-10 11:50:37 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'file-explorer-open-node *filesystem-explorer-keymap*)
|
2021-12-10 11:50:37 +01:00
|
|
|
|
2022-02-05 15:24:31 +01:00
|
|
|
(define-key "D" #'file-explorer-delete-tree *filesystem-explorer-keymap*)
|
2021-12-14 13:05:40 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M d" #'file-explorer-download-mirror *filesystem-explorer-keymap*)
|
2021-12-12 14:37:38 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M u" #'file-explorer-upload-mirror *filesystem-explorer-keymap*)
|
2021-12-12 21:40:59 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "M-m" #'file-explorer-mark-by-regexp *filesystem-explorer-keymap*)
|
2021-12-12 21:40:59 +01:00
|
|
|
|
2022-02-05 15:24:31 +01:00
|
|
|
(define-key "N" #'repeat-search *filesystem-explorer-keymap*)
|
2021-12-13 18:12:20 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "X" #'file-explorer-delete-marked *filesystem-explorer-keymap*)
|
2021-12-10 11:50:37 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "a" #'file-explorer-create-path *filesystem-explorer-keymap*)
|
2022-02-06 10:43:57 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "c" #'file-explorer-close-path *filesystem-explorer-keymap*)
|
|
|
|
|
|
|
|
(define-key "d" #'file-explorer-download-path *filesystem-explorer-keymap*)
|
2021-12-11 11:06:06 +01:00
|
|
|
|
2022-02-05 15:24:31 +01:00
|
|
|
(define-key "down" #'file-explorer-go-down *filesystem-explorer-keymap*)
|
2021-12-11 11:06:06 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "e" #'file-explorer-edit-file *filesystem-explorer-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "end" #'file-explorer-scroll-end *filesystem-explorer-keymap*)
|
2022-02-25 12:37:18 +01:00
|
|
|
|
2022-02-05 15:24:31 +01:00
|
|
|
(define-key "home" #'file-explorer-scroll-begin *filesystem-explorer-keymap*)
|
2022-01-06 11:39:29 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "i" #'file-explorer-node-details *filesystem-explorer-keymap*)
|
2022-01-06 11:39:29 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'file-explorer-go-down *filesystem-explorer-keymap*)
|
2022-01-06 12:17:31 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'file-explorer-go-up *filesystem-explorer-keymap*)
|
2022-01-06 13:00:16 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "m" #'file-explorer-mark-entry *filesystem-explorer-keymap*)
|
2022-01-08 13:18:45 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "q" #'file-explorer-close-window *filesystem-explorer-keymap*)
|
2022-01-22 15:17:33 +01:00
|
|
|
|
2024-03-02 15:38:53 +01:00
|
|
|
(define-key "C-g" #'file-explorer-close-window *filesystem-explorer-keymap*)
|
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "r" #'file-explorer-rename-path *filesystem-explorer-keymap*)
|
2022-02-05 15:24:31 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "u" #'file-explorer-upload-path *filesystem-explorer-keymap*)
|
2022-01-29 17:44:47 +01:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "up" #'file-explorer-go-up *filesystem-explorer-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "x" #'file-explorer-expand-path *filesystem-explorer-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
;; gopher viewer keymap
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-J" #'gopher-window:open-menu-link *gopher-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-b a" #'bookmark-gopher-page *gopher-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "C-b d" #'delete-gemini-bookmark *gopher-keymap*)
|
|
|
|
|
|
|
|
(define-key "C-b s" #'display-bookmark *gopher-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2022-10-01 18:16:13 +02:00
|
|
|
(define-key "b" #'net-address-history-back *gopher-keymap*)
|
2022-08-28 13:22:08 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "down" #'gopher-window:go-to-next-link *gopher-keymap*)
|
2022-08-31 14:03:39 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "j" #'gopher-window:go-to-next-link *gopher-keymap*)
|
2022-08-31 14:03:39 +02:00
|
|
|
|
2023-07-30 14:45:06 +02:00
|
|
|
(define-key "k" #'gopher-window:go-to-previous-link *gopher-keymap*)
|
|
|
|
|
|
|
|
(define-key "up" #'gopher-window:go-to-previous-link *gopher-keymap*)
|
2022-08-31 14:03:39 +02:00
|
|
|
|
2020-06-25 14:38:14 +02:00
|
|
|
;;;; hooks
|
|
|
|
|
2020-12-31 14:58:40 +01:00
|
|
|
;; this module will install an hook to rewrite urls; By default it
|
|
|
|
;; does nothing, see the source for configuration
|
|
|
|
|
|
|
|
(load-module "rewrite-message-urls.lisp")
|
|
|
|
|
2020-06-25 14:38:14 +02:00
|
|
|
;;; this hooks will skips toots with contain less than 20 words
|
|
|
|
;;; (note: it is commented out)
|
|
|
|
|
|
|
|
;; (hooks:add-hook 'hooks:*skip-message-hook*
|
2020-06-27 10:50:40 +02:00
|
|
|
;; (lambda (toot timeline folder kind localp)
|
|
|
|
;; (declare (ignore timeline folder kind localp))
|
2020-06-25 14:38:14 +02:00
|
|
|
;; (when-let* ((text (html-utils:html->text (tooter:content toot)
|
|
|
|
;; :add-link-footnotes nil))
|
|
|
|
;; (trimmed (text-utils:trim-blanks text))
|
|
|
|
;; (word-counts (length (text-utils:split-words trimmed))))
|
|
|
|
;; (< word-counts 10))))
|
2022-04-06 19:34:49 +02:00
|
|
|
|
|
|
|
;;; this hook will remove the footnotes to link in the message added by tinmop
|
|
|
|
|
|
|
|
(hooks:add-hook 'hooks:*before-composing-message*
|
|
|
|
(lambda (file)
|
|
|
|
(let* ((lines (text-utils:split-lines (fs:slurp-file file)))
|
|
|
|
(re-footnote-reference (cl-ppcre:create-scanner "\\[[0-9]+\\]"))
|
|
|
|
(re-footnote (cl-ppcre:create-scanner
|
|
|
|
(text-utils:strcat (swconf:quote-char)
|
|
|
|
"\\[[0-9]+\\]"
|
|
|
|
".+")))
|
|
|
|
(clean-lines (loop for line in lines
|
|
|
|
collect
|
|
|
|
(progn
|
|
|
|
(setf line
|
|
|
|
(cl-ppcre:regex-replace-all re-footnote
|
|
|
|
line
|
|
|
|
""))
|
|
|
|
(setf line
|
|
|
|
(cl-ppcre:regex-replace-all re-footnote-reference
|
|
|
|
line
|
|
|
|
""))
|
|
|
|
line))))
|
|
|
|
(with-open-file (stream
|
|
|
|
file
|
|
|
|
:direction :output
|
|
|
|
:if-does-not-exist :error
|
|
|
|
:if-exists :supersede)
|
|
|
|
(loop for line in clean-lines do
|
|
|
|
(format stream "~a~%" line))))
|
|
|
|
file))
|