diff --git a/Xresources b/Xresources
index b9afe19..85269c9 100644
--- a/Xresources
+++ b/Xresources
@@ -1,6 +1,6 @@
!! URxvt Appearance
urxvt*termName: rxvt-256color
-urxvt*font: xft:Terminus:style=Regular:size=16
+urxvt*font: xft:Terminus:style=Regular:size=12
Xft.autohint: true
Xft.antialias: true
Xft.hinting: true
diff --git a/bash_home b/bash_home
deleted file mode 100644
index 46ee715..0000000
--- a/bash_home
+++ /dev/null
@@ -1,39 +0,0 @@
-alias activateTop='xrandr --output DP-3 --auto --above eDP-1-1'
-alias activateSync='nvidia-settings --assign CurrentMetaMode="DP-3: nvidia-auto-select +1920+0 {ForceCompositionPipeline=On},DVI-I-3-2: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"'
-alias activateLeft='xrandr --output DP-4 --auto --left-of DP-3; i3-msg restart'
-alias activateDisplayLink='xrandr --setprovideroutputsource 3 0'
-alias closeLaptop='xrandr --output eDP-1-1 --off'
-alias activateHome='closeLaptop; activateLeft; activateSync'
-alias scan='scanimage --device "airscan:w0:CANON INC. TS6100 series" --format=png --output-file file.png --progress'
-
-alias weather="curl wttr.in/Phoenix"
-alias asuvpn='sudo openconnect --csd-wrapper=/usr/lib/openconnect/csd-post.sh --disable-ipv6 --no-proxy --pfs --base-mtu=1000 sslvpn.asu.edu/2fa'
-alias fixWifi='sudo rmmod iwlmvm; sudo rmmod iwlwifi; sudo modprobe iwlmvm; sudo modprobe iwlwifi'
-
-alias paraview='~/Projects/paraview/install/bin/paraview'
-
-export PATH=/home/frosty/.local/bin:$PATH
-export PATH=/home/frosty/Projects/paraview/install/bin:$PATH
-export PATH=/opt/cisco/anyconnect/bin:$PATH
-export PATH=/home/frosty/Programs/CXX/parsplice/install/bin:$PATH
-
-# LAMMPS dependencies
-export PYTHONPATH=/home/frosty/Apps/lammps/python:$PYTHONPATH
-export LD_LIBRARY_PATH=/home/frosty/Apps/lammps/install/lib:$LD_LIBRARY_PATH
-export PATH=/home/frosty/Apps/lammps/install/bin:$PATH
-export PATH=/home/frosty/Programs/Rust/CommandPrompter/target/debug:$PATH
-
-#paraview python module
-export LD_LIBRARY_PATH=/home/frosty/Projects/paraview/install/lib:$LD_LIBRARY_PATH
-export PYTHONPATH=/home/frosty/Projects/paraview/install/lib/python3.9/site-packages/:$PYTHONPATH
-
-#LANL proxy; make sure to comment out after the summer
-#export http_proxy="http://proxyout.lanl.gov:8080"
-#export https_proxy="http://proxyout.lanl.gov:8080"
-#export ftp_proxy="http://proxyout.lanl.gov:8080"
-#export HTTP_PROXY="http://proxyout.lanl.gov:8080"
-#export HTTPS_PROXY="http://proxyout.lanl.gov:8080"
-#export FTP_PROXY="http://proxyout.lanl.gov:8080"
-
-(cat ~/.cache/wal/sequences &)
-clear
diff --git a/bashrc b/bashrc
deleted file mode 100644
index 7a08297..0000000
--- a/bashrc
+++ /dev/null
@@ -1,49 +0,0 @@
-# ~/.bashrc
-#
-
-# If not running interactively, don't do anything
-[[ $- != *i* ]] && return
-
-if [[ -f ~/.bash_home ]]; then
- . ~/.bash_home
-fi
-
-# later switch to emacs client when the emacs server is running
-alias emacs='emacsclient -ct --eval "(load \"~/.emacs\")"'
-alias killEmacs='systemctl --user disable --now emacs'
-alias startEmacs='systemctl --user enable --now emacs'
-alias ls='ls --color=auto'
-alias diff='diff --color=auto'
-alias grep='grep --color=auto'
-alias cp="rsync -r --progress"
-alias mv="rsync -aP --remove-source-files"
-
-export PATH=/home/local/ASUAD/rhnatysh/ParaView/install/bin:$PATH
-
-export FLASK_ENV=development
-# paraview Python module path vars
-export LD_LIBRARY_PATH=/home/local/ASUAD/rhnatysh/ParaView/install/lib:$LD_LIBRARY_PATH
-export PYTHONPATH=/home/local/ASUAD/rhnatysh/ParaView/install/lib/python3.8/site-packages/:$PYTHONPATH
-
-GREEN="\[$(tput setaf 4)\]"
-GREENER="\[$(tput setaf 2)\]"
-RESET="\[$(tput sgr0)\]"
-
-PS1="${GREEN}\u@\h ${GREENER}\W ${RESET}> "
-
-# >>> conda initialize >>>
-# !! Contents within this block are managed by 'conda init' !!
-__conda_setup="$('/home/local/ASUAD/rhnatysh/Apps/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
-if [ $? -eq 0 ]; then
- eval "$__conda_setup"
-else
- if [ -f "/home/local/ASUAD/rhnatysh/Apps/miniconda3/etc/profile.d/conda.sh" ]; then
- . "/home/local/ASUAD/rhnatysh/Apps/miniconda3/etc/profile.d/conda.sh"
- else
- export PATH="/home/local/ASUAD/rhnatysh/Apps/miniconda3/bin:$PATH"
- fi
-fi
-unset __conda_setup
-# <<< conda initialize <<<
-
-[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
diff --git a/dunst/dunstrc b/dunst/dunstrc
new file mode 100644
index 0000000..6e1d516
--- /dev/null
+++ b/dunst/dunstrc
@@ -0,0 +1,432 @@
+[global]
+ ### Display ###
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 0
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a window manager that exports the
+ # _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern window managers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option
+ # will be ignored.
+ follow = mouse
+
+ # The geometry of the window:
+ # [{width}]x{height}[+/-{x}+/-{y}]
+ # The geometry of the message window.
+ # The height is measured in number of notifications everything else
+ # in pixels. If the width is omitted but the height is given
+ # ("-geometry x2"), the message window expands over the whole screen
+ # (dmenu-like). If width is 0, the window expands to the longest
+ # message displayed. A positive x is measured from the left, a
+ # negative from the right side of the screen. Y is measured from
+ # the top and down respectively.
+ # The width can be negative. In this case the actual width is the
+ # screen width minus the width defined in within the geometry option.
+ geometry = "300x5-30+20"
+
+ # Show how many messages are currently hidden (because of geometry).
+ indicate_hidden = yes
+
+ # Shrink window if it's smaller than the width. Will be ignored if
+ # width is 0.
+ shrink = no
+
+ # The transparency of the window. Range: [0; 100].
+ # This option will only work if a compositing window manager is
+ # present (e.g. xcompmgr, compiz, etc.).
+ transparency = 0
+
+ # The height of the entire notification. If the height is smaller
+ # than the font height and padding combined, it will be raised
+ # to the font height and padding.
+ notification_height = 0
+
+ # Draw a line of "separator_height" pixel height between two
+ # notifications.
+ # Set to 0 to disable.
+ separator_height = 2
+
+ # Padding between text and separator.
+ padding = 8
+
+ # Horizontal padding.
+ horizontal_padding = 8
+
+ # Defines width in pixels of frame around the notification window.
+ # Set to 0 to disable.
+ frame_width = 3
+
+ # Defines color of the frame around the notification window.
+ frame_color = "#000000"
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background;
+ # * foreground: use the same color as the foreground;
+ # * frame: use the same color as the frame;
+ # * anything else will be interpreted as a X color.
+ separator_color = frame
+
+ # Sort messages by urgency.
+ sort = yes
+
+ # Don't remove messages, if the user is idle (no mouse or keyboard input)
+ # for longer than idle_threshold seconds.
+ # Set to 0 to disable.
+ # A client can set the 'transient' hint to bypass this. See the rules
+ # section for how to disable this if necessary
+ idle_threshold = 120
+
+ ### Text ###
+
+ font = Iosevka 12
+
+ # The spacing between lines. If the height is smaller than the
+ # font height, it will get raised to the font height.
+ line_height = 0
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+
+ format = "%a\n%s\n%b\n%p"
+
+ # Alignment of message text.
+ # Possible values are "left", "center" and "right".
+ alignment = center
+
+ # Vertical alignment of message text and icon.
+ # Possible values are "top", "center" and "bottom".
+ vertical_alignment = center
+
+ # Show age of message if message is older than show_age_threshold
+ # seconds.
+ # Set to -1 to disable.
+ show_age_threshold = 60
+
+ # Split notifications into multiple lines if they don't fit into
+ # geometry.
+ word_wrap = yes
+
+ # When word_wrap is set to no, specify where to make an ellipsis in long lines.
+ # Possible values are "start", "middle" and "end".
+ ellipsize = middle
+
+ # Ignore newlines '\n' in notifications.
+ ignore_newline = no
+
+ # Stack together notifications with the same content
+ stack_duplicates = true
+
+ # Hide the count of stacked notifications with the same content
+ hide_duplicate_count = false
+
+ # Display indicators for URLs (U) and actions (A).
+ show_indicators = yes
+
+ ### Icons ###
+
+ # Align icons left/right/off
+ icon_position = left
+
+ # Scale small icons up to this size, set to 0 to disable. Helpful
+ # for e.g. small files or high-dpi screens. In case of conflict,
+ # max_icon_size takes precedence over this.
+ min_icon_size = 0
+
+ # Scale larger icons down to this size, set to 0 to disable
+ max_icon_size = 32
+
+ # Paths to default icons.
+ icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
+
+ ### History ###
+
+ # Should a notification popped up from history be sticky or timeout
+ # as if it would normally do.
+ sticky_history = yes
+
+ # Maximum amount of notifications kept in history
+ history_length = 20
+
+ ### Misc/Advanced ###
+
+ # dmenu path.
+ dmenu = /usr/bin/dmenu -p dunst:
+
+ # Browser for opening urls in context menu.
+ browser = /usr/bin/firefox -new-tab
+
+ # Always run rule-defined scripts, even if the notification is suppressed
+ always_run_script = true
+
+ # Define the title of the windows spawned by dunst
+ title = Dunst
+
+ # Define the class of the windows spawned by dunst
+ class = Dunst
+
+ # Print a notification on startup.
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = false
+
+ # Manage dunst's desire for talking
+ # Can be one of the following values:
+ # crit: Critical features. Dunst aborts
+ # warn: Only non-fatal warnings
+ # mesg: Important Messages
+ # info: all unimportant stuff
+ # debug: all less than unimportant stuff
+ verbosity = mesg
+
+ # Define the corner radius of the notification window
+ # in pixel size. If the radius is 0, you have no rounded
+ # corners.
+ # The radius will be automatically lowered if it exceeds half of the
+ # notification height to avoid clipping text and/or icons.
+ corner_radius = 0
+
+ # Ignore the dbus closeNotification message.
+ # Useful to enforce the timeout set by dunst configuration. Without this
+ # parameter, an application may close the notification sent before the
+ # user defined timeout.
+ ignore_dbusclose = false
+
+ ### Legacy
+
+ # Use the Xinerama extension instead of RandR for multi-monitor support.
+ # This setting is provided for compatibility with older nVidia drivers that
+ # do not support RandR and using it on systems that support RandR is highly
+ # discouraged.
+ #
+ # By enabling this setting dunst will not be able to detect when a monitor
+ # is connected or disconnected which might break follow mode if the screen
+ # layout changes.
+ force_xinerama = false
+
+ ### mouse
+
+ # Defines list of actions for each mouse event
+ # Possible values are:
+ # * none: Don't do anything.
+ # * do_action: If the notification has exactly one action, or one is marked as default,
+ # invoke it. If there are multiple and no default, open the context menu.
+ # * close_current: Close current notification.
+ # * close_all: Close all notifications.
+ # These values can be strung together for each mouse event, and
+ # will be executed in sequence.
+ mouse_left_click = close_current
+ mouse_middle_click = do_action, close_current
+ mouse_right_click = close_all
+
+# Experimental features that may or may not work correctly. Do not expect them
+# to have a consistent behaviour across releases.
+[experimental]
+ # Calculate the dpi to use on a per-monitor basis.
+ # If this setting is enabled the Xft.dpi value will be ignored and instead
+ # dunst will attempt to calculate an appropriate dpi value for each monitor
+ # using the resolution and physical size. This might be useful in setups
+ # where there are multiple screens with very different dpi values.
+ per_monitor_dpi = false
+
+[shortcuts]
+
+ # Shortcuts are specified as [modifier+][modifier+]...key
+ # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
+ # "mod3" and "mod4" (windows-key).
+ # Xev might be helpful to find names for keys.
+
+ # Close notification.
+ close =ctrl+space
+
+ # Close all notifications.
+ close_all = ctrl+shift+space
+
+ # Redisplay last message(s).
+ # On the US keyboard layout "grave" is normally above TAB and left
+ # of "1". Make sure this key actually exists on your keyboard layout,
+ # e.g. check output of 'xmodmap -pke'
+ history = ctrl+grave
+
+ # Context menu.
+ context = ctrl+shift+period
+
+[urgency_low]
+ # IMPORTANT: colors have to be defined in quotation marks.
+ # Otherwise the "#" and following would be interpreted as a comment.
+ background = "#000000"
+ foreground = "#888888"
+ timeout = 5
+ # Icon for notifications with low urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_normal]
+ background = "#000000"
+ foreground = "#ffffff"
+ timeout = 5
+ # Icon for notifications with normal urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_critical]
+ background = "#000000"
+ foreground = "#ffffff"
+ frame_color = "#ff0000"
+ timeout = 5
+ # Icon for notifications with critical urgency, uncomment to enable
+ #icon = /path/to/icon
+
+# Every section that isn't one of the above is interpreted as a rules to
+# override settings for certain messages.
+#
+# Messages can be matched by
+# appname (discouraged, see desktop_entry)
+# body
+# category
+# desktop_entry
+# icon
+# match_transient
+# msg_urgency
+# stack_tag
+# summary
+#
+# and you can override the
+# background
+# foreground
+# format
+# frame_color
+# fullscreen
+# new_icon
+# set_stack_tag
+# set_transient
+# timeout
+# urgency
+#
+# Shell-like globbing will get expanded.
+#
+# Instead of the appname filter, it's recommended to use the desktop_entry filter.
+# GLib based applications export their desktop-entry name. In comparison to the appname,
+# the desktop-entry won't get localized.
+#
+# SCRIPTING
+# You can specify a script that gets run when the rule matches by
+# setting the "script" option.
+# The script will be called as follows:
+# script appname summary body icon urgency
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: if you don't want a notification to be displayed, set the format
+# to "".
+# NOTE: It might be helpful to run dunst -print in a terminal in order
+# to find fitting options for rules.
+
+# Disable the transient hint so that idle_threshold cannot be bypassed from the
+# client
+#[transient_disable]
+# match_transient = yes
+# set_transient = no
+#
+# Make the handling of transient notifications more strict by making them not
+# be placed in history.
+#[transient_history_ignore]
+# match_transient = yes
+# history_ignore = yes
+
+# fullscreen values
+# show: show the notifications, regardless if there is a fullscreen window opened
+# delay: displays the new notification, if there is no fullscreen window active
+# If the notification is already drawn, it won't get undrawn.
+# pushback: same as delay, but when switching into fullscreen, the notification will get
+# withdrawn from screen again and will get delayed like a new notification
+#[fullscreen_delay_everything]
+# fullscreen = delay
+#[fullscreen_show_critical]
+# msg_urgency = critical
+# fullscreen = show
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+# # This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+#[history-ignore]
+# # This notification will not be saved in history
+# summary = "foobar"
+# history_ignore = yes
+
+#[skip-display]
+# # This notification will not be displayed, but will be included in the history
+# summary = "foobar"
+# skip_display = yes
+
+#[signed_on]
+# appname = Pidgin
+# summary = "*signed on*"
+# urgency = low
+#
+#[signed_off]
+# appname = Pidgin
+# summary = *signed off*
+# urgency = low
+#
+#[says]
+# appname = Pidgin
+# summary = *says*
+# urgency = critical
+#
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+#[stack-volumes]
+# appname = "some_volume_notifiers"
+# set_stack_tag = "volume"
+#
+# vim: ft=cfg
diff --git a/emacs b/emacs
deleted file mode 100644
index d580f1f..0000000
--- a/emacs
+++ /dev/null
@@ -1,532 +0,0 @@
-(require 'package)
-;; fixing broken emacsclient config: emacsclient --eval "(load "~/.emacs")"
-
-(add-to-list 'package-archives '("elpa" . "https://tromey.com/elpa/") t)
-(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
-(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
-(add-to-list 'package-archives
- '("xaldew" . "https://gustafwaldemarson.com/elpa/"))
-(add-to-list 'package-unsigned-archives "xaldew")
-(package-initialize)
-
-;; emacs preferences
-(setq-default cursor-type 'bar)
-(global-hl-line-mode 1)
-(toggle-scroll-bar -1)
-(scroll-bar-mode -1)
-(menu-bar-mode -1)
-(tool-bar-mode -1)
-(column-number-mode t)
-(set-fringe-mode 5)
-(setq doc-view-scale-internally nil)
-(setq visible-bell t)
-(setq vc-handled-backends nil)
-(fset 'yes-or-no-p 'y-or-n-p)
-(show-paren-mode t)
-(setq show-paren-style 'expression)
-(save-place-mode t)
-(setq-default indent-tabs-mode nil
- tab-width 4)
-
-(set-language-environment "utf-8")
-(prefer-coding-system 'utf-8-unix)
-(set-locale-environment "en_US.UTF-8")
-(set-default-coding-systems 'utf-8-unix)
-(set-selection-coding-system 'utf-8-unix)
-(set-buffer-file-coding-system 'utf-8-unix)
-(set-clipboard-coding-system 'utf-8)
-(set-keyboard-coding-system 'utf-8)
-(set-terminal-coding-system 'utf-8)
-(setq coding-system-for-read 'utf-8)
-(setq coding-system-for-write 'utf-8)
-
-(defun remove-scratch-buffer ()
- (if (get-buffer "*scratch*")
- (kill-buffer "*scratch*")))
-(add-hook 'after-change-major-mode-hook 'remove-scratch-buffer)
-
-(setf epa-pinentry-mode 'loopback)
-
-;; only show line numbers in programming mode
-(defun display-numbers-hook ()
- (display-line-numbers-mode t))
-(add-hook 'prog-mode-hook 'display-numbers-hook)
-
-(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
-(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
-(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
-(setq scroll-step 1) ;; keyboard scroll one line at a time
-
-(setq custom-file (concat user-emacs-directory "custom.el"))
-(load custom-file 'noerror)
-
-(setq interprogram-cut-function nil)
-(setq backup-directory-alist '(("" . "~/.emacs.d/backup")))
-
-(setq package-check-signature nil)
-(defun ensure-package-installed (&rest packages)
- "Assure every package is installed, ask for installation if it’s not.
-
-Return a list of installed packages or nil for every skipped package."
- (mapcar
- (lambda (package)
- ;; (package-installed-p 'evil)
- (if (package-installed-p package)
- nil
- (if (y-or-n-p (format "Package %s is missing. Install it? " package))
- (package-install package)
- package)))
- packages))
-
-;; make sure to have downloaded archive description.
-;; Or use package-archive-contents as suggested by Nicolas Dudebout
-(or (file-exists-p package-user-dir)
- (package-refresh-contents))
-
-(ensure-package-installed 'use-package 'ivy 'magit 'centaur-tabs 'lsp-mode 'lsp-ui 'lsp-ivy 'dashboard 'flycheck 'which-key 'doom-themes 'rainbow-mode 'rainbow-delimiters 'all-the-icons 'rustic 'simpleclip 'hl-todo 'powerline 'format-all 'auctex 'counsel 'swiper 'projectile 'org-roam 'smex 'smartparens 'origami 'company-quickhelp 'org-mime 'verb 'telephone-line 'undo-fu 'neotree 'restart-emacs 'git-timemachine 'org-super-agenda 'pyvenv)
-
-;; need this after installation - makes it possible to bootstrap
-(eval-when-compile
- (require 'use-package))
-
-(use-package flycheck
- :hook (prog-mode . flycheck-mode)
- :config (setq flycheck-checker-error-threshold 1000))
-
-(use-package company
- :custom
- (company-minimum-prefix-length 1)
- (company-idle-delay 0.0)
- (company-tooltip-align-annotations t)
- :config
- (global-company-mode)
-)
-
-(use-package company-quickhelp
- :ensure t
- :init
- (company-quickhelp-mode))
-
-(use-package lsp-mode
- :after company
- :commands lsp
- :config
- (flyspell-prog-mode)
- (setq gc-cons-threshold 100000000
- read-process-output-max (* 1024 1024)
- lsp-completion-provider :capf
- lsp-keep-workspace-alive nil
- lsp-enable-xref t
- lsp-enable-indentation t
- lsp-signature-auto-activate t
- lsp-idle-delay 0.2
- create-lockfiles nil
- lsp-enable-on-type-formatting t
- lsp-before-save-edits t
- lsp-enable-imenu nil
- lsp-completion-enable t
- lsp-enable-snippet nil
- lsp-eldoc-render-all t
- lsp-enable-file-watchers nil
- lsp-enable-folding nil
- lsp-modeline-diagnostics-enable nil
- lsp-headerline-breadcrumb-enable nil
- lsp-semantic-tokens-enable nil)
- :hook ((js-mode js-jsx-mode python-mode svelte-mode ) . lsp-deferred)
- )
-
-(with-eval-after-load 'js
- (define-key js-mode-map (kbd "M-.") nil))
-
-(use-package lsp-pyright
- :ensure t
- :hook (python-mode . (lambda ()
- (require 'lsp-pyright)
- (lsp-deferred))))
-
-(use-package yasnippet
- :defer nil
- :hook (lsp-mode . yas-minor-mode)
- :diminish yas-minor-mode
- :custom
- (yas-indent-line nil)
- (yas-inhibit-overlap-modification-protection t)
- :custom-face
- (yas-field-highlight-face ((t (:inherit region)))))
-
-(use-package lsp-ui
- :after flycheck
- :diminish
- :commands lsp-ui-mode
- :bind
- (:map lsp-ui-mode-map
- ("M-i" . lsp-ui-doc-focus-frame))
- :custom
- (lsp-ui-flycheck-enable t)
- (lsp-ui-doc-header t)
- (lsp-ui-doc-show-with-cursor t)
- (lsp-ui-doc-include-signature t)
- (lsp-ui-sideline-show-code-actions t)
- (lsp-ui-doc-delay 0.2)
- (lsp-ui-peek-enable t)
- (lsp-ui-peek-show-directory nil)
- :hook
- (lsp-mode . lsp-ui-mode)
-)
-
-(use-package pyvenv
- :defer t)
-
-(use-package neotree
- :config
- (global-set-key [f8] 'neotree-toggle)
- (setq neo-show-hidden-files t
- neo-theme 'icons
- neo-smart-open t))
-
-(use-package undo-fu
- :config
- (global-unset-key (kbd "C-z"))
- (global-set-key (kbd "C-z") 'undo-fu-only-undo)
- (global-set-key (kbd "C-S-z") 'undo-fu-only-redo))
-
-(use-package telephone-line
- :init
- (setq telephone-line-primary-left-separator 'telephone-line-cubed-left
- telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left
- telephone-line-primary-right-separator 'telephone-line-cubed-right
- telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right
- telephone-line-height 24)
- :config
- (telephone-line-mode 1))
-
-(use-package magit
- :defer
- :ensure t)
-
-;; (use-package bm
-;; :ensure t
-;; :demand t
-;; :init
-;; (setq bm-restore-repository-on-load t)
-;; (setq bm-repository-file "~/.emacs.d/bm-repository")
-
-;; ;; save bookmarks
-;; (setq-default bm-buffer-persistence t)
-;; :config
-;; (add-hook 'after-init-hook 'bm-repository-load)
-;; ;; Saving bookmarks
-;; (add-hook 'kill-buffer-hook #'bm-buffer-save)
-;; (add-hook 'kill-emacs-hook #'(lambda nil
-;; (bm-buffer-save-all)
-;; (bm-repository-save)))
-;; (add-hook 'find-file-hook #'bm-buffer-restore)
-;; :bind (("" . bm-next)
-;; ("S-" . bm-previous)
-;; ("C-" . bm-toggle)))
-
-;; (global-set-key (kbd " ") 'bm-next-mouse)
-;; (global-set-key (kbd " ") 'bm-previous-mouse)
-;; (global-set-key (kbd " ") 'bm-toggle-mouse)
-
-(use-package origami
- :bind
- (:map origami-mode-map
- ("C-c C-" . origami-toggle-node)))
-
-(add-hook 'prog-mode-hook #'origami-mode)
-(use-package smartparens-config
- :bind
- (:map smartparens-mode-map
- ("C-M-a" . sp-beginning-of-sexp)
- ("C-M-e" . sp-end-of-sexp)
- ("C-" . sp-down-sexp)
- ("C-" . sp-up-sexp)
- ("M-" . sp-backward-down-sexp)
- ("M-" . sp-backward-up-sexp)
- ("C-M-f" . sp-forward-sexp)
- ("C-M-b" . sp-backward-sexp)
- ("C-M-n" . sp-next-sexp)
- ("C-M-p" . sp-previous-sexp)
- ("C-S-f" . sp-forward-symbol)
- ("C-S-b" . sp-backward-symbol)
- ("C-" . sp-forward-slurp-sexp)
- ("M-" . sp-forward-barf-sexp)
- ("C-" . sp-backward-slurp-sexp)
- ("M-" . sp-backward-barf-sexp)
- ("C-M-t" . sp-transpose-sexp)
- ("C-M-k" . sp-kill-sexp)
- ("C-k" . sp-kill-hybrid-sexp)
- ("M-k" . sp-backward-kill-sexp)
- ("C-M-w" . sp-copy-sexp)
- ("C-M-d" . delete-sexp)
- ("M-" . backward-kill-word)
- ("C-" . sp-backward-kill-word)
- ([remap sp-backward-kill-word] . backward-kill-word)
- ("M-[" . sp-backward-unwrap-sexp)
- ("M-]" . sp-unwrap-sexp)
- ("C-x C-t" . sp-transpose-hybrid-sexp)
- ("C-c (" . wrap-with-parens)
- ("C-c [" . wrap-with-brackets)
- ("C-c {" . wrap-with-braces)
- ("C-c '" . wrap-with-single-quotes)
- ("C-c \"" . wrap-with-double-quotes)
- ("C-c _" . wrap-with-underscores)
- ("C-c `" . wrap-with-back-quotes))
- :config
- (add-hook 'prog-mode-hook #'smartparens-mode))
-
-
-(use-package centaur-tabs
- :init
- (setq centaur-tabs-enable-key-bindings t
- centaur-tabs-set-icons t
- centaur-tabs-set-modified-marker t
- centaur-tabs-style "chamfer"
- centaur-tabs-gray-out-icons 'buffer)
- :config
- (centaur-tabs-group-by-projectile-project)
- (centaur-tabs-headline-match)
- (centaur-tabs-mode 1))
-
-(add-hook 'after-init-hook #'global-flycheck-mode)
-(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
-(add-hook 'css-mode-hook #'rainbow-mode)
-
-(when (fboundp 'windmove-default-keybindings)
- (windmove-default-keybindings))
-
-(use-package which-key
- :config
- (which-key-mode))
-
-;; (use-package multiple-cursors)
-;; (global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
-;; (global-set-key (kbd "C->") 'mc/mark-next-like-this)
-;; (global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
-;; (global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
-
-(use-package ivy :ensure t
- :diminish ivy-mode
- :config
- (ivy-mode 1)
- (setq ivy-height 13)
- (setq ivy-wrap t)
- (setq ivy-use-virtual-buffers t)
- (setq ivy-count-format "(%d/%d) "))
-
-(use-package lsp-ivy
- :after lsp-mode ivy
- :commands lsp-ivy-workspace-symbol)
-
-(use-package counsel
- :ensure t
- :bind*
- (("M-x" . counsel-M-x)
- ("C-c d d" . counsel-descbinds)
- ("C-x C-f" . counsel-find-file)
- ("C-x r f" . counsel-recentf)
- ("C-c g g" . counsel-git)
- ("C-c g G" . counsel-git-grep)
- ("C-x l" . counsel-locate)
- ("C-c g s" . counsel-grep-or-swiper)
- ("C-M-y" . counsel-yank-pop)
- ("C-c C-r" . ivy-resume)
- ("C-c i m" . counsel-imenu)
- ("C-c i M" . ivy-imenu-anywhere)
- ("C-c d s" . describe-symbol)))
-
-(use-package swiper
- :bind*
- (("C-s" . swiper)))
-(setq search-default-mode #'char-fold-to-regexp)
-
-(use-package projectile
- :ensure t
- :init
- (projectile-mode +1)
- :config
- (setq projectile-sort-order 'recentf
- projectile-require-project-root t
- projectile-completion-system 'ivy
- projectile-switch-project-action 'neotree-projectile-action)
- :bind (:map projectile-mode-map
- ("s-p" . projectile-command-map)
- ("C-c p" . projectile-command-map)))
-
-(defun trigger-org-company-complete ()
- "Begins company-complete in org-mode buffer after pressing #+ chars."
- (interactive)
- (if (string-equal "#" (string (preceding-char)))
- (progn
- (insert "+")
- (company-complete))
- (insert "+")))
-
-;; org settings
-(use-package org
- :mode ("\\.org\\'" . org-mode)
- :bind
- (:map org-mode-map
- ("C-c C-r" . verb-command-map)
- ("+" . 'trigger-org-company-complete))
- (:map global-map
- ("C-c a" . org-agenda)
- ("C-c l" . org-store-link))
- :config
- (setq org-replace-disputed-keys t
- org-enforce-todo-dependencies t
- org-enforce-todo-checkbox-dependencies t
- org-log-done nil
- org-clock-idle-time 10
- org-startup-with-inline-images t
- org-startup-folded t
- org-pretty-entities t
- org-hide-leading-stars t
- org-hide-emphasis-markers t
- org-fontify-whole-heading-line t
- org-fontify-done-headline t
- org-fontify-quote-and-verse-blocks t
- org-startup-with-latex-preview t
- org-src-tab-acts-natively t
- org-src-fontify-natively t
- org-confirm-elisp-link-function nil
- org-display-custom-times t
- org-time-stamp-custom-formats '("<%a %b %e %Y>" . "<%a %b %e %Y %H:%M>")
- org-tag-alist '(("bug" . ?b) ("feature" . ?f) ("polish" . ?p) ("optimization" . ?o) ("devops" . ?d) ("reading" . ?r) ("writing" . ?w))
- org-agenda-custom-commands
- '(("p" "Projects" todo "TODO"
- ((org-agenda-files '("~/Documents/org-mode/projects.org"))
- (org-agenda-sorting-strategy '(priority-down)))
- ))
- org-agenda-skip-scheduled-if-done t
- org-agenda-skip-deadline-if-done t
- org-agenda-todo-ignore-deadlines t
- org-agenda-todo-ignore-with-date t
- org-agenda-todo-ignore-scheduled t
- org-agenda-start-on-weekday nil
- org-agenda-skip-additional-timestamps-same-entry nil
- org-agenda-compact-blocks t
- org-agenda-block-separator nil
- org-agenda-start-day "+0d")
- :hook
- (org-agenda-mode . origami-mode)
- )
-
-(use-package org-super-agenda
- :after org
- :ensure t
- :config
- (setq org-super-agenda-groups
- '(
- (:auto-category t)
- )
- )
- )
-(use-package dashboard
- :after org
- :init
- (setq dashboard-set-footer nil
- dashboard-org-agenda-categories '("Tasks" "appointments")
- dashboard-center-content t
- dashboard-set-heading-icons t
- dashboard-set-file-icons t
- initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
- :ensure t
- :config (dashboard-setup-startup-hook))
-
-(use-package org-projectile
- :after org
- :bind ("C-c n p" . org-projectile-project-todo-completing-read)
- :config
- (progn
- (setq org-projectile-projects-file
- "~/Documents/org-mode/projects.org")
- ;;(setq org-agenda-files (append org-agenda-files (org-projectile-todo-files)))
- (push (org-projectile-project-todo-entry) org-capture-templates))
- :ensure t)
-
-(add-hook 'text-mode-hook 'turn-on-visual-line-mode)
-(use-package org-alert
- :ensure t
- :config
- (org-alert-enable)
- (setq alert-default-style 'libnotify
- org-alert-notify-cutoff 300
- ))
-
-(add-hook 'org-mode-hook 'flyspell-mode)
-
-(setq org-agenda-files
- (list
- "~/Documents/org-mode/school.org"
- "~/Documents/org-mode/personal.org"
- "~/Documents/org-mode/tweaking.org"
- "~/Documents/org-mode/projects.org"
- )
- )
-
-(use-package org-roam
- :ensure t
- :after org
- :init
- (setq org-roam-v2-ack t)
- :bind* (("C-c n l" . org-roam-buffer-toggle)
- ("C-c n f" . org-roam-node-find)
- ("C-c n c" . org-roam-dailies-capture-today))
- :bind (:map org-mode-map
- ("C-c n i" . org-roam-node-insert))
- :custom
- (org-roam-directory "~/Documents/slipbox")
- (org-roam-capture-templates
- '(("d" "default" plain
- "%?"
- :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
- :unnarrowed t)
- ("e" "encrypted" plain "%?"
- :target (file+head "${slug}.org.gpg"
- "#+title: ${title}\n")
- :unnarrowed t)
- )
- )
- (org-roam-completion-everywhere t)
- (org-roam-completion-system 'default)
- (org-roam-dailies-directory "daily/")
- :config
- (use-package org-roam-dailies)
- (org-roam-setup)
- (org-roam-db-autosync-mode))
-
-(use-package rustic
- :config
- (setq rustic-cargo-clippy-trigger-fix 'on-compile))
-
-;;(push 'rustic-clippy flycheck-checkers)
-
-(use-package all-the-icons)
-
-(defun notify-send (title msg)
- (interactive)
- ;; only the first line of the message is returned
- ;; (subseq msg 0 (search msg "\n"))
- (shell-command (concat "notify-send '" title "' '" msg "'")))
-
-(setq TeX-auto-save t)
-(setq TeX-parse-self t)
-(setq-default TeX-master nil)
-
-;;(use-package org-notify)
-;;(org-notify-start)
-
-;;(org-notify-add 'appt
-;; '(:time "15m" :period "5m" :duration "30s" :action (notify-send org-notify-action-message)))
-
-;;(add-hook 'org-mode-hook 'flyspell-mode 1)
-;;(setq appt-disp-window-function (function facade-notify-appt))
-
-
-
-;;(load-library ".emacs_home")
-;;(cond ((file-exists-p "~/.emacs_home.el") (load "~/.emacs_home.el")))
-;;(cond ((file-exists-p "~/.emacs_work.el") (load "~/.emacs_work.el")))
-;;; .emacs ends here
diff --git a/emacs_home.el b/emacs_home.el
deleted file mode 100644
index 2e6894f..0000000
--- a/emacs_home.el
+++ /dev/null
@@ -1,2 +0,0 @@
-
-;;; emacs_home.el ends here
diff --git a/emacs_work.el b/emacs_work.el
deleted file mode 100644
index c84d8de..0000000
--- a/emacs_work.el
+++ /dev/null
@@ -1,8 +0,0 @@
-(setq org-agenda-files (list "/home/local/ASUAD/rhnatysh/Seafile/Emacs/Org Notes/Notes.org"
- "/home/local/ASUAD/rhnatysh/Seafile/Emacs/Org Notes/school.org"))
-
-(setq org-roam-directory (file-truename "/home/local/ASUAD/rhnatysh/slipbox"))
-(org-roam-db-autosync-mode)
-
-(provide 'emacs_work)
-;;;emacs_work.el ends here
diff --git a/gnus.el b/gnus.el
deleted file mode 100644
index 66345db..0000000
--- a/gnus.el
+++ /dev/null
@@ -1,132 +0,0 @@
-(setq user-full-name "Rostyslav Hnatyshyn"
- user-mail-address "rostyslav.hnatyshyn@gmail.com")
-
-(setq message-send-mail-function 'smtpmail-send-it
- smtpmail-default-smtp-server "smtp.gmail.com"
- smtpmail-smtp-service 587
- smtpmail-local-domain "homepc")
-
-(require 'nnir)
-
-(setq gnus-save-newsrc-file nil)
-(setq gnus-use-dribble-file nil)
-
-;; Please note mail folders in `gnus-select-method' have NO prefix like "nnimap+hotmail:" or "nnimap+gmail:"
-;; Read feeds/atom through gwene
-(setq gnus-select-method '(nntp "news.gwene.org"))
-
-;; ask encryption password once
-(setq epa-file-cache-passphrase-for-symmetric-encryption t)
-
-;; @see http://gnus.org/manual/gnus_397.html
-(add-to-list 'gnus-secondary-select-methods
- '(nnimap "gmail-rosty"
- (nnimap-address "imap.gmail.com")
- (nnimap-server-port 993)
- (nnimap-stream ssl)
- (nnir-search-engine imap)
- ; @see http://www.gnu.org/software/emacs/manual/html_node/gnus/Expiring-Mail.html
- ;; press 'E' to expire email
- (nnmail-expiry-target "nnimap+gmail-rosty:[Gmail]/Trash")
- (nnmail-expiry-wait 90)))
-
-(add-to-list 'gnus-secondary-select-methods
- '(nnimap "gmail-throwaway"
- (nnimap-address "imap.gmail.com")
- (nnimap-server-port 993)
- (nnimap-stream ssl)
- (nnir-search-engine imap)
- (nnmail-expiry-target "nnimap+gmail-throwaway:[Gmail]/Trash")
- (nnmail-expiry-wait 90)))
-
-(add-to-list 'gnus-secondary-select-methods
- '(nnimap "gmail-asu"
- (nnimap-address "imap.gmail.com")
- (nnimap-server-port 993)
- (nnimap-stream ssl)
- (nnir-search-engine imap)
- (nnmail-expiry-target "nnimap+gmail-asu:[Gmail]/Trash")
- (nnmail-expiry-wait 90)))
-
-
-(setq gnus-thread-sort-functions
- '(gnus-thread-sort-by-most-recent-date
- (not gnus-thread-sort-by-number)))
-
-;; {{ press "o" to view all groups
-(defun my-gnus-group-list-subscribed-groups ()
- "List all subscribed groups with or without un-read messages"
- (interactive)
- (gnus-group-list-all-groups 5))
-
-(define-key gnus-group-mode-map
- ;; list all the subscribed groups even they contain zero un-read messages
- (kbd "o") 'my-gnus-group-list-subscribed-groups)
-;; }}
-
-;; Fetch only part of the article if we can.
-;; I saw this in someone's .gnus
-(setq gnus-read-active-file 'some)
-
-;; open attachment
-(eval-after-load 'mailcap
- '(progn
- (cond
- ;; on macOS, maybe change mailcap-mime-data?
- ((eq system-type 'darwin))
- ;; on Windows, maybe change mailcap-mime-data?
- ((eq system-type 'windows-nt))
- (t
- ;; Linux, read ~/.mailcap
- (mailcap-parse-mailcaps)))))
-
-;; Tree view for groups.
-(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
-
-;; Threads! I hate reading un-threaded email -- especially mailing
-;; lists. This helps a ton!
-(setq gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject)
-
-;; Also, I prefer to see only the top level message. If a message has
-;; several replies or is part of a thread, only show the first message.
-;; `gnus-thread-ignore-subject' will ignore the subject and
-;; look at 'In-Reply-To:' and 'References:' headers.
-(setq gnus-thread-hide-subtree t)
-(setq gnus-thread-ignore-subject t)
-
-;; http://www.gnu.org/software/emacs/manual/html_node/gnus/_005b9_002e2_005d.html
-(setq gnus-use-correct-string-widths nil)
-
-(eval-after-load 'gnus-topic
- '(progn
- (setq gnus-message-archive-group '((format-time-string "sent.%Y")))
- (setq gnus-topic-topology '(("Gnus" visible)
- (("gmail-rosty" visible nil nil))
- (("gmail-asu" visible nil nil))
- (("gmail-throwaway" visible nil nil))))
- (setq gnus-topic-alist '(("gmail-rosty"
- "nnimap+gmail-rosty:INBOX"
- "nnimap+gmail-rosty:[Gmail]/Sent Mail"
- "nnimap+gmail-rosty:[Gmail]/Drafts"
- "nnimap+gmail-rosty:[Gmail]/Important")
- ("gmail-throwaway"
- "nnimap+gmail-throwaway:INBOX"
- "nnimap+gmail-throwaway:[Gmail]/Sent Mail"
- "nnimap+gmail-throwaway:[Gmail]/Drafts"
- "nnimap+gmail-throwaway:[Gmail]/Important")
- ("gmail-asu"
- "nnimap+gmail-asu:INBOX"
- "nnimap+gmail-asu:[Gmail]/Sent Mail"
- "nnimap+gmail-asu:[Gmail]/Drafts"
- "nnimap+gmail-asu:[Gmail]/Important")
- ("Gnus")))))
-(setq gnus-posting-styles
- '(("gmail-rosty"
- (address "Rostyslav Hnatyshyn ")
- ("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 rostyslav.hnatyshyn@gmail.com"))
- ("gmail-asu"
- (address "Rostyslav Hnatyshyn")
- ("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 rhnatysh@asu.edu"))
- ("gmail-throwaway"
- (address "Frosty Snowman ")
- ("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 throwawayfrosty@gmail.com"))))
diff --git a/handlr/handlr.toml b/handlr/handlr.toml
index 8766832..2e5a710 100644
--- a/handlr/handlr.toml
+++ b/handlr/handlr.toml
@@ -1,2 +1,2 @@
-enable_selector = true
+enable_selector = false
selector = "rofi -dmenu -p 'Open With: '"
diff --git a/i3/config b/i3/config
index 7325c5d..be468ed 100644
--- a/i3/config
+++ b/i3/config
@@ -9,26 +9,32 @@
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+#exec_always --no-startup-id wal -i ~/.wallpapers/
+
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
-font xft:Iosevka:Regular 10
+font pango:Dejavu Sans Mono 12
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
+# Start XDG autostart .desktop files using dex. See also
+# https://wiki.archlinux.org/index.php/XDG_Autostart
+#exec --no-startup-id dex --autostart --environment i3
+
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
-#exec --no-startup-id xss-lock --transfer-sleep-lock -- "i3lock -B sigma -k --pass-power-keys --pass-screen-keys --timecolor=99999999 --datecolor=99999999 --veriftext='' --wrongtext='' --ring-width=3.0" --nofork
+#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
-exec --no-startup-id nm-applet
+#exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
@@ -36,7 +42,6 @@ bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
-bindsym --release Print exec --no-startup-id scrot -s
# Use Mouse+$mod to drag floating windows to their wanted position
@@ -48,18 +53,22 @@ bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
+# custom bindings
# start dmenu (a program launcher)
-#bindsym $mod+d exec dmenu_run -fn 'xft:NotoSansMono:style=Regular:size=16'
-bindsym $mod+d exec "rofi -combi-modi window,drun -show combi -modi combi -show-icons"
-bindsym $mod+c exec "rofi -show calc -modi calc -no-show-match -no-sort"
-
+bindsym $mod+d exec "rofi -combi-modi window,drun -show combi -modi combi -show-icons"
+bindsym $mod+p exec rofi-pass
+bindsym --release Print exec --no-startup-id /home/frosty/.scripts/screenshot-to-clipboard.sh
+bindsym $mod+Print exec --no-startup-id /home/frosty/.scripts/screenshot-active-to-clipboard.sh
+bindsym $mod+Shift+c exec --no-startup-id ~/Programs/Rust/UnifiedCopyPaste/scripts/rofi-clipboard-selector.sh
+bindsym $mod+x [urgent=latest] focus
+bindsym $mod+c exec "rofi -show calc -modi calc -no-show-match -no-sort"
+# Make the currently focused window a scratchpad
+bindsym $mod+Shift+minus move scratchpad
-# There also is the (new) i3-dmenu-desktop which only displays applications
-# shipping a .desktop file. It is a wrapper around dmenu, so you need that
-# installed.
-# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+# Show the first scratchpad window
+bindsym $mod+minus scratchpad show
- # change focus
+# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
@@ -97,9 +106,7 @@ bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
-bindsym $mod+shift+o exec /home/frosty/Apps/emojipick/emojipick
-bindsym $mod+t exec i3-sensible-terminal -e htop
-bindsym $mod+shift+v exec i3-sensible-terminal -e ncpamixer
+bindsym $mod+Home exec /home/frosty/.config/i3/lock.sh
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
@@ -150,60 +157,12 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
-bindsym $mod+Shift+p exec passmenu
-# Make the currently focused window a scratchpad
-bindsym $mod+Shift+minus move scratchpad
-# Show the first scratchpad window
-bindsym $mod+minus scratchpad show
-
-# reload the configuration file
-bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
-#bindsym $mod+Shift+e exec --no-startup-id qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
-bindsym Control+$mod+l exec i3lock -B sigma -k --pass-power-keys --pass-screen-keys --timecolor=99999999 --datecolor=99999999 --veriftext="" --wrongtext="" --ring-width=3.0
-
-focus_follows_mouse no
-set_from_resource $FOCUS iw3m.color2
-set_from_resource $URGENT iw3m.color1
-set_from_resource $UNFOCUS iw3m.color7
-
-#border backgr. text indicator child_border
-client.focused $FOCUS $FOCUS "#FFFFFF" $FOCUS $FOCUS
-#client.focused_inactive $UNFOCUS $UNFOCUS "#FFFFFF" $UNFOCUS $UNFOCUS
-#client.unfocused $UNFOCUS $UNFOCUS "#FFFFFF" $UNFOCUS $UNFOCUS
-client.urgent $URGENT $URGENT "#FFFFFF" $URGENT $URGENT
-client.background $UNFOCUS
-
-for_window [class="^.*"] border pixel 2
-default_floating_border none
-hide_edge_borders none
-# smart_borders yes
-
-gaps inner 20
-gaps outer 10
-
-for_window [window_role="pop-up"] floating enable
-for_window [window_role="task_dialog"] floating enable
-
-for_window [class="yakuake"] floating enable
-for_window [class="systemsettings"] floating enable
-for_window [class="plasmashell"] floating enable;
-for_window [class="Plasma"] floating enable; border none
-for_window [title="plasma-desktop"] floating enable; border none
-for_window [title="win7"] floating enable; border none
-for_window [class="krunner"] floating enable; border none
-for_window [class="Kmix"] floating enable; border none
-for_window [class="Klipper"] floating enable; border none
-for_window [class="Plasmoidviewer"] floating enable; border none
-for_window [class="(?i)*nextcloud*"] floating disable
-no_focus [class="plasmashell" window_type="notification"]
-
-for_window [title="Desktop — Plasma"] kill; floating enable; border none
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
@@ -231,9 +190,19 @@ mode "resize" {
bindsym $mod+r mode "resize"
-# Start i3bar to display a workspace bar (plus the system information i3status
-# finds out, if available)
+focus_follows_mouse no
+set_from_resource $FOCUS iw3m.color2
+set_from_resource $URGENT iw3m.color1
+set_from_resource $UNFOCUS iw3m.color7
-exec_always --no-startup-id ~/.config/polybar/launch.sh
+client.focused $FOCUS $FOCUS "#FFFFFF" $FOCUS $FOCUS
+client.urgent $URGENT $URGENT "#FFFFFF" $URGENT $URGENT
+for_window [class="^.*"] border pixel 2
+default_floating_border none
+hide_edge_borders none
+
+gaps inner 20
+gaps outer 10
+exec_always --no-startup-id /home/frosty/.config/polybar/launch.sh
diff --git a/i3/lock.sh b/i3/lock.sh
new file mode 100755
index 0000000..3c26a90
--- /dev/null
+++ b/i3/lock.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+BLANK='#00000000'
+CLEAR='#ffffff22'
+DEFAULT='#ffffff'
+TEXT='#ffffff'
+WRONG='#880000bb'
+VERIFYING='#089c2f'
+
+i3lock \
+--insidever-color=$CLEAR \
+--ringver-color=$VERIFYING \
+\
+--insidewrong-color=$CLEAR \
+--ringwrong-color=$WRONG \
+\
+--inside-color=$BLANK \
+--ring-color=$DEFAULT \
+--line-color=$BLANK \
+--separator-color=$DEFAULT \
+\
+--verif-color=$TEXT \
+--wrong-color=$TEXT \
+--time-color=$TEXT \
+--date-color=$TEXT \
+--layout-color=$TEXT \
+--keyhl-color=$WRONG \
+--bshl-color=$WRONG \
+\
+--screen 1 \
+--blur 5 \
+--clock \
+--indicator \
+--radius 150 \
+--ring-width 3.5 \
+--time-str="%I:%M:%S %p" \
+--date-str="%A, %h %e %Y" \
+--pass-media-keys \
+--pass-volume-keys \
diff --git a/i3status/config b/i3status/config
deleted file mode 100644
index f8c791d..0000000
--- a/i3status/config
+++ /dev/null
@@ -1,30 +0,0 @@
-# i3status configuration file.
-# see "man i3status" for documentation.
-
-# It is important that this file is edited as UTF-8.
-# The following line should contain a sharp s:
-# ß
-# If the above line is not correctly displayed, fix your editor first!
-
-general {
- colors = true
- interval = 1
-}
-
-order += "load"
-order += "memory"
-order += "tztime local"
-
-load {
- format = "CPU Usage: %1min"
-}
-
-memory {
- format = "%used | %available"
- threshold_degraded = "1G"
- format_degraded = "MEMORY < %available"
-}
-
-tztime local {
- format = "%D %l:%M:%S %p"
-}
diff --git a/install.sh b/install.sh
old mode 100644
new mode 100755
index 772c69c..6b1c0eb
--- a/install.sh
+++ b/install.sh
@@ -1,8 +1,15 @@
-dir=~/.dotfiles
-files="emacs bashrc Xresources"
+#!/bin/sh
+dir=$( dirname -- "$0")
+dir=$( realpath -- "$dir"; )
-cd $dir
+if [[ -z "${XDG_CONFIG_HOME}" ]]; then
+ CONFIG="${HOME}/.config"
+else
+ CONFIG="${XDG_CONFIG_HOME}"
+fi
-for file in $files; do
- ln -s $dir/$file ~/.$file
+for file in "${dir}/"* ; do
+ filename=$(basename -- $file)
+ [[ -d "$file" ]] && ln -s $file "$CONFIG/"
+ [[ -f "$file" ]] && ln -s $file "$HOME/.$filename"
done
diff --git a/nvim/ginit.vim b/nvim/ginit.vim
new file mode 100644
index 0000000..f66c8f2
--- /dev/null
+++ b/nvim/ginit.vim
@@ -0,0 +1,2 @@
+let g:neovide_refresh_rate=140
+let g:coq_settings = { 'auto_start': 'shut-up' }
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..923a5e6
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,217 @@
+-- some basic options
+local vim = vim
+vim.opt.tabstop = 2
+vim.opt.shiftwidth = 2
+vim.opt.softtabstop = 2
+vim.opt.expandtab = true
+vim.opt.termguicolors = true
+vim.opt.smartindent = true
+vim.opt.number = true
+vim.opt.autochdir = true
+vim.opt.hidden = true
+vim.o.hidden = true
+vim.o.signcolumn = 'auto'
+vim.o.smarttab = true
+vim.o.clipboard = "unnamedplus"
+vim.g.noswapfile = true
+vim.cmd [[set mouse=a]] -- enable mouse
+vim.wo.cursorline = true
+
+vim.opt.guifont = "Iosevka Nerd Font:h12"
+
+vim.g.neovide_refresh_rate = 140
+--vim.g.coq_settings = { 'auto_start': 'shut-up' }
+
+function map(mode, shortcut, command)
+ vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = true })
+end
+
+-- normal mode map
+function nmap(shortcut, command)
+ map('n', shortcut, command)
+end
+
+-- insert mode map
+function imap(shortcut, command)
+ map('i', shortcut, command)
+end
+
+-- is leader key; default is \
+nmap("v", "CHADopen")
+nmap("ec", "e ~/.config/nvim/init.lua")
+nmap("sc", "source ~/.config/nvim/init.lua")
+
+-- buffer commands
+nmap("b", "BufferLineCyclePrev")
+nmap("n", "BufferLineCycleNext")
+nmap("gb", "BufferLinePick")
+nmap("w", "bdelete!")
+
+-- lsp on_attach mappings
+local on_attach = function(client, bufnr)
+ -- Enable completion triggered by
+ vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
+
+ -- Mappings.
+ -- See `:help vim.lsp.*` for documentation on any of the below functions
+ local bufopts = { noremap = true, silent = true, buffer = bufnr }
+ vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
+ vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
+ vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
+ vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
+ vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts)
+ vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts)
+ vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts)
+ vim.keymap.set('n', 'wl', function()
+ print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end, bufopts)
+ vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts)
+ vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts)
+ vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts)
+ vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
+ vim.keymap.set('n', 'f', vim.lsp.buf.formatting, bufopts)
+ require 'illuminate'.on_attach(client)
+end
+
+-- lsp config setup
+require 'lspconfig'.hls.setup { on_attach = on_attach } -- haskell language server
+require 'lspconfig'.pyright.setup {}
+require 'lspconfig'.tsserver.setup { on_attach = on_attach }
+require 'lspconfig'.sumneko_lua.setup { on_attach = on_attach,
+ settings = {
+ Lua = {
+ diagnostics = {
+ globals = { 'vim' }
+ }
+ }
+ }
+}
+
+-- lsp diagnostic mapping
+local opts = { noremap = true, silent = true }
+vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts)
+vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
+vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
+vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts)
+
+vim.cmd("colorscheme nightfox")
+
+-- packer boilerplate
+local fn = vim.fn
+local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
+if fn.empty(fn.glob(install_path)) > 0 then
+ packer_bootstrap = fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim',
+ install_path })
+end
+
+return require('packer').startup(function(use)
+ use 'wbthomason/packer.nvim'
+ use 'neovim/nvim-lspconfig'
+ use {
+ 'ms-jpq/coq_nvim',
+ branch = 'coq',
+ event = "VimEnter",
+ config = 'vim.cmd[[COQnow]]'
+ }
+ use { 'ms-jpq/coq.artifacts', branch = 'artifacts' }
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate',
+ config = function() require('nvim-treesitter.configs').setup {
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = { 'org' }
+ },
+ indent = {
+ enable = true
+ },
+ ensure_installed = { 'org' }
+ }
+ end
+ }
+ use { 'ms-jpq/chadtree',
+ branch = 'chad',
+ run = ':CHADdeps',
+ }
+ use { 'ahmedkhalf/project.nvim', config = function() require("project_nvim").setup {
+ manual_mode = true
+ }
+ end
+ }
+ use {
+ 'akinsho/bufferline.nvim',
+ tag = "v2.*",
+ requires = 'kyazdani42/nvim-web-devicons',
+ config = function() require("bufferline").setup {
+ options = {
+ seperator_style = { "slant", "slant" },
+ diagnostics = false
+ }
+ }
+ end
+ }
+ use { 'windwp/nvim-autopairs' } -- auto close brackets, etc.
+ use { "EdenEast/nightfox.nvim",
+ config = function() require("nightfox").setup{}
+ end
+ }
+ use {
+ "nvim-lualine/lualine.nvim",
+ event = "VimEnter",
+ config = function()
+ require("lualine").setup {
+ options = { theme = 'auto', globalstatus = true },
+ sections = { lualine_x = { 'filetype' } }
+ }
+ end,
+ requires = { 'kyazdani42/nvim-web-devicons', opt = true }
+ }
+ use {
+ "startup-nvim/startup.nvim",
+ requires = {"nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim"},
+ config = function()
+ require"startup".setup()
+ end
+ }
+ use 'RRethy/vim-illuminate'
+ use { 'TimUntersberger/neogit',
+ requires = 'nvim-lua/plenary.nvim',
+ config = function() require("neogit").setup()
+ end
+ }
+ use {
+ 'nvim-telescope/telescope.nvim',
+ requires = { { 'nvim-lua/plenary.nvim' } },
+ config = function()
+ require("telescope").setup {}
+ require("telescope").load_extension('projects')
+ end
+ }
+ use {
+ 'nvim-orgmode/orgmode',
+ config = function()
+ require('orgmode').setup_ts_grammar()
+ require('orgmode').setup {
+ org_agenda_files = {
+ "~/Documents/org-mode/school.org",
+ "~/Documents/org-mode/personal.org",
+ "~/Documents/org-mode/tweaking.org",
+ "~/Documents/org-mode/projects.org"
+ },
+ win_split_mode = 'tabnew',
+ org_log_done = false,
+ -- notifications are supported?! emacs just got smoked fr
+ notifications = {
+ enabled = true,
+ cron_enabled = false, -- can set this up to send notifications even when vim is closed
+ deadline_reminder = true,
+ scheduled_reminder = true,
+ reminder_time = { 5, 10, 15 }
+ }
+ }
+ end
+ }
+ if packer_bootstrap then
+ require('packer').sync()
+ end
+end)
diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..cdb0d70
--- /dev/null
+++ b/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,225 @@
+-- Automatically generated packer.nvim plugin loader code
+
+if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
+ vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
+ return
+end
+
+vim.api.nvim_command('packadd packer.nvim')
+
+local no_errors, error_msg = pcall(function()
+
+ local time
+ local profile_info
+ local should_profile = false
+ if should_profile then
+ local hrtime = vim.loop.hrtime
+ profile_info = {}
+ time = function(chunk, start)
+ if start then
+ profile_info[chunk] = hrtime()
+ else
+ profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
+ end
+ end
+ else
+ time = function(chunk, start) end
+ end
+
+local function save_profiles(threshold)
+ local sorted_times = {}
+ for chunk_name, time_taken in pairs(profile_info) do
+ sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
+ end
+ table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
+ local results = {}
+ for i, elem in ipairs(sorted_times) do
+ if not threshold or threshold and elem[2] > threshold then
+ results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
+ end
+ end
+
+ _G._packer = _G._packer or {}
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/frosty/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/frosty/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/frosty/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/frosty/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/frosty/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
+if not string.find(package.path, package_path_str, 1, true) then
+ package.path = package.path .. ';' .. package_path_str
+end
+
+if not string.find(package.cpath, install_cpath_pattern, 1, true) then
+ package.cpath = package.cpath .. ';' .. install_cpath_pattern
+end
+
+time([[Luarocks path setup]], false)
+time([[try_loadstring definition]], true)
+local function try_loadstring(s, component, name)
+ local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
+ if not success then
+ vim.schedule(function()
+ vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
+ end)
+ end
+ return result
+end
+
+time([[try_loadstring definition]], false)
+time([[Defining packer_plugins]], true)
+_G.packer_plugins = {
+ ["bufferline.nvim"] = {
+ config = { "\27LJ\2\n\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\6\0005\3\4\0005\4\3\0=\4\5\3=\3\a\2B\0\2\1K\0\1\0\foptions\1\0\0\20seperator_style\1\0\1\16diagnostics\1\1\3\0\0\nslant\nslant\nsetup\15bufferline\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/bufferline.nvim",
+ url = "https://github.com/akinsho/bufferline.nvim"
+ },
+ chadtree = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/chadtree",
+ url = "https://github.com/ms-jpq/chadtree"
+ },
+ ["coq.artifacts"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/coq.artifacts",
+ url = "https://github.com/ms-jpq/coq.artifacts"
+ },
+ coq_nvim = {
+ config = { "vim.cmd[[COQnow]]" },
+ loaded = false,
+ needs_bufread = true,
+ only_cond = false,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/opt/coq_nvim",
+ url = "https://github.com/ms-jpq/coq_nvim"
+ },
+ ["lualine.nvim"] = {
+ config = { "\27LJ\2\n\1\0\0\5\0\n\0\r6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\a\0005\4\6\0=\4\b\3=\3\t\2B\0\2\1K\0\1\0\rsections\14lualine_x\1\0\0\1\2\0\0\rfiletype\foptions\1\0\0\1\0\2\ntheme\tauto\17globalstatus\2\nsetup\flualine\frequire\0" },
+ loaded = false,
+ needs_bufread = false,
+ only_cond = false,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/opt/lualine.nvim",
+ url = "https://github.com/nvim-lualine/lualine.nvim"
+ },
+ neogit = {
+ config = { "\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vneogit\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/neogit",
+ url = "https://github.com/TimUntersberger/neogit"
+ },
+ ["nightfox.nvim"] = {
+ config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rnightfox\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/nightfox.nvim",
+ url = "https://github.com/EdenEast/nightfox.nvim"
+ },
+ ["nvim-autopairs"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
+ url = "https://github.com/windwp/nvim-autopairs"
+ },
+ ["nvim-lspconfig"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-treesitter"] = {
+ config = { "\27LJ\2\n\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\6\0005\3\3\0005\4\4\0=\4\5\3=\3\a\0025\3\b\0=\3\t\0025\3\n\0=\3\v\2B\0\2\1K\0\1\0\21ensure_installed\1\2\0\0\borg\vindent\1\0\1\venable\2\14highlight\1\0\0&additional_vim_regex_highlighting\1\2\0\0\borg\1\0\1\venable\2\nsetup\28nvim-treesitter.configs\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["nvim-web-devicons"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
+ url = "https://github.com/kyazdani42/nvim-web-devicons"
+ },
+ orgmode = {
+ config = { "\27LJ\2\n\3\0\0\5\0\v\0\0186\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\1\0B\0\2\0029\0\3\0005\2\5\0005\3\4\0=\3\6\0025\3\a\0005\4\b\0=\4\t\3=\3\n\2B\0\2\1K\0\1\0\18notifications\18reminder_time\1\4\0\0\3\5\3\n\3\15\1\0\4\23scheduled_reminder\2\22deadline_reminder\2\17cron_enabled\1\fenabled\2\21org_agenda_files\1\0\2\19win_split_mode\vtabnew\17org_log_done\1\1\5\0\0$~/Documents/org-mode/school.org&~/Documents/org-mode/personal.org&~/Documents/org-mode/tweaking.org&~/Documents/org-mode/projects.org\nsetup\21setup_ts_grammar\forgmode\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/orgmode",
+ url = "https://github.com/nvim-orgmode/orgmode"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ ["plenary.nvim"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/plenary.nvim",
+ url = "https://github.com/nvim-lua/plenary.nvim"
+ },
+ ["project.nvim"] = {
+ config = { "\27LJ\2\nN\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\16manual_mode\2\nsetup\17project_nvim\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/project.nvim",
+ url = "https://github.com/ahmedkhalf/project.nvim"
+ },
+ ["startup.nvim"] = {
+ config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fstartup\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/startup.nvim",
+ url = "https://github.com/startup-nvim/startup.nvim"
+ },
+ ["telescope.nvim"] = {
+ config = { "\27LJ\2\nk\0\0\3\0\5\0\r6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0016\0\0\0'\2\1\0B\0\2\0029\0\3\0'\2\4\0B\0\2\1K\0\1\0\rprojects\19load_extension\nsetup\14telescope\frequire\0" },
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/telescope.nvim",
+ url = "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ ["vim-illuminate"] = {
+ loaded = true,
+ path = "/home/frosty/.local/share/nvim/site/pack/packer/start/vim-illuminate",
+ url = "https://github.com/RRethy/vim-illuminate"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+-- Config for: orgmode
+time([[Config for orgmode]], true)
+try_loadstring("\27LJ\2\n\3\0\0\5\0\v\0\0186\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\0016\0\0\0'\2\1\0B\0\2\0029\0\3\0005\2\5\0005\3\4\0=\3\6\0025\3\a\0005\4\b\0=\4\t\3=\3\n\2B\0\2\1K\0\1\0\18notifications\18reminder_time\1\4\0\0\3\5\3\n\3\15\1\0\4\23scheduled_reminder\2\22deadline_reminder\2\17cron_enabled\1\fenabled\2\21org_agenda_files\1\0\2\19win_split_mode\vtabnew\17org_log_done\1\1\5\0\0$~/Documents/org-mode/school.org&~/Documents/org-mode/personal.org&~/Documents/org-mode/tweaking.org&~/Documents/org-mode/projects.org\nsetup\21setup_ts_grammar\forgmode\frequire\0", "config", "orgmode")
+time([[Config for orgmode]], false)
+-- Config for: nightfox.nvim
+time([[Config for nightfox.nvim]], true)
+try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rnightfox\frequire\0", "config", "nightfox.nvim")
+time([[Config for nightfox.nvim]], false)
+-- Config for: project.nvim
+time([[Config for project.nvim]], true)
+try_loadstring("\27LJ\2\nN\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\16manual_mode\2\nsetup\17project_nvim\frequire\0", "config", "project.nvim")
+time([[Config for project.nvim]], false)
+-- Config for: neogit
+time([[Config for neogit]], true)
+try_loadstring("\27LJ\2\n4\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\vneogit\frequire\0", "config", "neogit")
+time([[Config for neogit]], false)
+-- Config for: bufferline.nvim
+time([[Config for bufferline.nvim]], true)
+try_loadstring("\27LJ\2\n\1\0\0\5\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\6\0005\3\4\0005\4\3\0=\4\5\3=\3\a\2B\0\2\1K\0\1\0\foptions\1\0\0\20seperator_style\1\0\1\16diagnostics\1\1\3\0\0\nslant\nslant\nsetup\15bufferline\frequire\0", "config", "bufferline.nvim")
+time([[Config for bufferline.nvim]], false)
+-- Config for: nvim-treesitter
+time([[Config for nvim-treesitter]], true)
+try_loadstring("\27LJ\2\n\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\6\0005\3\3\0005\4\4\0=\4\5\3=\3\a\0025\3\b\0=\3\t\0025\3\n\0=\3\v\2B\0\2\1K\0\1\0\21ensure_installed\1\2\0\0\borg\vindent\1\0\1\venable\2\14highlight\1\0\0&additional_vim_regex_highlighting\1\2\0\0\borg\1\0\1\venable\2\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter")
+time([[Config for nvim-treesitter]], false)
+-- Config for: startup.nvim
+time([[Config for startup.nvim]], true)
+try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fstartup\frequire\0", "config", "startup.nvim")
+time([[Config for startup.nvim]], false)
+-- Config for: telescope.nvim
+time([[Config for telescope.nvim]], true)
+try_loadstring("\27LJ\2\nk\0\0\3\0\5\0\r6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\0016\0\0\0'\2\1\0B\0\2\0029\0\3\0'\2\4\0B\0\2\1K\0\1\0\rprojects\19load_extension\nsetup\14telescope\frequire\0", "config", "telescope.nvim")
+time([[Config for telescope.nvim]], false)
+vim.cmd [[augroup packer_load_aucmds]]
+vim.cmd [[au!]]
+ -- Event lazy-loads
+time([[Defining lazy-load event autocommands]], true)
+vim.cmd [[au VimEnter * ++once lua require("packer.load")({'coq_nvim', 'lualine.nvim'}, { event = "VimEnter *" }, _G.packer_plugins)]]
+time([[Defining lazy-load event autocommands]], false)
+vim.cmd("augroup END")
+if should_profile then save_profiles() end
+
+end)
+
+if not no_errors then
+ error_msg = error_msg:gsub('"', '\\"')
+ vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
+end
diff --git a/picom.conf b/picom.conf
new file mode 100644
index 0000000..5080616
--- /dev/null
+++ b/picom.conf
@@ -0,0 +1,425 @@
+#################################
+# 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 = ''
+
+# 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 = 'Conky'",
+ "class_g ?= 'Notify-osd'",
+ "class_g = 'Cairo-clock'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+# 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 = true
+
+# 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 = 0.8
+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 = [];
+
+# 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 = [
+"90:class_g = 'URxvt' && focused",
+"80:class_g = 'URxvt' && !focused"
+];
+
+
+#################################
+# 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 = "xrender";
+
+# Enable/disable VSync.
+# vsync = false
+vsync = false
+
+# 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 = false;
+
+# 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;
+
+# Specify refresh rate of the screen. If not specified or 0, picom will
+# try detecting this with X RandR extension.
+#
+# refresh-rate = 60
+# refresh-rate = 0
+
+# 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 = false
+
+# 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 = false
+
+# 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 = false
+
+# 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 = '/path/to/your/log/file'
+
+# 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 = false; opacity = 1.0; focus = true; full-shadow = false; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 1.0; }
+ dropdown_menu = { opacity = 1.0; }
+};
+
diff --git a/polybar/config b/polybar/config.ini
similarity index 94%
rename from polybar/config
rename to polybar/config.ini
index d8df831..ba0e8af 100644
--- a/polybar/config
+++ b/polybar/config.ini
@@ -19,10 +19,8 @@
[colors]
background = ${xrdb:color0}
-;background = #222
background-alt = #444
foreground = ${xrdb:color7}
-;foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
@@ -30,6 +28,7 @@ alert = #bd2c40
[bar/default]
monitor = ${env:MONITOR:}
+
width = 100%
height = 2.5%
bottom = true
@@ -54,15 +53,16 @@ module-margin-left = 1
module-margin-right = 2
font-0 = Noto Sans:style=Regular:size=11;1
-font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
-font-2 = siji:pixelsize=10;1
+font-1 = unifont:style=Regular:size=11;0
+font-2 = siji:style=Regular:size=11;1
modules-left = i3
modules-center =
-modules-right = cpu memory wlan battery pulseaudio date
+modules-right = cpu memory wlan pulseaudio date battery
tray-position = right
tray-padding = 2
+tray-scale = 1.0
;tray-background = #0063ff
;tray-reparent = true
;wm-restack = bspwm
@@ -120,7 +120,7 @@ label-urgent-padding = 2
[module/cpu]
type = internal/cpu
interval = 2
-format-prefix = "CPU Usage: "
+format-prefix = "CPU: "
format-prefix-foreground = ${xrdb:color7}
format-underline =
label = %percentage:2%%
@@ -141,7 +141,7 @@ interval = 3.0
format-connected =
format-connected-underline =
label-connected = %essid%
-;label-disconnected = "No connection"
+label-disconnected = "No connection"
;format-disconnected =
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
@@ -199,11 +199,11 @@ bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
-battery = BAT0
-adapter = AC
+battery = BAT1
+adapter = ADP1
full-at = 98
-label-full = ""
+label-full = "🔋"
format-charging =
format-charging-underline = #ffb52a
@@ -234,7 +234,7 @@ animation-discharging-framerate = 750
[settings]
-screenchange-reload = true
+screenchange-reload = false
;compositing-background = xor
compositing-background = screen
;compositing-foreground = source
diff --git a/polybar/launch.sh b/polybar/launch.sh
index a685997..ff29e65 100755
--- a/polybar/launch.sh
+++ b/polybar/launch.sh
@@ -1,12 +1,10 @@
#!/bin/bash
killall -q polybar
-wal -i ~/.wallpapers/dark/
-xrdb -merge ~/.Xresources
-while pgrep -u $UID -x polybar >/dev/null; do
- sleep 1; done
+
+#while pgrep -u $UID -x polybar >/dev/null; do
+# sleep 0.5; done
for m in $(polybar --list-monitors | cut -d":" -f1); do
- MONITOR=$m polybar --reload default &
+ MONITOR=$m polybar --reload &
done
-
diff --git a/polybar/modules/spotify.ini b/polybar/modules/spotify.ini
deleted file mode 100644
index 19dfd1d..0000000
--- a/polybar/modules/spotify.ini
+++ /dev/null
@@ -1,28 +0,0 @@
-[module/spotify-icon]
-type = custom/script
-exec = .config/polybar/scripts/spotify-icon.sh
-interval = 1
-
-[module/spotify-music]
-type = custom/script
-exec = .config/polybar/scripts/spotify-music.sh
-click-left = bspc desktop -f '^10'
-interval = 1
-
-[module/spotify-prev]
-type = custom/script
-exec = .config/polybar/scripts/spotify-prev.sh
-click-left = playerctl --player=spotify previous
-interval = 1
-
-[module/spotify-play-pause]
-type = custom/script
-exec = .config/polybar/scripts/spotify-play-pause.sh
-click-left = playerctl --player=spotify play-pause
-interval = 1
-
-[module/spotify-next]
-type = custom/script
-exec = .config/polybar/scripts/spotify-next.sh
-click-left = playerctl --player=spotify next
-interval = 1
diff --git a/polybar/scripts/spotify-icon.sh b/polybar/scripts/spotify-icon.sh
deleted file mode 100755
index 644e547..0000000
--- a/polybar/scripts/spotify-icon.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-if [ "$(playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}" >>/dev/null 2>&1; echo $?)" == "1" ]; then
- echo ""
-else
- echo "阮"
-fi
diff --git a/polybar/scripts/spotify-music.sh b/polybar/scripts/spotify-music.sh
deleted file mode 100755
index 3e32114..0000000
--- a/polybar/scripts/spotify-music.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-if [ "$(playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}" >>/dev/null 2>&1; echo $?)" == "1" ]; then
- echo ""
-else
- playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}"
-fi
diff --git a/polybar/scripts/spotify-next.sh b/polybar/scripts/spotify-next.sh
deleted file mode 100755
index 1963858..0000000
--- a/polybar/scripts/spotify-next.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-if [ "$(playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}" >>/dev/null 2>&1; echo $?)" == "1" ]; then
- echo ""
-else
- echo "怜"
-fi
diff --git a/polybar/scripts/spotify-play-pause.sh b/polybar/scripts/spotify-play-pause.sh
deleted file mode 100755
index d0358df..0000000
--- a/polybar/scripts/spotify-play-pause.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-if [ "$(playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}" >>/dev/null 2>&1; echo $?)" == "1" ]; then
- echo ""
-else
- echo "懶"
-fi
diff --git a/polybar/scripts/spotify-prev.sh b/polybar/scripts/spotify-prev.sh
deleted file mode 100755
index 9b2ac5e..0000000
--- a/polybar/scripts/spotify-prev.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-if [ "$(playerctl --player=spotify metadata --format "{{ title }} - {{ artist }}" >>/dev/null 2>&1; echo $?)" == "1" ]; then
- echo ""
-else
- echo "玲"
-fi
diff --git a/ranger/rc.conf b/ranger/rc.conf
new file mode 100644
index 0000000..39b9242
--- /dev/null
+++ b/ranger/rc.conf
@@ -0,0 +1,5 @@
+set preview_images true
+set vcs_backend_git enabled
+set draw_borders separators
+
+set preview_max_size 1048576000
diff --git a/ranger/rifle.conf b/ranger/rifle.conf
new file mode 100644
index 0000000..0d6c795
--- /dev/null
+++ b/ranger/rifle.conf
@@ -0,0 +1,66 @@
+# vim: ft=cfg
+#
+# This is the configuration file of "rifle", ranger's file executor/opener.
+# Each line consists of conditions and a command. For each line the conditions
+# are checked and if they are met, the respective command is run.
+#
+# Syntax:
+# , , ... = command
+#
+# The command can contain these environment variables:
+# $1-$9 | The n-th selected file
+# $@ | All selected files
+#
+# If you use the special command "ask", rifle will ask you what program to run.
+#
+# Prefixing a condition with "!" will negate its result.
+# These conditions are currently supported:
+# match | The regexp matches $1
+# ext | The regexp matches the extension of $1
+# mime | The regexp matches the mime type of $1
+# name | The regexp matches the basename of $1
+# path | The regexp matches the absolute path of $1
+# has | The program is installed (i.e. located in $PATH)
+# env | The environment variable "variable" is non-empty
+# file | $1 is a file
+# directory | $1 is a directory
+# number | change the number of this command to n
+# terminal | stdin, stderr and stdout are connected to a terminal
+# X | A graphical environment is available (darwin, Xorg, or Wayland)
+#
+# There are also pseudo-conditions which have a "side effect":
+# flag | Change how the program is run. See below.
+# label