configs

git clone git://git.codymlewis.com/configs.git
Log | Files | Refs | README

commit 909285e5adf055c5991e889b2e25f379e6501b54
Author: Cody Lewis <cody@codymlewis.com>
Date:   Mon, 13 Apr 2020 01:13:52 +1000

Initial commit

Diffstat:
A.gitignore | 37+++++++++++++++++++++++++++++++++++++
AX/resources | 8++++++++
Adunst/dunstrc | 414+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adwmstatus.sh | 47+++++++++++++++++++++++++++++++++++++++++++++++
Aemacs/init.el | 183+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aemoji/emoji-inserter.sh | 8++++++++
Aemoji/emoji-list.txt | 1644+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ampd/mpd.conf | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ampv/input.conf | 3+++
Ampv/mpv.conf | 1+
Ancmpcpp/bindings | 23+++++++++++++++++++++++
Ancmpcpp/config | 90+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apicom/picom.conf | 227+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arofi/config.rasi | 147+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ascrot.sh | 4++++
Astatus.sh | 34++++++++++++++++++++++++++++++++++
Avim/vimrc | 117+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Azsh/.zprofile | 27+++++++++++++++++++++++++++
Azsh/.zshrc | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19 files changed, 3184 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,37 @@ +aspell/ +BraveSoftware/ +chromium/ +configstore/ +dconf/ +enchant/ +GIMP/ +git/ +gtk-2.0/ +gtk-3.0/ +htop/ +matplotlib/ +netsurf/ +nvim/ +procps/ +pulse/ +remmina/ +wireshark/ +yay/ +akregatorrc +baloofilerc +gtkrc +gtkrc-2.0 +mimeapps.list +pavucontrol.ini +systemsettingsrc +Trolltech.conf +mpv/watch_later/ +zsh/antigen.zsh +zsh/.zshrc.zwc +zsh/warprc +tags +zsh/history +ncmpcpp/error.log +mpd/state +mpd/log +mpd/database diff --git a/X/resources b/X/resources @@ -0,0 +1,8 @@ +XTerm.termName: xterm-256color +XTerm.vt100.locale: true +XTerm.vt100.backarrowKey: false +XTerm.ttyModes: erase ^? +XTerm.vt100.saveLines: 4096 +XTerm.vt100.foreground: purple +XTerm.vt100.background: black +XTerm.vt100.faceName: Fira Code:size=9:antialias=true diff --git a/dunst/dunstrc b/dunst/dunstrc @@ -0,0 +1,414 @@ +[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 = 5 + + # 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 = 1 + + # 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 = 0 + + # Defines color of the frame around the notification window. + frame_color = "#aaaaaa" + + # 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 = auto + + # 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 = Monospace 8 + + # 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: + # <b>bold</b> + # <i>italic</i> + # <s>strikethrough</s> + # <u>underline</u> + # + # For a complete reference see + # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. + # + # 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 = "<b>%s</b>\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # 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 = off + + # 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 + + ### 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 action of 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. + mouse_left_click = close_current + mouse_middle_click = do_action + 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 = "#222222" + foreground = "#888888" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_normal] + background = "#333333" + foreground = "#ffffff" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + frame_color = "#ff0000" + timeout = 0 + # 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/dwmstatus.sh b/dwmstatus.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +get_volume() { + vol=$(amixer get Master | awk -F'[][]' 'END{ print $2 }' | sed 's/%//g') + is_muted=$(amixer get Master | grep 'off') + if [ "$is_muted" ]; then + echo " " + else + if [ "$vol" -gt 50 ]; then + vol=" $vol" + elif [ "$vol" -gt 0 ]; then + vol=" $vol" + else + vol=" $vol" + fi + printf "%s" "$vol%" + fi +} + +get_brightness() { + xbacklight | cut -c -6 +} + +get_battery() { + cap=$(cat /sys/class/power_supply/BAT0/capacity) + if grep 'Discharging' /sys/class/power_supply/BAT0/status > /dev/null; then + if [ "$cap" -lt 20 ]; then + baticon="" + elif [ "$cap" -lt 40 ]; then + baticon="" + elif [ "$cap" -lt 60 ]; then + baticon="" + elif [ "$cap" -lt 80 ]; then + baticon="" + else + baticon="" + fi + else + baticon="" + fi + echo "$baticon $cap" +} + +while true; do + xsetroot -name "$(echo \ $(nmcli | head -n 1)\ \  $(get_brightness)%\ \ $(get_volume)\ \ $(get_battery)%\ \  $(date '+%F %T')\ \ )" + sleep 1 +done diff --git a/emacs/init.el b/emacs/init.el @@ -0,0 +1,183 @@ +;;; Package --- Summary +;;; Commentary: +;;; Code: +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(custom-safe-themes + (quote + ("3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "a27c00821ccfd5a78b01e4f35dc056706dd9ede09a8b90c6955ae6a390eb1c1e" "a2cde79e4cc8dc9a03e7d9a42fabf8928720d420034b66aecc5b665bbf05d4e9" default))) + '(inhibit-startup-screen t) + '(package-selected-packages + (quote + (vterm mingus w3m emms symon ess indent-guide diff-hl-mode magit goto-line-preview anzu tron-legacy-theme telephone-line auto-complete-auctex pdf-tools god-mode rainbow-delimiters yasnippet-snippets flycheck olivetti auto-complete dracula-theme aggressive-indent auctex helm use-package)))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) + +(menu-bar-mode -1) +(toggle-scroll-bar -1) +(tool-bar-mode -1) +(fringe-mode 1) +(ido-mode t) + +(server-start) + +(electric-pair-mode) +(prettify-symbols-mode) +(global-set-key (kbd "C-;") 'comment-line) +(global-set-key (kbd "C-h") 'left-char) +(global-set-key (kbd "C-l") 'right-char) +(global-set-key (kbd "C-j") 'next-line) +(global-set-key (kbd "C-k") 'previous-line) + +(require 'package) + ;(eval-when-compile + ; (require 'use-package)) + + +(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/")) +(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) +(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/")) + +(setq package-enable-at-startup nil) +(package-initialize) + +(use-package grandshell-theme + :ensure t + :config + (load-theme 'grandshell t)) + +(use-package telephone-line + :ensure t + :init + (telephone-line-mode 1)) + +(use-package vterm + :ensure t + :bind + (("C-x t" . vterm))) + +(use-package helm + :ensure t + :config + (require 'helm-config) + :bind + (("C-x C-f" . helm-find-files) + ("M-x" . helm-M-x) + ([f10] . helm-buffers-list))) + +(use-package anzu + :ensure t + :init + (global-anzu-mode +1)) + +(use-package goto-line-preview + :ensure t + :bind + (("M-g M-g" . goto-line-preview))) + +(use-package auto-complete + :ensure t + :config + (ac-config-default) + (global-auto-complete-mode)) + +(use-package yasnippet + :ensure t + :init + (yas-global-mode)) + +(use-package yasnippet-snippets + :ensure t) + +(use-package flycheck + :ensure t + :init + (global-flycheck-mode)) + +(use-package magit + :ensure t + :bind + (("C-x g" . magit))) + +(use-package diff-hl + :ensure t + :after (magit) + :config + (global-diff-hl-mode) + (add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)) + +(use-package symon + :ensure t + :init + (symon-mode)) + +(use-package rainbow-delimiters + :ensure t + :config + (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)) + +(use-package indent-guide + :ensure t + :init + (indent-guide-global-mode)) + +(use-package pdf-tools + :ensure t + :init + (pdf-tools-install)) + +(use-package tex-site + :ensure auctex + :mode ("\\.tex\\'" . latex-mode) + :after (pdf-tools) + :config + (setq TeX-auto-save t) + (setq TeX-parse-self t) + (setq-default TeX-master nil) + (add-hook 'LaTeX-mode-hook + (lambda () + (setq TeX-PDF-mode t) + (setq TeX-source-correlate-mode t) + (setq TeX-source-correlate-start-server t))) + (add-hook 'TeX-after-TeX-LaTeX-command-finished-hook #'TeX-revert-document-buffer) + (add-hook 'LaTeX-mode-hook 'pdf-tools-install) + (setq TeX-view-program-selection '((output-pdf "PDF Tools")) TeX-source-correlate-start-server t) + (setq TeX-view-program-list '(("PDF Tools" "TeX-pdf-tools-sync-view")))) + +(use-package ess-site + :ensure ess) + +(use-package reftex + :ensure t + :config + (add-hook 'LaTeX-mode-hook 'turn-on-reftex)) + +(use-package auto-complete-auctex + :ensure t) + +(use-package aggressive-indent + :ensure t + :init + (global-aggressive-indent-mode 1)) + +(use-package god-mode + :ensure t + :bind + ("<escape>" . god-local-mode)) + +(use-package w3m + :ensure t) + +(use-package mingus + :ensure t + :bind + (("M-n" . mingus))) + +;;; .emacs ends here diff --git a/emoji/emoji-inserter.sh b/emoji/emoji-inserter.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +EMOJI=$(cat "$HOME/.config/emoji/emoji-list.txt" | + rofi -dmenu -i -p "Which emoji would you like" | + awk '{print $1}') +! [[ $EMOJI = "" ]] && + (printf "%s" "$EMOJI" | xsel) && + notify-send "$EMOJI placed in the clipboard" diff --git a/emoji/emoji-list.txt b/emoji/emoji-list.txt @@ -0,0 +1,1644 @@ +😀 grinning face +😃 grinning face with big eyes +😄 grinning face with smiling eyes +😁 beaming face with smiling eyes +😆 grinning squinting face +😅 grinning face with sweat +🤣 rolling on the floor laughing +😂 face with tears of joy +🙂 slightly smiling face +🙃 upside-down face +😉 winking face +😊 smiling face with smiling eyes +😇 smiling face with halo +🥰 ⊛ smiling face with 3 hearts +😍 smiling face with heart-eyes +🤩 star-struck +😘 face blowing a kiss +😗 kissing face +☺ smiling face +😚 kissing face with closed eyes +😙 kissing face with smiling eyes +😋 face savoring food +😛 face with tongue +😜 winking face with tongue +🤪 zany face +😝 squinting face with tongue +🤑 money-mouth face +🤗 hugging face +🤭 face with hand over mouth +🤫 shushing face +🤔 thinking face +🤐 zipper-mouth face +🤨 face with raised eyebrow +😐 neutral face +😑 expressionless face +😶 face without mouth +😏 smirking face +😒 unamused face +🙄 face with rolling eyes +😬 grimacing face +🤥 lying face +😌 relieved face +😔 pensive face +😪 sleepy face +🤤 drooling face +😴 sleeping face +😷 face with medical mask +🤒 face with thermometer +🤕 face with head-bandage +🤢 nauseated face +🤮 face vomiting +🤧 sneezing face +🥵 ⊛ hot face +🥶 ⊛ cold face +🥴 ⊛ woozy face +😵 dizzy face +🤯 exploding head +🤠 cowboy hat face +🥳 ⊛ partying face +😎 smiling face with sunglasses +🤓 nerd face +🧐 face with monocle +😕 confused face +😟 worried face +🙁 slightly frowning face +☹ frowning face +😮 face with open mouth +😯 hushed face +😲 astonished face +😳 flushed face +🥺 ⊛ pleading face +😦 frowning face with open mouth +😧 anguished face +😨 fearful face +😰 anxious face with sweat +😥 sad but relieved face +😢 crying face +😭 loudly crying face +😱 face screaming in fear +😖 confounded face +😣 persevering face +😞 disappointed face +😓 downcast face with sweat +😩 weary face +😫 tired face +😤 face with steam from nose +😡 pouting face +😠 angry face +🤬 face with symbols on mouth +😈 smiling face with horns +👿 angry face with horns +💀 skull +☠ skull and crossbones +💩 pile of poo +🤡 clown face +👹 ogre +👺 goblin +👻 ghost +👽 alien +👾 alien monster +🤖 robot face +😺 grinning cat face +😸 grinning cat face with smiling eyes +😹 cat face with tears of joy +😻 smiling cat face with heart-eyes +😼 cat face with wry smile +😽 kissing cat face +🙀 weary cat face +😿 crying cat face +😾 pouting cat face +🙈 see-no-evil monkey +🙉 hear-no-evil monkey +🙊 speak-no-evil monkey +💋 kiss mark +💌 love letter +💘 heart with arrow +💝 heart with ribbon +💖 sparkling heart +💗 growing heart +💓 beating heart +💞 revolving hearts +💕 two hearts +💟 heart decoration +❣ heavy heart exclamation +💔 broken heart +❤ red heart +🧡 orange heart +💛 yellow heart +💚 green heart +💙 blue heart +💜 purple heart +🖤 black heart +💯 hundred points +💢 anger symbol +💥 collision +💫 dizzy +💦 sweat droplets +💨 dashing away +🕳 hole +💣 bomb +💬 speech balloon +👁️‍🗨️ eye in speech bubble +🗨 left speech bubble +🗯 right anger bubble +💭 thought balloon +💤 zzz +👋 waving hand +🤚 raised back of hand +🖐 hand with fingers splayed +✋ raised hand +🖖 vulcan salute +👌 OK hand +✌ victory hand +🤞 crossed fingers +🤟 love-you gesture +🤘 sign of the horns +🤙 call me hand +👈 backhand index pointing left +👉 backhand index pointing right +👆 backhand index pointing up +🖕 middle finger +👇 backhand index pointing down +☝ index pointing up +👍 thumbs up +👎 thumbs down +✊ raised fist +👊 oncoming fist +🤛 left-facing fist +🤜 right-facing fist +👏 clapping hands +🙌 raising hands +👐 open hands +🤲 palms up together +🤝 handshake +🙏 folded hands +✍ writing hand +💅 nail polish +🤳 selfie +💪 flexed biceps +🦵 ⊛ leg +🦶 ⊛ foot +👂 ear +👃 nose +🧠 brain +🦷 ⊛ tooth +🦴 ⊛ bone +👀 eyes +👁 eye +👅 tongue +👄 mouth +👶 baby +🧒 child +👦 boy +👧 girl +🧑 person +👱 person: blond hair +👨 man +👱‍♂️ man: blond hair +👨‍🦰 ⊛ man: red hair +👨‍🦱 ⊛ man: curly hair +👨‍🦳 ⊛ man: white hair +👨‍🦲 ⊛ man: bald +🧔 man: beard +👩 woman +👱‍♀️ woman: blond hair +👩‍🦰 ⊛ woman: red hair +👩‍🦱 ⊛ woman: curly hair +👩‍🦳 ⊛ woman: white hair +👩‍🦲 ⊛ woman: bald +🧓 older person +👴 old man +👵 old woman +🙍 person frowning +🙍‍♂️ man frowning +🙍‍♀️ woman frowning +🙎 person pouting +🙎‍♂️ man pouting +🙎‍♀️ woman pouting +🙅 person gesturing NO +🙅‍♂️ man gesturing NO +🙅‍♀️ woman gesturing NO +🙆 person gesturing OK +🙆‍♂️ man gesturing OK +🙆‍♀️ woman gesturing OK +💁 person tipping hand +💁‍♂️ man tipping hand +💁‍♀️ woman tipping hand +🙋 person raising hand +🙋‍♂️ man raising hand +🙋‍♀️ woman raising hand +🙇 person bowing +🙇‍♂️ man bowing +🙇‍♀️ woman bowing +🤦 person facepalming +🤦‍♂️ man facepalming +🤦‍♀️ woman facepalming +🤷 person shrugging +🤷‍♂️ man shrugging +🤷‍♀️ woman shrugging +👨‍⚕️ man health worker +👩‍⚕️ woman health worker +👨‍🎓 man student +👩‍🎓 woman student +👨‍🏫 man teacher +👩‍🏫 woman teacher +👨‍⚖️ man judge +👩‍⚖️ woman judge +👨‍🌾 man farmer +👩‍🌾 woman farmer +👨‍🍳 man cook +👩‍🍳 woman cook +👨‍🔧 man mechanic +👩‍🔧 woman mechanic +👨‍🏭 man factory worker +👩‍🏭 woman factory worker +👨‍💼 man office worker +👩‍💼 woman office worker +👨‍🔬 man scientist +👩‍🔬 woman scientist +👨‍💻 man technologist +👩‍💻 woman technologist +👨‍🎤 man singer +👩‍🎤 woman singer +👨‍🎨 man artist +👩‍🎨 woman artist +👨‍✈️ man pilot +👩‍✈️ woman pilot +👨‍🚀 man astronaut +👩‍🚀 woman astronaut +👨‍🚒 man firefighter +👩‍🚒 woman firefighter +👮 police officer +👮‍♂️ man police officer +👮‍♀️ woman police officer +🕵 detective +🕵️‍♂️ man detective +🕵️‍♀️ woman detective +💂 guard +💂‍♂️ man guard +💂‍♀️ woman guard +👷 construction worker +👷‍♂️ man construction worker +👷‍♀️ woman construction worker +🤴 prince +👸 princess +👳 person wearing turban +👳‍♂️ man wearing turban +👳‍♀️ woman wearing turban +👲 man with Chinese cap +🧕 woman with headscarf +🤵 man in tuxedo +👰 bride with veil +🤰 pregnant woman +🤱 breast-feeding +👼 baby angel +🎅 Santa Claus +🤶 Mrs. Claus +🦸 ⊛ superhero +🦸‍♂️ ⊛ man superhero +🦸‍♀️ ⊛ woman superhero +🦹 ⊛ supervillain +🦹‍♂️ ⊛ man supervillain +🦹‍♀️ ⊛ woman supervillain +🧙 mage +🧙‍♂️ man mage +🧙‍♀️ woman mage +🧚 fairy +🧚‍♂️ man fairy +🧚‍♀️ woman fairy +🧛 vampire +🧛‍♂️ man vampire +🧛‍♀️ woman vampire +🧜 merperson +🧜‍♂️ merman +🧜‍♀️ mermaid +🧝 elf +🧝‍♂️ man elf +🧝‍♀️ woman elf +🧞 genie +🧞‍♂️ man genie +🧞‍♀️ woman genie +🧟 zombie +🧟‍♂️ man zombie +🧟‍♀️ woman zombie +💆 person getting massage +💆‍♂️ man getting massage +💆‍♀️ woman getting massage +💇 person getting haircut +💇‍♂️ man getting haircut +💇‍♀️ woman getting haircut +🚶 person walking +🚶‍♂️ man walking +🚶‍♀️ woman walking +🏃 person running +🏃‍♂️ man running +🏃‍♀️ woman running +💃 woman dancing +🕺 man dancing +🕴 man in suit levitating +👯 people with bunny ears +👯‍♂️ men with bunny ears +👯‍♀️ women with bunny ears +🧖 person in steamy room +🧖‍♂️ man in steamy room +🧖‍♀️ woman in steamy room +🧗 person climbing +🧗‍♂️ man climbing +🧗‍♀️ woman climbing +🤺 person fencing +🏇 horse racing +⛷ skier +🏂 snowboarder +🏌 person golfing +🏌️‍♂️ man golfing +🏌️‍♀️ woman golfing +🏄 person surfing +🏄‍♂️ man surfing +🏄‍♀️ woman surfing +🚣 person rowing boat +🚣‍♂️ man rowing boat +🚣‍♀️ woman rowing boat +🏊 person swimming +🏊‍♂️ man swimming +🏊‍♀️ woman swimming +⛹ person bouncing ball +⛹️‍♂️ man bouncing ball +⛹️‍♀️ woman bouncing ball +🏋 person lifting weights +🏋️‍♂️ man lifting weights +🏋️‍♀️ woman lifting weights +🚴 person biking +🚴‍♂️ man biking +🚴‍♀️ woman biking +🚵 person mountain biking +🚵‍♂️ man mountain biking +🚵‍♀️ woman mountain biking +🤸 person cartwheeling +🤸‍♂️ man cartwheeling +🤸‍♀️ woman cartwheeling +🤼 people wrestling +🤼‍♂️ men wrestling +🤼‍♀️ women wrestling +🤽 person playing water polo +🤽‍♂️ man playing water polo +🤽‍♀️ woman playing water polo +🤾 person playing handball +🤾‍♂️ man playing handball +🤾‍♀️ woman playing handball +🤹 person juggling +🤹‍♂️ man juggling +🤹‍♀️ woman juggling +🧘 person in lotus position +🧘‍♂️ man in lotus position +🧘‍♀️ woman in lotus position +🛀 person taking bath +🛌 person in bed +👭 women holding hands +👫 woman and man holding hands +👬 men holding hands +💏 kiss +👩‍❤️‍💋‍👨 kiss: woman, man +👨‍❤️‍💋‍👨 kiss: man, man +👩‍❤️‍💋‍👩 kiss: woman, woman +💑 couple with heart +👩‍❤️‍👨 couple with heart: woman, man +👨‍❤️‍👨 couple with heart: man, man +👩‍❤️‍👩 couple with heart: woman, woman +👪 family +👨‍👩‍👦 family: man, woman, boy +👨‍👩‍👧 family: man, woman, girl +👨‍👩‍👧‍👦 family: man, woman, girl, boy +👨‍👩‍👦‍👦 family: man, woman, boy, boy +👨‍👩‍👧‍👧 family: man, woman, girl, girl +👨‍👨‍👦 family: man, man, boy +👨‍👨‍👧 family: man, man, girl +👨‍👨‍👧‍👦 family: man, man, girl, boy +👨‍👨‍👦‍👦 family: man, man, boy, boy +👨‍👨‍👧‍👧 family: man, man, girl, girl +👩‍👩‍👦 family: woman, woman, boy +👩‍👩‍👧 family: woman, woman, girl +👩‍👩‍👧‍👦 family: woman, woman, girl, boy +👩‍👩‍👦‍👦 family: woman, woman, boy, boy +👩‍👩‍👧‍👧 family: woman, woman, girl, girl +👨‍👦 family: man, boy +👨‍👦‍👦 family: man, boy, boy +👨‍👧 family: man, girl +👨‍👧‍👦 family: man, girl, boy +👨‍👧‍👧 family: man, girl, girl +👩‍👦 family: woman, boy +👩‍👦‍👦 family: woman, boy, boy +👩‍👧 family: woman, girl +👩‍👧‍👦 family: woman, girl, boy +👩‍👧‍👧 family: woman, girl, girl +🗣 speaking head +👤 bust in silhouette +👥 busts in silhouette +👣 footprints +🦰 ⊛ red hair +🦱 ⊛ curly hair +🦳 ⊛ white hair +🦲 ⊛ bald +🐵 monkey face +🐒 monkey +🦍 gorilla +🐶 dog face +🐕 dog +🐩 poodle +🐺 wolf face +🦊 fox face +🦝 ⊛ raccoon +🐱 cat face +🐈 cat +🦁 lion face +🐯 tiger face +🐅 tiger +🐆 leopard +🐴 horse face +🐎 horse +🦄 unicorn face +🦓 zebra +🦌 deer +🐮 cow face +🐂 ox +🐃 water buffalo +🐄 cow +🐷 pig face +🐖 pig +🐗 boar +🐽 pig nose +🐏 ram +🐑 ewe +🐐 goat +🐪 camel +🐫 two-hump camel +🦙 ⊛ llama +🦒 giraffe +🐘 elephant +🦏 rhinoceros +🦛 ⊛ hippopotamus +🐭 mouse face +🐁 mouse +🐀 rat +🐹 hamster face +🐰 rabbit face +🐇 rabbit +🐿 chipmunk +🦔 hedgehog +🦇 bat +🐻 bear face +🐨 koala +🐼 panda face +🦘 ⊛ kangaroo +🦡 ⊛ badger +🐾 paw prints +🦃 turkey +🐔 chicken +🐓 rooster +🐣 hatching chick +🐤 baby chick +🐥 front-facing baby chick +🐦 bird +🐧 penguin +🕊 dove +🦅 eagle +🦆 duck +🦢 ⊛ swan +🦉 owl +🦚 ⊛ peacock +🦜 ⊛ parrot +🐸 frog face +🐊 crocodile +🐢 turtle +🦎 lizard +🐍 snake +🐲 dragon face +🐉 dragon +🦕 sauropod +🦖 T-Rex +🐳 spouting whale +🐋 whale +🐬 dolphin +🐟 fish +🐠 tropical fish +🐡 blowfish +🦈 shark +🐙 octopus +🐚 spiral shell +🐌 snail +🦋 butterfly +🐛 bug +🐜 ant +🐝 honeybee +🐞 lady beetle +🦗 cricket +🕷 spider +🕸 spider web +🦂 scorpion +🦟 ⊛ mosquito +🦠 ⊛ microbe +💐 bouquet +🌸 cherry blossom +💮 white flower +🏵 rosette +🌹 rose +🥀 wilted flower +🌺 hibiscus +🌻 sunflower +🌼 blossom +🌷 tulip +🌱 seedling +🌲 evergreen tree +🌳 deciduous tree +🌴 palm tree +🌵 cactus +🌾 sheaf of rice +🌿 herb +☘ shamrock +🍀 four leaf clover +🍁 maple leaf +🍂 fallen leaf +🍃 leaf fluttering in wind +🍇 grapes +🍈 melon +🍉 watermelon +🍊 tangerine +🍋 lemon +🍌 banana +🍍 pineapple +🥭 ⊛ mango +🍎 red apple +🍏 green apple +🍐 pear +🍑 peach +🍒 cherries +🍓 strawberry +🥝 kiwi fruit +🍅 tomato +🥥 coconut +🥑 avocado +🍆 eggplant +🥔 potato +🥕 carrot +🌽 ear of corn +🌶 hot pepper +🥒 cucumber +🥬 ⊛ leafy green +🥦 broccoli +🍄 mushroom +🥜 peanuts +🌰 chestnut +🍞 bread +🥐 croissant +🥖 baguette bread +🥨 pretzel +🥯 ⊛ bagel +🥞 pancakes +🧀 cheese wedge +🍖 meat on bone +🍗 poultry leg +🥩 cut of meat +🥓 bacon +🍔 hamburger +🍟 french fries +🍕 pizza +🌭 hot dog +🥪 sandwich +🌮 taco +🌯 burrito +🥙 stuffed flatbread +🥚 egg +🍳 cooking +🥘 shallow pan of food +🍲 pot of food +🥣 bowl with spoon +🥗 green salad +🍿 popcorn +🧂 ⊛ salt +🥫 canned food +🍱 bento box +🍘 rice cracker +🍙 rice ball +🍚 cooked rice +🍛 curry rice +🍜 steaming bowl +🍝 spaghetti +🍠 roasted sweet potato +🍢 oden +🍣 sushi +🍤 fried shrimp +🍥 fish cake with swirl +🥮 ⊛ moon cake +🍡 dango +🥟 dumpling +🥠 fortune cookie +🥡 takeout box +🦀 crab +🦞 ⊛ lobster +🦐 shrimp +🦑 squid +🍦 soft ice cream +🍧 shaved ice +🍨 ice cream +🍩 doughnut +🍪 cookie +🎂 birthday cake +🍰 shortcake +🧁 ⊛ cupcake +🥧 pie +🍫 chocolate bar +🍬 candy +🍭 lollipop +🍮 custard +🍯 honey pot +🍼 baby bottle +🥛 glass of milk +☕ hot beverage +🍵 teacup without handle +🍶 sake +🍾 bottle with popping cork +🍷 wine glass +🍸 cocktail glass +🍹 tropical drink +🍺 beer mug +🍻 clinking beer mugs +🥂 clinking glasses +🥃 tumbler glass +🥤 cup with straw +🥢 chopsticks +🍽 fork and knife with plate +🍴 fork and knife +🥄 spoon +🔪 kitchen knife +🏺 amphora +🌍 globe showing Europe-Africa +🌎 globe showing Americas +🌏 globe showing Asia-Australia +🌐 globe with meridians +🗺 world map +🗾 map of Japan +🧭 ⊛ compass +🏔 snow-capped mountain +⛰ mountain +🌋 volcano +🗻 mount fuji +🏕 camping +🏖 beach with umbrella +🏜 desert +🏝 desert island +🏞 national park +🏟 stadium +🏛 classical building +🏗 building construction +🧱 ⊛ brick +🏘 houses +🏚 derelict house +🏠 house +🏡 house with garden +🏢 office building +🏣 Japanese post office +🏤 post office +🏥 hospital +🏦 bank +🏨 hotel +🏩 love hotel +🏪 convenience store +🏫 school +🏬 department store +🏭 factory +🏯 Japanese castle +🏰 castle +💒 wedding +🗼 Tokyo tower +🗽 Statue of Liberty +⛪ church +🕌 mosque +🕍 synagogue +⛩ shinto shrine +🕋 kaaba +⛲ fountain +⛺ tent +🌁 foggy +🌃 night with stars +🏙 cityscape +🌄 sunrise over mountains +🌅 sunrise +🌆 cityscape at dusk +🌇 sunset +🌉 bridge at night +♨ hot springs +🌌 milky way +🎠 carousel horse +🎡 ferris wheel +🎢 roller coaster +💈 barber pole +🎪 circus tent +🚂 locomotive +🚃 railway car +🚄 high-speed train +🚅 bullet train +🚆 train +🚇 metro +🚈 light rail +🚉 station +🚊 tram +🚝 monorail +🚞 mountain railway +🚋 tram car +🚌 bus +🚍 oncoming bus +🚎 trolleybus +🚐 minibus +🚑 ambulance +🚒 fire engine +🚓 police car +🚔 oncoming police car +🚕 taxi +🚖 oncoming taxi +🚗 automobile +🚘 oncoming automobile +🚙 sport utility vehicle +🚚 delivery truck +🚛 articulated lorry +🚜 tractor +🏎 racing car +🏍 motorcycle +🛵 motor scooter +🚲 bicycle +🛴 kick scooter +🛹 ⊛ skateboard +🚏 bus stop +🛣 motorway +🛤 railway track +🛢 oil drum +⛽ fuel pump +🚨 police car light +🚥 horizontal traffic light +🚦 vertical traffic light +🛑 stop sign +🚧 construction +⚓ anchor +⛵ sailboat +🛶 canoe +🚤 speedboat +🛳 passenger ship +⛴ ferry +🛥 motor boat +🚢 ship +✈ airplane +🛩 small airplane +🛫 airplane departure +🛬 airplane arrival +💺 seat +🚁 helicopter +🚟 suspension railway +🚠 mountain cableway +🚡 aerial tramway +🛰 satellite +🚀 rocket +🛸 flying saucer +🛎 bellhop bell +🧳 ⊛ luggage +⌛ hourglass done +⏳ hourglass not done +⌚ watch +⏰ alarm clock +⏱ stopwatch +⏲ timer clock +🕰 mantelpiece clock +🕛 twelve o’clock +🕧 twelve-thirty +🕐 one o’clock +🕜 one-thirty +🕑 two o’clock +🕝 two-thirty +🕒 three o’clock +🕞 three-thirty +🕓 four o’clock +🕟 four-thirty +🕔 five o’clock +🕠 five-thirty +🕕 six o’clock +🕡 six-thirty +🕖 seven o’clock +🕢 seven-thirty +🕗 eight o’clock +🕣 eight-thirty +🕘 nine o’clock +🕤 nine-thirty +🕙 ten o’clock +🕥 ten-thirty +🕚 eleven o’clock +🕦 eleven-thirty +🌑 new moon +🌒 waxing crescent moon +🌓 first quarter moon +🌔 waxing gibbous moon +🌕 full moon +🌖 waning gibbous moon +🌗 last quarter moon +🌘 waning crescent moon +🌙 crescent moon +🌚 new moon face +🌛 first quarter moon face +🌜 last quarter moon face +🌡 thermometer +☀ sun +🌝 full moon face +🌞 sun with face +⭐ star +🌟 glowing star +🌠 shooting star +☁ cloud +⛅ sun behind cloud +⛈ cloud with lightning and rain +🌤 sun behind small cloud +🌥 sun behind large cloud +🌦 sun behind rain cloud +🌧 cloud with rain +🌨 cloud with snow +🌩 cloud with lightning +🌪 tornado +🌫 fog +🌬 wind face +🌀 cyclone +🌈 rainbow +🌂 closed umbrella +☂ umbrella +☔ umbrella with rain drops +⛱ umbrella on ground +⚡ high voltage +❄ snowflake +☃ snowman +⛄ snowman without snow +☄ comet +🔥 fire +💧 droplet +🌊 water wave +🎃 jack-o-lantern +🎄 Christmas tree +🎆 fireworks +🎇 sparkler +🧨 ⊛ firecracker +✨ sparkles +🎈 balloon +🎉 party popper +🎊 confetti ball +🎋 tanabata tree +🎍 pine decoration +🎎 Japanese dolls +🎏 carp streamer +🎐 wind chime +🎑 moon viewing ceremony +🧧 ⊛ red envelope +🎀 ribbon +🎁 wrapped gift +🎗 reminder ribbon +🎟 admission tickets +🎫 ticket +🎖 military medal +🏆 trophy +🏅 sports medal +🥇 1st place medal +🥈 2nd place medal +🥉 3rd place medal +⚽ soccer ball +⚾ baseball +🥎 ⊛ softball +🏀 basketball +🏐 volleyball +🏈 american football +🏉 rugby football +🎾 tennis +🥏 ⊛ flying disc +🎳 bowling +🏏 cricket game +🏑 field hockey +🏒 ice hockey +🥍 ⊛ lacrosse +🏓 ping pong +🏸 badminton +🥊 boxing glove +🥋 martial arts uniform +🥅 goal net +⛳ flag in hole +⛸ ice skate +🎣 fishing pole +🎽 running shirt +🎿 skis +🛷 sled +🥌 curling stone +🎯 direct hit +🎱 pool 8 ball +🔮 crystal ball +🧿 ⊛ nazar amulet +🎮 video game +🕹 joystick +🎰 slot machine +🎲 game die +🧩 ⊛ jigsaw +🧸 ⊛ teddy bear +♠ spade suit +♥ heart suit +♦ diamond suit +♣ club suit +♟ ⊛ chess pawn +🃏 joker +🀄 mahjong red dragon +🎴 flower playing cards +🎭 performing arts +🖼 framed picture +🎨 artist palette +🧵 ⊛ thread +🧶 ⊛ yarn +👓 glasses +🕶 sunglasses +🥽 ⊛ goggles +🥼 ⊛ lab coat +👔 necktie +👕 t-shirt +👖 jeans +🧣 scarf +🧤 gloves +🧥 coat +🧦 socks +👗 dress +👘 kimono +👙 bikini +👚 woman’s clothes +👛 purse +👜 handbag +👝 clutch bag +🛍 shopping bags +🎒 backpack +👞 man’s shoe +👟 running shoe +🥾 ⊛ hiking boot +🥿 ⊛ flat shoe +👠 high-heeled shoe +👡 woman’s sandal +👢 woman’s boot +👑 crown +👒 woman’s hat +🎩 top hat +🎓 graduation cap +🧢 billed cap +⛑ rescue worker’s helmet +📿 prayer beads +💄 lipstick +💍 ring +💎 gem stone +🔇 muted speaker +🔈 speaker low volume +🔉 speaker medium volume +🔊 speaker high volume +📢 loudspeaker +📣 megaphone +📯 postal horn +🔔 bell +🔕 bell with slash +🎼 musical score +🎵 musical note +🎶 musical notes +🎙 studio microphone +🎚 level slider +🎛 control knobs +🎤 microphone +🎧 headphone +📻 radio +🎷 saxophone +🎸 guitar +🎹 musical keyboard +🎺 trumpet +🎻 violin +🥁 drum +📱 mobile phone +📲 mobile phone with arrow +☎ telephone +📞 telephone receiver +📟 pager +📠 fax machine +🔋 battery +🔌 electric plug +💻 laptop computer +🖥 desktop computer +🖨 printer +⌨ keyboard +🖱 computer mouse +🖲 trackball +💽 computer disk +💾 floppy disk +💿 optical disk +📀 dvd +🧮 ⊛ abacus +🎥 movie camera +🎞 film frames +📽 film projector +🎬 clapper board +📺 television +📷 camera +📸 camera with flash +📹 video camera +📼 videocassette +🔍 magnifying glass tilted left +🔎 magnifying glass tilted right +🕯 candle +💡 light bulb +🔦 flashlight +🏮 red paper lantern +📔 notebook with decorative cover +📕 closed book +📖 open book +📗 green book +📘 blue book +📙 orange book +📚 books +📓 notebook +📒 ledger +📃 page with curl +📜 scroll +📄 page facing up +📰 newspaper +🗞 rolled-up newspaper +📑 bookmark tabs +🔖 bookmark +🏷 label +💰 money bag +💴 yen banknote +💵 dollar banknote +💶 euro banknote +💷 pound banknote +💸 money with wings +💳 credit card +🧾 ⊛ receipt +💹 chart increasing with yen +💱 currency exchange +💲 heavy dollar sign +✉ envelope +📧 e-mail +📨 incoming envelope +📩 envelope with arrow +📤 outbox tray +📥 inbox tray +📦 package +📫 closed mailbox with raised flag +📪 closed mailbox with lowered flag +📬 open mailbox with raised flag +📭 open mailbox with lowered flag +📮 postbox +🗳 ballot box with ballot +✏ pencil +✒ black nib +🖋 fountain pen +🖊 pen +🖌 paintbrush +🖍 crayon +📝 memo +💼 briefcase +📁 file folder +📂 open file folder +🗂 card index dividers +📅 calendar +📆 tear-off calendar +🗒 spiral notepad +🗓 spiral calendar +📇 card index +📈 chart increasing +📉 chart decreasing +📊 bar chart +📋 clipboard +📌 pushpin +📍 round pushpin +📎 paperclip +🖇 linked paperclips +📏 straight ruler +📐 triangular ruler +✂ scissors +🗃 card file box +🗄 file cabinet +🗑 wastebasket +🔒 locked +🔓 unlocked +🔏 locked with pen +🔐 locked with key +🔑 key +🗝 old key +🔨 hammer +⛏ pick +⚒ hammer and pick +🛠 hammer and wrench +🗡 dagger +⚔ crossed swords +🔫 pistol +🏹 bow and arrow +🛡 shield +🔧 wrench +🔩 nut and bolt +⚙ gear +🗜 clamp +⚖ balance scale +🔗 link +⛓ chains +🧰 ⊛ toolbox +🧲 ⊛ magnet +⚗ alembic +🧪 ⊛ test tube +🧫 ⊛ petri dish +🧬 ⊛ dna +🔬 microscope +🔭 telescope +📡 satellite antenna +💉 syringe +💊 pill +🚪 door +🛏 bed +🛋 couch and lamp +🚽 toilet +🚿 shower +🛁 bathtub +🧴 ⊛ lotion bottle +🧷 ⊛ safety pin +🧹 ⊛ broom +🧺 ⊛ basket +🧻 ⊛ roll of paper +🧼 ⊛ soap +🧽 ⊛ sponge +🧯 ⊛ fire extinguisher +🛒 shopping cart +🚬 cigarette +⚰ coffin +⚱ funeral urn +🗿 moai +🏧 ATM sign +🚮 litter in bin sign +🚰 potable water +♿ wheelchair symbol +🚹 men’s room +🚺 women’s room +🚻 restroom +🚼 baby symbol +🚾 water closet +🛂 passport control +🛃 customs +🛄 baggage claim +🛅 left luggage +⚠ warning +🚸 children crossing +⛔ no entry +🚫 prohibited +🚳 no bicycles +🚭 no smoking +🚯 no littering +🚱 non-potable water +🚷 no pedestrians +📵 no mobile phones +🔞 no one under eighteen +☢ radioactive +☣ biohazard +⬆ up arrow +↗ up-right arrow +➡ right arrow +↘ down-right arrow +⬇ down arrow +↙ down-left arrow +⬅ left arrow +↖ up-left arrow +↕ up-down arrow +↔ left-right arrow +↩ right arrow curving left +↪ left arrow curving right +⤴ right arrow curving up +⤵ right arrow curving down +🔃 clockwise vertical arrows +🔄 counterclockwise arrows button +🔙 BACK arrow +🔚 END arrow +🔛 ON! arrow +🔜 SOON arrow +🔝 TOP arrow +🛐 place of worship +⚛ atom symbol +🕉 om +✡ star of David +☸ wheel of dharma +☯ yin yang +✝ latin cross +☦ orthodox cross +☪ star and crescent +☮ peace symbol +🕎 menorah +🔯 dotted six-pointed star +♈ Aries +♉ Taurus +♊ Gemini +♋ Cancer +♌ Leo +♍ Virgo +♎ Libra +♏ Scorpio +♐ Sagittarius +♑ Capricorn +♒ Aquarius +♓ Pisces +⛎ Ophiuchus +🔀 shuffle tracks button +🔁 repeat button +🔂 repeat single button +▶ play button +⏩ fast-forward button +⏭ next track button +⏯ play or pause button +◀ reverse button +⏪ fast reverse button +⏮ last track button +🔼 upwards button +⏫ fast up button +🔽 downwards button +⏬ fast down button +⏸ pause button +⏹ stop button +⏺ record button +⏏ eject button +🎦 cinema +🔅 dim button +🔆 bright button +📶 antenna bars +📳 vibration mode +📴 mobile phone off +♀ female sign +♂ male sign +⚕ medical symbol +♾ ⊛ infinity +♻ recycling symbol +⚜ fleur-de-lis +🔱 trident emblem +📛 name badge +🔰 Japanese symbol for beginner +⭕ heavy large circle +✅ white heavy check mark +☑ ballot box with check +✔ heavy check mark +✖ heavy multiplication x +❌ cross mark +❎ cross mark button +➕ heavy plus sign +➖ heavy minus sign +➗ heavy division sign +➰ curly loop +➿ double curly loop +〽 part alternation mark +✳ eight-spoked asterisk +✴ eight-pointed star +❇ sparkle +‼ double exclamation mark +⁉ exclamation question mark +❓ question mark +❔ white question mark +❕ white exclamation mark +❗ exclamation mark +〰 wavy dash +© copyright +® registered +™ trade mark +#️⃣ keycap: # +*️⃣ keycap: * +0️⃣ keycap: 0 +1️⃣ keycap: 1 +2️⃣ keycap: 2 +3️⃣ keycap: 3 +4️⃣ keycap: 4 +5️⃣ keycap: 5 +6️⃣ keycap: 6 +7️⃣ keycap: 7 +8️⃣ keycap: 8 +9️⃣ keycap: 9 +🔟 keycap: 10 +🔠 input latin uppercase +🔡 input latin lowercase +🔢 input numbers +🔣 input symbols +🔤 input latin letters +🅰 A button (blood type) +🆎 AB button (blood type) +🅱 B button (blood type) +🆑 CL button +🆒 COOL button +🆓 FREE button +ℹ information +🆔 ID button +Ⓜ circled M +🆕 NEW button +🆖 NG button +🅾 O button (blood type) +🆗 OK button +🅿 P button +🆘 SOS button +🆙 UP! button +🆚 VS button +🈁 Japanese “here” button +🈂 Japanese “service charge” button +🈷 Japanese “monthly amount” button +🈶 Japanese “not free of charge” button +🈯 Japanese “reserved” button +🉐 Japanese “bargain” button +🈹 Japanese “discount” button +🈚 Japanese “free of charge” button +🈲 Japanese “prohibited” button +🉑 Japanese “acceptable” button +🈸 Japanese “application” button +🈴 Japanese “passing grade” button +🈳 Japanese “vacancy” button +㊗ Japanese “congratulations” button +㊙ Japanese “secret” button +🈺 Japanese “open for business” button +🈵 Japanese “no vacancy” button +🔴 red circle +🔵 blue circle +⚪ white circle +⚫ black circle +⬜ white large square +⬛ black large square +◼ black medium square +◻ white medium square +◽ white medium-small square +◾ black medium-small square +▫ white small square +▪ black small square +🔶 large orange diamond +🔷 large blue diamond +🔸 small orange diamond +🔹 small blue diamond +🔺 red triangle pointed up +🔻 red triangle pointed down +💠 diamond with a dot +🔘 radio button +🔲 black square button +🔳 white square button +🏁 chequered flag +🚩 triangular flag +🎌 crossed flags +🏴 black flag +🏳 white flag +🏳️‍🌈 rainbow flag +🏴‍☠️ ⊛ pirate flag +🇦🇨 flag: Ascension Island +🇦🇩 flag: Andorra +🇦🇪 flag: United Arab Emirates +🇦🇫 flag: Afghanistan +🇦🇬 flag: Antigua &amp; Barbuda +🇦🇮 flag: Anguilla +🇦🇱 flag: Albania +🇦🇲 flag: Armenia +🇦🇴 flag: Angola +🇦🇶 flag: Antarctica +🇦🇷 flag: Argentina +🇦🇸 flag: American Samoa +🇦🇹 flag: Austria +🇦🇺 flag: Australia +🇦🇼 flag: Aruba +🇦🇽 flag: Åland Islands +🇦🇿 flag: Azerbaijan +🇧🇦 flag: Bosnia &amp; Herzegovina +🇧🇧 flag: Barbados +🇧🇩 flag: Bangladesh +🇧🇪 flag: Belgium +🇧🇫 flag: Burkina Faso +🇧🇬 flag: Bulgaria +🇧🇭 flag: Bahrain +🇧🇮 flag: Burundi +🇧🇯 flag: Benin +🇧🇱 flag: St. Barthélemy +🇧🇲 flag: Bermuda +🇧🇳 flag: Brunei +🇧🇴 flag: Bolivia +🇧🇶 flag: Caribbean Netherlands +🇧🇷 flag: Brazil +🇧🇸 flag: Bahamas +🇧🇹 flag: Bhutan +🇧🇻 flag: Bouvet Island +🇧🇼 flag: Botswana +🇧🇾 flag: Belarus +🇧🇿 flag: Belize +🇨🇦 flag: Canada +🇨🇨 flag: Cocos (Keeling) Islands +🇨🇩 flag: Congo - Kinshasa +🇨🇫 flag: Central African Republic +🇨🇬 flag: Congo - Brazzaville +🇨🇭 flag: Switzerland +🇨🇮 flag: Côte d’Ivoire +🇨🇰 flag: Cook Islands +🇨🇱 flag: Chile +🇨🇲 flag: Cameroon +🇨🇳 flag: China +🇨🇴 flag: Colombia +🇨🇵 flag: Clipperton Island +🇨🇷 flag: Costa Rica +🇨🇺 flag: Cuba +🇨🇻 flag: Cape Verde +🇨🇼 flag: Curaçao +🇨🇽 flag: Christmas Island +🇨🇾 flag: Cyprus +🇨🇿 flag: Czechia +🇩🇪 flag: Germany +🇩🇬 flag: Diego Garcia +🇩🇯 flag: Djibouti +🇩🇰 flag: Denmark +🇩🇲 flag: Dominica +🇩🇴 flag: Dominican Republic +🇩🇿 flag: Algeria +🇪🇦 flag: Ceuta &amp; Melilla +🇪🇨 flag: Ecuador +🇪🇪 flag: Estonia +🇪🇬 flag: Egypt +🇪🇭 flag: Western Sahara +🇪🇷 flag: Eritrea +🇪🇸 flag: Spain +🇪🇹 flag: Ethiopia +🇪🇺 flag: European Union +🇫🇮 flag: Finland +🇫🇯 flag: Fiji +🇫🇰 flag: Falkland Islands +🇫🇲 flag: Micronesia +🇫🇴 flag: Faroe Islands +🇫🇷 flag: France +🇬🇦 flag: Gabon +🇬🇧 flag: United Kingdom +🇬🇩 flag: Grenada +🇬🇪 flag: Georgia +🇬🇫 flag: French Guiana +🇬🇬 flag: Guernsey +🇬🇭 flag: Ghana +🇬🇮 flag: Gibraltar +🇬🇱 flag: Greenland +🇬🇲 flag: Gambia +🇬🇳 flag: Guinea +🇬🇵 flag: Guadeloupe +🇬🇶 flag: Equatorial Guinea +🇬🇷 flag: Greece +🇬🇸 flag: South Georgia &amp; South Sandwich Islands +🇬🇹 flag: Guatemala +🇬🇺 flag: Guam +🇬🇼 flag: Guinea-Bissau +🇬🇾 flag: Guyana +🇭🇰 flag: Hong Kong SAR China +🇭🇲 flag: Heard &amp; McDonald Islands +🇭🇳 flag: Honduras +🇭🇷 flag: Croatia +🇭🇹 flag: Haiti +🇭🇺 flag: Hungary +🇮🇨 flag: Canary Islands +🇮🇩 flag: Indonesia +🇮🇪 flag: Ireland +🇮🇱 flag: Israel +🇮🇲 flag: Isle of Man +🇮🇳 flag: India +🇮🇴 flag: British Indian Ocean Territory +🇮🇶 flag: Iraq +🇮🇷 flag: Iran +🇮🇸 flag: Iceland +🇮🇹 flag: Italy +🇯🇪 flag: Jersey +🇯🇲 flag: Jamaica +🇯🇴 flag: Jordan +🇯🇵 flag: Japan +🇰🇪 flag: Kenya +🇰🇬 flag: Kyrgyzstan +🇰🇭 flag: Cambodia +🇰🇮 flag: Kiribati +🇰🇲 flag: Comoros +🇰🇳 flag: St. Kitts &amp; Nevis +🇰🇵 flag: North Korea +🇰🇷 flag: South Korea +🇰🇼 flag: Kuwait +🇰🇾 flag: Cayman Islands +🇰🇿 flag: Kazakhstan +🇱🇦 flag: Laos +🇱🇧 flag: Lebanon +🇱🇨 flag: St. Lucia +🇱🇮 flag: Liechtenstein +🇱🇰 flag: Sri Lanka +🇱🇷 flag: Liberia +🇱🇸 flag: Lesotho +🇱🇹 flag: Lithuania +🇱🇺 flag: Luxembourg +🇱🇻 flag: Latvia +🇱🇾 flag: Libya +🇲🇦 flag: Morocco +🇲🇨 flag: Monaco +🇲🇩 flag: Moldova +🇲🇪 flag: Montenegro +🇲🇫 flag: St. Martin +🇲🇬 flag: Madagascar +🇲🇭 flag: Marshall Islands +🇲🇰 flag: Macedonia +🇲🇱 flag: Mali +🇲🇲 flag: Myanmar (Burma) +🇲🇳 flag: Mongolia +🇲🇴 flag: Macau SAR China +🇲🇵 flag: Northern Mariana Islands +🇲🇶 flag: Martinique +🇲🇷 flag: Mauritania +🇲🇸 flag: Montserrat +🇲🇹 flag: Malta +🇲🇺 flag: Mauritius +🇲🇻 flag: Maldives +🇲🇼 flag: Malawi +🇲🇽 flag: Mexico +🇲🇾 flag: Malaysia +🇲🇿 flag: Mozambique +🇳🇦 flag: Namibia +🇳🇨 flag: New Caledonia +🇳🇪 flag: Niger +🇳🇫 flag: Norfolk Island +🇳🇬 flag: Nigeria +🇳🇮 flag: Nicaragua +🇳🇱 flag: Netherlands +🇳🇴 flag: Norway +🇳🇵 flag: Nepal +🇳🇷 flag: Nauru +🇳🇺 flag: Niue +🇳🇿 flag: New Zealand +🇴🇲 flag: Oman +🇵🇦 flag: Panama +🇵🇪 flag: Peru +🇵🇫 flag: French Polynesia +🇵🇬 flag: Papua New Guinea +🇵🇭 flag: Philippines +🇵🇰 flag: Pakistan +🇵🇱 flag: Poland +🇵🇲 flag: St. Pierre &amp; Miquelon +🇵🇳 flag: Pitcairn Islands +🇵🇷 flag: Puerto Rico +🇵🇸 flag: Palestinian Territories +🇵🇹 flag: Portugal +🇵🇼 flag: Palau +🇵🇾 flag: Paraguay +🇶🇦 flag: Qatar +🇷🇪 flag: Réunion +🇷🇴 flag: Romania +🇷🇸 flag: Serbia +🇷🇺 flag: Russia +🇷🇼 flag: Rwanda +🇸🇦 flag: Saudi Arabia +🇸🇧 flag: Solomon Islands +🇸🇨 flag: Seychelles +🇸🇩 flag: Sudan +🇸🇪 flag: Sweden +🇸🇬 flag: Singapore +🇸🇭 flag: St. Helena +🇸🇮 flag: Slovenia +🇸🇯 flag: Svalbard &amp; Jan Mayen +🇸🇰 flag: Slovakia +🇸🇱 flag: Sierra Leone +🇸🇲 flag: San Marino +🇸🇳 flag: Senegal +🇸🇴 flag: Somalia +🇸🇷 flag: Suriname +🇸🇸 flag: South Sudan +🇸🇹 flag: São Tomé &amp; Príncipe +🇸🇻 flag: El Salvador +🇸🇽 flag: Sint Maarten +🇸🇾 flag: Syria +🇸🇿 flag: Swaziland +🇹🇦 flag: Tristan da Cunha +🇹🇨 flag: Turks &amp; Caicos Islands +🇹🇩 flag: Chad +🇹🇫 flag: French Southern Territories +🇹🇬 flag: Togo +🇹🇭 flag: Thailand +🇹🇯 flag: Tajikistan +🇹🇰 flag: Tokelau +🇹🇱 flag: Timor-Leste +🇹🇲 flag: Turkmenistan +🇹🇳 flag: Tunisia +🇹🇴 flag: Tonga +🇹🇷 flag: Turkey +🇹🇹 flag: Trinidad &amp; Tobago +🇹🇻 flag: Tuvalu +🇹🇼 flag: Taiwan +🇹🇿 flag: Tanzania +🇺🇦 flag: Ukraine +🇺🇬 flag: Uganda +🇺🇲 flag: U.S. Outlying Islands +🇺🇳 flag: United Nations +🇺🇸 flag: United States +🇺🇾 flag: Uruguay +🇺🇿 flag: Uzbekistan +🇻🇦 flag: Vatican City +🇻🇨 flag: St. Vincent &amp; Grenadines +🇻🇪 flag: Venezuela +🇻🇬 flag: British Virgin Islands +🇻🇮 flag: U.S. Virgin Islands +🇻🇳 flag: Vietnam +🇻🇺 flag: Vanuatu +🇼🇫 flag: Wallis &amp; Futuna +🇼🇸 flag: Samoa +🇽🇰 flag: Kosovo +🇾🇪 flag: Yemen +🇾🇹 flag: Mayotte +🇿🇦 flag: South Africa +🇿🇲 flag: Zambia +🇿🇼 flag: Zimbabwe +🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag: England +🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag: Scotland +🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag: Wales diff --git a/mpd/mpd.conf b/mpd/mpd.conf @@ -0,0 +1,79 @@ +music_directory "~/Music" +playlist_directory "~/.config/mpd/playlists" +db_file "~/.config/mpd/database" +log_file "~/.config/mpd/log" +# pid_file "~/.mpd/pid" +state_file "~/.config/mpd/state" +#sticker_file "~/.mpd/sticker.sql" + +#user "nobody" +#group "nogroup" +# For network +#bind_to_address "any" +# And for Unix Socket +#bind_to_address "~/.mpd/socket" +port "6600" +log_level "default" +restore_paused "yes" +#save_absolute_paths_in_playlists "no" +#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" +#metadata_to_use "+comment" +auto_update "no" +#auto_update_depth "3" + +#follow_inside_symlinks "yes" + +#zeroconf_enabled "yes" +#zeroconf_name "Music Player @ %h" +#password "password@read,add,control,admin" +#default_permissions "read,add,control,admin" + +#database { +# plugin "proxy" +# host "other.mpd.host" +# port "6600" +#} + +input { + plugin "curl" +# proxy "proxy.isp.com:8080" +# proxy_user "user" +# proxy_password "password" +} + +input { + enabled "no" + plugin "qobuz" +} + +input { + enabled "no" + plugin "tidal" +} + +audio_output { + type "pulse" + name "pulse audio" + mixer_type "software" # optional + mixer_device "default" # optional + mixer_control "PCM" # optional + mixer_index "0" # optional +} + +replaygain "auto" +#replaygain_preamp "0" +#replaygain_missing_preamp "0" + +#replaygain_limit "yes" + +volume_normalization "no" + +#filesystem_charset "UTF-8" + +# Visualizer +audio_output { + type "fifo" + name "my_fifo" + path "/tmp/mpd.fifo" + format "44100:16:2" +} diff --git a/mpv/input.conf b/mpv/input.conf @@ -0,0 +1,3 @@ +l seek 5 +j seek -5 +k cycle pause diff --git a/mpv/mpv.conf b/mpv/mpv.conf @@ -0,0 +1 @@ +hwdec=vaapi diff --git a/ncmpcpp/bindings b/ncmpcpp/bindings @@ -0,0 +1,23 @@ +def_key "k" + scroll_up + +def_key "j" + scroll_down + +def_key "l" + next_column + +def_key "l" + slave_screen + +def_key "l" + volume_up + +def_key "h" + previous_column + +def_key "h" + master_screen + +def_key "h" + volume_down diff --git a/ncmpcpp/config b/ncmpcpp/config @@ -0,0 +1,90 @@ +# vim: set syntax=config: + +ncmpcpp_directory = ~/.config/ncmpcpp + +#lyrics_directory = ~/.lyrics +#mpd_host = localhost +#mpd_port = 6600 +#mpd_connection_timeout = 5 +mpd_music_dir = ~/Music +mpd_crossfade_time = 2 + +## Available values: spectrum, wave, wave_filled, ellipse. +visualizer_type = wave_filled +visualizer_look = ●▮ +visualizer_color = cyan + +# song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9} +#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} +#song_library_format = {%n - }{%t}|{%f} +# alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b +#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} +current_item_prefix = $(cyan)$r +current_item_suffix = $/r$(end) +#current_item_inactive_column_prefix = $(white)$r +#current_item_inactive_column_suffix = $/r$(end) +#now_playing_prefix = $b +#now_playing_suffix = $/b +#browser_playlist_prefix = "$2playlist$9 " +# selected_item_prefix = $6 +# selected_item_suffix = $9 +#modified_item_prefix = $3> $9 + +browser_sort_mode = name + + +song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[yellow]{b} (7f)[white]{l} + +## Note: Possible display modes: classic, columns. +# playlist_display_mode = columns +# browser_display_mode = classic +# search_engine_display_mode = classic +# playlist_editor_display_mode = classic +# discard_colors_if_item_is_selected = yes +# show_duplicate_tags = yes +# incremental_seeking = yes +# seek_time = 1 +volume_change_step = 1 +# autocenter_mode = no +# centered_cursor = no + +progressbar_look = —●— + +default_place_to_search_in = database + +user_interface = classic +cyclic_scrolling = yes + +## Screens available for use: help, playlist, browser, search_engine, +## media_library, playlist_editor, tag_editor, outputs, visualizer, clock, +## lyrics, last_fm. +#screen_switcher_mode = playlist, browser +startup_screen = media_library + +clock_display_seconds = yes +display_volume_level = yes +display_bitrate = yes +display_remaining_time = no + +external_editor = nvim +## Note: set to yes if external editor is a console application. +use_console_editor = yes + + +colors_enabled = yes +# empty_tag_color = cyan +# header_window_color = cyan +volume_color = default:b +state_line_color = 55 +state_flags_color = red:b +main_window_color = white +color1 = white +color2 = green +progressbar_color = 60:b +progressbar_elapsed_color = 55:b +# statusbar_color = default +# statusbar_time_color = default:b +player_state_color = red:b +# alternative_ui_separator_color = black:b +# window_border_color = green +# active_window_border = red diff --git a/picom/picom.conf b/picom/picom.conf @@ -0,0 +1,227 @@ +# Thank you code_nomad: http://9m.no/ꪯ鵞 +# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton + +################################# +# +# Backend +# +################################# + +# Backend to use: "xrender" or "glx". +# GLX backend is typically much faster but depends on a sane driver. +backend = "glx"; + +################################# +# +# GLX backend +# +################################# + +glx-no-stencil = true; + +# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all. +# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, +# but a 20% increase when only 1/4 is. +# My tests on nouveau show terrible slowdown. +glx-copy-from-front = false; + +# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. +# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated. +# May break VSync and is not available on some drivers. +# Overrides --glx-copy-from-front. +# glx-use-copysubbuffermesa = true; + +# 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). +# Recommended if it works. +# glx-no-rebind-pixmap = true; + +# GLX backend: GLX buffer swap method we assume. +# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1). +# undefined is the slowest and the safest, and the default value. +# copy is fastest, but may fail on some drivers, +# 2-6 are gradually slower but safer (6 is still faster than 0). +# Usually, double buffer means 2, triple buffer means 3. +# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers. +# Useless with --glx-use-copysubbuffermesa. +# Partially breaks --resize-damage. +# Defaults to undefined. +#glx-swap-method = "undefined"; + +################################# +# +# Shadows +# +################################# + +# Enabled client-side shadows on windows. +shadow = false; +# The blur radius for shadows. (default 12) +shadow-radius = 5; +# The left offset for shadows. (default -15) +shadow-offset-x = -5; +# The top offset for shadows. (default -15) +shadow-offset-y = -5; +# The translucency for shadows. (default .75) +shadow-opacity = 0.5; + +# Set if you want different colour shadows +# shadow-red = 0.0; +# shadow-green = 0.0; +# shadow-blue = 0.0; + +# The shadow exclude options are helpful if you have shadows enabled. Due to the way picom draws its shadows, certain applications will have visual glitches +# (most applications are fine, only apps that do weird things with xshapes or argb are affected). +# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. +shadow-exclude = [ + "! name~=''", + "name = 'Notification'", + "name = 'Plank'", + "name = 'Docky'", + "name = 'Kupfer'", + "name = 'xfce4-notifyd'", + "name *= 'VLC'", + "name *= 'compton'", + "name *= 'picom'", + "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 ?= 'Xfce4-notifyd'", + "class_g ?= 'Xfce4-power-manager'", + "_GTK_FRAME_EXTENTS@:c", + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; +# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) +shadow-ignore-shaped = false; + +################################# +# +# Opacity +# +################################# + +inactive-opacity = 1; +active-opacity = 1; +frame-opacity = 1; +inactive-opacity-override = false; + +# Dim inactive windows. (0.0 - 1.0) +# inactive-dim = 0.2; +# Do not let dimness adjust based on window opacity. +# inactive-dim-fixed = true; +# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred. +# blur-background = true; +# Blur background of opaque windows with transparent frames as well. +# blur-background-frame = true; +# Do not let blur radius adjust based on window opacity. +blur-background-fixed = false; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + +################################# +# +# Fading +# +################################# + +# Fade windows during opacity changes. +fading = true; +# The time between steps in a fade in milliseconds. (default 10). +fade-delta = 3; +# Opacity change between steps while fading in. (default 0.028). +fade-in-step = 0.03; +# Opacity change between steps while fading out. (default 0.03). +fade-out-step = 0.03; +# Fade windows in/out when opening/closing +# no-fading-openclose = true; + +# Specify a list of conditions of windows that should not be faded. +fade-exclude = [ ]; + +################################# +# +# Other +# +################################# + +# Try to detect WM windows and mark them as active. +mark-wmwin-focused = true; +# Mark all non-WM but override-redirect windows active (e.g. menus). +mark-ovredir-focused = true; +# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events. +# Usually more reliable but depends on a EWMH-compliant WM. +use-ewmh-active-win = true; +# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. +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. +# This prevents opacity being ignored for some apps. +# For example without this enabled my xfce4-notifyd is 100% opacity no matter what. +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 = 0; + +# Vertical synchronization: match the refresh rate of the monitor +vsync = true; + +# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. +# Reported to have no effect, though. +dbe = false; + +# 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 = true; + +# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. +# Known to cause flickering when redirecting/unredirecting windows. +unredir-if-possible = false; + +# Specify a list of conditions of windows that should always be considered focused. +focus-exclude = [ ]; + +# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time. +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 = true; + +################################# +# +# Window type settings +# +################################# + +wintypes: +{ + tooltip = + { + # fade: Fade the particular type of windows. + fade = true; + # shadow: Give those windows shadow + shadow = false; + # opacity: Default opacity for the type of windows. + opacity = 0.85; + # focus: Whether to always consider windows of this type focused. + focus = true; + }; +}; + +###################### +# +# XSync +# See: https://github.com/yshui/picom/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d +# +###################### + +# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users. +xrender-sync-fence = true; diff --git a/rofi/config.rasi b/rofi/config.rasi @@ -0,0 +1,147 @@ +/*-*- mode: css; -*-*/ +/* vim:ft=css */ +configuration { +/* modi: "window,run,ssh";*/ +/* width: 50;*/ +/* lines: 15;*/ +/* columns: 1;*/ +/* font: "mono 12";*/ +/* bw: 1;*/ +/* location: 0;*/ +/* padding: 5;*/ +/* yoffset: 0;*/ +/* xoffset: 0;*/ +/* fixed-num-lines: true;*/ +/* show-icons: false;*/ +/* terminal: "rofi-sensible-terminal";*/ +/* ssh-client: "ssh";*/ +/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/ +/* run-command: "{cmd}";*/ +/* run-list-command: "";*/ +/* run-shell-command: "{terminal} -e {cmd}";*/ +/* window-command: "wmctrl -i -R {window}";*/ +/* window-match-fields: "all";*/ +/* icon-theme: ;*/ +/* drun-match-fields: "name,generic,exec,categories";*/ +/* drun-show-actions: false;*/ +/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/ +/* disable-history: false;*/ +/* ignored-prefixes: "";*/ +/* sort: false;*/ +/* sorting-method: ;*/ +/* case-sensitive: false;*/ +/* cycle: true;*/ +/* sidebar-mode: false;*/ +/* eh: 1;*/ +/* auto-select: false;*/ +/* parse-hosts: false;*/ +/* parse-known-hosts: true;*/ +/* combi-modi: "window,run";*/ +/* matching: "normal";*/ +/* tokenize: true;*/ +/* m: "-5";*/ +/* line-margin: 2;*/ +/* line-padding: 1;*/ +/* filter: ;*/ +/* separator-style: "dash";*/ +/* hide-scrollbar: false;*/ +/* fullscreen: false;*/ +/* fake-transparency: false;*/ +/* dpi: -1;*/ +/* threads: 0;*/ +/* scrollbar-width: 8;*/ +/* scroll-method: 0;*/ +/* fake-background: "screenshot";*/ +/* window-format: "{w} {c} {t}";*/ +/* click-to-exit: true;*/ +/* show-match: true;*/ + theme: "Monokai"; +/* color-normal: ;*/ +/* color-urgent: ;*/ +/* color-active: ;*/ +/* color-window: ;*/ +/* max-history-size: 25;*/ +/* combi-hide-mode-prefix: false;*/ +/* matching-negate-char: '-' /* unsupported */;*/ +/* cache-dir: ;*/ +/* pid: "/run/user/1000/rofi.pid";*/ +/* display-window: ;*/ +/* display-windowcd: ;*/ +/* display-run: ;*/ +/* display-ssh: ;*/ +/* display-drun: ;*/ +/* display-combi: ;*/ +/* display-keys: ;*/ +/* kb-primary-paste: "Control+V,Shift+Insert";*/ +/* kb-secondary-paste: "Control+v,Insert";*/ +/* kb-clear-line: "Control+w";*/ +/* kb-move-front: "Control+a";*/ +/* kb-move-end: "Control+e";*/ +/* kb-move-word-back: "Alt+b,Control+Left";*/ +/* kb-move-word-forward: "Alt+f,Control+Right";*/ +/* kb-move-char-back: "Left,Control+b";*/ +/* kb-move-char-forward: "Right,Control+f";*/ +/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/ +/* kb-remove-word-forward: "Control+Alt+d";*/ +/* kb-remove-char-forward: "Delete,Control+d";*/ +/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/ +/* kb-remove-to-eol: "Control+k";*/ +/* kb-remove-to-sol: "Control+u";*/ +/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/ +/* kb-accept-custom: "Control+Return";*/ +/* kb-accept-alt: "Shift+Return";*/ +/* kb-delete-entry: "Shift+Delete";*/ +/* kb-mode-next: "Shift+Right,Control+Tab";*/ +/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/ +/* kb-row-left: "Control+Page_Up";*/ +/* kb-row-right: "Control+Page_Down";*/ +/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/ +/* kb-row-down: "Down,Control+n";*/ +/* kb-row-tab: "Tab";*/ +/* kb-page-prev: "Page_Up";*/ +/* kb-page-next: "Page_Down";*/ +/* kb-row-first: "Home,KP_Home";*/ +/* kb-row-last: "End,KP_End";*/ +/* kb-row-select: "Control+space";*/ +/* kb-screenshot: "Alt+S";*/ +/* kb-ellipsize: "Alt+period";*/ +/* kb-toggle-case-sensitivity: "grave,dead_grave";*/ +/* kb-toggle-sort: "Alt+grave";*/ +/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/ +/* kb-custom-1: "Alt+1";*/ +/* kb-custom-2: "Alt+2";*/ +/* kb-custom-3: "Alt+3";*/ +/* kb-custom-4: "Alt+4";*/ +/* kb-custom-5: "Alt+5";*/ +/* kb-custom-6: "Alt+6";*/ +/* kb-custom-7: "Alt+7";*/ +/* kb-custom-8: "Alt+8";*/ +/* kb-custom-9: "Alt+9";*/ +/* kb-custom-10: "Alt+0";*/ +/* kb-custom-11: "Alt+exclam";*/ +/* kb-custom-12: "Alt+at";*/ +/* kb-custom-13: "Alt+numbersign";*/ +/* kb-custom-14: "Alt+dollar";*/ +/* kb-custom-15: "Alt+percent";*/ +/* kb-custom-16: "Alt+dead_circumflex";*/ +/* kb-custom-17: "Alt+ampersand";*/ +/* kb-custom-18: "Alt+asterisk";*/ +/* kb-custom-19: "Alt+parenleft";*/ +/* kb-select-1: "Super+1";*/ +/* kb-select-2: "Super+2";*/ +/* kb-select-3: "Super+3";*/ +/* kb-select-4: "Super+4";*/ +/* kb-select-5: "Super+5";*/ +/* kb-select-6: "Super+6";*/ +/* kb-select-7: "Super+7";*/ +/* kb-select-8: "Super+8";*/ +/* kb-select-9: "Super+9";*/ +/* kb-select-10: "Super+0";*/ +/* ml-row-left: "ScrollLeft";*/ +/* ml-row-right: "ScrollRight";*/ +/* ml-row-up: "ScrollUp";*/ +/* ml-row-down: "ScrollDown";*/ +/* me-select-entry: "MousePrimary";*/ +/* me-accept-entry: "MouseDPrimary";*/ +/* me-accept-custom: "Control+MouseDPrimary";*/ +} diff --git a/scrot.sh b/scrot.sh @@ -0,0 +1,4 @@ +#!/bin/sh + + +scrot -e 'mv $f ~/Pictures' && notify-send "Screenshot taken" diff --git a/status.sh b/status.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +get_ip() { + ip -4 address show "$1" | grep inet | awk '{print $2}' +} + +get_mem() { + mem="$(free -h | grep Mem)" + free="$(echo "$mem" | awk '{print $3}')" + total="$(echo "$mem" | awk '{print $2}')" + printf "%s/%s" "$free" "$total" +} + +get_swap() { + mem="$(free -h | grep Swap)" + free="$(echo "$mem" | awk '{print $3}')" + total="$(echo "$mem" | awk '{print $2}')" + printf "%s/%s" "$free" "$total" +} + +music_status() { + if mpc status | grep "playing" > /dev/null; then + echo "" + else + echo "" + fi +} + +cpu_usage() { + usage=$(top -b -n 1 | grep Cpu | awk '{print $2}') + printf "%5.1f" "$usage" +} + +echo " $(music_status) $(mpc current)  $(get_ip wlo1)  $(get_mem)  $(cpu_usage)% " diff --git a/vim/vimrc b/vim/vimrc @@ -0,0 +1,117 @@ +" Dein config +if &compatible + set nocompatible +endif + +set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim + +if dein#load_state('~/.cache/dein') + call dein#begin('~/.cache/dein') + + call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim') + + call dein#add('vim-airline/vim-airline') + call dein#add('airblade/vim-gitgutter') + call dein#add('tpope/vim-commentary') + call dein#add('vim-scripts/auto-pairs-gentle') + call dein#add('yggdroot/indentline') + call dein#add('w0rp/ale') + call dein#add('shougo/deoplete.nvim') + call dein#add('Shougo/neosnippet.vim') + call dein#add('Shougo/neosnippet-snippets') + call dein#add('tpope/vim-fugitive') + call dein#add('majutsushi/tagbar') + call dein#add('sjl/badwolf') + call dein#add('amdt/vim-niji') + call dein#add('tpope/vim-obsession') + call dein#add('ludovicchabant/vim-gutentags') + + call dein#end() + call dein#save_state() +endif + +if dein#check_install() + call dein#install() +endif + +filetype plugin indent on +syntax enable + +" Plugin config +let g:airline#extensions#tabline#enabled = 1 +let g:AutoPairsUseInsertedCount = 1 +map ; :Commentary<CR> +let g:indentLine_char_list = ['|', '¦', '┆', '┊'] +nmap <f8> :TagbarToggle<CR> +let g:gitgutter_enabled = 1 +let g:deoplete#enable_at_startup = 1 +imap <C-k> <Plug>(neosnippet_expand_or_jump) +smap <C-k> <Plug>(neosnippet_expand_or_jump) +xmap <C-k> <Plug>(neosnippet_expand_target) +let g:ale_haskell_ghc_options = "-dynamic" + +imap <expr><TAB> + \ pumvisible() ? "\<C-n>" : + \ neosnippet#expandable_or_jumpable() ? + \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" + +if has('conceal') + set conceallevel=2 concealcursor=niv +endif + +let g:badwolf_darkgutter = 1 +colorscheme badwolf + +nmap <return> :Obsess!<CR> + +" General config +set history=500 + +set autoread +au FocusGained,BufEnter * checktime + +let mapleader = " " + +nmap <leader>w :w!<cr> +nmap <leader>s :setlocal spell!<CR> +nmap <leader>h :wincmd h<CR> +nmap <leader>j :wincmd j<CR> +nmap <leader>k :wincmd k<CR> +nmap <leader>l :wincmd l<CR> + +set number +set relativenumber +set wildmenu +set ignorecase +set smartcase +set hlsearch +set incsearch +set lazyredraw +set magic +syntax enable +set background=dark +set encoding=utf8 +set noswapfile +set title + +set expandtab +set smarttab +set shiftwidth=8 +set tabstop=8 +set lbr +set tw=80 +set autoindent +set smartindent +set wrap + +map <tab> :tabnext<CR> +map <s-tab> :tabprev<CR> +map <c-t> :Texplore<CR> +map <c-w> :tabclose<CR> +map <f5> :make<CR> +map <f2> :set paste!<CR> + +autocmd BufWritePre * %s/\s\+$//e + +hi Normal guibg=NONE ctermbg=NONE +hi NonText guibg=NONE ctermbg=NONE diff --git a/zsh/.zprofile b/zsh/.zprofile @@ -0,0 +1,27 @@ +#!/bin/sh + +export EDITOR="nvim" +export TERMINAL="st" +export BROWSER="brave" +export READER="zathura" +export XDG_CONFIG_HOME="$HOME.config" +export XDG_USER_CONFIG_DIR="$XDG_CONFIG_HOME" +export PATH="$HOME.local/bin:$PATH" +export HISTFILE="$XDG_CONFIG_HOME"/zsh/history +export VIMINIT=":source $XDG_CONFIG_HOME"/vim/vimrc +export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl" + +[ -d "$HOME.nvm" ] && export NVM_DIR="$HOME/.nvm" && \ + [ -s "$NVM_DIR/nvm.sh" ] && \. "NVM_DIR/nvm.sh" + +[ -d "$HOME/bin" ] && export PATH="$HOME/bin:$PATH" + +# Add RVM to PATH for scripting. +[ -d "$HOME.rvm" ] && export PATH="$PATH:$HOME.rvm/bin" +[[ -s "$HOME.rvm/scripts/rvm" ]] && source "$HOME.rvm/scripts/rvm" + +pgrep 'tmux' > /dev/null || + (tmux new-session -d 'nvim ~/Desktop/dash.md' && + tmux new-window 'ncmpcpp' && tmux next-window) +pgrep 'mpd' > /dev/null || mpd ~/.config/mpd/mpd.conf & +pgrep 'startx' > /dev/null || startx diff --git a/zsh/.zshrc b/zsh/.zshrc @@ -0,0 +1,91 @@ +#!/usr/bin/env zsh + +source "$ZDOTDIR/antigen.zsh" + +antigen use oh-my-zsh + +antigen bundle wd +antigen bundle sudo + +antigen theme norm + +antigen apply + +alias wd="wd --config ~/.config/zsh/warprc" + +alias ls="ls -hN --color=auto --group-directories-first" +alias sl="ls" +alias ll="ls -l" +alias l="ls -l" +alias la="ls -a" +alias lla="ls -l -a" +alias lal="ls -l -a" +alias SS="sudo systemctl" +alias ccat="highlight --out-format=ansi --force" +alias grep="grep --color" +alias p="sudo pacman" +alias k="kak" +alias v="nvim" +alias vs="nvim -S" +alias vt="nvim -t" +alias e="emacsclient -nw" +alias z="zathura" +alias g="git" +alias x='exit' +alias :q='exit' +alias ..='cd ../' +alias ...="cd ../../" +alias ....="cd ../../../" +alias .....="cd ../../../../" +alias tmuxcon='tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n"$USER" -s"$USER"@"$HOSTNAME"' +bindkey -s '^N' 'ncmpcpp\n' +bindkey -s '^P' 'f=$(fzf) && open "$f"\n' + +open () { + for a in $@; do + ([[ "$a" =~ .*.[(pdf)(djvu)]$ ]] && zathura "$a") || + ([[ "$a" =~ .*.[(png)(jpe?g)]$ ]] && sxiv "$a") || + ([[ "$a" =~ .*.[(mp4)(mkv)(mp3)(ogg)(wav)(webm)]$ ]] && mpv "$a") || + nvim "$a" + done +} + +alias yd="youtube-dl -ic --add-metadata -f 'bestvideo+bestaudio/best'" # Download video link +alias yda="youtube-dl -x -f bestaudio/best" # Download only audio + +ydall () { + olddir=$(pwd) + cd $HOME/Videos + youtube-dl $@ -ic --add-metadata -f 'bestvideo+bestaudio/best' 'https://www.youtube.com/playlist?list=PLtrReXASdY_GciC24eqggMeQ0xgHsTZKY' + cd "$olddir" +} + +gdoc () { + refer -PS -e -p "$HOME/Groff/bibliography" "$1.ms" | \ + groff -ms -e -m "$HOME/Groff/macros" -T pdf > "$1.pdf" + pgrep -a zathura | grep "$1.pdf" > /dev/null 2>&1 || zathura "$1.pdf" $@ & +} + +alias sxiv="sxiv -a" +alias ct="uctags" + +m () { + find "$2" 1>/dev/null || mkdir -p "$2" + sudo mount "$1" "$2" && echo "Successfully mounted $1 at $2" +} + +u () { + sudo umount "$1" && sync && echo "$1 was successfully unmounted" +} + +b () { + find "$HOME/mnt/backup" 1>/dev/null || mkdir -p "$HOME/mnt/backup" + m "$1" "$HOME/mnt/backup" && \ + bak_fol="$(date | sed 's/ /_/g')" && \ + mkdir "$HOME/mnt/backup/$bak_fol" && \ + echo "Backing up files..." && \ + cp -r "$HOME/Desktop" "$HOME/Music" "$HOME/suckless" "$HOME/mnt/backup/$bak_fol" && echo "Done Backup" && \ + u "$HOME/mnt/backup" +} + +source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh