From b179f714a90a301fd28eaf04beeec6c19095bad2 Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Sun, 18 Feb 2024 22:49:03 +0100 Subject: [PATCH] removed files no longer necessary --- Alacritty/.config/alacritty/alacritty.toml | 69 -- Anaconda/.condarc | 5 - backup.sh | 8 - code-extensions.txt | 26 - emacs/.config/doom/.authinfo.gpg | 1 - emacs/.config/doom/config.org | 619 ------------------ install.sh | 27 - picom/.config/picom/picom.conf | 444 ------------- pip-modules.txt | 192 ------ qtile/.config/qtile/Bars.py | 44 -- qtile/.config/qtile/Custom_Widgets.py | 147 ----- qtile/.config/qtile/Groups.py | 166 ----- qtile/.config/qtile/Keys.py | 89 --- qtile/.config/qtile/Layouts.py | 49 -- qtile/.config/qtile/Screens.py | 33 - qtile/.config/qtile/Widgets.py | 209 ------ qtile/.config/qtile/config.py | 60 -- qtile/.config/qtile/defines.py | 56 -- qtile/.config/qtile/hotkeyimage.py | 31 - .../qtile/icons/archlinux-logo-small.png | Bin 3491 -> 0 bytes qtile/.config/qtile/icons/calendar.png | Bin 8724 -> 0 bytes qtile/.config/qtile/icons/code.png | Bin 7358 -> 0 bytes qtile/.config/qtile/icons/cpu.png | Bin 8131 -> 0 bytes qtile/.config/qtile/icons/discord.png | Bin 8413 -> 0 bytes qtile/.config/qtile/icons/doc.png | Bin 6426 -> 0 bytes qtile/.config/qtile/icons/firefox.png | Bin 9194 -> 0 bytes qtile/.config/qtile/icons/games.png | Bin 7589 -> 0 bytes qtile/.config/qtile/icons/mail.png | Bin 9671 -> 0 bytes qtile/.config/qtile/icons/network.png | Bin 6932 -> 0 bytes qtile/.config/qtile/icons/pacman.png | Bin 7777 -> 0 bytes qtile/.config/qtile/icons/ram.png | Bin 753 -> 0 bytes qtile/.config/qtile/icons/spotify.png | Bin 9392 -> 0 bytes qtile/.config/qtile/icons/temp.png | Bin 8099 -> 0 bytes qtile/.config/qtile/icons/video.png | Bin 8715 -> 0 bytes qtile/.config/qtile/icons/whatsapp.png | Bin 9951 -> 0 bytes qtile/.config/qtile/screenshot.sh | 2 - qtile/.config/qtile/test.py | 5 - 37 files changed, 2282 deletions(-) delete mode 100644 Alacritty/.config/alacritty/alacritty.toml delete mode 100644 Anaconda/.condarc delete mode 100644 backup.sh delete mode 100644 code-extensions.txt delete mode 100644 emacs/.config/doom/.authinfo.gpg delete mode 100644 emacs/.config/doom/config.org delete mode 100644 install.sh delete mode 100644 picom/.config/picom/picom.conf delete mode 100644 pip-modules.txt delete mode 100644 qtile/.config/qtile/Bars.py delete mode 100644 qtile/.config/qtile/Custom_Widgets.py delete mode 100644 qtile/.config/qtile/Groups.py delete mode 100644 qtile/.config/qtile/Keys.py delete mode 100644 qtile/.config/qtile/Layouts.py delete mode 100644 qtile/.config/qtile/Screens.py delete mode 100644 qtile/.config/qtile/Widgets.py delete mode 100644 qtile/.config/qtile/config.py delete mode 100644 qtile/.config/qtile/defines.py delete mode 100644 qtile/.config/qtile/hotkeyimage.py delete mode 100644 qtile/.config/qtile/icons/archlinux-logo-small.png delete mode 100644 qtile/.config/qtile/icons/calendar.png delete mode 100644 qtile/.config/qtile/icons/code.png delete mode 100644 qtile/.config/qtile/icons/cpu.png delete mode 100644 qtile/.config/qtile/icons/discord.png delete mode 100644 qtile/.config/qtile/icons/doc.png delete mode 100644 qtile/.config/qtile/icons/firefox.png delete mode 100644 qtile/.config/qtile/icons/games.png delete mode 100644 qtile/.config/qtile/icons/mail.png delete mode 100644 qtile/.config/qtile/icons/network.png delete mode 100644 qtile/.config/qtile/icons/pacman.png delete mode 100644 qtile/.config/qtile/icons/ram.png delete mode 100644 qtile/.config/qtile/icons/spotify.png delete mode 100644 qtile/.config/qtile/icons/temp.png delete mode 100644 qtile/.config/qtile/icons/video.png delete mode 100644 qtile/.config/qtile/icons/whatsapp.png delete mode 100755 qtile/.config/qtile/screenshot.sh delete mode 100644 qtile/.config/qtile/test.py 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 c9269d2f0f39ff534e809493bc0577c3fe8d7c7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3491 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 RxRw9_002ovPDHLkV1na(gVz86 diff --git a/qtile/.config/qtile/icons/calendar.png b/qtile/.config/qtile/icons/calendar.png deleted file mode 100644 index 9fb135f6dace8fc46dadb88345e86c9feb721a27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8724 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 diff --git a/qtile/.config/qtile/icons/cpu.png b/qtile/.config/qtile/icons/cpu.png deleted file mode 100644 index 5576b468b41b8cefc860cb2c242304b886564028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8131 zcmeHMc{r49+aD@L_N7N9rqL$GEcUUMb?o~dX1PaWnHe*~SQ3&VrIJ0eWhtr9hD0H| zk`N_Agc8ZFd^dV}dcODh-uHWsg`}dGTS!<$3eU_mbw2`S~QiLG8w( z8vn_u+TZL->+2S-Egj{nJio*Uu36!mYxxv5m_SP~I_*ymsi0Cfq~3wCy=Ll9KM2}BH^USw*D<^05 z+{Aq-XX3-Ng;-qBCHJdes?zj#h%Y(rp{e;<1sxnpz7nH)tvRUR&CQSd=lZtm4g~bk z1}&1O{Ei3qonp-)Hl!2|lqcu(k&ZtI(edmHXLET_lIj*SLZseiMxQy96pO%li1;RPCNC-ec!% zSKu(Uc(-Y<6nYQgeoR0_`NY2H-suGOBlnY|PUqy5aOc{x^!Qeu&b5biS|;j0UdWXm zqK`R5W+t>t79t~$*lBV(J?{FvbiT*tw%aR@R+-!4pTx2@1x>+cB)d;-+riQ5exqAn zc0&ein0E_d)7E|tL9aXdbXkXJak<%R+;M6CUC1z=$2?b=E_?8)ADNWJJ>{><`deQQ z$#4toF?=Ggd+^?uJ&Mcw7tZo^Kp&sx#~bWEE$9*Vfe?wx&2PB1533O&Y-OktZ(Tx6 z*N#zn??rF8`vA75&K!^3n`r3)ylAYCe;dznSF!8r!Zt^*Ywv9xKRqy;Q~&zP>RE20 z%juoydLhXe`7Z~uO;vqzM%|Nqa+BSYecyQ)CAi{h<857lj>{c4R9Y6_EinqZ3p(E1 zi&HdKDri&48Rxfc$C_Wpp+?}_%skjk+&oGooj#{ov|nq98IVs`xytR4itE7JKQ|kH zQmpj4!eQbu<>^x5$Kjg^avo(N)pR|Rxv2LVJ)fdFPT5{Q9@)L^1=2c4{P296+wd5@ zBWre{G$w4BERXe+MWJG@bfU0&!6@Tg0}j_C1$8OG@|Cv9#p(S9O`TY z)@QP9N-JXEMwfW(E2|_t1#c0!4z7Om@Crd+e zf~M1aX1BNSDe&%nvhU<*@E!*o1hoajy77j4pr!uoi^(Vc*UK_{&lHFA)Gpe)cMfYC zW!w;Os#3Vb_exIoh}b(#9+rOo6=YoY?BNoH4f}E?ZtVCV{LSmo<-wY>!kx6zn&U$* zzLu%I+m>H_4B))bf12v#e|ndIhV#i=xUH_V--!A-1?cBj1p`GEuVbc#L^@QE`>)gw z)h3ASx_6@ipWCe#c&0Q-M?fh3Qo$yiU2Sb$&E@AQy523NVw;oqokKNz4>vo=t6~O- zJH-zn85Q$0-J2g@+k?{I-_znYJ7n)UedrLsP)Vc#fKZhAQs;4`S1Ob4y0b4vvkTXo zKTn&uM2Zb}5Kr{1UOL#;Df&inljz9HoUHab#+RDc7xj|EFKo|Ncwszx%3>I(t-jQm zP36vZ+}k2pT5YDF)ENci1;nqGXDRaVre(Rfb)doc!|ZzyhUBb;h1B0%5mB z&wdoax2fhwSfgnNcKQ*qpNS1ag#kVFc}oIw{wdccWja}(7GJe5SBw+Prsr;+S8wSn z*O-+L`Mhe(m5zAZ1-o)KT9TuZb|Ixc*UinUp*BD>L;ORyLnJoqAj>Rt)^T4HdLE5& z*UeQpOojR3+Xp3U0sNnpQh38+yb~wM~q#oH~ zA4X~?I+$e1$^zb)2z1wAVwB6)YIq`tu6RL`r0;bd$KoR*Jhqnh&(Is%WwqF9`Q~4J zc@-wH15#DEt!*%=zB}m!EbU_9On9vQy~vQb+dFwgPXt($-LDl6PuC_wWp`LCjk)!l z+g)Gu^5LLm&D+3~N>=bk^7pqhMR^NBU3FK6f7`Uw6zJJ{VoA5++ouNe}|rwAPLPxJOlEI4olx8*G{_n9eA;biOK0`AGDDQ}&}*Tq&y1#9%>@qK@LS z@_NVin~>cjo>LpMukd#+ZX7N@&}rkyD`#>YVivsA z(}Cvl>2TWcXxR!hwbXDfr!4(UVj$!pAB%YGQK+7%RD$3R-Rn!nf;MrTx+KGUx1JZy zzjM5oSxCA_bT_yHS(1M%JoV&IGjA34<)#b5cWzkR`ryZ2GErHRA0+ZyoW}%itQ{C* zpiBGS=bKBja|VT}s^3vMWz~0g=L^g3>!D-EI7H#fi>jjDkE+`Egx`hxE4|BKF3XvM zO2{}!=;YO9a(Z5Q?{U?TV{hV1aqS4ZJU=a&17&-*o4b`f-F!MQ!mD>tU)ImDBrtt5 zHdbr2->N@hbXQ#r7$Q*a z868b9qs>#kiqMR%`TW@GWX zrKzD`9(U+5O51E(auqTuC{?v1M~t75Bc{wVl<)fCtm>ntn|upR%L?U>p1BU^EHAE@ zeU}`66s3O5ixcuJUEbK9B=SmN_q4piMtj#eO?cdJyofqxXlvCw7uo5uT(i<^+4K@$5^3S-tMUPlAf~lPnKj+Hr_snXG8*S-)L4jglcc``w{?o_1>H^IWx4zE-KZdv#G?#NXP)hLb)??^d`a_q`-9AZ;pLy=DCD%15#bX_?j- z79={!|8!R)UsH;y6jeh7fZK^K%3np)%oxI$WJB1&E1xDT)vtbM*~&vt#E#fhrPt5x zA;cni9CzE)cGufmU)ZNC8g@vckz1xvXT(UPNTzDkww%L@);s=GJC3enG_zUTwqHw1 z?RnvuZ=p6*8H)mFt5#MVWqzvvM>XUB2g*jvkI*j)Lg=a%e? z7ZzNDcjQM$-`sfnZUE2w37M^|E<3|g$8Dl{7vs+4={>hCvWnWT98}h~)Y1L0G81t$ zRxDfKtDyZ{s%~=Up`x=@;}`JQfqMRnucUJ%yL5Kv9^S|l5bAfAK8mbo&l-Qr5q;os z&|=Rb<@5@HQ>ikT^GoQ<2|u9O{nnumw}pC^>~=%@Ds(Hp0`9h{K+k2TL(@U zS@YXSg%@k;6i;jxvwpIbx0-Mm6L0eU;0S3TswAZ3@_d3^i~fU!ZwuRNkP=7^kA`QK z$GnHWaP?ozuGN?|k~?hVnvyw~$^6D8A2Ysn%XK5p&}9O3sj=vOa8yQQj99eoz~zWHkZyR6)7t}zIN?Ic-S+Z?N{ z{rjss_`;qVd{Nb)+Fbb5O0J>qL0&(8pDmVYGLZY$XX7RVl#Em?sxt&)i=HJCP)_gvdOpv^Auuozr`9R zODZnFe-ObfvWq^6YnCCH#>P$--U=GKS{6Mev+_u@K)=O-drM?ZNi))WfM;OT3&zr+4>4nncS=S*DzGyOdl(IK5#t^99vN$3Y56Jp^)4-z^ z1fr(tPs0&B0VWg=xRWXBu+Qa{FesU*4zp7*L7LFCfum%DKssO*XlhLe^dzVdVVW9T zYW^6Iz#CxVp#I)o6b8m$9k#}c0qgfHT09)#?qf90ZgFvuYELoPEES2t#K&hyxAdqMT8Vv^#a7F-yiSvh3 z7?P_L>l``&gFq+Km}Dviy2^>eQ+=80Fc{bm{Xq`)5_J7Ry5`UXetS zQ$+qkVMZr|D*@;AYgVgNM372ZSy=(CET;%p09OKBUKx#q<8XK)8~_xFifELQilUO- z8rAANU=EpM)nRDab@DZfxfhN}qSC$9Va8;Num2xVYqB?B#l)?OhEhZ-Dak3SAkp&5 zNR$Hl50EWDXMjb%%85eCqSt$f1dJZYhy#m_?2U5=5HyPWn#=06V8FqE!s1rf2FSc- z2gicZrUN)8m2OR?da1)!GlQ;Dt}Q93+K*P1ot`ylOBNm4}k&wjo+WX1Qppuv@934314%PrT z&*0Kpn`h{Owd#{vD~F$G)=>bg5osg}gG9pCrx&V*Slv*6AD-IkmSbXq`Beb5)h!8w zU9CJTUmDGe4AB29%qGctresKK>{RP~`v5&yRBZ{|o_z{uAVH>HCjd|H$>X z6!=@{e+&Fib^V{o#r4Mt8=!zMdMxn#TsybZ8$5e+;EnWkASUu=Zt3vN+SB;u@y;L;dM-_>;!giQ;=581eSkrTiuN8Bi*l@w^+Yt3NR{DY7iMFNJZCS0~ zmpdVy>%^fy_&MM4MGQ^GiRkD2;;XVC3|fSP=i4O?vcOrn-V@}})8Wb0>1nnx0DzPXV-JcS>FSHbw#^yP=P zj&<^CZK^uMp3h!{XPiA|elBzB(m?%U|9rN=(8GsWCmc6khcpIscHd%m3mQG>ERy6o zTj>lDY>r>v$9}=>%8-&!=tjn#%4-mv$h3J1JO6IdK>60^h6z1dM?`MdJ`m7cdcN6! zmkpGAZ5W~XukTv3-!Ta7Q?tL#?#$!SG7gqP@}yEoLHn$6zx#Hu4k1UMAdLHzFAL?V R<$)~-R@YSL=3%!J{{+aFumlW0L2V<|LdFqRp{PRN!u5@(j*FjB-I?_1NI=32t-!^O!e~sz<@8200Q~;KS(Dg zzCm$^Z!Yjrm=nO2LKj?`Y90v%tC?AiJGfo=imk3bekKZ{DHgBaTDbYGWH5L&0rFV4 zL;Pj3Ob|9!0b$bawOP6_SM2-n*|UYcn{_oG9F!Q-!n0L{_2WK0oB5{j=&W<*)Ie18 zs9tbzc5}T|YSu`lkv$y!UZ2hVxn*=hD#Z%)8Y3r5RM zu3a9E5hWlkaf2OKq__$oO?n$+CnIm<+&p2GM1b0ri5tig4J8kY)}@NK6d=blj~7*G z#@u%{5KkL1gce3f#b@_gQlMqMy(dd$DWg-(A-(?ZdvJZ%{6F08d%I&;exxfwPxx^x zs-M$BLRI$p(~_sCfzQ!qcAis)(#5|{pUE&A_;s}Rs`p!CChNLQf301MlbTc={D!f8zt`8< z_dyCn`J?+Ej9zpRdq?Q#i$86jdUbtSBu&wdWgro9)GmCWFy`{hd_RX%A6Z%?hs{FJ z^F<5oPo(c#=4h176j%gym!v%z^;EHluk~>{zhQH1rG}|atzl#GsBHI=O+@Xb4=^sj z*TX>r@h6h>-W(NyP+8YdmEyjY@r5r_N<*$U4+ivC7xj>1a3{*lm+-e83;XWlGazjX z4&R8)UVFPxNyuxrQr|O^E19AhyHl=M=H41oJ?!>tG`G&ugT(1s1{X}Uln@~~wS`K+6XgSp)nv!~} zq_oVsA8I~Re9&^CAMHqK@tQl(->NdMiEe)9*_O_&B(L9=OpfY><{Kv{_=HrI7O0&~ z8@%I}ekR$&NWrk)(pr~$@}8X+k?Lr1+3aPRVXnR0ID28q*wX;R3M@tVUbrMc_SG@D;O@|p1lifA0igEY7 zPb;f+CQI7uaOLS(v|T%I)^SZxe=$IOA-KCDbEI{oyE9LVs~F!G7)K&CKQH55E-5n5 z@8k~M{m9Jf@a`97n*3Z60+pydh3eZ$UtnUphNfoKOVJh`{EYFLhZpAK~Y#&m$Cxa(ea=_Y$#2hKU zZ|ZCs3VMX6nVKvhd8j>St+;)E`SB~>-v}NY@#E8_>CF}W(CbP!HMJC_7iN#|j%y8j zgQ{2r^vm3Mxg*+IW$bsb4>}2%?upS;`6g8OG`YGZM!3tmnK_#sm7lclUW(~n{iqkM zOahprm+dgsksEg8-jHL; z3sB+ z?b287GQU9%xUbu6LM#?Zw4pU6OS@YR&zUkMij1hD6hsRIsOQ%N_r_Y6ce*3)KsDWtgw)D*X?;WO z*juS7j65%Izw+MrqES(hnQT-=Xfl6zq2!q!_&|&LBUkaD(}9C4{qK<+7nDOLo}O!# zA%mL201!KoBgEvz+f0N^UrhQhH*X0S^|J;{3!s^1XFSE&8Fer-y831zmI-egeaGLk zt>~Evp*=YxV7@U$H-@7*O>r^t5gZNkmNwJ81-JrG&mPbG4!>UKAlXCmuBoCMef_si z9Mtnvi^wz)%YD^x`JuUKxIH9OA1Rj_51lsOZkgJc}AUVL8WlvT7N7it<|e643KYH|LV*^=0Vw7tG1>6E^G( zF`?e>VfC46W`zj^KEkZ_$JE5^1SRZEq0bR)v9)=(F4S5bMhQwKBaK7^?z3dOl}A|2 zsm7PTKVAKzORzciwJ4_t2h7(=@Pb=U_vP}oaciJ5m}dxnu*ct&H22J;ExF;IlTkCg z6kJG{n_?9Va9$VZ_T+Pnld@OplE~vUoDE3@99V4#%wi)vr?nrHIM?o{9$z|@SEFQp zFiN;FtTiDV%991Pz5&x)*LKJme&3Z%WEQR%8kc@-^)vG>wxl^;fv__&Bn%4-3>1uw`pY(XGHk(|ey5%Trx)xmD2}N_$;WY(vZ$|a zT9~faB!5cEUe6$Wg(lKZ$Ag1)pO--@Z=T0<^!0pwBo>a!z3&xZpi`ldGX0v>s*Q(j z^5B(El8BupV2-&8W!_dxPT4`@eJ0_oLL9S)wAc0>Tlortt`|KN2t166MRQ**ylSBE zs;JvAR=>itW4hq{{Rxg?e07_IoJrXPpLs1Wv#{J0`}s>}&Wae>7kYHhYc};JMV8?^ z+pCuF`w}O<W@?Ec?-8Us*RZ=buI#?hL#u^JZ>7j^!PfFLbqPGN@>!a{evXN5?D0 zYs9i=1C*@T&62q)*uIT(b5*8H-&_Nx?;TLIxU!>^$2@AsMTcvPhwYkyn~egBdk)%7 z^>+y^&aEY5&IhsP<%(2USaeG+l@?|Y)b~$jtZ`-!&a=P2J7<-aa;oW&TYGkunx7zB zNl2W@kezFgyX)qzz*6yB>R^s?vVkq$a)27pH|ippyP;J{wl0 zhuhN~#(MZFo4=^K0GfGG-fu;(t#XrLwmhSGvS}j&1Y!s$YHOPrXlws=qoCa*GS4QU z^&8Fj&YN1?hVbuHiB#6PW3pE#TKNqBMKh5X?1iZG+QnU05Mq)tm%>~gJ<57~_gr*I z5qD7-c$H~n?ES6x5b?KZe0EK~jiQGp2PwYuY8uX#=>#uh&=vQLDZJLx3G2sQ(hZ9& z@UY6KM{y>J<{t}-1Ez0PM}IoH`A|LIwBr;fYh+W&Q@Gm**T|Idz)-EJ5JucqTX5$phapD+G%&Y*=}-7 ziF0x(1t@whpvN11GK_gQ`c;c&JAD1x8}?mYT9Yt0M%x7%a4bIp1SVSk#Wl9Q0^{`2trCV12=c*eF#vz{-!3E z;=Z|DICt(2@UpEih4G;uURrmG4;9LMI z7z;QN-O-TwnmP!Wh(|+g6pZ1<9@>C2QQw~oSooV*;{083NIXPcja}6jMI&$ns2H%X zo2xqo<%@=F@uFz&^llggyal1UpdlxX&A{3uG5|)%AY|ZBU0Fo~Z1?F!0q9*@al7IPFj`Psp10c^GcY#$X+xLMiRk9BWkE-8N8)im zaUNb|*DVYl2LoIIH(DSR8nf&l@Khq<_XYaHeCQ+p5(v%RPyRokf75F#mMvXTIwYJI z-Kl{N8bXg3g(u;Nc+}P_fK-;3S0*5#SO5=)BIFfuP^2tU35v%mU@&q37K_9I+o%lO zDO8L*4xm%f$YqE$9vlLY#UOC9Pz*sq0gAxku~4j%92SZP6y%kVNO?s$dE7P%Q!iai71sDI7#XW*Yq=Cr+zLM8hd{D(>XFP!T4bk(QXlE{AB{96E? z-&@}|Bv;~=RABJdCV;}=zROR+cmw#YC7|i}eF*1_ad!e}yX}us`>mh&CuyvtsE7d+ z5pqxj5)VKTiVAqBG6ty#MJmeyNF@Rsk5l}f#y{C9Bm&h3Lk2XRXgNSzXIg1(tuy$@ zR`yB$F%}L;Y=fs`M?#*ci2409E>ygfgIKo`si(hbs{v z|52FV66N3Ew%Pwk%Kv1(9roQ?o8;j~D_Uo&sgL_#y8jd4cLpOO4sfTC{wnnCkngf= zJ9lU?fA6E6XSCxH_VaxFkrwpI`7eHcq}zYd1C9D0Cx1)df8_c{uD_+g-va-WUH{1S zw-oqW;D55~|4lCT-*4D}JMAAmAKLwyUq8E?cK6tXZIx21qU z9DC?L2GEtv{j|=VR0Ct(onxGw3=oDxW)C<)AjVGyI+~Wg{d0qwm$KnJ8Yg1N>DGs? z&)0P_+N?Psb zMYI(|8;*V{yR4w8wme&4JYS6Fy90Vm^beksy3Ux+90me|SV4>-fAJ79eU=N%SGdf4 zMYtoh-tGNHlDiZ`kGBoa-HONVqaS%UaM%=&5!O>I&dI#HccH2PQ!^Jt#4J%U1kaaiLS10taW~CFvLfI+C z^z(9e+RBCtFq%0j(-wq{)y$rekuNO-^jMtUJj#>=+XH2?V$ue&v1%|f#)p8!!1UKJ b{tX8ImQ}IM#r;*ZdH@;dn&=d1{Sx*+aQ2=H diff --git a/qtile/.config/qtile/icons/doc.png b/qtile/.config/qtile/icons/doc.png deleted file mode 100644 index adbd8ef01111fa87bc20dc9089016bcfb47d3ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6426 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 H;NAZK^5>)F diff --git a/qtile/.config/qtile/icons/firefox.png b/qtile/.config/qtile/icons/firefox.png deleted file mode 100644 index ea965573624589851bb0685cb3bf015c07f98351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9194 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 b;>4EOwg`Ktz>!N}CIgmcwx*@V-Ut2#m$PG( diff --git a/qtile/.config/qtile/icons/ram.png b/qtile/.config/qtile/icons/ram.png deleted file mode 100644 index 85eeb0f7690ba37c40502e42c2280f1919ed2ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSY)RhkE)4%caKYZ?lNlJ8mU+53 zhE&XXd&k#bI8fr~$KulgO5JJ-uFRV*{BVufaB%vIMQ?n1)HFT`#@yIZnC*0^iN#Pa zbCDsV*{lz)S9q5=W^Gvcku|z1R-rI_*;yO5ihujR&Mls8tzN#&I8zm9B_Z%(f9o3N z^!v75k?D`-FI{=m=X|8zX@fa-A_pwF9>}m3^f6huGtN1^hruw*^0kl5rij}ruMd3u zcd`9y*jkOFvonvG+x@w4?bo_l_xX0sTE2fmM$)bohprwpo?EZtmH+zdt>$%Vo{FDk z7uZDR@tPEutGrzzxqoZm>#C0`D{p3GRxd7l_WA#ZhkZ?bsx9kn&@M*#TKmnaMI|0bIhfG8ME>w@7aCN zz76F5{Zn_<=>8UlljmF1d)4Q>wRPZlJng5P%6)d<>ld~#7(UaBepW5uv?pn1{%+Uf z1&2-UH%i>PuKW2cS3s2RSIrmGLifo(EX&+_C4FjMSi{1F7b88z*L;%QX<=hibYJVv z5{BaJV&|ZmS!p@-3%`p``YCdJ-nSahF2nCR|Nj2@IZyqS!td>kv!5=pT@XIW?NZPD z8G7Hgbo_K$-R^&YOrF-dDdwkV?%%ilN9=)3OR6KEJ5BnMl$m9C`E=t^)rQIW z>Yukh^_*Lb7F&NT4-~Gtnsxj?zl5~(>mM`s$j>(|V|cF7fTnOU!?{3+FrH-cfaMpn Xvhb-ok!v4Mfs}c=`njxgN@xNA*oIDL diff --git a/qtile/.config/qtile/icons/spotify.png b/qtile/.config/qtile/icons/spotify.png deleted file mode 100644 index aa374a89b15df7428b3d0d2c7a8edf62b879b89f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9392 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 AU;qFB diff --git a/qtile/.config/qtile/icons/whatsapp.png b/qtile/.config/qtile/icons/whatsapp.png deleted file mode 100644 index db36f4bf254416bba66a07ecbdb12ba17927fe06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9951 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 W-TRzQ=nA2L0qV-yO3xLnL;nwj&Cufj 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