refactore directory structure
This commit is contained in:
parent
3830eef1f4
commit
e87bfb7c39
485 changed files with 66 additions and 1696 deletions
16
.config/nyxt/auto-config.lisp
Normal file
16
.config/nyxt/auto-config.lisp
Normal file
|
@ -0,0 +1,16 @@
|
|||
(DEFINE-CONFIGURATION NYXT/REDUCE-TRACKING-MODE:REDUCE-TRACKING-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/FORCE-HTTPS-MODE:FORCE-HTTPS-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/AUTO-MODE:AUTO-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/CERTIFICATE-EXCEPTION-MODE:CERTIFICATE-EXCEPTION-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/HELP-MODE:HELP-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/WEB-MODE:WEB-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION NYXT/VI-MODE:USER-VI-NORMAL-MODE
|
||||
((VISIBLE-IN-STATUS-P NIL)))
|
||||
(DEFINE-CONFIGURATION BUFFER
|
||||
((CURRENT-ZOOM-RATIO 0.75)))
|
24
.config/nyxt/glyphs.lisp
Normal file
24
.config/nyxt/glyphs.lisp
Normal file
|
@ -0,0 +1,24 @@
|
|||
(in-package #:nyxt-user)
|
||||
|
||||
;;allow setting glyphs
|
||||
(define-configuration status-buffer
|
||||
((glyph-mode-presentation-p t)))
|
||||
|
||||
;;various glyph settings with no additional configs
|
||||
(define-configuration nyxt/force-https-mode:force-https-mode ((glyph "ϕ")))
|
||||
(define-configuration nyxt/blocker-mode:blocker-mode ((glyph "β")))
|
||||
(define-configuration nyxt/proxy-mode:proxy-mode ((glyph "π")))
|
||||
(define-configuration nyxt/reduce-tracking-mode:reduce-tracking-mode ((glyph "∅")))
|
||||
(define-configuration nyxt/certificate-exception-mode:certificate-exception-mode ((glyph "ɛ")))
|
||||
(define-configuration nyxt/style-mode:style-mode ((glyph "s")))
|
||||
(define-configuration nyxt/help-mode:help-mode ((glyph "?")))
|
||||
|
||||
;;configure web mode hints to home row and set glyph
|
||||
(define-configuration nyxt/web-mode:web-mode
|
||||
((nyxt/web-mode:hints-alphabet "ASDFGHJKL")
|
||||
(glyph "ω")))
|
||||
|
||||
;;auto-mode config and set glyph
|
||||
(define-configuration nyxt/auto-mode:auto-mode
|
||||
((nyxt/auto-mode:prompt-on-mode-toggle t)
|
||||
(glyph "α")))
|
255
.config/nyxt/init.lisp
Normal file
255
.config/nyxt/init.lisp
Normal file
|
@ -0,0 +1,255 @@
|
|||
(in-package #:nyxt-user) ; While implicit, this allows SLY to know which package we are in.
|
||||
|
||||
(dolist (file (list (nyxt-init-file "slynk.lisp"))))
|
||||
(dolist (file (list (nyxt-init-file "glyphs.lisp"))))
|
||||
|
||||
(load-after-system :slynk (nyxt-init-file "slynk.lisp"))
|
||||
;; (defvar *chris-prompt-keymap (make-keymap "chris-prompt-map"))
|
||||
;; (define-key *chris-prompt-keymap*
|
||||
;; "escape" 'cancel-input
|
||||
;; "C-j" 'select-next
|
||||
;; "C-k" 'select-previous)
|
||||
|
||||
;; (define-mode chris-prompt-mode ()
|
||||
;; "Dummy mode for the custom key bindings in `*chris-prompt-keymap*'."
|
||||
;; ((keymap-scheme (keymap:make-scheme
|
||||
;; scheme:vi-insert *chris-prompt-keymap*))
|
||||
;; (visible-in-status-p nil)))
|
||||
|
||||
;; Always restore history and don't ask
|
||||
(define-configuration browser
|
||||
((session-restore-prompt :always-restore)))
|
||||
|
||||
(define-configuration (prompt-buffer)
|
||||
((default-modes
|
||||
(append
|
||||
'(vi-insert-mode)
|
||||
%slot-default%))))
|
||||
|
||||
(define-configuration browser
|
||||
((external-editor-program '("/usr/bin/emacsclient"))))
|
||||
|
||||
;; Create a function to launch mpv with given url
|
||||
(defun mpv (url)
|
||||
"MPV launches with given url using the fast profile."
|
||||
(uiop:launch-program (list "mpv" "--profile=fast" url "&")))
|
||||
|
||||
;; Create a function to download videos with youtube-dl in alacritty
|
||||
(defun youtube-dl (url)
|
||||
"Download videos and audio with youtube-dl in alacritty for feedback"
|
||||
(uiop:launch-program
|
||||
(list "alacritty" "-e" "yt-dlp" "-o ~/Videos/%(title)s.%(ext)s" url)))
|
||||
|
||||
;; Let's create a function to hint videos, convert the url to a sting, and play them in MPV
|
||||
(define-command hint-mpv (&key nyxt/web-mode::annotate-visible-only-p)
|
||||
"Show a set of element hints, and copy the URL of the user inputted one."
|
||||
(nyxt/web-mode:query-hints "Copy element URL"
|
||||
(lambda (nyxt/web-mode::result)
|
||||
;; this converts the url to a string to be used in mpv
|
||||
(let*
|
||||
((url
|
||||
(format nil "~a"
|
||||
(url (first nyxt/web-mode::result)))))
|
||||
;; here we take that string and pipe it into mpv
|
||||
(mpv url)))
|
||||
:annotate-visible-only-p
|
||||
nyxt/web-mode::annotate-visible-only-p))
|
||||
|
||||
;; Let's create a function to hint videos, convert the url to a sting, and download with ytdl
|
||||
(define-command hint-ytdl (&key nyxt/web-mode::annotate-visible-only-p)
|
||||
"Show a set of element hints, and copy the URL of the user inputted one."
|
||||
(nyxt/web-mode:query-hints "Copy element URL"
|
||||
(lambda (nyxt/web-mode::result)
|
||||
;; this converts the url to a string to be used in yt-dlp
|
||||
(let*
|
||||
((url
|
||||
(format nil "~a"
|
||||
(url (first nyxt/web-mode::result)))))
|
||||
;; here we take that string and pipe it into yt-dlp
|
||||
(youtube-dl url)))
|
||||
:annotate-visible-only-p
|
||||
nyxt/web-mode::annotate-visible-only-p))
|
||||
|
||||
;; These are my own keys that are layered over vi-normal. A lot of these
|
||||
;; are similar to qutebrowser.
|
||||
(defvar *chris-keymap* (make-keymap "chris-map"))
|
||||
(define-key *chris-keymap*
|
||||
"K" 'switch-buffer-next
|
||||
"J" 'switch-buffer-previous
|
||||
"b" 'switch-buffer
|
||||
"v" 'hint-mpv
|
||||
"V" 'hint-ytdl
|
||||
"d" 'delete-current-buffer
|
||||
"D" 'delete-buffer
|
||||
"r" 'reload-current-buffer
|
||||
"R" 'reload-buffers)
|
||||
|
||||
(define-mode chris-mode ()
|
||||
"Dummy mode for the custom key bindings in `*chris-keymap*'."
|
||||
((keymap-scheme
|
||||
(keymap:make-scheme
|
||||
scheme:vi-normal *chris-keymap*))
|
||||
(visible-in-status-p nil)))
|
||||
|
||||
(define-configuration buffer
|
||||
((default-modes
|
||||
(append
|
||||
'(vi-normal-mode
|
||||
auto-mode
|
||||
reduce-tracking-mode
|
||||
force-https-mode
|
||||
chris-mode)
|
||||
%slot-default%))))
|
||||
|
||||
(define-configuration buffer
|
||||
((search-engines
|
||||
(list
|
||||
(make-instance 'search-engine
|
||||
:shortcut "s"
|
||||
:search-url "https://search.tfcconnection.org/?q=~a"
|
||||
:fallback-url "https://search.tfcconnection.org")))))
|
||||
|
||||
(define-configuration nyxt/vi-mode:vi-normal-mode
|
||||
((visible-in-status-p nil)))
|
||||
|
||||
(define-configuration nyxt/vi-mode:vi-insert-mode
|
||||
((visible-in-status-p nil)))
|
||||
|
||||
(define-configuration status-buffer
|
||||
((style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background "#282a36"
|
||||
:color "#e2e4e5"
|
||||
:line-height "1fr")
|
||||
("#container-vi"
|
||||
:grid-template-columns "0px 30px 2fr 0px 240px")
|
||||
("#controls"
|
||||
:background-color "#282a36"
|
||||
:color "#f3f99d"
|
||||
:width "0px"
|
||||
:padding-left "0px"
|
||||
:hidden)
|
||||
("#url"
|
||||
:background-color "#282a36"
|
||||
:color "#5af78e")
|
||||
("#modes"
|
||||
:background-color "#282a36"
|
||||
:color "#f3f99d")
|
||||
("#tabs"
|
||||
:background-color "#282a36"
|
||||
:color "#5af78e")
|
||||
(".tab"
|
||||
:background-color "#282a36"
|
||||
:color "#9aedfe")
|
||||
(".tab:hover"
|
||||
:background-color "#282a36"
|
||||
:color "#f1f1f0")
|
||||
(".button"
|
||||
:background-color "#282a36"
|
||||
:color "#5af78e")
|
||||
(".button:hover"
|
||||
:background-color "#282a36"
|
||||
:color "#f1f1f0")
|
||||
(".arrow"
|
||||
:width "0px"
|
||||
:height "0px")
|
||||
(".arrow-right"
|
||||
:background-color "#282a36"
|
||||
:color "#5af78e")
|
||||
(".arrow-left"
|
||||
:background-color "#282a36"
|
||||
:color "#5af78e")
|
||||
))))))
|
||||
|
||||
(define-configuration internal-buffer
|
||||
((style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background "#282a36"
|
||||
:color "#e2e4e5")
|
||||
(.button
|
||||
:color "#e2e4e5")))))))
|
||||
|
||||
(define-configuration window
|
||||
((message-buffer-style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")))))))
|
||||
|
||||
(define-configuration prompt-buffer
|
||||
((style
|
||||
(str:concat
|
||||
%slot-default%
|
||||
(cl-css:css
|
||||
'((body
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
("#prompt-area-vi"
|
||||
:background-color "#282a36"
|
||||
:color "#57c7ff")
|
||||
("#prompt"
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
("#input"
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
("#suggestions"
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
(.vi-insert-mode
|
||||
:background-color "#282a36")
|
||||
(.vi-normal-mode
|
||||
:background-color "#282a36")
|
||||
(.source
|
||||
:margin-left "5px")
|
||||
(.source-name
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
(.source-content
|
||||
:background-color "#282a36"
|
||||
:color "#e2e4e5")
|
||||
;; (".source-content td"
|
||||
;; :background-color "#282a36"
|
||||
;; :color "#e2e4e5")
|
||||
(".source-content th"
|
||||
:background-color "#43454f"
|
||||
:color "#e2e4e5")
|
||||
("#selection"
|
||||
:background-color "#57c7ff"
|
||||
:color "#34353e")
|
||||
(.marked
|
||||
:background-color "#5af78e"
|
||||
:color "#34353e")
|
||||
(.selected
|
||||
:background-color "#57c7ff"
|
||||
:color "#34353e")
|
||||
(.button
|
||||
:color "#e2e4e5")))))))
|
||||
|
||||
|
||||
|
||||
(in-package #:nyxt-user) ; While implicit, this allows SLY to know which package we are in.
|
||||
|
||||
;; (load "~/quicklisp/setup.lisp")
|
||||
;; (ql:quickload :slynk)
|
||||
|
||||
;; (define-command-global start-slynk (&optional (slynk-port *swank-port*))
|
||||
;; "Start a Slynk server that can be connected to, for instance, in
|
||||
;; Emacs via SLY.
|
||||
|
||||
;; Warning: This allows Nyxt to be controlled remotely, that is, to execute
|
||||
;; arbitrary code with the privileges of the user running Nyxt. Make sure
|
||||
;; you understand the security risks associated with this before running
|
||||
;; this command."
|
||||
;; (slynk:create-server :port slynk-port :dont-close t)
|
||||
;; (echo "Slynk server started at port ~a" slynk-port))
|
||||
|
||||
;; (start-slynk)
|
17
.config/nyxt/slynk.lisp
Normal file
17
.config/nyxt/slynk.lisp
Normal file
|
@ -0,0 +1,17 @@
|
|||
(in-package #:nyxt-user) ; While implicit, this allows SLY to know which package we are in.
|
||||
|
||||
(load "~/quicklisp/setup.lisp")
|
||||
(ql:quickload :slynk)
|
||||
|
||||
(define-command-global start-slynk (&optional (slynk-port *swank-port*))
|
||||
"Start a Slynk server that can be connected to, for instance, in
|
||||
Emacs via SLY.
|
||||
|
||||
Warning: This allows Nyxt to be controlled remotely, that is, to execute
|
||||
arbitrary code with the privileges of the user running Nyxt. Make sure
|
||||
you understand the security risks associated with this before running
|
||||
this command."
|
||||
(slynk:create-server :port slynk-port :dont-close t)
|
||||
(echo "Slynk server started at port ~a" slynk-port))
|
||||
|
||||
(start-slynk)
|
Loading…
Add table
Add a link
Reference in a new issue