diff --git a/Alacritty/.config/alacritty/alacritty.toml b/Alacritty/.config/alacritty/alacritty.toml deleted file mode 100644 index 7c038bf..0000000 --- a/Alacritty/.config/alacritty/alacritty.toml +++ /dev/null @@ -1,69 +0,0 @@ -[colors.bright] -black = "#928374" -blue = "#83a598" -cyan = "#8ec07c" -green = "#b8bb26" -magenta = "#d3869b" -red = "#fb4934" -white = "#ebdbb2" -yellow = "#fabd2f" - -[colors.cursor] -cursor = "CellForeground" -text = "CellBackground" - -[colors.dim] -black = "#32302f" -blue = "#076678" -cyan = "#427b58" -green = "#79740e" -magenta = "#8f3f71" -red = "#9d0006" -white = "#928374" -yellow = "#b57614" - -[colors.normal] -black = "#282828" -blue = "#458588" -cyan = "#689d6a" -green = "#98971a" -magenta = "#b16286" -red = "#cc241d" -white = "#a89984" -yellow = "#d79921" - -[colors.primary] -background = "#282828" -bright_foreground = "#f9f5d7" -dim_foreground = "#f2e5bc" -foreground = "#fbf1c7" - -[colors.selection] -background = "CellForeground" -text = "CellBackground" - -[colors.vi_mode_cursor] -cursor = "CellForeground" -text = "CellBackground" - -[font] -size = 9 - -[font.bold] -family = "UbuntuMonoNerdFont" -style = "Bold" - -[font.bold_italic] -family = "UbuntuMonoNerdFont" -style = "Bold Italic" - -[font.italic] -family = "UbuntuMonoNerdFont" -style = "Italic" - -[font.normal] -family = "UbuntuMonoNerdFont" -style = "Regular" - -[window] -opacity = 1.0 diff --git a/Anaconda/.condarc b/Anaconda/.condarc deleted file mode 100644 index ff498b9..0000000 --- a/Anaconda/.condarc +++ /dev/null @@ -1,5 +0,0 @@ -auto_activate_base: false -channels: - - conda-forge - - defaults -channel_priority: strict diff --git a/backup.sh b/backup.sh deleted file mode 100644 index aed9564..0000000 --- a/backup.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -cd /home/$USER/.dotfiles -#backup os packages -pikaur -Qqe > pkglist.txt -#backup vs code extensions -code --list-extensions > code-extensions.txt -#backup pip modules -pip freeze > pip-modules.txt diff --git a/code-extensions.txt b/code-extensions.txt deleted file mode 100644 index 14634b5..0000000 --- a/code-extensions.txt +++ /dev/null @@ -1,26 +0,0 @@ -aaron-bond.better-comments -christian-kohler.path-intellisense -CoenraadS.bracket-pair-colorizer-2 -esbenp.prettier-vscode -GitLab.gitlab-workflow -Gruntfuggly.todo-tree -hbenl.test-adapter-converter -hbenl.vscode-test-explorer -matt-rudge.auto-open-preview-panel -mhutchie.git-graph -ms-azuretools.vscode-docker -MS-CEINTL.vscode-language-pack-de -ms-python.python -ms-toolsai.jupyter -ms-toolsai.jupyter-keymap -ms-toolsai.jupyter-renderers -ms-toolsai.vscode-jupyter-cell-tags -ms-toolsai.vscode-jupyter-slideshow -ms-vscode.cmake-tools -ms-vscode.makefile-tools -redhat.vscode-yaml -streetsidesoftware.code-spell-checker -twxs.cmake -usernamehw.errorlens -vscodevim.vim -yzhang.markdown-all-in-one diff --git a/emacs/.config/doom/.authinfo.gpg b/emacs/.config/doom/.authinfo.gpg deleted file mode 100644 index f02d496..0000000 --- a/emacs/.config/doom/.authinfo.gpg +++ /dev/null @@ -1 +0,0 @@ -Œ ì¸p^Žúß#ÿÒŠ0[™ôD<¥¤> `&žzòúœ’²ÄîmôÅ”`Å.B¤$k =~¿,lŽó¦Ë&óinit.el -#+begin_src emacs-lisp :tangle init.el -;;; init.el -*- lexical-binding: t; -*- - -;; DO NOT EDIT THIS FILE DIRECTLY -;; This is a file generated from a literate programing source file -;; You should make any changes there and regenerate it from Emacs org-mode -;; using org-babel-tangle (C-c C-v t) - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a "Module Index" link where you'll find -;; a comprehensive list of Doom's modules and what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). -#+end_src -#+html: - -** packages.el -#+html:
packages.el -#+begin_src emacs-lisp :tangle packages.el -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; DO NOT EDIT THIS FILE DIRECTLY -;; This is a file generated from a literate programing source file -;; You should make any changes there and regenerate it from Emacs org-mode -;; using org-babel-tangle (C-c C-v t) - -;; To install a package with Doom you must declare them here and run 'doom sync' -;; on the command line, then restart Emacs for the changes to take effect -- or -;; use 'M-x doom/reload'. - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: -;;(package! some-package) - -;; To install a package directly from a remote git repo, you must specify a -;; `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/raxod502/straight.el#the-recipe-format -;;(package! another-package -;; :recipe (:host github :repo "username/repo")) - -;; If the package you are trying to install does not contain a PACKAGENAME.el -;; file, or is located in a subdirectory of the repo, you'll need to specify -;; `:files' in the `:recipe': -;;(package! this-package -;; :recipe (:host github :repo "username/repo" -;; :files ("some-file.el" "src/lisp/*.el"))) - -;; If you'd like to disable a package included with Doom, you can do so here -;; with the `:disable' property: -;;(package! builtin-package :disable t) - -;; You can override the recipe of a built in package without having to specify -;; all the properties for `:recipe'. These will inherit the rest of its recipe -;; from Doom or MELPA/ELPA/Emacsmirror: -;;(package! builtin-package :recipe (:nonrecursive t)) -;;(package! builtin-package-2 :recipe (:repo "myfork/package")) - -;; Specify a `:branch' to install a package from a particular branch or tag. -;; This is required for some packages whose default branch isn't 'master' (which -;; our package manager can't deal with; see raxod502/straight.el#279) -;;(package! builtin-package :recipe (:branch "develop")) - -;; Use `:pin' to specify a particular commit to install. -;;(package! builtin-package :pin "1a2b3c4d5e") - -;; Doom's packages are pinned to a specific commit and updated from release to -;; release. The `unpin!' macro allows you to unpin single packages... -;;(unpin! pinned-package) -;; ...or multiple packages -;;(unpin! pinned-package another-pinned-package) -;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) -;;(unpin! t) -#+end_src -#+html:
- -** config.el -#+html:
config.el -#+begin_src emacs-lisp :tangle config.el -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; DO NOT EDIT THIS FILE DIRECTLY -;; This is a file generated from a literate programing source file -;; You should make any changes there and regenerate it from Emacs org-mode -;; using org-babel-tangle (C-c C-v t) - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! - -;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. -;; (setq user-full-name "John Doe" -;; user-mail-address "john@doe.com") - -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: -;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for -;; presentations or streaming. -;; -;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd -;; font string. You generally only need these two: -;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) -;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: -;; (setq doom-theme 'doom-one) - -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! -;; (setq org-directory "~/org/") - -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -;; (setq display-line-numbers-type t) - -;; Here are some additional functions/macros that could help you configure Doom: -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. -#+end_src -#+html:
- -* Doom Modules -#+begin_src emacs-lisp :tangle init.el -(doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - company ; the ultimate code completion backend - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future - - :ui - ;;deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - doom-quit ; DOOM quit-message prompts when you quit Emacs - (emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra - ;;indent-guides ; highlighted indent columns - ;;ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - tabs ; a tab bar for Emacs - treemacs ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages - (vc-gutter +pretty) ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - ;;window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces - ;;zen ; distraction-free coding or writing - - :editor - (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - ;;(format +onsave) ; automated prettiness - ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - ;;multiple-cursors ; editing in many places at once - ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to - ;;word-wrap ; soft wrapping with language-aware indent - - :emacs - dired ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - ;;eshell ; the elisp shell that works everywhere - ;;shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - (spell +flyspell +everywhere) ; tasing you for misspelling mispelling - grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - biblio ; Writes a PhD for you (citation needed) - ;;collab ; buffers with friends - (debugger +lsp) ; FIXME stepping through code, to help you add bugs - ;;direnv - docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - ;;gist ; interacting with github gists - lookup ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... - ;;upload ; map local to remote projects via ssh/ftp - - :os - (:if IS-MAC macos) ; improve compatibility with macOS - ;;tty ; improve the terminal Emacs experience - - :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp +tree-sitter) ; C > C++ == 1 - ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans - ;;data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;dhall - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;fsharp ; ML stands for Microsoft's Language - ;;fstar ; (dependent) types and (monadic) effects and Z3 - ;;gdscript ; the language you waited for - ;;(go +lsp) ; the hipster dialect - ;;(graphql +lsp) ; Give queries a REST - ;;(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 ; At least it ain't XML - ;;(java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - (latex +fold +latexmk +lsp) ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - (org +roam2 +dragndrop +pretty +present) ; organize your plain life in plain text - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - (python +conda +lsp +pyright +pyenv +tree-sitter) ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client - ;;rst ; ReST in peace - ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor - ;;sml - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - ;;web ; the tubes - yaml ; JSON, but readable - ;;zig ; C, but simpler - - :email - ;;(mu4e +org +gmail) - ;;notmuch - ;;(wanderlust +gmail) - - :app - calendar - ;;emms - ;;everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - - :config - literate - (default +bindings +smartparens)) -#+end_src - -#+RESULTS: - -* General Configuration -** User Information -#+begin_src emacs-lisp :tangle config.el -(setq user-full-name "Paul Lödige" - user-mail-address "paul@gve-loedige.de") -#+end_src - -** Visual Settings -*** Font -#+begin_src emacs-lisp :tangle config.el -(setq doom-font (font-spec :family "Ubuntu Mono" :size 16) - doom-variable-pitch-font (font-spec :family "Ubuntu" :size 14)) -#+end_src - -*** Theme -I like the [[https://github.com/Greduan/emacs-theme-gruvbox][Gruvbox Theme by Eduardo Lavaque]]. -For this we first need to install the specific package -#+begin_src emacs-lisp :tangle packages.el -(package! gruvbox-theme) -#+end_src -and then set it -#+begin_src emacs-lisp :tangle config.el -(setq doom-theme 'gruvbox-dark-hard) -#+end_src - -*** Line Numbering -having used Neovim for quiet some time I got used to relative line numbering for navigation. -Until I get used to the [[https://github.com/Greduan/emacs-theme-gruvbox][evil-snipe]] navigation I would like to keep them. -#+begin_src emacs-lisp :tangle config.el -(setq display-line-numbers-type 'relative) -#+end_src - -** Authentication -Authentication information will be stored in a encrypted file that is part of my dotfiles -#+begin_src emacs-lisp :tangle config.el -(setq auth-sources - '((:source "~/.config/doom/.authinfo.gpg"))) -#+end_src -** Misc -*** Set Start of Week to Monday -#+begin_src emacs-lisp :tangle init.el -(setq calendar-week-start-day 1) -#+end_src -* Multilanguage Spellcheck -Enables use of multiple dictionaries. In my case German and English -#+begin_src emacs-lisp :tangle config.el -(with-eval-after-load "ispell" - (setq ispell-program-name "hunspell") - (setq ispell-dictionary "en_US,de_DE") - (ispell-set-spellchecker-params) - (ispell-hunspell-add-multi-dic "en_US,de_DE")) -#+end_src - -* LaTeX -** Set PDF Viewer -#+begin_src emacs-lisp :tangle config.el -(setq +latex-viewers '(zathura)) -#+end_src -** Add auto-compile hook for TeX mode -Because TeX-command-run-all is an interactive command we need a helper function for the hook. -This function could also become useful if we ever want to extend the compile command -#+begin_src emacs-lisp :tangle config.el -(defun custom-tex-compile () - (interactive) - (TeX-command-run-all nil)) - -(add-hook 'TeX-mode-hook - (lambda () - (add-hook 'after-save-hook #'custom-tex-compile nil t))) -#+end_src - -#+RESULTS: -* Org Mode -** Default Location -#+begin_src emacs-lisp :tangle config.el -(setq org-directory "~/org/") -#+end_src -** Visual -*** Enable Header Numbering -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq org-startup-numerated t)) -#+end_src -*** Image Display as Default -[[https://emacs.stackexchange.com/questions/57603/how-to-always-display-inline-images-by-default-existing-solutions-dont-seem-to#comment89772_57607][this stackexchange comment]] states that this has to be done before the [[Add "~/org" to Agenda][adding the ~/org directory to Org Agenda]] -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq org-startup-with-inline-images t)) -#+end_src -*** Enable \LaTeX preview on default -#+begin_src emacs-lisp :tangle init.el -(after! org - (setq org-startup-latex-with-latex-preview t)) -#+end_src - -** CalDAV Sync -[[https://github.com/dengste/org-caldav][org-caldav]] provides a tool for syncing with a CalDAV server (in my case Nextcloud). -A lot of the config is also taken from [[https://www.reddit.com/r/orgmode/comments/8rl8ep/comment/e0sb5j0/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button][this]] reddit post. -*** org-caldav installation -#+begin_src emacs-lisp :tangle packages.el -(package! org-caldav) -#+end_src -*** Enable TODOs -#+begin_src emacs-lisp :tangle config.el -(after! org-caldav - (setq org-icalendar-include-todo 'all - org-caldav-sync-todo t)) -#+end_src -*** Configure Sync -add the calendars to the org-caldav config -#+begin_src emacs-lisp :tangle config.el -(after! org-caldav - (setq org-caldav-url "https://cloud.ploedige.com/remote.php/dav/calendars/paul-loedige") - (setq org-caldav-sync-direction 'org->cal) - (setq org-caldav-calendars - '((:calendar-id "todo" :files ("~/org/todo.org"))))) -#+end_src -** Org Agenda Setup -*** Progress States -To get a more nuanced overview of my current TODOs I add more progress states. -| | TODO | BLOCKED | IN_PROGRESS | REVIEW | TESTING | | DONE | DELEGATED | CANCELED | -|------------+------+---------+-------------+--------+---------+---+------+-----------+----------| -| Access Key | t | b | i | r | t | | d | | c | -| Log Type | time | note | time | note | note | | time | note | note | -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq org-todo-keywords - '((sequence "INACTIVE(i!)" "TODO(t!)" "IN_PROGRESS(p!)" "BLOCKED(b@)" "REVIEW(r@)" "TESTING(e@)" "|" "DONE(d!)" "DELEGATED(x@)" "CANCELED(c@)")))) -#+end_src -Also set the percent states for [[*CalDAV Sync][CalDAV Sync]] -#+begin_src emacs-lisp :tangle config.el -(after! org-caldav - (setq org-caldav-todo-percent-states '((0 "INACTIVE") (1 "TODO") (2 "IN_PROGRESS") (3 "BLOCKED") (90 "REVIEW") (90 "TESTING") (100 "DONE") (100 "DELEGATED") (100 "CANCELED")))) -#+end_src -*** Add "~/org" to Agenda -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq org-agenda-files (f-files "~/org" - (lambda (f) - (string= (f-ext f) "org")) - 'recursive))) -#+end_src -** Org Roam -*** set base directory -Both the org files themselves and the database should be located in the same directory to enable syncing via Nextcloud -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq org-roam-directory (file-truename "~/org/org-roam")) - (org-roam-db-autosync-mode)) -#+end_src -*** Note Templates -This contains all the capture templates I am using. -Adding the "#+category: " tag improves the Org Agenda View for tasks captured in Org Roam -#+begin_src emacs-lisp :tangle config.el -(after! org-roam - (setq org-roam-capture-templates - '(("d" "default" plain - "%?" - :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n#+category: ${title}\n") - :unnarrowed t) - ("m" "Meeting Templates") - ("mm" "Meeting Master Thesis" plain - "* Current Progress\n\n* Open Questions\n\n* TODOs\n" - :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: Master Thesis Meeting ${title}\n#+category: Master Thesis\n") - :unnarrowed t)))) -#+end_src -*** Misc -**** Follow Links on RET -Because the normal shortcut for `org-open-at-point` is quite cumbersome I want it to just follow links when clicking the RET button -#+begin_src emacs-lisp :tangle config.el -(after! org - (setq return-follows-link t)) -#+end_src -** Org Transclusion -*** Installation -#+begin_src emacs-lisp :tangle packages.el -(package! org-transclusion) -#+end_src -** Bibliography -*** Enabling Zotero Links -Following [[https://www.riccardopinosio.com/blog/posts/zotero_notes_article.html#opening-zotero-pdf-from-org-roam][this guide]] we enable using zotero links with the following code -#+begin_src emacs-lisp :tangle config.el -(after! org - :custom - (org-link-set-parameters "zotero" :follow - (lambda (zpath) - (browse-url - (format "zotero:%s" zpath))))) -#+end_src -*** Citar Config -**** Setting the Citar Bibliography -Following the [[https://github.com/doomemacs/doomemacs/tree/master/modules/tools/biblio][Doom Emacs documentation ]]we set the citar bibliography and notes paths -#+begin_src emacs-lisp :tangle config.el -(after! oc - (setq citar-bibliography '("~/org/biblio.bib")) - (setq citar-notes-paths '("~/org/org-roam/"))) -#+end_src -**** Citar Templates -Following the [[https://github.com/emacs-citar/citar#configuration][citar package documentation]] we modify the note template to contain the pdf link to Zotero -*NOTE:* This requires the a [[https://www.riccardopinosio.com/blog/posts/zotero_notes_article.html#opening-zotero-pdf-from-org-roam][specific Zotero Export Configuration]] -#+begin_src emacs-lisp :tangle config.el -(after! oc - (setq citar-templates - '((main . "${author editor:30%sn} ${date year issued:4} ${title:48}") - (suffix . " ${=key= id:15} ${=type=:12} ${tags keywords:*}") - (preview . "${author editor:%etal} (${year issued date}) ${title}, ${journal journaltitle publisher container-title collection-title}.\n") - (note . "Notes on ${author editor:%etal}, ${title}\npdf: ${file}")))) -#+end_src -**** Enable Zotero Link Support -In [[https://www.riccardopinosio.com/blog/posts/zotero_notes_article.html#citar][this tutorial]] I found the config for enabling Zotero Link Support through Citar -#+begin_src emacs-lisp :tangle config.el -(after! citar - (defadvice! riccardo/citar-file-trust-zotero (oldfun &rest r) - "Leave Zotero-generated file paths alone, especially zotero://..." - :around '(citar-file-open citar-file--find-files-in-dirs) - (cl-letf (((symbol-function 'file-exists-p) #'always) - ((symbol-function 'expand-file-name) (lambda (first &rest _) first))) - (apply oldfun r))) - - (add-to-list 'citar-file-open-functions '("pdf" . citar-file-open-external))) -#+end_src - -* Python -** Set Debugger to debugpy -as per the [[https://github.com/doomemacs/doomemacs/tree/master/modules/tools/debugger#dap-python][Doom Emacs Documentation]] it is recommended to set the debugger used for python debugging to debugpy -#+begin_src emacs-lisp :tangle config.el -(after! dap-mode - (setq dap-python-debugger 'debugpy)) -#+end_src - -* C/C++ -** LSP -As per the [[https://github.com/doomemacs/doomemacs/tree/master/modules/lang/cc#lsp-mode-with-clangd][Doom Emacs documentation]] the LSP-mode needs to be set -#+begin_src emacs-lisp :tangle config.el -(after! lsp-clangd - (setq lsp-clients-clangd-args - '("-j=3" - "--background-index" - "--clang-tidy" - "--completion-style=detailed" - "--header-insertion=never" - "--header-insertion-decorators=0")) - (set-lsp-priority! 'clangd 2)) -#+end_src diff --git a/install.sh b/install.sh deleted file mode 100644 index 4438125..0000000 --- a/install.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -#system upgrade -sudo pacman -Syu -# install pikaur -sudo pacman -S --needed base-devel git -cd /home/$USER/ -git clone https://aur.archlinux.org/pikaur.git -cd /home/$USER/pikaur/ -makepkg -fsri -#enable multilib -sudo sed -i 's/#\[multilib\]/\[multilib\]\nInclude = \/etc\/pacman.d\/mirrorlist/' /etc/pacman.conf -pikaur -Syu -#install programms -cd /home/$USER/.dotfiles/ -pikaur -S --needed --noconfirm - < pkglist.txt -#install vs code extensions -cd /home/$USER/.dotfiles/ -cat code-extensions.txt | while read extension || [[ -n $extension ]]; -do - code --install-extension $extension --force -done - -#pip install -cd /home/$USER/.dotfiles -pip install -r ./pip-modules.txt - -echo "Manually STOW the configs!" diff --git a/picom/.config/picom/picom.conf b/picom/.config/picom/picom.conf deleted file mode 100644 index 070e371..0000000 --- a/picom/.config/picom/picom.conf +++ /dev/null @@ -1,444 +0,0 @@ -################################# -# Shadows # -################################# - - -# Enabled client-side shadows on windows. Note desktop windows -# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, -# unless explicitly requested using the wintypes option. -# -# shadow = false -shadow = false; - -# The blur radius for shadows, in pixels. (defaults to 12) -# shadow-radius = 12 -shadow-radius = 7; - -# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) -# shadow-opacity = .75 - -# The left offset for shadows, in pixels. (defaults to -15) -# shadow-offset-x = -15 -shadow-offset-x = -7; - -# The top offset for shadows, in pixels. (defaults to -15) -# shadow-offset-y = -15 -shadow-offset-y = -7; - -# Avoid drawing shadows on dock/panel windows. This option is deprecated, -# you should use the *wintypes* option in your config file instead. -# -# no-dock-shadow = false - -# Don't draw shadows on drag-and-drop windows. This option is deprecated, -# you should use the *wintypes* option in your config file instead. -# -# no-dnd-shadow = false - -# Red color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-red = 0 - -# Green color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-green = 0 - -# Blue color value of shadow (0.0 - 1.0, defaults to 0). -# shadow-blue = 0 - -# Do not paint shadows on shaped windows. Note shaped windows -# here means windows setting its shape through X Shape extension. -# Those using ARGB background is beyond our control. -# Deprecated, use -# shadow-exclude = 'bounding_shaped' -# or -# shadow-exclude = 'bounding_shaped && !rounded_corners' -# instead. -# -# shadow-ignore-shaped = '' - -# corner-radius = 5 -rounded-corners-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'" -] - -# Specify a list of conditions of windows that should have no shadow. -# -# examples: -# shadow-exclude = "n:e:Notification"; -# -# shadow-exclude = [] -shadow-exclude = [ - "name = 'Notification'", - "class_g ?= 'Notify-osd'", - "name = 'Plank'", - "name = 'Docky'", - "name = 'Kupfer'", - "name = 'xfce4-notifyd'", - "name *= 'VLC'", - "name *= 'compton'", - "name *= 'Chromium'", - "name *= 'Chrome'", - "class_g = 'Firefox' && argb", - "class_g = 'Conky'", - "class_g = 'Kupfer'", - "class_g = 'Synapse'", - "class_g ?= 'Notify-osd'", - "class_g ?= 'Cairo-dock'", - "class_g = 'Cairo-clock'", - "class_g ?= 'Xfce4-notifyd'", - "class_g ?= 'Xfce4-power-manager'", - "_GTK_FRAME_EXTENTS@:c", -]; - -# Add this one too for ... - # "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" -# Add this one above to the list to have no shadow in Openbox menu - # "! name~=''", - -# Specify a X geometry that describes the region in which shadow should not -# be painted in, such as a dock window region. Use -# shadow-exclude-reg = "x10+0+0" -# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. -# -# shadow-exclude-reg = "" - -# Crop shadow of a window fully on a particular Xinerama screen to the screen. -# xinerama-shadow-crop = false - - -################################# -# Fading # -################################# - - -# Fade windows in/out when opening/closing and when opacity changes, -# unless no-fading-openclose is used. -# fading = false -fading = false - -# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) -# fade-in-step = 0.028 -fade-in-step = 0.03; - -# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) -# fade-out-step = 0.03 -fade-out-step = 0.03; - -# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) -# fade-delta = 10 - -# Specify a list of conditions of windows that should not be faded. -# fade-exclude = [] - -# Do not fade on window open/close. -# no-fading-openclose = false - -# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. -# no-fading-destroyed-argb = false - - -################################# -# Transparency / Opacity # -################################# - - -# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) -# inactive-opacity = 1 -inactive-opacity = 1; - -# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) -# frame-opacity = 1.0 -frame-opacity = 1; - -# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) -# menu-opacity = 1.0 - -# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. -# inactive-opacity-override = true -inactive-opacity-override = false; - -# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) -# active-opacity = 1.0 - -# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) -# inactive-dim = 0.0 - -# Specify a list of conditions of windows that should always be considered focused. -# focus-exclude = [] -focus-exclude = [ "class_g = 'Cairo-clock'" ]; - -# Use fixed inactive dim value, instead of adjusting according to window opacity. -# inactive-dim-fixed = 1.0 - -# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, -# like `50:name *= "Firefox"`. picom-trans is recommended over this. -# Note we don't make any guarantee about possible conflicts with other -# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. -# example: -# opacity-rule = [ "80:class_g = 'URxvt'" ]; -# -opacity-rule = [ "80:class_g = 'Alacritty'" ] - - -################################# -# Background-Blurring # -################################# - - -# Parameters for background blurring, see the *BLUR* section for more information. -# blur-method = -# blur-size = 12 -# -# blur-deviation = false - -# Blur background of semi-transparent / ARGB windows. -# Bad in performance, with driver-dependent behavior. -# The name of the switch may change without prior notifications. -# -# blur-background = false - -# Blur background of windows when the window frame is not opaque. -# Implies: -# blur-background -# Bad in performance, with driver-dependent behavior. The name may change. -# -# blur-background-frame = false - - -# Use fixed blur strength rather than adjusting according to window opacity. -# blur-background-fixed = false - - -# Specify the blur convolution kernel, with the following format: -# example: -# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; -# -# blur-kern = '' -blur-kern = "3x3box"; - - -# Exclude conditions for background blur. -# blur-background-exclude = [] -blur-background-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "_GTK_FRAME_EXTENTS@:c" -]; - -################################# -# General Settings # -################################# - -# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. -# daemon = false - -# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. -# `xrender` is the default one. -# -# backend = "glx" -# backend = "xr_glx_hybrid" -backend = "xrender"; - -# Enable/disable VSync. -# vsync = false -vsyc = true - -# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. -# dbus = false - -# Try to detect WM windows (a non-override-redirect window with no -# child that has 'WM_STATE') and mark them as active. -# -# mark-wmwin-focused = false -mark-wmwin-focused = true; - -# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. -# mark-ovredir-focused = false -mark-ovredir-focused = true; - -# Try to detect windows with rounded corners and don't consider them -# shaped windows. The accuracy is not very high, unfortunately. -# -# detect-rounded-corners = false -detect-rounded-corners = true; - -# Detect '_NET_WM_OPACITY' on client windows, useful for window managers -# not passing '_NET_WM_OPACITY' of client windows to frame windows. -# -# detect-client-opacity = false -detect-client-opacity = true; - -# Limit picom to repaint at most once every 1 / 'refresh_rate' second to -# boost performance. This should not be used with -# vsync drm/opengl/opengl-oml -# as they essentially does sw-opti's job already, -# unless you wish to specify a lower refresh rate than the actual value. -# -# sw-opti = - -# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, -# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, -# provided that the WM supports it. -# -# use-ewmh-active-win = false - -# Unredirect all windows if a full-screen opaque window is detected, -# to maximize performance for full-screen windows. Known to cause flickering -# when redirecting/unredirecting windows. -# -# unredir-if-possible = false - -# Delay before unredirecting the window, in milliseconds. Defaults to 0. -# unredir-if-possible-delay = 0 - -# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. -# unredir-if-possible-exclude = [] - -# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows -# in the same group focused at the same time. -# -# detect-transient = false -detect-transient = true - -# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same -# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if -# detect-transient is enabled, too. -# -# detect-client-leader = false -detect-client-leader = true - -# Resize damaged region by a specific number of pixels. -# A positive value enlarges it while a negative one shrinks it. -# If the value is positive, those additional pixels will not be actually painted -# to screen, only used in blur calculation, and such. (Due to technical limitations, -# with use-damage, those pixels will still be incorrectly painted to screen.) -# Primarily used to fix the line corruption issues of blur, -# in which case you should use the blur radius value here -# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, -# with a 5x5 one you use `--resize-damage 2`, and so on). -# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. -# -# resize-damage = 1 - -# Specify a list of conditions of windows that should be painted with inverted color. -# Resource-hogging, and is not well tested. -# -# invert-color-include = [] - -# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. -# Might cause incorrect opacity when rendering transparent content (but never -# practically happened) and may not work with blur-background. -# My tests show a 15% performance boost. Recommended. -# -# glx-no-stencil = false - -# GLX backend: Avoid rebinding pixmap on window damage. -# Probably could improve performance on rapid window content changes, -# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). -# Recommended if it works. -# -# glx-no-rebind-pixmap = false - -# Disable the use of damage information. -# This cause the whole screen to be redrawn everytime, instead of the part of the screen -# has actually changed. Potentially degrades the performance, but might fix some artifacts. -# The opposing option is use-damage -# -# no-use-damage = false -use-damage = true - -# Use X Sync fence to sync clients' draw calls, to make sure all draw -# calls are finished before picom starts drawing. Needed on nvidia-drivers -# with GLX backend for some users. -# -# xrender-sync-fence = false - -# GLX backend: Use specified GLSL fragment shader for rendering window contents. -# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` -# in the source tree for examples. -# -# glx-fshader-win = '' - -# Force all windows to be painted with blending. Useful if you -# have a glx-fshader-win that could turn opaque pixels transparent. -# -# force-win-blend = false - -# Do not use EWMH to detect fullscreen windows. -# Reverts to checking if a window is fullscreen based only on its size and coordinates. -# -# no-ewmh-fullscreen = false - -# Dimming bright windows so their brightness doesn't exceed this set value. -# Brightness of a window is estimated by averaging all pixels in the window, -# so this could comes with a performance hit. -# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) -# -# max-brightness = 1.0 - -# Make transparent windows clip other windows like non-transparent windows do, -# instead of blending on top of them. -# -# transparent-clipping = false - -# Set the log level. Possible values are: -# "trace", "debug", "info", "warn", "error" -# in increasing level of importance. Case doesn't matter. -# If using the "TRACE" log level, it's better to log into a file -# using *--log-file*, since it can generate a huge stream of logs. -# -# log-level = "debug" -log-level = "warn"; - -# Set the log file. -# If *--log-file* is never specified, logs will be written to stderr. -# Otherwise, logs will to written to the given file, though some of the early -# logs might still be written to the stderr. -# When setting this option from the config file, it is recommended to use an absolute path. -# -# log-file = '~/.config/compton.log' - -# Show all X errors (for debugging) -# show-all-xerrors = false - -# Write process ID to a file. -# write-pid-path = '/path/to/your/log/file' - -# Window type settings -# -# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: -# "unknown", "desktop", "dock", "toolbar", "menu", "utility", -# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", -# "tooltip", "notification", "combo", and "dnd". -# -# Following per window-type options are available: :: -# -# fade, shadow::: -# Controls window-type-specific shadow and fade settings. -# -# opacity::: -# Controls default opacity of the window type. -# -# focus::: -# Controls whether the window of this type is to be always considered focused. -# (By default, all window types except "normal" and "dialog" has this on.) -# -# full-shadow::: -# Controls whether shadow is drawn under the parts of the window that you -# normally won't be able to see. Useful when the window has parts of it -# transparent, and you want shadows in those areas. -# -# redir-ignore::: -# Controls whether this type of windows should cause screen to become -# redirected again after been unredirected. If you have unredir-if-possible -# set, and doesn't want certain window to cause unnecessary screen redirection, -# you can set this to `true`. -# -wintypes: -{ - tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; }; - dock = { shadow = false; } - dnd = { shadow = false; } - popup_menu = { opacity = 0.9; } - dropdown_menu = { opacity = 0.9; } -}; diff --git a/pip-modules.txt b/pip-modules.txt deleted file mode 100644 index 922d8a2..0000000 --- a/pip-modules.txt +++ /dev/null @@ -1,192 +0,0 @@ -aiohttp==3.8.4 -aiohttp-socks==0.8.0 -aiorpcX==0.22.1 -aiosignal==1.3.1 -anki==2.1.65 -apipkg==3.0.1 -aqt==2.1.65 -arandr==0.1.11 -argh==0.28.1 -async-timeout==4.0.2 -attrs==22.2.0 -autocommand==2.2.2 -Beaker==1.12.0 -beautifulsoup4==4.12.2 -bitstring==3.1.9 -borgbackup==1.2.4 -Brlapi==0.8.4 -bsddb3==6.2.9 -btrfsutil==6.3.2 -CacheControl==0.13.1 -cairocffi==1.5.0 -certifi==2023.7.22 -cffi==1.15.1 -chardet==5.1.0 -charset-normalizer==3.2.0 -click==8.1.6 -colorama==0.4.6 -commonmark==0.9.1 -contextlib2==21.6.0 -contourpy==1.1.0 -cryptography==41.0.2 -cssselect==1.2.0 -cupshelpers==1.0 -cycler==0.11.0 -Cython==3.0.0 -dbus-python==1.3.2 -decorator==5.1.1 -deprecation==2.1.0 -distlib==0.3.6 -distro==1.8.0 -dnspython==2.3.0 -docopt==0.6.2 -docutils==0.20.1 -ecdsa==0.18.0 -Electrum==4.4.5 -entrypoints==0.4 -evdev==1.6.1 -exceptiongroup==1.1.2 -fastjsonschema==2.18.0 -filelock==3.12.0 -Flask==2.2.5 -Flask-Cors==4.0.0 -fonttools==4.41.1 -frozenlist==1.3.3 -future==0.18.3 -GDAL==3.7.0 -gitdb==4.0.10 -GitPython==3.1.32 -gramps==5.1.6 -greenlet==2.0.2 -gscreenshot==3.4.1 -html5lib==1.1 -humanfriendly==10.0 -idna==3.4 -img2pdf==0.4.4 -importlib-resources==6.0.0 -inflect==7.0.0 -iniconfig==2.0.0 -itsdangerous==2.1.2 -jaraco.context==4.3.0 -jaraco.functools==3.8.0 -jaraco.text==3.11.1 -Jinja2==3.1.2 -jsonrpclib-pelix==0.4.3.2 -jsonschema==4.18.3 -jsonschema-specifications==2023.6.1 -keyutils==0.6 -kiwisolver==1.4.4 -lensfun==0.3.4 -libfdt==1.7.0 -lightdm-gtk-greeter-settings==1.2.2 -louis==3.26.0 -lxml==4.9.2 -Mako==1.2.4 -Markdown==3.4.4 -markdown-it-py==2.2.0 -MarkupSafe==2.1.3 -matplotlib==3.7.2 -mdurl==0.1.2 -moddb==0.8.1 -more-itertools==9.1.0 -msgpack==1.0.5 -multidict==6.0.4 -natsort==8.4.0 -netsnmp-python==1.0a1 -nftables==0.1 -nspektr==0.4.0 -numpy==1.25.1 -ocrmypdf==14.3.0 -ordered-set==4.1.0 -orjson==3.9.2 -OWSLib==0.29.1 -packaging==23.1 -pathtools==0.1.2 -pbkdf2==1.3 -pdfminer.six==20221105 -pikaur==1.17 -pikepdf==8.2.1 -Pillow==10.0.0 -Pivy==0.6.8 -platformdirs==3.9.1 -pluggy==1.0.0 -ply==3.11 -powerline-shell==0.7.0 -progress==1.6 -protobuf==4.23.4 -psutil==5.9.5 -psycopg2==2.9.6 -pwquality==1.4.5 -py==1.11.1.dev0+g447bac51.d20230407 -pyaes==1.6.1 -pyalpm==0.10.6 -pycairo==1.23.0 -pycparser==2.21 -pycryptodomex==3.12.0 -pycups==2.0.1 -pycurl==7.45.2 -pydantic==1.10.9 -Pygments==2.15.1 -PyGObject==3.44.1 -pympress==1.8.3 -pynvim==0.4.3 -pyOpenSSL==23.2.0 -pyparsing==3.0.9 -pypng==0.0.21 -pyproj==3.6.0 -PyQt5==5.15.9 -PyQt5-sip==12.12.2 -PyQt6==6.5.2 -PyQt6-sip==13.5.2 -PyQt6-WebEngine==6.5.0 -pyrate-limiter==2.10.0 -pyrsistent==0.19.3 -PySide2==5.15.10 -PySocks==1.7.1 -pytest==7.4.0 -python-dateutil==2.8.2 -python-socks==2.3.0 -python-vlc==3.0.18122 -pytz==2023.3 -pyxdg==0.28 -PyYAML==6.0.1 -qrcode==7.4.2 -QScintilla==2.14.1 -qtile==0.22.1 -referencing==0.29.1 -reportlab==3.6.12 -requests==2.28.2 -resolvelib==1.0.1 -retrying==1.3.3 -rich==13.4.2 -rpds-py==0.8.8 -Send2Trash==1.8.2 -setproctitle==1.3.2 -shiboken2==5.15.10 -six==1.16.0 -smmap==5.0.0 -soupsieve==2.4.1 -TBB==0.2 -tenacity==8.2.3.dev0+g548c5d4.d20230423 -termcolor==2.3.0 -toml==0.10.2 -tomli==2.0.1 -toolz==0.12.0 -tqdm==4.65.0 -trove-classifiers==2023.7.8 -typing_extensions==4.7.1 -uc-micro-py==1.0.2 -udiskie==2.4.2 -urllib3==1.26.15 -validate-pyproject==0.13.post1.dev0+gb752273.d20230520 -waitress==2.1.2 -watchdog==2.3.0 -webencodings==0.5.1 -websocket-client==1.6.1 -Werkzeug==2.3.2 -woeusb-ng==0.2.12 -wxPython==4.2.1 -xcffib==1.2.0 -yarl==1.9.2 -yt-dlp==2023.7.6 -zipp==3.16.0 diff --git a/qtile/.config/qtile/Bars.py b/qtile/.config/qtile/Bars.py deleted file mode 100644 index 3a51a9e..0000000 --- a/qtile/.config/qtile/Bars.py +++ /dev/null @@ -1,44 +0,0 @@ -from libqtile import widget, bar - -from defines import base_color, blue_color -from defines import ChassisType, chassis_type -from Widgets import Left_widgets, volume_widget, System_widgets, end_widgets - -widget_defaults = dict( - background=base_color, - font='UbuntuMono Nerd Font', - fontsize=18, - padding=1 if chassis_type == ChassisType.LAPTOP else 5, -) -extension_defaults = widget_defaults.copy() - -main_bar_fontsize=22 -main_bar_height=24 if chassis_type == ChassisType.LAPTOP else 28 -secondary_bar_height=24 -secondary_bar_fontsize=18 - -main_bar = bar.Bar([ - *Left_widgets(main_bar_height,main_bar_fontsize,True), - widget.Systray(fontsize=main_bar_fontsize), - *volume_widget(base_color,blue_color,main_bar_height,main_bar_fontsize), - *System_widgets(blue_color,blue_color,main_bar_height,main_bar_fontsize), - *end_widgets(blue_color,main_bar_height,main_bar_fontsize), -],main_bar_height) - -left_bar = bar.Bar([ - *Left_widgets(secondary_bar_height,secondary_bar_fontsize), - *volume_widget(base_color,blue_color,secondary_bar_height,secondary_bar_fontsize), - *end_widgets(blue_color,secondary_bar_height,secondary_bar_fontsize) -],secondary_bar_height) - -secondary_bar = bar.Bar([ - *Left_widgets(secondary_bar_height,secondary_bar_fontsize), - *volume_widget(base_color,blue_color,secondary_bar_height,secondary_bar_fontsize), - *end_widgets(blue_color,secondary_bar_height,secondary_bar_fontsize) -],secondary_bar_height) - -top_bar = bar.Bar([ - *Left_widgets(secondary_bar_height,secondary_bar_fontsize), - *volume_widget(base_color,blue_color,secondary_bar_height,secondary_bar_fontsize), - *end_widgets(blue_color,secondary_bar_height,secondary_bar_fontsize) -],secondary_bar_height) \ No newline at end of file diff --git a/qtile/.config/qtile/Custom_Widgets.py b/qtile/.config/qtile/Custom_Widgets.py deleted file mode 100644 index 3a62467..0000000 --- a/qtile/.config/qtile/Custom_Widgets.py +++ /dev/null @@ -1,147 +0,0 @@ -import subprocess -import psutil -import re -import os - -from libqtile import widget, bar - -#region Custom_Memory -class MemoryC(widget.base.ThreadPoolText): - orientations = widget.base.ORIENTATION_HORIZONTAL - defaults = [ - ("format", "{MemUsed}GB/{MemTotal}GB", "Formatting for field names."), - ("update_interval", 1.0, "Update interval for the Memory"), - ] - - def __init__(self, **config): - super().__init__("", **config) - self.add_defaults(MemoryC.defaults) - - def poll(self): - mem = psutil.virtual_memory() - swap = psutil.swap_memory() - val = {} - val["MemUsed"] = mem.used // 1024 // 1024 // 102.4 / 10 - val["MemTotal"] = mem.total // 1024 // 1024 // 102.4 / 10 - val["MemPercent"] = mem.percent - val["MemFree"] = mem.free // 1024 // 1024 // 102.4 / 10 - val["Buffers"] = mem.buffers // 1024 // 1024 // 102.4 / 10 - val["Active"] = mem.active // 1024 // 1024 // 102.4 / 10 - val["Inactive"] = mem.inactive // 1024 // 1024 // 102.4 / 10 - val["Shmem"] = mem.shared // 1024 // 1024 // 102.4 / 10 - val["SwapTotal"] = swap.total // 1024 // 1024 // 102.4 / 10 - val["Swapfree"] = swap.free // 1024 // 1024 // 102.4 / 10 - val["SwapUsed"] = swap.used // 1024 // 1024 // 102.4 / 10 - val["SwapPercent"] = swap.percent - return self.format.format(**val) -#endregion - -#region Microphone_Widget -re_vol = re.compile(r'\[(\d?\d?\d?)%\]') -BUTTON_MUTE = 1 -class Mic(widget.base._TextBox): - """ - Custom Microphone widget - """ - orientations = widget.base.ORIENTATION_HORIZONTAL - defaults = [ - ("cardid", None, "Card Id"), - ("device", "default", "Device Name"), - ("channel", "Capture", "Channel"), - ("padding", 3, "Padding left and right. Calculated if None."), - ("update_interval", 0.2, "Update time in seconds."), - ("theme_path", None, "Path of the icons"), - ("emoji", False, "Use emoji to display volume states, only if ``theme_path`` is not set." - "The specified font needs to contain the correct unicode characters."), - ("mute_command", None, "Mute command"), - ("volume_app", None, "App to control volume"), - ("volume_up_command", None, "Volume up command"), - ("volume_down_command", None, "Volume down command"), - ("get_volume_command", None, "Command to get the current volume"), - ("step", 2, "Volume change for up an down commands in percentage." - "Only used if ``volume_up_command`` and ``volume_down_command`` are not set.") - ] - - def __init__(self, **config): - widget.base._TextBox.__init__(self, '0', width=bar.CALCULATED, **config) - self.add_defaults(Mic.defaults) - if self.theme_path: - self.length_type = bar.STATIC - self.length = 0 - self.surfaces = {} - self.volume = None - - def timer_setup(self): - self.timeout_add(self.update_interval, self.update) - if self.theme_path: - self.setup_images() - - def create_amixer_command(self, *args): - cmd = ['amixer'] - cmd.extend([x for x in args]) - return cmd - - def button_press(self, x, y, button): - if button == BUTTON_MUTE: - if self.mute_command is not None: - subprocess.call(self.mute_command, shell=True) - else: - subprocess.call(self.create_amixer_command('-q', - 'sset', - self.channel, - 'toggle')) - self.draw() - - def update(self): - vol = self.get_volume() - if vol != self.volume: - self.volume = vol - # Update the underlying canvas size before actually attempting - # to figure out how big it is and draw it. - self._update_drawer() - self.bar.draw() - self.timeout_add(self.update_interval, self.update) - - def _update_drawer(self): - if self.emoji: - if self.volume > 0: - self.text = 'ï„°' - elif self.volume <= 0: - self.text = '' - else: - if self.volume == -1: - self.text = 'M' - else: - self.text = '{}%'.format(self.volume) - def get_volume(self): - try: - get_volume_cmd = self.create_amixer_command('sget', - self.channel) - - if self.get_volume_command: - get_volume_cmd = self.get_volume_command - - mixer_out = self.call_process(get_volume_cmd) - except subprocess.CalledProcessError: - return -1 - - if '[off]' in mixer_out: - return -1 - - volgroups = re_vol.search(mixer_out) - if volgroups: - return int(volgroups.groups()[0]) - else: - # this shouldn't happen - return -1 - - def draw(self): - if self.theme_path: - self.drawer.draw(offsetx=self.offset, width=self.length) - else: - widget.base._TextBox.draw(self) - - def cmd_mute(self): - # Emulate button press. - self.button_press(0, 0, BUTTON_MUTE) -#endregion diff --git a/qtile/.config/qtile/Groups.py b/qtile/.config/qtile/Groups.py deleted file mode 100644 index 28d670d..0000000 --- a/qtile/.config/qtile/Groups.py +++ /dev/null @@ -1,166 +0,0 @@ -from typing import Match -from libqtile.config import Group, ScratchPad, DropDown, Key, Match -from libqtile.command import lazy - -import re - -from defines import mod,term -from Keys import keys - -group_names = [(" ","Org",'o',{'layout': 'monadtall'}), - (" ","Home", 'h',{'layout': 'monadtall'}), - (" ","Browser", 'f',{'layout': 'monadtall'}), - ("ï¯ ","Mail", 'm',{'layout': 'monadtall', 'matches':[Match(wm_class="Mail")]}), - ("îž• ","Coding", 'c',{'layout': 'monadtall', 'matches' : [Match(wm_class="code")]}), - (" ","Documents", 'l',{'layout': 'monadtall'}), - ("ó°š ","Music", 'u',{'layout': 'monadtall', 'matches' : [Match(wm_class="spotify")]}), - (" ","Video", 'v',{'layout': 'monadtall', 'matches' : [Match(wm_class="vlc")]}), - ("󰙯 ","VideoChat", 'z',{'layout': 'monadtall', 'matches':[Match(wm_class="discord")]}), - ("一","etc1", '1', {'layout': 'monadtall'}), - ("二","etc2", '2', {'layout': 'monadtall'}), - ("三","etc3", '3', {'layout': 'monadtall'}), - ("å››","etc4", '4', {'layout': 'monadtall'})] - -groups = [Group(icon, **kwargs) for icon, name, key, kwargs in group_names] - -groups.append( - ScratchPad("scratchpad",[ - DropDown( - 'ARandR', - 'arandr', - height = 0.5, - width = 0.8, - x = .1, - on_focus_lost_hide=True, - opacity=1, - match = Match(wm_class='arandr') - ), - DropDown( - "term", - term, - ), - DropDown( - "htop", - term + ' -e htop', - ), - DropDown( - 'sound', - 'pavucontrol' - ), - DropDown( - 'filemanager', - 'pcmanfm', - on_focus_lost_hide=False - ), - DropDown( - 'bitwarden', - 'bitwarden-desktop', - on_focus_lost_hide=False, - match = Match(wm_class='bitwarden') - ), - DropDown( - 'WhatsApp', - 'whatsapp-nativefier', - height = 0.5, - width = 0.8, - x = .1, - on_focus_lost_hide=False, - opacity=1 - ), - DropDown( - 'Signal', - 'signal-desktop', - height = 0.5, - width = 0.8, - x = .1, - on_focus_lost_hide=False, - opacity = 1, - match = Match(wm_class='signal') - ), - DropDown( - 'Qalculate!', - 'qalculate-gtk', - height = 0.5, - width = 0.5, - x = .25, - on_focus_lost_hide=True, - opacity = 1 - ), - DropDown( - 'Slack', - 'slack', - height = 0.5, - width = 0.8, - x = 0.1, - on_focus_lost_hide=False, - opacity=1 - ), - DropDown( - 'Deepl', - 'surf deepl.com', - height = 0.5, - width = 0.8, - x = 0.1, - on_focus_lost_hide=True, - opacity=1 - ), - DropDown( - 'Telegram', - 'telegram-desktop', - height = 0.5, - width = 0.8, - x = 0.1, - on_focus_lost_hide=False, - opacity=1, - match = Match(wm_class='telegram-desktop') - ), - DropDown( - 'Org Agenda', - 'emacsclient -c -e \'(org-agenda-list)\'', - height = 0.5, - width = 0.8, - x = 0.1, - on_focus_lost_hide=True, - opacity=1, - match = Match(wm_class='emacs') - ) - ]) -) - -for (icon,name,key, kwargs) in group_names: - keys.extend([ - Key(["mod1","control"], str(key), lazy.group[icon].toscreen(toggle=True), - desc="Switch to group {}".format(name)), - - Key(['mod1','control', "shift"], str(key), lazy.window.togroup(icon), - desc="move focused window to group {}".format(name)), - ]) - -keys.extend([ - Key([mod],'p',lazy.group['scratchpad'].dropdown_toggle('ARandR'), - desc="open the dropdown for ARandR"), - Key(['mod1','control'],'space',lazy.group['scratchpad'].dropdown_toggle('term'), - desc="open the dropdown terminal"), - Key(['control','shift'],'Escape',lazy.group['scratchpad'].dropdown_toggle('htop'), - desc="open the dropdown terminal"), - Key(['mod1','control'],'a',lazy.group['scratchpad'].dropdown_toggle('sound'), - desc="open the dropdown pavucontrol"), - Key(['mod1','control'],'e',lazy.group['scratchpad'].dropdown_toggle('filemanager'), - desc="open the dropdown filemanager"), - Key(['mod1','control'],'b',lazy.group['scratchpad'].dropdown_toggle('bitwarden'), - desc="open the dropdown password manager KeePassXC"), - Key(['mod1','control'],'w',lazy.group['scratchpad'].dropdown_toggle('WhatsApp'), - desc="open the dropdown for WhatsApp"), - Key(['mod1','control'],'i',lazy.group['scratchpad'].dropdown_toggle('Signal'), - desc="open the dropdown for Signal"), - Key(['mod1','control'],'s',lazy.group['scratchpad'].dropdown_toggle('Slack'), - desc="open the dropdown for Slack"), - Key(['mod1','control'],'t',lazy.group['scratchpad'].dropdown_toggle('Telegram'), - desc="open the dropdown for Telegram"), - Key(['mod1','control'],'q',lazy.group['scratchpad'].dropdown_toggle('Qalculate!'), - desc="open the dropdown for Qalculate!"), - Key(['mod1','control'],'d',lazy.group['scratchpad'].dropdown_toggle('Deepl'), - desc="open the dropdown for Deepl"), - Key(['mod1','control'],'k',lazy.group['scratchpad'].dropdown_toggle('Org Agenda'), - desc="open the dropdown for Org Agenda") -]) diff --git a/qtile/.config/qtile/Keys.py b/qtile/.config/qtile/Keys.py deleted file mode 100644 index 3618f8f..0000000 --- a/qtile/.config/qtile/Keys.py +++ /dev/null @@ -1,89 +0,0 @@ -from libqtile.config import Key, Drag, Click -from libqtile.command import lazy - -from defines import mod, term, ChassisType, chassis_type - -keys = [ - #screen lock & hibernation - Key([mod], "End" , lazy.spawn('dm-tool lock'),desc="locks session"), - Key([], "Pause" , lazy.spawn('dm-tool lock'),desc="locks session"), - Key([], "Cancel" , lazy.spawn('systemctl hibernate'),desc="enter hibernation"), - - - #moving focus aroung - Key([mod], "h", lazy.layout.left(),desc="move focus left"), - Key([mod], "l", lazy.layout.right(),desc="move focus right"), - Key([mod], "j", lazy.layout.down(),desc="move focus down"), - Key([mod], "k", lazy.layout.up(),desc="move focus up"), - Key([mod,"mod1"], "k", lazy.to_screen(0),desc="move focus to top screen"), - Key([mod,"mod1"], "j", lazy.to_screen(2),desc="move focus to main screen"), - Key([mod,"mod1"], "l", lazy.to_screen(2),desc="move focus to main screen"), - Key([mod,"mod1"], "h", lazy.to_screen(1),desc="move focus to left screen"), - Key([mod,"mod1"], "n", lazy.next_screen(),desc="move focus to left screen"), - - # moving windows around - Key([mod, "shift"], "h", lazy.layout.swap_left(),desc="move focused window left"), - Key([mod, "shift"], "l", lazy.layout.swap_right(),desc="move focused window right"), - Key([mod, "shift"], "j", lazy.layout.shuffle_down(),desc="move focused window down"), - Key([mod, "shift"], "k", lazy.layout.shuffle_up(),desc="move focused window up"), - Key([mod, "shift", "control"], "h", lazy.layout.swap_column_left(),desc="move focused window one column to the left"), - Key([mod, "shift", "control"], "l", lazy.layout.swap_column_right(),desc="move focused window one column to the right"), - - # resize windows - Key([mod], "plus", lazy.layout.grow(),desc="increase window size"), - Key([mod], "minus", lazy.layout.shrink(),desc="decrease window size"), - Key([mod], "n", lazy.layout.normalize(),desc="normalize windows"), - Key([mod], "m", lazy.layout.maximize(),desc="maximize current window"), - Key([mod], "space", lazy.window.toggle_fullscreen(),desc="make current window fullscreen"), - - # app hotkeys - Key([mod],"t", lazy.spawn(term), desc="Launch terminal"), - Key([mod],"f", lazy.spawn("firefox"),desc="Launch firefox"), - Key([mod],"e", lazy.spawn("pcmanfm"),desc="Launch pcmanfm"), - Key([mod],"c", lazy.spawn("code"),desc="Launch visual studio code"), - Key([mod],"v", lazy.spawn(term + " -e nvim"),desc="Launch NeoVim"), - Key([mod, "shift"],"s", lazy.spawn('gscreenshot -s -o -f /tmp/screenshots'),desc="take a screenshot"), - Key([mod], "o", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Launch Emacs (Client)"), - - # Toggle between different layouts as defined below - Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), - Key([mod], "BackSpace", lazy.window.kill(), desc="Kill focused window"), - - # qtile hotkeys - Key([mod, "control"], "r", lazy.restart(), desc="Restart qtile"), - Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown qtile"), - - #rofi - Key([mod],'Return',lazy.spawn("rofi -show drun -show-icons -modi drun"),desc="launch rofi (drun)"), - - # audio hotkeys - Key([], 'XF86AudioRaiseVolume', lazy.spawn(f'pulseaudio-ctl up {5 if chassis_type == ChassisType.LAPTOP else 1}'), desc="increase speaker volume"), - Key([], 'XF86AudioLowerVolume', lazy.spawn(f'pulseaudio-ctl down {5 if chassis_type == ChassisType.LAPTOP else 1}'), desc="decrease speaker volume"), - Key([], 'XF86AudioMute', lazy.spawn('pulseaudio-ctl mute'), desc="toggle speaker mute"), - Key(['control'], 'XF86AudioRaiseVolume', lazy.spawn(f'amixer set Capture {5 if chassis_type == ChassisType.LAPTOP else 1}%+'), desc="increase mic volume"), - Key(['control'], 'XF86AudioLowerVolume', lazy.spawn(f'amixer set Capture {5 if chassis_type == ChassisType.LAPTOP else 1}%-'), desc="decrease mic volume"), - Key(['control'], 'XF86AudioMute', lazy.spawn('amixer set Capture toggle'), desc="toggle mic mute"), - Key([], 'XF86AudioMicMute', lazy.spawn('amixer set Capture toggle'), desc="toggle mic mute"), - - # Media hotkeys - Key([], 'XF86AudioNext', lazy.spawn('playerctl next')), - Key([], 'XF86AudioPrev', lazy.spawn('playerctl previous')), - Key([], 'XF86AudioPlay', lazy.spawn('playerctl play-pause')), - Key([mod], 'Right', lazy.spawn('playerctl next')), - Key([mod], 'Left', lazy.spawn('playerctl previous')), - Key([mod], 'Down', lazy.spawn('playerctl play-pause')), - - # backlight keys - Key([], 'XF86MonBrightnessUp', lazy.spawn('xbacklight -inc 5')), - Key([], 'XF86MonBrightnessDown', lazy.spawn('xbacklight -dec 5')), -] - - -# Drag floating layouts. -mouse = [ - Drag([mod], "Button1", lazy.window.set_position_floating(), - start=lazy.window.get_position()), - Drag([mod], "Button3", lazy.window.set_size_floating(), - start=lazy.window.get_size()), - Click([mod], "Button2", lazy.window.bring_to_front()) -] diff --git a/qtile/.config/qtile/Layouts.py b/qtile/.config/qtile/Layouts.py deleted file mode 100644 index b49afc9..0000000 --- a/qtile/.config/qtile/Layouts.py +++ /dev/null @@ -1,49 +0,0 @@ -from libqtile import layout -from libqtile.config import Match - -from defines import focus_color, border_width, window_margin - -layouts = [ - layout.MonadTall( - align=1, - border_focus = focus_color, - border_width = border_width, - margin=window_margin, - new_client_position = 'after_current', - ), - layout.Floating( - border_focus = focus_color, - border_width = border_width, - margin=window_margin, - ), - layout.Max(), - layout.MonadWide( - border_focus = focus_color, - border_width = border_width, - new_client_position = 'after_current', - margin=window_margin, - ), - layout.Columns( - border_focus = focus_color, - border_width = border_width, - num_columns = 3, - margin = window_margin, - ) -] - -floating_layout = layout.Floating( - border_focus = focus_color, - border_width = border_width, - float_rules=[ - # Run the utility of `xprop` to see the wm class and name of an X client. - *layout.Floating.default_float_rules, - Match(wm_class='confirmreset'), # gitk - Match(wm_class='makebranch'), # gitk - Match(wm_class='maketag'), # gitk - Match(title='branchdialog'), # gitk - Match(title='pinentry'), # GPG key password entry - Match(wm_class='ssh-askpass'), # ssh-askpass - Match(wm_class='sun-awt-X11-XWindowPeer'), #matlab - Match(wm_class='sun-awt-X11-XDialogPeer'), #matlab - Match(wm_class='Nitrogen'), -]) diff --git a/qtile/.config/qtile/Screens.py b/qtile/.config/qtile/Screens.py deleted file mode 100644 index f655cdb..0000000 --- a/qtile/.config/qtile/Screens.py +++ /dev/null @@ -1,33 +0,0 @@ -import subprocess -import re -import numpy as np - -from libqtile.config import Screen - -from Bars import top_bar, left_bar, main_bar, secondary_bar -from defines import main_screen_res, top_screen_res - -screens = [] - - -cmd = ['xrandr'] -p = subprocess.Popen(cmd, stdout=subprocess.PIPE) -resolution_string, junk = p.communicate() -p.stdout.close() -screen_resolutions = [np.array(screen_res.split('x')).astype(int) for screen_res in re.findall('[0-9]+x[0-9]+(?=[^\\\\n]*\*)',str(resolution_string))] -number_of_screens = len(screen_resolutions) -max_width = max(screen_resolutions, key=lambda res: res[0])[0] -defined_main_window = False -for width, height in screen_resolutions: - if width == main_screen_res[0] and height == main_screen_res[1]: - screens.append(Screen(top=main_bar, wallpaper= "~/Pictures/Wallpapers/gruvbox-like.jpg", wallpaper_mode="fill")) - defined_main_window = True - elif width == top_screen_res[0] and height == top_screen_res[1]: - screens.append(Screen(bottom=top_bar, wallpaper="~/Pictures/Wallpapers/wallpaperflare.com_wallpaper.jpg", wallpaper_mode="fill")) - elif width < height: - screens.append(Screen(top=left_bar, wallpaper="~/Pictures/Wallpapers/gruvbox-like-left.jpg", wallpaper_mode="fill")) - elif width == max_width and not defined_main_window: - screens.append(Screen(top=main_bar, wallpaper= "~/Pictures/Wallpapers/gruvbox-like.jpg", wallpaper_mode="fill")) - defined_main_window = True - else: - screens.append(Screen(top=secondary_bar, wallpaper= "~/Pictures/Wallpapers/gruvbox-like.jpg", wallpaper_mode="fill")) diff --git a/qtile/.config/qtile/Widgets.py b/qtile/.config/qtile/Widgets.py deleted file mode 100644 index 1ebc5df..0000000 --- a/qtile/.config/qtile/Widgets.py +++ /dev/null @@ -1,209 +0,0 @@ -from libqtile import widget - -from defines import base_color, term -from defines import blue_color, light_foreground_color, dark_foreground_color, red_color, light_purple_color, purple_color, green_color, orange_color, magenta_color, yellow_color -from defines import ChassisType, chassis_type -from Custom_Widgets import MemoryC, Mic - -#region Powerline -def powerline_arrow(direction, color1, color2,size): - if direction == "r": - return [ - widget.TextBox( - text=u"\ue0b0", - foreground=color1, - background=color2, - fontsize=size, - borderwidth=0, - padding=0 - ), - ] - else: - return [ - widget.TextBox( - text=u"\ue0b2", - foreground=color2, - background=color1, - fontsize=size, - borderwidth=0, - padding=0 - ), - ] -#endregion - -#region Left_widgets -def Left_widgets(size,fontsize,prompt=False): - return [ - widget.CurrentLayoutIcon( - scale = 0.9, - ), - *powerline_arrow('r',base_color,blue_color,size), - widget.TextBox( - text=' ', - foreground=light_foreground_color, - fontsize=fontsize, - background=blue_color - ), - *powerline_arrow('r',blue_color,base_color,size), - widget.GroupBox( - fontsize=fontsize, - rounded=False, - disable_drag=True, - active=light_foreground_color, - inactive=dark_foreground_color, - highlight_method='block', - highlight_color=red_color, - other_screen_border = light_purple_color, - other_current_screen_border = purple_color, - this_current_screen_border = blue_color, - this_screen_border = blue_color, - urgent_alert_method='block', - urgent_border = red_color, - ), - widget.WindowName(fontsize=fontsize-2), - ] -#endregion - -#region Volume_widget -def volume_widget(prev_color,color,size,fontsize): - return[ - *powerline_arrow('l',prev_color,color,size), - widget.Volume( - foreground=light_foreground_color, - background=color, - emoji=True, - fontsize=fontsize - 4, - ), - widget.Volume( - foreground=light_foreground_color, - background=color, - fontsize=fontsize, - padding=0 - ), - Mic( - foreground=light_foreground_color, - background=color, - emoji=True, - fontsize=fontsize, - ), - Mic( - foreground=light_foreground_color, - background=color, - fontsize=fontsize, - padding=0 - ), - widget.TextBox(" ",background=color), - ] -#endregion - -#region System_widgets -def launch_htop(): - qtile.cmd_spawn(term + ' -e htop') - -def System_widgets(prev_color,last_color,size,fontsize): - sys_widgets = [] - sys_widgets.append(*powerline_arrow('l',prev_color,orange_color,size)) - # first widget is battery for laptop and cpu temp otherwise - if chassis_type == ChassisType.LAPTOP: - sys_widgets.append( - widget.Battery( - foreground=light_foreground_color, - background=orange_color, - fontsize=fontsize, - update_interval=1, - format="{char} {percent:2.0%}", - low_percentage=0.2, - notify_below=True, - low_foreground=red_color, - ) - ) - else: - sys_widgets.extend([ - widget.TextBox( - text='󰈸', - foreground=light_foreground_color, - background=orange_color, - fontsize=fontsize+6 - ), - widget.ThermalSensor( - foreground=light_foreground_color, - background=orange_color, - fontsize=fontsize, - tag_sensor='Tctl', - mouse_callbacks = {"Button1": launch_htop}, - ) - ]) - sys_widgets.append(*powerline_arrow('l',orange_color,green_color,size)) - - sys_widgets.extend([ - widget.TextBox( - text='ï’¼ ', - foreground=light_foreground_color, - background=green_color, - fontsize=fontsize - ), - widget.CPU( - foreground=light_foreground_color, - background=green_color, - fontsize=fontsize, - format='{load_percent}%' if chassis_type == ChassisType.LAPTOP else'{load_percent}% @ {freq_current}GHz', - mouse_callbacks = launch_htop, - ), - *powerline_arrow('l',green_color,yellow_color,size), - widget.TextBox( - text='', - foreground=light_foreground_color, - background=yellow_color, - fontsize=fontsize - ), - MemoryC( - foreground=light_foreground_color, - background=yellow_color, - fontsize=fontsize, - format='{MemUsed}GB|{SwapUsed}GB' if chassis_type == ChassisType.LAPTOP else'{MemUsed}GB({MemPercent}%) | {SwapUsed}GB({SwapPercent}%)', - mouse_callbacks = launch_htop, - ), - *powerline_arrow('l',yellow_color,last_color,size), - widget.TextBox( - text='󰈀 ', - foreground=light_foreground_color, - background=blue_color, - fontsize=fontsize - ), - widget.Net( - background=last_color, - foreground=light_foreground_color, - fontsize=fontsize, - prefix='M', - format='{down:6.2f}{down_suffix}↓{up:6.2f}{up_suffix}↑', - mouse_callbacks = launch_htop, - ) - ] - ) - return sys_widgets -#endregion - -#region End_widgets -def end_widgets(prev_color,size,fontsize): - return [ - *powerline_arrow('l',prev_color,purple_color,size), - widget.TextBox( - text='ó°¸— ', - foreground=light_foreground_color, - background=purple_color, - fontsize=fontsize - ), - widget.Clock( - foreground=light_foreground_color, - background=purple_color, - fontsize=fontsize, - format='%Y-%m-%d' - ), - *powerline_arrow('l',purple_color,base_color,size), - widget.Clock( - font='dseg7 classic bold', - fontsize=16, - format='%H:%M' - ), - ] -#endregion diff --git a/qtile/.config/qtile/config.py b/qtile/.config/qtile/config.py deleted file mode 100644 index a250e02..0000000 --- a/qtile/.config/qtile/config.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import sys -import subprocess - -from libqtile import layout, bar, widget, hook -from libqtile.config import Key, Drag, Click, Group, Screen, ScratchPad, DropDown -from libqtile.command import lazy - -sys.path.append("/home/paul/.config/qtile") - -from defines import hotkey_file -from Keys import keys -from Groups import groups -from Layouts import layouts, floating_layout -from Bars import top_bar, left_bar, main_bar, widget_defaults, extension_defaults -from Screens import screens - -#region Hooks -@hook.subscribe.startup_once -def autostart(): - home = os.path.expanduser('~/.config/qtile/autostart.sh') - subprocess.call([home]) - -#region miscelanious -dgroups_key_binder = None -dgroups_app_rules = [] # type: List -main = None # WARNING: this is deprecated and will be removed soon -follow_mouse_focus = True -bring_front_click = True -cursor_warp = False -auto_fullscreen = True -focus_on_window_activation = "smart" - -#region Hotkey_Wallpaper - -#create hotkey textfile -# if os.path.isfile(hotkey_file): - # os.remove(hotkey_file) -# with open(hotkey_file,'w') as file: - # for key in keys: - # if not str(key.key).startswith("XF86"): - # modifiers="" - # for modifier in key.modifiers: - # modifiers += '{:^7}'.format( - # str(modifier).replace("mod1","Alt").replace("mod4","Super").replace("shift","Shift").replace("control","Ctrl") - # ) + "+" - # file.write('{:30}'.format(modifiers+' '+str(key.key).upper())+"=> "+key.desc) - # file.write('\n') -#endregion - -# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this -# string besides java UI toolkits; you can see several discussions on the -# mailing lists, GitHub issues, and other WM documentation that suggest setting -# this string if your java app doesn't work correctly. We may as well just lie -# and say that we're a working one by default. -# -# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in -# java that happens to be on java's whitelist. -wmname = "LG3D" -#endregion diff --git a/qtile/.config/qtile/defines.py b/qtile/.config/qtile/defines.py deleted file mode 100644 index 8337edb..0000000 --- a/qtile/.config/qtile/defines.py +++ /dev/null @@ -1,56 +0,0 @@ -from enum import Enum -import subprocess - -term = 'alacritty' -focus_color = '#076678' -border_width = 2 -window_margin = 5 -mod = 'mod4' -hotkey_file='/home/paul/Hotkeys' -main_screen_res = [3440,1440] -top_screen_res = [1440,900] - -#region chassis type detection -class ChassisType(Enum): - DESKTOP = 0 - LAPTOP = 1 - -def detect_chassis_type() -> ChassisType: - try: - output = subprocess.check_output(["hostnamectl", "status"], universal_newlines=True) - except subprocess.CalledProcessError as e: - print("Error running hostnamectl:", e) - exit(1) - return ChassisType.LAPTOP if "Chassis: laptop" in output else ChassisType.DESKTOP - -chassis_type = detect_chassis_type() -#endregion - - -#region colors -light_foreground_color = ['#fbf1c7','#fbf1c7'] -dark_foreground_color = ['#282828','#282828'] -background_color0 = ['#1d2021','#1d2021'] -background_color8 = ['#7c6f64','#7c6f64'] -base_color = background_color0 -# red -red_color = ['#cc241d','#cc241d'] -light_red_color = ['#fb4934','#fb4934'] -# green -green_color = ['#98971a','#98971a'] -light_green_color = ['#b8bb26','#b8bb26'] -#orange -orange_color = ['#d65d0e','#d65d0e'] -# yellow -yellow_color = ['#d79921','#d79921'] -light_yellow_color = ['#fabd2f','#fabd2f'] -#blue -blue_color = ['#076678','#076678'] -# purple -purple_color = ['#b16286','#b16286'] -light_purple_color = ['#d3869b','#d3869b'] -# magenta -magenta_color = ['#ff79c6','#ff79c6'] -# cyan -cyan_color = ['#8be9fd','#8be9fd'] -#endregion diff --git a/qtile/.config/qtile/hotkeyimage.py b/qtile/.config/qtile/hotkeyimage.py deleted file mode 100644 index d72b254..0000000 --- a/qtile/.config/qtile/hotkeyimage.py +++ /dev/null @@ -1,31 +0,0 @@ -from PIL import Image, ImageDraw, ImageFont -import os -import time - -hotkey_file='/home/paul/Hotkeys' -hotkey_picture='/home/paul/Pictures/Wallpapers/Hotkeys.png' - -with open(hotkey_file) as file: - lines = [line.rstrip() for line in file] - -text1='' -for line in lines[len(lines)//2:]: - text1+=line +"\n" - -text2='' -for line in lines[:len(lines)//2]: - text2+=line +"\n" - -if os.path.isfile(hotkey_picture): - os.remove(hotkey_picture) - -fontsize = 20 - -image = Image.new(mode = "RGB", size = (1440,900), color=(43,46,59)) -ImageDraw.Draw(image).text((10,10), text1, font=ImageFont.truetype('/usr/share/fonts/ubuntu/UbuntuMono-R.ttf',fontsize), fill='#ffffff') -image.save(hotkey_picture) -image = Image.open(hotkey_picture) -ImageDraw.Draw(image).text((750,10), text2, font=ImageFont.truetype('/usr/share/fonts/ubuntu/UbuntuMono-R.ttf',fontsize), fill='#ffffff') -image.save(hotkey_picture) - -image.show() \ No newline at end of file diff --git a/qtile/.config/qtile/icons/archlinux-logo-small.png b/qtile/.config/qtile/icons/archlinux-logo-small.png deleted file mode 100644 index c9269d2..0000000 Binary files a/qtile/.config/qtile/icons/archlinux-logo-small.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/calendar.png b/qtile/.config/qtile/icons/calendar.png deleted file mode 100644 index 9fb135f..0000000 Binary files a/qtile/.config/qtile/icons/calendar.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/code.png b/qtile/.config/qtile/icons/code.png deleted file mode 100644 index a131609..0000000 Binary files a/qtile/.config/qtile/icons/code.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/cpu.png b/qtile/.config/qtile/icons/cpu.png deleted file mode 100644 index 5576b46..0000000 Binary files a/qtile/.config/qtile/icons/cpu.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/discord.png b/qtile/.config/qtile/icons/discord.png deleted file mode 100644 index 1d7b077..0000000 Binary files a/qtile/.config/qtile/icons/discord.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/doc.png b/qtile/.config/qtile/icons/doc.png deleted file mode 100644 index adbd8ef..0000000 Binary files a/qtile/.config/qtile/icons/doc.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/firefox.png b/qtile/.config/qtile/icons/firefox.png deleted file mode 100644 index ea96557..0000000 Binary files a/qtile/.config/qtile/icons/firefox.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/games.png b/qtile/.config/qtile/icons/games.png deleted file mode 100644 index 0b08278..0000000 Binary files a/qtile/.config/qtile/icons/games.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/mail.png b/qtile/.config/qtile/icons/mail.png deleted file mode 100644 index 826946e..0000000 Binary files a/qtile/.config/qtile/icons/mail.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/network.png b/qtile/.config/qtile/icons/network.png deleted file mode 100644 index 0a8bbe8..0000000 Binary files a/qtile/.config/qtile/icons/network.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/pacman.png b/qtile/.config/qtile/icons/pacman.png deleted file mode 100644 index 88f8817..0000000 Binary files a/qtile/.config/qtile/icons/pacman.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/ram.png b/qtile/.config/qtile/icons/ram.png deleted file mode 100644 index 85eeb0f..0000000 Binary files a/qtile/.config/qtile/icons/ram.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/spotify.png b/qtile/.config/qtile/icons/spotify.png deleted file mode 100644 index aa374a8..0000000 Binary files a/qtile/.config/qtile/icons/spotify.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/temp.png b/qtile/.config/qtile/icons/temp.png deleted file mode 100644 index 446ff14..0000000 Binary files a/qtile/.config/qtile/icons/temp.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/video.png b/qtile/.config/qtile/icons/video.png deleted file mode 100644 index c1c9718..0000000 Binary files a/qtile/.config/qtile/icons/video.png and /dev/null differ diff --git a/qtile/.config/qtile/icons/whatsapp.png b/qtile/.config/qtile/icons/whatsapp.png deleted file mode 100644 index db36f4b..0000000 Binary files a/qtile/.config/qtile/icons/whatsapp.png and /dev/null differ diff --git a/qtile/.config/qtile/screenshot.sh b/qtile/.config/qtile/screenshot.sh deleted file mode 100755 index d43848b..0000000 --- a/qtile/.config/qtile/screenshot.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -scrot -s '/tmp/screenshots/%F_%T_$wx$h.png' -e 'echo $f | xclip -selection clipboard -target text/uri-list -i' \ No newline at end of file diff --git a/qtile/.config/qtile/test.py b/qtile/.config/qtile/test.py deleted file mode 100644 index 25e8f4b..0000000 --- a/qtile/.config/qtile/test.py +++ /dev/null @@ -1,5 +0,0 @@ -# This is a test file for anything. -import os -import subprocess - -subprocess.call([os.path.expanduser('~/.config/qtile/mic_led.sh'), "0"]) \ No newline at end of file