aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPreston Pan <preston@nullring.xyz>2024-01-24 19:26:59 -0800
committerPreston Pan <preston@nullring.xyz>2024-01-24 19:26:59 -0800
commita7da57c0736bec58d1fc4ec99d211099c31bb45f (patch)
tree88fededcd97c825415b8068cbe85406ce01a1aae
parent80da24887ac760a9d18936634d8d46c0643521ee (diff)
new content
-rw-r--r--LICENSE.org2
-rw-r--r--about.org19
-rw-r--r--android-chrome-192x192.pngbin0 -> 10645 bytes
-rw-r--r--android-chrome-512x512.pngbin0 -> 30050 bytes
-rw-r--r--apple-touch-icon.pngbin0 -> 9856 bytes
-rw-r--r--browserconfig.xml9
-rw-r--r--config/doom.org277
-rw-r--r--config/elfeed.org2
-rw-r--r--config/qtile.org169
-rw-r--r--config/qutebrowser.org5
-rw-r--r--favicon-16x16.pngbin0 -> 1068 bytes
-rw-r--r--favicon-32x32.pngbin0 -> 1449 bytes
-rw-r--r--favicon.icobin0 -> 15086 bytes
-rw-r--r--img/churchill.pngbin0 -> 296744 bytes
-rw-r--r--img/drawing-old.pngbin0 -> 52643 bytes
-rw-r--r--img/drawing.pngbin0 -> 1019 bytes
-rw-r--r--img/favicon.icobin0 -> 1150 bytes
-rw-r--r--img/relativity1.jpgbin0 -> 99304 bytes
-rw-r--r--img/relativity2.jpgbin0 -> 116362 bytes
-rw-r--r--img/relativity2.jpg~bin0 -> 127432 bytes
-rw-r--r--index.org17
-rw-r--r--journal/20231208.org22
-rw-r--r--journal/20231209.org13
-rw-r--r--journal/20231210.org17
-rw-r--r--journal/20231213.org13
-rw-r--r--journal/20231214.org14
-rw-r--r--journal/20231215.org12
-rw-r--r--journal/20231217.org12
-rw-r--r--journal/20231220.org12
-rw-r--r--journal/20240110.org13
-rw-r--r--journal/20240123.org24
-rw-r--r--journal/20240124.org17
-rw-r--r--journal/index.org23
-rw-r--r--mindmap/Fourier Transform.org12
-rw-r--r--mindmap/Lagrangian mechanics.org106
-rw-r--r--mindmap/Legendre Transformation.org31
-rw-r--r--mindmap/Lorentz Force.org21
-rw-r--r--mindmap/Maxwell's Equations.org78
-rw-r--r--mindmap/Newtonian mechanics.org9
-rw-r--r--mindmap/conservative force.org2
-rw-r--r--mindmap/continuity equation.org24
-rw-r--r--mindmap/del operator.org13
-rw-r--r--mindmap/derivative.org8
-rw-r--r--mindmap/divergence theorem.org17
-rw-r--r--mindmap/duality.org8
-rw-r--r--mindmap/electrostatics.org6
-rw-r--r--mindmap/emergence.org35
-rw-r--r--mindmap/factorial.org9
-rw-r--r--mindmap/function.org2
-rw-r--r--mindmap/group.org3
-rw-r--r--mindmap/index.org54
-rw-r--r--mindmap/induction.org3
-rw-r--r--mindmap/infinity.org18
-rw-r--r--mindmap/inverse square.org6
-rw-r--r--mindmap/logic.org14
-rw-r--r--mindmap/magnetostatics.org91
-rw-r--r--mindmap/mathematics.org5
-rw-r--r--mindmap/natural number.org6
-rw-r--r--mindmap/physics.org25
-rw-r--r--mindmap/recursion.org22
-rw-r--r--mindmap/special relativity.org68
-rw-r--r--mstile-150x150.pngbin0 -> 7205 bytes
-rw-r--r--robots.txt2
-rw-r--r--safari-pinned-tab.svg4100
-rw-r--r--site.webmanifest19
-rw-r--r--style.css438
66 files changed, 5435 insertions, 512 deletions
diff --git a/LICENSE.org b/LICENSE.org
index df18b21..0c2a051 100644
--- a/LICENSE.org
+++ b/LICENSE.org
@@ -5,7 +5,7 @@
#+date: <2023-06-11 Sun>
#+language: en
-Copyright © 2023 Preston Pan
+Copyright © 2024 Preston Pan
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/about.org b/about.org
index a3b3b9c..fe95fea 100644
--- a/about.org
+++ b/about.org
@@ -5,20 +5,33 @@
#+language: en
#+OPTIONS: broken-links:t
#+date: <2023-06-26 Mon>
+#+html_head: <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+#+html_head: <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+#+html_head: <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+#+html_head: <link rel="manifest" href="/site.webmanifest">
+#+html_head: <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
+#+html_head: <meta name="msapplication-TileColor" content="#da532c">
+#+html_head: <meta name="theme-color" content="#ffffff">
* About Me
-Some might know me as ret2pop, some as Preston Pan, and
-others as [[https://preston.nullring.xyz][LiCoO2]].
+** whoami?
+[[https://preston.nullring.xyz][Preston Pan]]. Although, that is not really important for the enjoyment of ret2pop, and
+it is certainly not the focus at all. Ret2pop is a separate entity, controlled only
+by the will of Francois. Ret2pop is a relentlessly curious force willing to entertain
+ideas that are unconventional and unorthodox; Preston Pan is the individual that tries
+to live this out and fails in a somewhat cringy manner.
+Some might know me as ret2pop, some as Preston Pan, and others as LiCoO2.
** Contact
Here are all the methods you should use to contact me:
*** IRC
- ret2pop on libera.chat
- Note: I will not always be online and I don't use a bouncer on this server. Email me to coordinate a time if you really need to reach me this way.
-- LiCoO2 on [[https://andrei.rm-r.org/irc][the best irc server]].
*** Email
- preston@nullring.xyz
- ret2pop@gmail.com
+*** Amateur Radio (In case the world ends)
+My callsign is ~VE7PPN~.
* Professional
For now, you should consult [[https://preston.nullring.xyz/about/index.html][my other website]], but I will make
diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png
new file mode 100644
index 0000000..653f43d
--- /dev/null
+++ b/android-chrome-192x192.png
Binary files differ
diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png
new file mode 100644
index 0000000..864b240
--- /dev/null
+++ b/android-chrome-512x512.png
Binary files differ
diff --git a/apple-touch-icon.png b/apple-touch-icon.png
new file mode 100644
index 0000000..1e3ed09
--- /dev/null
+++ b/apple-touch-icon.png
Binary files differ
diff --git a/browserconfig.xml b/browserconfig.xml
new file mode 100644
index 0000000..b3930d0
--- /dev/null
+++ b/browserconfig.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+ <msapplication>
+ <tile>
+ <square150x150logo src="/mstile-150x150.png"/>
+ <TileColor>#da532c</TileColor>
+ </tile>
+ </msapplication>
+</browserconfig>
diff --git a/config/doom.org b/config/doom.org
index 480c4c6..5e77b70 100644
--- a/config/doom.org
+++ b/config/doom.org
@@ -32,84 +32,92 @@ To display the battery percentage:
#+begin_src emacs-lisp :tangle yes
(display-battery-mode 1)
#+end_src
+** Transparency
+Let's make emacs transparent.
+#+begin_src emacs-lisp :tangle yes
+(set-frame-parameter nil 'alpha-background 90)
+
+(add-to-list 'default-frame-alist '(alpha-background . 90))
+#+end_src
** EXWM
First we load our packages:
#+begin_src emacs-lisp :tangle yes
-(use-package! exwm)
-(use-package! exwm-config)
-(exwm-config-example)
+;; (use-package! exwm)
+;; (use-package! exwm-config)
+;; (exwm-config-example)
#+end_src
Now, we set our keybindings:
#+begin_src emacs-lisp :tangle yes
-(setq exwm-input-global-keys
- `(
- ([?\s-r] . exwm-reset)
- ([?\s-w] . exwm-workspace-switch)
- ,@(mapcar (lambda (i)
- `(,(kbd (format "s-%d" i)) .
- (lambda ()
- (interactive)
- (exwm-workspace-switch-create ,i))))
- (number-sequence 0 9))
- ([?\s-&] . (lambda (command)
- (interactive (list (read-shell-command "$ ")))
- (start-process-shell-command command nil command)))
-
- ([?\s-d] . (lambda ()
- (interactive)
- (dired default-directory)))
-
- ([?\s-f] . (lambda ()
- (interactive)
- (exwm-layout-toggle-mode-line)
- (exwm-workspace-toggle-minibuffer)))
-
- ([?\s-b] . exwm-workspace-switch-to-buffer)
-
-
- ([?\s-w] . (lambda ()
- (interactive)
- (start-process "" nil "qutebrowser")))
- ([?\s-n] . (lambda ()
- (interactive)
- (start-process "" nil "nyxt")))
- ([?\s-k] . (lambda ()
- (interactive)
- (start-process "" nil "krita")))
- ([?\s-g] . (lambda ()
- (interactive)
- (start-process "" nil "gimp")))
- ([?\s-b] . (lambda ()
- (interactive)
- (start-process "" nil "blender")))
- ([?\s-c] . (lambda ()
- (interactive)
- (start-process "" nil "chromium")))
- ([s-f2] . (lambda ()
- (interactive)
- (start-process "" nil "/usr/bin/slock")))))
+;; (setq exwm-input-global-keys
+;; `(
+;; ([?\s-r] . exwm-reset)
+;; ([?\s-w] . exwm-workspace-switch)
+;; ,@(mapcar (lambda (i)
+;; `(,(kbd (format "s-%d" i)) .
+;; (lambda ()
+;; (interactive)
+;; (exwm-workspace-switch-create ,i))))
+;; (number-sequence 0 9))
+;; ([?\s-&] . (lambda (command)
+;; (interactive (list (read-shell-command "$ ")))
+;; (start-process-shell-command command nil command)))
+
+;; ([?\s-d] . (lambda ()
+;; (interactive)
+;; (dired default-directory)))
+
+;; ([?\s-f] . (lambda ()
+;; (interactive)
+;; (exwm-layout-toggle-mode-line)
+;; (exwm-workspace-toggle-minibuffer)))
+
+;; ([?\s-b] . exwm-workspace-switch-to-buffer)
+
+
+;; ([?\s-w] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "qutebrowser")))
+;; ([?\s-n] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "nyxt")))
+;; ([?\s-k] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "krita")))
+;; ([?\s-g] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "gimp")))
+;; ([?\s-b] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "blender")))
+;; ([?\s-c] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "chromium")))
+;; ([s-f2] . (lambda ()
+;; (interactive)
+;; (start-process "" nil "/usr/bin/slock")))))
#+end_src
And we also need to set up our media keys:
#+begin_src emacs-lisp :tangle yes
-(exwm-input-set-key (kbd "<XF86AudioNext>") 'emms-next)
-(exwm-input-set-key (kbd "<XF86AudioPrev>") 'emms-previous)
-(exwm-input-set-key (kbd "<XF86AudioPlay>") 'emms-pause)
-(exwm-input-set-key
- (kbd "<XF86AudioRaiseVolume>")
- (lambda ()
- (interactive) (start-process-shell-command
- "pactl" nil "pactl set-sink-volume 0 +5% && pactl set-sink-volume 1 +5%")))
-(exwm-input-set-key
- (kbd "<XF86AudioLowerVolume>")
- (lambda ()
- (interactive) (start-process-shell-command
- "pactl" nil "pactl set-sink-volume 0 -5% && pactl set-sink-volume 1 -5%")))
-(exwm-input-set-key
- (kbd "<XF86AudioMute>")
- (lambda ()
- (interactive) (start-process-shell-command
- "pactl" nil "pactl set-sink-mute 0 toggle && pactl set-sink-mute 1 toggle")))
+;; (exwm-input-set-key (kbd "<XF86AudioNext>") 'emms-next)
+;; (exwm-input-set-key (kbd "<XF86AudioPrev>") 'emms-previous)
+;; (exwm-input-set-key (kbd "<XF86AudioPlay>") 'emms-pause)
+;; (exwm-input-set-key
+;; (kbd "<XF86AudioRaiseVolume>")
+;; (lambda ()
+;; (interactive) (start-process-shell-command
+;; "pactl" nil "pactl set-sink-volume 0 +5% && pactl set-sink-volume 1 +5%")))
+;; (exwm-input-set-key
+;; (kbd "<XF86AudioLowerVolume>")
+;; (lambda ()
+;; (interactive) (start-process-shell-command
+;; "pactl" nil "pactl set-sink-volume 0 -5% && pactl set-sink-volume 1 -5%")))
+;; (exwm-input-set-key
+;; (kbd "<XF86AudioMute>")
+;; (lambda ()
+;; (interactive) (start-process-shell-command
+;; "pactl" nil "pactl set-sink-mute 0 tog
+;; gle && pactl set-sink-mute 1 toggle")))
;; Things to implement in exwm:
;;Key([], 'XF86MonBrightnessUp', lazy.spawn("light -A 10")),
;;Key([], 'XF86MonBrightnessDown', lazy.spawn("light -U 10")),
@@ -118,24 +126,26 @@ And we also need to set up our media keys:
** Font
Now we configure fonts:
#+begin_src emacs-lisp :tangle yes
-(setq doom-font (font-spec :family "FiraCode Nerd Font" :size 14 :weight 'semi-light)
- doom-variable-pitch-font (font-spec :family "Fira Sans" :size 14)
- doom-unicode-font (font-spec :family "Symbola" :size 14)
- doom-serif-font (font-spec :family "Fira Sans" :size 14)
- doom-big-font (font-spec :family "FiraCode Nerd Font" :size 28))
+(setq doom-font (font-spec :family "Hack" :size 16 :weight 'semi-light)
+ doom-variable-pitch-font (font-spec :family "Fira Sans" :size 16)
+ doom-unicode-font (font-spec :family "Symbola" :size 16)
+ doom-serif-font (font-spec :family "Fira Sans" :size 16)
+ doom-big-font (font-spec :family "Hack" :size 28))
#+end_src
** Color Scheme
I'm experimenting with many themes right now. One of these themes is the city-lights theme, another one of them
is the catppuccin theme.
#+begin_src emacs-lisp :tangle yes
-(setq doom-theme 'doom-ayu-light)
-;; (setq doom-theme 'doom-rouge)
+;; (setq doom-theme 'doom-ayu-light)
+(setq doom-theme 'doom-miramare)
;; (setq catppuccin-flavor 'mocha)
+;; (load-theme 'catppuccin)
#+end_src
** Doom Module and Programs Configuration
*** Agenda
Now we add these two files to our agenda search path:
#+begin_src emacs-lisp :tangle yes
+(require 'org-habit)
(setq org-agenda-files (list "~/org/agenda.org"
"~/org/contacts.org"
"~/org/notes.org"))
@@ -148,23 +158,29 @@ And we also want to set up org-habit to start graphing our habits as soon as pos
*** IRC
Set up circe to connect to my bouncer:
#+begin_src emacs-lisp :tangle yes
-(after! circe
- (set-irc-server! "nullring.xyz"
- `(:tls t
- :port 4095
- :nick "LiCoO2/AndreiNet"
- :user "LiCoO2/AndreiNet"
- :pass ,(+pass-get-secret "ZNC"))))
+;; (after! circe
+;; (set-irc-server! "nullring.xyz"
+;; `(:tls t
+;; :port 4095
+;; :nick "LiCoO2/AndreiNet"
+;; :user "LiCoO2/AndreiNet"
+;; :pass ,(+pass-get-secret "ZNC"))))
#+end_src
And another to connect to libera:
#+begin_src emacs-lisp :tangle yes
-(set-irc-server! "irc.libera.chat"
+(after! circe (set-irc-server! "irc.libera.chat"
`(:tls t
:port 6697
:nick "ret2pop"
:sasl-username "ret2pop"
:sasl-password (lambda (&rest _) (+pass-get-secret "libera.chat"))
- :channels ("#emacs" "#rwx")))
+ :channels ("#emacs" "#rwx"))))
+#+end_src
+#+begin_src emacs-lisp :tangle yes
+(after! circe (set-irc-server! "nullring.xyz"
+ `(:tls t
+ :port 6697
+ :nick "LiCoO2")))
#+end_src
*** Email
In order to use this configuration, you must install and configure mu and mbsync.
@@ -210,6 +226,7 @@ We want the default search engine of eww to be google because duckduckgo is bad:
(setq search-engine-default "google")
(setq eww-search-prefix "https://google.com/search?q=")
+(setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "qutebrowser")
(setq browse-url-browser-function 'eww-browse-url)
(add-hook 'eww-mode-hook
(lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url)))
@@ -218,11 +235,41 @@ We want the default search engine of eww to be google because duckduckgo is bad:
In order to use this configuration, you must have mpd configured to use the same directory.
We automatically connect to mpd.
#+begin_src emacs-lisp :tangle yes
+(emms-all)
+(setq emms-source-file-default-directory (expand-file-name "~/music/"))
(setq emms-player-mpd-music-directory "~/music/")
+(setq emms-player-mpd-server-name "localhost")
+(setq emms-player-mpd-server-port "6600")
(setq emms-player-list '(emms-player-mpd))
-(emms-all)
+(add-to-list 'emms-info-functions 'emms-info-mpd)
+(add-to-list 'emms-player-list 'emms-player-mpd)
(emms-player-mpd-connect)
#+end_src
+** Keybindings
+Now we set up our keybindings for our applications:
+#+begin_src emacs-lisp :tangle yes
+(map! :leader
+ :desc "Open irc"
+ "i c" #'circe)
+(map! :leader
+ :desc "Open audio manager"
+ "m m" #'emms)
+(map! :leader
+ :desc "Open RSS feed reader"
+ "r s" #'elfeed)
+(map! :leader
+ :desc "Open password manager"
+ "p w" #'ivy-pass)
+(map! :leader
+ :desc "Open dictionary program"
+ "d i" #'dictionary)
+(map! :leader
+ :desc "Open rtorrent frontend"
+ "r t" #'mentor)
+(map! :leader
+ :desc "Open eww web browser"
+ "e w" #'eww)
+#+end_src
*** Journal
First we set the journal to be in the website directory:
#+begin_src emacs-lisp :tangle yes
@@ -241,6 +288,7 @@ And then we add the headers needed to export the journal automatically:
(`yearly "#+TITLE: Yearly Journal\n#+STARTUP: folded"))))
(setq org-journal-file-header 'org-journal-file-header-func)
+(setq org-export-with-section-numbers nil)
(setq org-journal-file-format "%Y%m%d.org")
#+end_src
To add everything to the agenda search path, we toggle:
@@ -276,13 +324,12 @@ In order to publish my website, we need to configure emacs to publish it somewhe
:auto-preamble t)
("website-static"
:base-directory "~/org/website"
- :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
+ :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico"
:publishing-directory "~/website_html/"
:recursive t
:publishing-function org-publish-attachment)
- ("website" :components ("website-org" "website-static"))))
-
-
+ ("website" :auto-sitemap t :components ("website-org" "website-static"))))
+(setq org-html-postamble "Copyright (c) 2024 Preston Pan")
#+end_src
*** Contacts
Now we configure org-contacts, which allows me to store contacts in an org mode file:
@@ -308,31 +355,6 @@ Sometimes I want a timer to help me keep track of the time.
#+begin_src emacs-lisp :tangle yes
(setq org-clock-sound "~/audio/ding.wav")
#+end_src
-** Keybindings
-Now we set up our keybindings for our applications:
-#+begin_src emacs-lisp :tangle yes
-(map! :leader
- :desc "Open irc"
- "i c" #'circe)
-(map! :leader
- :desc "Open audio manager"
- "m m" #'emms)
-(map! :leader
- :desc "Open RSS feed reader"
- "r s" #'elfeed)
-(map! :leader
- :desc "Open password manager"
- "p w" #'ivy-pass)
-(map! :leader
- :desc "Open dictionary program"
- "d i" #'dictionary)
-(map! :leader
- :desc "Open rtorrent frontend"
- "r t" #'mentor)
-(map! :leader
- :desc "Open eww web browser"
- "e w" #'eww)
-#+end_src
** External Packages
we want to include some packages that don't come with doom emacs.
*** KBD-Mode
@@ -393,9 +415,26 @@ We use ednc to manage notifications.
#+end_src
*** Mastodon
#+begin_src emacs-lisp :tangle yes
-(setq mastodon-instance-url "https://types.pl"
- mastodon-active-user "ret2pop")
+(setq mastodon-instance-url "https://types.pl")
+(setq mastodon-active-user "ret2pop")
+#+end_src
+*** Ement
+#+begin_src emacs-lisp :tangle yes
+;; (ement-connect :uri-prefix "http://localhost:8009")
#+end_src
+*** Stem
+I wrote a [[https://github.com/ret2pop/stem-mode][major mode]] for my programming language [[https://github.com/ret2pop/stem][stem]].
+#+begin_src emacs-lisp :tangle yes
+(use-package stem-mode)
+(add-to-list 'auto-mode-alist '("\\.stem\\'" . stem-mode))
+#+end_src
+*** Tufte
+Our website uses the tufte css styling and we must therefore tell emacs to generate html that is compliant with this html:
+#+begin_src emacs-lisp
+(use-package! ox-tufte)
+(use-package! plan9-theme)
+#+end_src
+
* packages.el Configuration
These are some external packages that I use that are not provided by doom modules.
#+begin_src emacs-lisp :tangle packages.el
@@ -424,6 +463,8 @@ These are some external packages that I use that are not provided by doom module
(package! go-translate)
(package! ts)
(package! chess)
+(package! ox-tufte)
+(package! plan9-theme)
#+end_src
* init.el Configuration
@@ -552,7 +593,7 @@ This installs all the doom modules that we are going to be configuring:
;;gdscript ; the language you waited for
(go +lsp)
;;(graphql +lsp) ; Give queries a REST
- ;;(haskell +lsp) ; a language that's lazier than I am
+ (haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
(json +lsp)
@@ -584,7 +625,7 @@ This installs all the doom modules that we are going to be configuring:
(scheme +guile)
(sh +fish +lsp)
;;sml
- ;;solidity ; do you need a blockchain? No.
+ solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
(web +lsp)
diff --git a/config/elfeed.org b/config/elfeed.org
index ca942ea..94fdbf5 100644
--- a/config/elfeed.org
+++ b/config/elfeed.org
@@ -18,6 +18,8 @@ Here are some interesting blogs, many of which are from substack.
** News :news:
These are the news articles that I subscribe to. Some of these are politics related
but I mostly just want to inform myself about technology subjects.
+*** https://www.wired.com/feed/tag/ai/latest/rss
+*** https://www.wired.com/feed/category/science/latest/rss
*** https://feeds.washingtonpost.com/rss/politics?itid=lk_inline_manual_2
*** https://news.ycombinator.com/rss
diff --git a/config/qtile.org b/config/qtile.org
index 04bcb12..537bab5 100644
--- a/config/qtile.org
+++ b/config/qtile.org
@@ -30,7 +30,7 @@ import subprocess
mod = "mod4"
-terminal = guess_terminal()
+terminal = "kitty"
wl_import_rules = None
auto_minimize = True
wmname = "LG3D"
@@ -38,8 +38,9 @@ wmname = "LG3D"
** Hex Colors
We then load the catppuccin colors for the bar and window borders.
#+begin_src python :tangle config.py
-def get_colors():
- return [
+def get_colors(theme):
+ if theme == "city-lights":
+ return [
# Normal colors
'#45475a',
'#f38ba8',
@@ -65,8 +66,33 @@ def get_colors():
# foreground
'#cdd6f4',
]
+ elif theme == "gruvbox":
+ return [
+ # normal colors
+ '#282828',
+ '#cc241d',
+ '#98971a',
+ '#d79921',
+ '#458588',
+ '#b16286',
+ '#689d6a',
+ '#a89984',
+ #bright colors
+ '#928374',
+ '#fb4934',
+ '#b8bb26',
+ '#fabd2f',
+ '#83a598',
+ '#d3869b',
+ '#8ec07c',
+ '#ebdbb2',
+ # background
+ '#282828',
+ # foreground
+ '#ebdbb2',
+ ]
-colors = get_colors()
+colors = get_colors("gruvbox")
#+end_src
** Keybindings
The _keys_ variable is going to be our final list of keybindings. We start by initializing it
@@ -123,6 +149,7 @@ keys.extend([
Key([mod], "g", lazy.spawn("gimp"), desc="Run GIMP"),
Key([mod], "t", lazy.spawn("torbrowser-launcher"), desc="Run Tor Browser"),
Key([mod], "i", lazy.spawn("emacsclient --eval \"(emacs-everywhere)\""), desc="Emacs Everywhere!"),
+ Key([mod], "d", lazy.spawn("dmenu_run"), desc="dmenu"),
])
#+end_src
*** XF86
@@ -173,7 +200,7 @@ layouts = [
# layout.Stack(num_stacks=2),
# layout.Bsp(),
# layout.Matrix(),
- # layout.MonadTall(),
+ layout.MonadTall(border_focus=colors[2], border_normal=colors[0], border_width=4, margin=7),
# layout.MonadWide(),
# layout.RatioTile(),
# layout.Tile(),
@@ -195,40 +222,120 @@ widget_defaults = dict(
)
extension_defaults = widget_defaults.copy()
+# screens = [
+# Screen(
+# top=bar.Bar(
+# [
+# # widget.CurrentLayout(),
+# widget.GroupBox(active=colors[6], inactive=colors[15], this_current_