diff options
67 files changed, 2751 insertions, 0 deletions
| diff --git a/.config/calcurse/conf b/.config/calcurse/conf new file mode 100644 index 0000000..b46b0a7 --- /dev/null +++ b/.config/calcurse/conf | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | appearance.calendarview=monthly | ||
| 2 | appearance.compactpanels=no | ||
| 3 | appearance.defaultpanel=calendar | ||
| 4 | appearance.layout=5 | ||
| 5 | appearance.notifybar=yes | ||
| 6 | appearance.sidebarwidth=2 | ||
| 7 | appearance.theme=blue on default | ||
| 8 | appearance.todoview=hide-completed | ||
| 9 | appearance.headingpos=right-justified | ||
| 10 | daemon.enable=no | ||
| 11 | daemon.log=no | ||
| 12 | format.inputdate=1 | ||
| 13 | format.notifydate=%a %F | ||
| 14 | format.notifytime=%T | ||
| 15 | format.outputdate=%D | ||
| 16 | format.dayheading=%B %-d, %Y | ||
| 17 | general.autogc=no | ||
| 18 | general.autosave=yes | ||
| 19 | general.confirmdelete=yes | ||
| 20 | general.confirmquit=no | ||
| 21 | general.firstdayofweek=monday | ||
| 22 | general.periodicsave=0 | ||
| 23 | general.systemdialogs=yes | ||
| 24 | notification.command=printf '\a' | ||
| 25 | notification.notifyall=flagged-only | ||
| 26 | notification.warning=300 | ||
| 27 | appearance.headerline=yes | ||
| 28 | appearance.eventseparator=yes | ||
| 29 | appearance.dayseparator=yes | ||
| 30 | appearance.emptyline=yes | ||
| 31 | appearance.emptyday=-- | ||
| 32 | general.multipledays=yes | ||
| 33 | general.systemevents=yes | ||
| diff --git a/.config/calcurse/keys b/.config/calcurse/keys new file mode 100644 index 0000000..301d367 --- /dev/null +++ b/.config/calcurse/keys | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | # | ||
| 2 | # Calcurse keys configuration file | ||
| 3 | # | ||
| 4 | # In this file the keybindings used by Calcurse are defined. | ||
| 5 | # It is generated automatically by Calcurse and is maintained | ||
| 6 | # via the key configuration menu of the interactive user | ||
| 7 | # interface. It should not be edited directly. | ||
| 8 | |||
| 9 | generic-cancel ESC | ||
| 10 | generic-select SPC | ||
| 11 | generic-credits @ | ||
| 12 | generic-help ? | ||
| 13 | generic-quit q Q | ||
| 14 | generic-save s S ^S | ||
| 15 | generic-reload R | ||
| 16 | generic-copy c | ||
| 17 | generic-paste p ^V | ||
| 18 | generic-change-view TAB | ||
| 19 | generic-import i I | ||
| 20 | generic-export x X | ||
| 21 | generic-goto g G | ||
| 22 | generic-other-cmd o O | ||
| 23 | generic-config-menu C | ||
| 24 | generic-redraw ^R | ||
| 25 | generic-add-appt ^A | ||
| 26 | generic-add-todo ^T | ||
| 27 | generic-prev-day T ^H | ||
| 28 | generic-next-day t ^L | ||
| 29 | generic-prev-week W ^K | ||
| 30 | generic-next-week w RET | ||
| 31 | generic-prev-month M | ||
| 32 | generic-next-month m | ||
| 33 | generic-prev-year Y | ||
| 34 | generic-next-year y | ||
| 35 | generic-scroll-down ^N | ||
| 36 | generic-scroll-up ^P | ||
| 37 | generic-goto-today ^G | ||
| 38 | generic-command : | ||
| 39 | move-right l L RGT | ||
| 40 | move-left h H LFT | ||
| 41 | move-down j J DWN | ||
| 42 | move-up k K UP | ||
| 43 | start-of-week 0 | ||
| 44 | end-of-week $ | ||
| 45 | add-item a A | ||
| 46 | del-item d D | ||
| 47 | edit-item e E | ||
| 48 | view-item v V | ||
| 49 | pipe-item | | ||
| 50 | flag-item ! | ||
| 51 | repeat r | ||
| 52 | edit-note n N | ||
| 53 | view-note > | ||
| 54 | raise-priority + | ||
| 55 | lower-priority - | ||
| diff --git a/.config/cava/config b/.config/cava/config new file mode 100644 index 0000000..3082f55 --- /dev/null +++ b/.config/cava/config | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | [color] | ||
| 2 | |||
| 3 | gradient = 1 | ||
| 4 | gradient_count = 8 | ||
| 5 | gradient_color_1 = '#5350b9' | ||
| 6 | gradient_color_2 = '#6d47c2' | ||
| 7 | gradient_color_3 = '#903ecb' | ||
| 8 | gradient_color_4 = '#be35d4' | ||
| 9 | gradient_color_5 = '#dd2cc5' | ||
| 10 | gradient_color_6 = '#e62395' | ||
| 11 | gradient_color_7 = '#ef1a5c' | ||
| 12 | gradient_color_8 = '#f81118' | ||
| 13 | |||
| 14 | |||
| 15 | [smoothing] | ||
| 16 | |||
| 17 | integral = 75 | ||
| 18 | gravity = 85 | ||
| 19 | |||
| diff --git a/.config/cmus/rc b/.config/cmus/rc new file mode 100644 index 0000000..4ffe095 --- /dev/null +++ b/.config/cmus/rc | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | # Colorscheme "night" | ||
| 2 | set color_cmdline_attr=default | ||
| 3 | set color_cmdline_bg=default | ||
| 4 | set color_cmdline_fg=255 | ||
| 5 | set color_cur_sel_attr=default | ||
| 6 | set color_error=196 | ||
| 7 | set color_info=220 | ||
| 8 | set color_separator=green | ||
| 9 | set color_statusline_attr=default | ||
| 10 | set color_statusline_bg=234 | ||
| 11 | set color_statusline_fg=45 | ||
| 12 | set color_titleline_attr=default | ||
| 13 | set color_titleline_bg=default | ||
| 14 | set color_titleline_fg=46 | ||
| 15 | set color_trackwin_album_attr=bold | ||
| 16 | set color_trackwin_album_bg=default | ||
| 17 | set color_trackwin_album_fg=default | ||
| 18 | set color_win_attr=default | ||
| 19 | set color_win_bg=default | ||
| 20 | set color_win_cur=46 | ||
| 21 | set color_win_cur_attr=default | ||
| 22 | set color_win_cur_sel_attr=default | ||
| 23 | set color_win_cur_sel_bg=235 | ||
| 24 | set color_win_cur_sel_fg=118 | ||
| 25 | set color_win_dir=250 | ||
| 26 | set color_win_fg=255 | ||
| 27 | set color_win_inactive_cur_sel_attr=default | ||
| 28 | set color_win_inactive_cur_sel_bg=233 | ||
| 29 | set color_win_inactive_cur_sel_fg=46 | ||
| 30 | set color_win_inactive_sel_attr=default | ||
| 31 | set color_win_inactive_sel_bg=234 | ||
| 32 | set color_win_inactive_sel_fg=green | ||
| 33 | set color_win_sel_attr=default | ||
| 34 | set color_win_sel_bg=235 | ||
| 35 | set color_win_sel_fg=45 | ||
| 36 | set color_win_title_attr=default | ||
| 37 | set color_win_title_bg=234 | ||
| 38 | set color_win_title_fg=45 | ||
| 39 | |||
| 40 | # Settings | ||
| 41 | set aaa_mode=all | ||
| 42 | set auto_expand_albums_follow=false | ||
| 43 | set auto_expand_albums_search=false | ||
| 44 | set auto_expand_albums_selcur=false | ||
| 45 | set auto_reshuffle=true | ||
| 46 | set confirm_run=true | ||
| 47 | set continue=true | ||
| 48 | set continue_album=true | ||
| 49 | set display_artist_sort_name=false | ||
| 50 | set dsp.alsa.device=default | ||
| 51 | set follow=true | ||
| 52 | set lib_sort=album tracknumber title date | ||
| 53 | set mixer.alsa.channel=Master | ||
| 54 | set mixer.alsa.device=default | ||
| 55 | set mixer.pulse.restore_volume=1 | ||
| 56 | set mouse=false | ||
| 57 | set mpris=false | ||
| 58 | set output_plugin=alsa | ||
| 59 | set play_library=true | ||
| 60 | set play_sorted=false | ||
| 61 | set repeat=true | ||
| 62 | set resume=true | ||
| 63 | set set_term_title=true | ||
| 64 | set show_all_tracks=true | ||
| 65 | set show_current_bitrate=false | ||
| 66 | set show_playback_position=true | ||
| 67 | set show_remaining_time=false | ||
| 68 | set shuffle=true | ||
| 69 | set smart_artist_sort=true | ||
| 70 | |||
| 71 | # Keybindings | ||
| 72 | bind -f common [ vol -1% -1% | ||
| 73 | bind -f common ] vol +1% +1% | ||
| 74 | bind -f common D win-remove | ||
| 75 | bind -f common h win-next | ||
| 76 | bind -f common j win-down | ||
| 77 | bind -f common k win-up | ||
| 78 | bind -f common l win-next | ||
| 79 | bind -f common n search-next | ||
| 80 | bind -f common N search-prev | ||
| 81 | bind -f common ^D win-page-down | ||
| 82 | bind -f common ^U win-page-up | ||
| 83 | bind -f common q quit | ||
| 84 | bind -f common { vol -5% -5% | ||
| 85 | bind -f common } vol +5% +5% | ||
| 86 | bind -f common g win-top | ||
| 87 | bind -f common G win-bottom | ||
| 88 | bind -f common left seek -5 | ||
| 89 | bind -f common right seek +5 | ||
| diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..fda72f3 --- /dev/null +++ b/.config/dunst/dunstrc | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | [global] | ||
| 2 | ### Display ### | ||
| 3 | monitor = 0 | ||
| 4 | follow = none | ||
| 5 | geometry = "0x5-2+25" | ||
| 6 | indicate_hidden = yes | ||
| 7 | shrink = no | ||
| 8 | transparency = 10 | ||
| 9 | notification_height = 0 | ||
| 10 | separator_height = 2 | ||
| 11 | padding = 8 | ||
| 12 | horizontal_padding = 8 | ||
| 13 | frame_width = 3 | ||
| 14 | frame_color = "#666666" | ||
| 15 | separator_color = frame | ||
| 16 | sort = yes | ||
| 17 | idle_threshold = 120 | ||
| 18 | font = Monospace 10 | ||
| 19 | line_height = 0 | ||
| 20 | markup = full | ||
| 21 | format = "<b>%s</b>\n%b" | ||
| 22 | alignment = left | ||
| 23 | show_age_threshold = 60 | ||
| 24 | word_wrap = yes | ||
| 25 | ellipsize = middle | ||
| 26 | ignore_newline = no | ||
| 27 | stack_duplicates = false | ||
| 28 | hide_duplicate_count = false | ||
| 29 | show_indicators = yes | ||
| 30 | |||
| 31 | ### Icons ### | ||
| 32 | icon_position = off | ||
| 33 | max_icon_size = 32 | ||
| 34 | sticky_history = yes | ||
| 35 | history_length = 20 | ||
| 36 | |||
| 37 | ### Misc/Advanced ### | ||
| 38 | dmenu = /usr/bin/dmenu -p dunst: | ||
| 39 | browser = /usr/bin/firejail /usr/bin/firefox-esr -new-tab | ||
| 40 | always_run_script = true | ||
| 41 | title = Dunst | ||
| 42 | class = Dunst | ||
| 43 | startup_notification = false | ||
| 44 | force_xinerama = false | ||
| 45 | |||
| 46 | [experimental] | ||
| 47 | per_monitor_dpi = false | ||
| 48 | |||
| 49 | [shortcuts] | ||
| 50 | close = ctrl+space | ||
| 51 | close_all = ctrl+shift+space | ||
| 52 | history = ctrl+grave | ||
| 53 | context = ctrl+shift+period | ||
| 54 | |||
| 55 | [urgency_low] | ||
| 56 | background = "#131313" | ||
| 57 | foreground = "#d6dbe5" | ||
| 58 | timeout = 10 | ||
| 59 | |||
| 60 | [urgency_normal] | ||
| 61 | background = "#131313" | ||
| 62 | foreground = "#d6dbe5" | ||
| 63 | timeout = 10 | ||
| 64 | |||
| 65 | [urgency_critical] | ||
| 66 | background = "#131313" | ||
| 67 | foreground = "#d6dbe5" | ||
| 68 | frame_color = "#5294e2" | ||
| 69 | timeout = 0 | ||
| diff --git a/.config/firejail/steam.profile b/.config/firejail/steam.profile new file mode 100644 index 0000000..b29c801 --- /dev/null +++ b/.config/firejail/steam.profile | |||
| @@ -0,0 +1,95 @@ | |||
| 1 | # Firejail profile for steam | ||
| 2 | # Description: Valve's Steam digital software delivery system | ||
| 3 | # This file is overwritten after every install/update | ||
| 4 | # Persistent local customizations | ||
| 5 | include steam.local | ||
| 6 | # Persistent global definitions | ||
| 7 | include globals.local | ||
| 8 | |||
| 9 | noblacklist ${HOME}/.local/share/aspyr-media | ||
| 10 | noblacklist ${HOME}/.local/share/feral-interactive | ||
| 11 | noblacklist ${HOME}/.local/share/Paradox Interactive | ||
| 12 | noblacklist ${HOME}/.local/share/Steam | ||
| 13 | noblacklist ${HOME}/.local/share/vulkan | ||
| 14 | noblacklist ${HOME}/.paradoxinteractive | ||
| 15 | noblacklist ${HOME}/.paradoxlauncher | ||
| 16 | noblacklist ${HOME}/.steam | ||
| 17 | noblacklist ${HOME}/.steampath | ||
| 18 | noblacklist ${HOME}/.steampid | ||
| 19 | # needed for STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 to work | ||
| 20 | noblacklist /sbin | ||
| 21 | noblacklist /usr/sbin | ||
| 22 | |||
| 23 | # Allow java (blacklisted by disable-devel.inc) | ||
| 24 | include allow-java.inc | ||
| 25 | |||
| 26 | # Allow python (blacklisted by disable-interpreters.inc) | ||
| 27 | include allow-python2.inc | ||
| 28 | include allow-python3.inc | ||
| 29 | |||
| 30 | include disable-common.inc | ||
| 31 | include disable-devel.inc | ||
| 32 | include disable-interpreters.inc | ||
| 33 | include disable-passwdmgr.inc | ||
| 34 | include disable-programs.inc | ||
| 35 | |||
| 36 | mkdir ${HOME}/.local/share/aspyr-media | ||
| 37 | mkdir ${HOME}/.local/share/feral-interactive | ||
| 38 | mkdir ${HOME}/.local/share/Paradox Interactive | ||
| 39 | mkdir ${HOME}/.local/share/Steam | ||
| 40 | mkdir ${HOME}/.local/share/vulkan | ||
| 41 | mkdir ${HOME}/.paradoxinteractive | ||
| 42 | mkdir ${HOME}/.paradoxlauncher | ||
| 43 | mkdir ${HOME}/.steam | ||
| 44 | mkfile ${HOME}/.steampath | ||
| 45 | mkfile ${HOME}/.steampid | ||
| 46 | whitelist ${HOME}/.local/share/aspyr-media | ||
| 47 | whitelist ${HOME}/.local/share/feral-interactive | ||
| 48 | whitelist ${HOME}/.local/share/Paradox Interactive | ||
| 49 | whitelist ${HOME}/.local/share/Steam | ||
| 50 | whitelist ${HOME}/.local/share/vulkan | ||
| 51 | whitelist ${HOME}/.paradoxinteractive | ||
| 52 | whitelist ${HOME}/.paradoxlauncher | ||
| 53 | whitelist ${HOME}/.steam | ||
| 54 | whitelist ${HOME}/.steampath | ||
| 55 | whitelist ${HOME}/.steampid | ||
| 56 | include whitelist-common.inc | ||
| 57 | include whitelist-var-common.inc | ||
| 58 | |||
| 59 | caps.drop all | ||
| 60 | #ipc-namespace | ||
| 61 | netfilter | ||
| 62 | nodvd | ||
| 63 | # nVidia users may need to comment / ignore nogroups and noroot | ||
| 64 | nogroups | ||
| 65 | nonewprivs | ||
| 66 | noroot | ||
| 67 | notv | ||
| 68 | nou2f | ||
| 69 | # novideo should be commented for VR | ||
| 70 | novideo | ||
| 71 | net none | ||
| 72 | #protocol unix,inet,inet6,netlink | ||
| 73 | # seccomp sometimes causes issues (see #2951, #3267), | ||
| 74 | # comment it or add 'ignore seccomp' to steam.local if so. | ||
| 75 | # seccomp | ||
| 76 | shell none | ||
| 77 | # tracelog breaks integrated browser | ||
| 78 | #tracelog | ||
| 79 | |||
| 80 | # private-bin is disabled while in testing, but has been tested working with multiple games | ||
| 81 | private-bin awk,basename,bash,bsdtar,bzip2,cat,chmod,cksum,cmp,comm,compress,cp,curl,cut,date,dbus-launch,dbus-send,desktop-file-edit,desktop-file-install,desktop-file-validate,dirname,echo,env,expr,file,find,getopt,grep,gtar,gzip,head,hostname,id,lbzip2,ldconfig,ldd,ln,ls,lsb_release,lsof,lspci,lz4,lzip,lzma,lzop,md5sum,mkdir,mktemp,mv,netstat,ps,pulseaudio,python*,readlink,realpath,rm,sed,sh,sha1sum,sha256sum,sha512sum,sleep,sort,steam,steamdeps,steam-native,steam-runtime,sum,tail,tar,tclsh,test,touch,tr,umask,uname,update-desktop-database,wc,wget,which,whoami,xterm,xz,zenity | ||
| 82 | # extra programs are available which might be needed for select games | ||
| 83 | #private-bin java,java-config,mono | ||
| 84 | # picture viewers are needed for viewing screenshots | ||
| 85 | #private-bin eog,eom,gthumb,pix,viewnior,xviewer | ||
| 86 | |||
| 87 | # comment the following line if you need controller support | ||
| 88 | private-dev | ||
| 89 | # private-etc breaks a small selection of games on some systems, comment to support those | ||
| 90 | private-etc alsa,alternatives,asound.conf,bumblebee,ca-certificates,crypto-policies,dbus-1,drirc,fonts,group,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,localtime,lsb-release,machine-id,mime.types,nvidia,os-release,passwd,pki,pulse,resolv.conf,services,ssl | ||
| 91 | private-tmp | ||
| 92 | |||
| 93 | # breaks appindicator support | ||
| 94 | dbus-user none | ||
| 95 | dbus-system none | ||
| diff --git a/.config/gtk-2.0/gtkrc-2.0 b/.config/gtk-2.0/gtkrc-2.0 new file mode 100644 index 0000000..f028395 --- /dev/null +++ b/.config/gtk-2.0/gtkrc-2.0 | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | gtk-theme-name="Arc-Dark" | ||
| 2 | gtk-icon-theme-name="Adwaita" | ||
| 3 | gtk-font-name="Sans 10" | ||
| 4 | gtk-cursor-theme-name="Adwaita" | ||
| diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..5000f09 --- /dev/null +++ b/.config/gtk-3.0/settings.ini | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | [Settings] | ||
| 2 | gtk-theme-name=Arc-Dark | ||
| 3 | gtk-icon-theme-name="Adwaita" | ||
| 4 | gtk-font-name=Sans 10 | ||
| diff --git a/.config/htop/htoprc b/.config/htop/htoprc new file mode 100644 index 0000000..4f6016b --- /dev/null +++ b/.config/htop/htoprc | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | # Beware! This file is rewritten by htop when settings are changed in the interface. | ||
| 2 | # The parser is also very primitive, and not human-friendly. | ||
| 3 | fields=0 48 20 46 47 1 | ||
| 4 | sort_key=47 | ||
| 5 | sort_direction=1 | ||
| 6 | tree_sort_key=0 | ||
| 7 | tree_sort_direction=1 | ||
| 8 | hide_kernel_threads=1 | ||
| 9 | hide_userland_threads=1 | ||
| 10 | shadow_other_users=0 | ||
| 11 | show_thread_names=0 | ||
| 12 | show_program_path=0 | ||
| 13 | highlight_base_name=0 | ||
| 14 | highlight_megabytes=1 | ||
| 15 | highlight_threads=1 | ||
| 16 | highlight_changes=0 | ||
| 17 | highlight_changes_delay_secs=5 | ||
| 18 | find_comm_in_cmdline=0 | ||
| 19 | strip_exe_from_cmdline=0 | ||
| 20 | show_merged_command=0 | ||
| 21 | tree_view=1 | ||
| 22 | tree_view_always_by_pid=0 | ||
| 23 | header_margin=1 | ||
| 24 | detailed_cpu_time=0 | ||
| 25 | cpu_count_from_one=1 | ||
| 26 | show_cpu_usage=1 | ||
| 27 | show_cpu_frequency=0 | ||
| 28 | show_cpu_temperature=1 | ||
| 29 | degree_fahrenheit=0 | ||
| 30 | update_process_names=0 | ||
| 31 | account_guest_in_cpu_meter=0 | ||
| 32 | color_scheme=0 | ||
| 33 | enable_mouse=1 | ||
| 34 | delay=15 | ||
| 35 | left_meters=Memory Blank Uptime | ||
| 36 | left_meter_modes=1 2 2 | ||
| 37 | right_meters=CPU Blank NetworkIO | ||
| 38 | right_meter_modes=1 2 2 | ||
| 39 | hide_function_bar=0 | ||
| diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf new file mode 100644 index 0000000..4723dcd --- /dev/null +++ b/.config/picom/picom.conf | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | opacity-rule = [ | ||
| 2 | "90:class_g = 'URxvt'", | ||
| 3 | "90:class_g = 'Steam'", | ||
| 4 | "95:class_g = 'KeePassXC'" | ||
| 5 | ]; | ||
| diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf new file mode 100644 index 0000000..89ed69b --- /dev/null +++ b/.config/ranger/rc.conf | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | set colorscheme solarized | ||
| 2 | set preview_images True | ||
| diff --git a/.config/shell/.bashrc b/.config/shell/.bashrc new file mode 100644 index 0000000..1a66eb0 --- /dev/null +++ b/.config/shell/.bashrc | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | # Source aliases and shortcuts | ||
| 2 | source ~/.config/shell/aliasrc | ||
| 3 | source ~/.config/shell/shortcutsrc | ||
| 4 | |||
| 5 | # History file settings | ||
| 6 | HISTSIZE= | ||
| 7 | HISTFILE="~/.cache/bash_history" | ||
| 8 | HISTFILESIZE= | ||
| 9 | HISTTIMEFORMAT="%a, %d %b %Y %T %z " | ||
| 10 | |||
| 11 | # Shell Options | ||
| 12 | set -o vi | ||
| 13 | shopt -s autocd | ||
| 14 | shopt -s histappend | ||
| 15 | shopt -s checkwinsize | ||
| 16 | |||
| 17 | # Prompt | ||
| 18 | color_prompt=yes | ||
| 19 | PS1='\[\033[1;30m\][\u@\h:]\[\033[1;31m\]\W\[\033[1;30m\]\[\033[0m\]\$ ' | ||
| 20 | |||
| 21 | if ! shopt -oq posix; then | ||
| 22 | if [ -f /usr/share/bash-completion/bash_completion ]; then | ||
| 23 | . /usr/share/bash-completion/bash_completion | ||
| 24 | elif [ -f /etc/bash_completion ]; then | ||
| 25 | . /etc/bash_completion | ||
| 26 | fi | ||
| 27 | fi | ||
| diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc new file mode 100644 index 0000000..c1a2de9 --- /dev/null +++ b/.config/shell/aliasrc | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Add color to commands | ||
| 4 | alias \ | ||
| 5 | diff="diff --color=auto" \ | ||
| 6 | dir="dir --color=auto" \ | ||
| 7 | vdir="vdir --color=auto" \ | ||
| 8 | egrep="egrep --color=auto" \ | ||
| 9 | fgrep="fgrep --color=auto" \ | ||
| 10 | grep="grep --color=auto" \ | ||
| 11 | ls="ls --group-directories-first --color=auto" | ||
| 12 | |||
| 13 | # Git | ||
| 14 | alias \ | ||
| 15 | g='git' \ | ||
| 16 | gd='git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' | ||
| 17 | |||
| 18 | # Shorten other commands | ||
| 19 | alias \ | ||
| 20 | ports="ss -tuanp" \ | ||
| 21 | py="python3" \ | ||
| 22 | rb="/usr/sbin/reboot" \ | ||
| 23 | sd="/usr/sbin/shutdown now" \ | ||
| 24 | sx="startx" \ | ||
| 25 | svm="sudo systemctl start libvirtd" \ | ||
| 26 | v="vim" \ | ||
| 27 | yta="youtube-dl -f bestaudio --download-archive ~/media/youtube/archive" \ | ||
| 28 | ytv="youtube-dl -f bestvideo[height\<=1080]+bestaudio/best[height\<=1080] --download-archive ~/media/youtube/archive" \ | ||
| 29 | z="zathura" | ||
| 30 | |||
| 31 | # Start commands with specific options always | ||
| 32 | alias \ | ||
| 33 | calcurse="calcurse -D ~/.config/calcurse" \ | ||
| 34 | cp="cp -iv" \ | ||
| 35 | ffmpeg="ffmpeg -hide_banner" \ | ||
| 36 | mv="mv -iv" \ | ||
| 37 | rm="rm -Iv" | ||
| 38 | |||
| 39 | source $XDG_CONFIG_HOME/shell/private-aliasrc | ||
| diff --git a/.config/shell/profile b/.config/shell/profile new file mode 100644 index 0000000..e806ba1 --- /dev/null +++ b/.config/shell/profile | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | # Profile file - executed by login shells | ||
| 3 | |||
| 4 | # Add ~/.local/bin and all subdirectories to path | ||
| 5 | script_dirs="$(find ~/.local/bin/ -type d | grep -v "git")" | ||
| 6 | script_dirs="$(echo $script_dirs | tr ' ' ':')" | ||
| 7 | export PATH=$PATH:$script_dirs | ||
| 8 | |||
| 9 | export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' | ||
| 10 | export LESSHISTFILE='-' | ||
| 11 | export XDG_CACHE_HOME="$HOME/.cache" | ||
| 12 | export XDG_CONFIG_HOME="$HOME/.config" | ||
| 13 | export XDG_DATA_HOME="$HOME/.local/share" | ||
| 14 | export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc" | ||
| 15 | export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" | ||
| 16 | export ZDOTDIR="$XDG_CONFIG_HOME/zsh" | ||
| 17 | export BROWSER="firefox" | ||
| 18 | export EDITOR="vim" | ||
| 19 | export TERMINAL="urxvtc" | ||
| 20 | |||
| 21 | eval `ssh-agent -s` | ||
| 22 | [ "$(tty)" = "/dev/tty1" ] && startx "$XINITRC" | ||
| diff --git a/.config/shell/shortcutsrc b/.config/shell/shortcutsrc new file mode 100644 index 0000000..b8486be --- /dev/null +++ b/.config/shell/shortcutsrc | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | alias \ | ||
| 3 | bin='cd $HOME/.local/bin' \ | ||
| 4 | brc='vim $HOME/.bashrc' \ | ||
| 5 | cac='cd $HOME/.cache' \ | ||
| 6 | cfa='vim $HOME/.config/shell/aliasrc' \ | ||
| 7 | cff='vim $XDG_CONFIG_HOME/fontconfig/fonts.conf' \ | ||
| 8 | cfg='cd $HOME/.config/' \ | ||
| 9 | cfs='vim $HOME/.config/shell/shortcutsrc' \ | ||
| 10 | dat='cd $HOME/.local/share' \ | ||
| 11 | dbc='cd $HOME/.local/src/dwmblocks; vim ~/.local/src/dwmblocks/blocks.h' \ | ||
| 12 | dwc='cd $HOME/.local/src/dwm; vim ~/.local/src/dwm/config.h' \ | ||
| 13 | dws='cd $HOME/.local/src/dwm' \ | ||
| 14 | gms='cd $HOME/.steam/debian-installation/steamapps/common' \ | ||
| 15 | h='cd $HOME' \ | ||
| 16 | hkc='vim $HOME/.config/sxhkd/sxhkdrc' \ | ||
| 17 | i3b='cd $HOME/.config/i3blocks/' \ | ||
| 18 | i3c='vim $HOME/.config/i3/config' \ | ||
| 19 | mus='cd ~/media/music' \ | ||
| 20 | pro='cd $HOME/programs/' \ | ||
| 21 | pic='cd $HOME/pictures/' \ | ||
| 22 | sbs='cd $HOME/.local/bin/statusbar' \ | ||
| 23 | src='cd $HOME/.local/src' \ | ||
| 24 | vrc='vim $HOME/.vim/vimrc' \ | ||
| 25 | xrc='vim $HOME/.config/x11/xinitrc' \ | ||
| 26 | xrs='vim $HOME/.config/x11/xresources' \ | ||
| 27 | zrc='vim $HOME/.config/zsh/.zshrc' | ||
| diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc new file mode 100644 index 0000000..315b852 --- /dev/null +++ b/.config/sxhkd/sxhkdrc | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | # Lock screen | ||
| 2 | super + shift + x | ||
| 3 | lock | ||
| 4 | |||
| 5 | # Take a screenshot | ||
| 6 | super + Print | ||
| 7 | screenshot | ||
| 8 | super + Shift + Print | ||
| 9 | windowshot | ||
| 10 | |||
| 11 | # Wallpaper bindings | ||
| 12 | super + w | ||
| 13 | bgscript | ||
| 14 | |||
| 15 | # Show Keybinding Help | ||
| 16 | super + F1 | ||
| 17 | bind-help | ||
| 18 | |||
| 19 | # Cmus Bindings | ||
| 20 | super + m | ||
| 21 | urxvt -name "cmus" -e cmus; sleep 1; pkill -RTMIN+12 dwmblocks | ||
| 22 | super + shift + m | ||
| 23 | cmus-remote --raw q; pkill -RTMIN+12 dwmblocks | ||
| 24 | super + {comma, greater, less} | ||
| 25 | cmus-remote --{pause,next,prev}; pkill -RTMIN+12 dwmblocks | ||
| 26 | super + {period, slash} | ||
| 27 | $HOME/.local/bin/cmus/toggle-{mode,shuf} | ||
| 28 | |||
| 29 | # Volume Control | ||
| 30 | super + {bracketleft, bracketright} | ||
| 31 | volctl 5 {-,+} | ||
| 32 | super + shift + {braceleft, braceright} | ||
| 33 | volctl 10 {-,+} | ||
| 34 | super + equal | ||
| 35 | amixer sset Master 50% unmute && signal-vol | ||
| 36 | super + backslash | ||
| 37 | amixer sset Master toggle && signal-vol | ||
| 38 | |||
| 39 | # Program Bindings | ||
| 40 | super + q | ||
| 41 | urxvt -e htop | ||
| 42 | super + w | ||
| 43 | wireshark | ||
| 44 | super + e | ||
| 45 | urxvt -e vim | ||
| 46 | super + r | ||
| 47 | urxvt -e ranger | ||
| 48 | super + a | ||
| 49 | urxvt -e calcurse -D ~/.config/calcurse | ||
| 50 | super + s | ||
| 51 | firejail steam | ||
| 52 | super + shift + s | ||
| 53 | kill-steam | ||
| 54 | super + d | ||
| 55 | dmenu_run | ||
| 56 | super + f | ||
| 57 | firejail firefox | ||
| 58 | super + shift + f | ||
| 59 | firefox | ||
| 60 | super + x | ||
| 61 | keepassxc | ||
| 62 | super + c | ||
| 63 | urxvt -e cli-brary | ||
| 64 | super + v | ||
| 65 | virt-manager | ||
| 66 | super + Return | ||
| 67 | urxvt | ||
| 68 | |||
| 69 | # Function Key Bindings | ||
| 70 | |||
| 71 | # Most if not all bindings here should be redundant, as I do not want to have to | ||
| 72 | # rely on these keys for primary and/or common bindings | ||
| 73 | |||
| 74 | Pause | ||
| 75 | cmus-remote --pause; pkill -RTMIN+12 dwmblocks | ||
| 76 | XF86AudioStop | ||
| 77 | cmus-remote --pause; pkill -RTMIN+12 dwmblocks | ||
| 78 | XF86AudioPlay | ||
| 79 | cmus-remote --pause; pkill -RTMIN+12 dwmblocks | ||
| 80 | XF86AudioNext | ||
| 81 | cmus-remote --seek +5 | ||
| 82 | shift + XF86AudioPrev | ||
| 83 | cmus-remote --seek -1m | ||
| 84 | shift + XF86AudioNext | ||
| 85 | cmus-remote --seek +1m | ||
| 86 | XF86AudioLowerVolume | ||
| 87 | volctl 1 - | ||
| 88 | XF86AudioRaiseVolume | ||
| 89 | volctl 1 + | ||
| diff --git a/.config/wget/wgetrc b/.config/wget/wgetrc new file mode 100644 index 0000000..4fd7999 --- /dev/null +++ b/.config/wget/wgetrc | |||
| @@ -0,0 +1 @@ | |||
| hsts-file=~/.cache/wget-hsts | |||
| diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc new file mode 100644 index 0000000..25b2fab --- /dev/null +++ b/.config/x11/xinitrc | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | # disable screensaver | ||
| 2 | xset s off | ||
| 3 | # disable power saving | ||
| 4 | xset -dpms | ||
| 5 | # set refresh rate | ||
| 6 | xrandr -r 144 | ||
| 7 | # set background | ||
| 8 | bgscript | ||
| 9 | # remap keys | ||
| 10 | kbremaps | ||
| 11 | # load Xresources | ||
| 12 | xrdb ~/.config/x11/xresources | ||
| 13 | # start compositor | ||
| 14 | picom --config ~/.config/picom/picom.conf & | ||
| 15 | # start notification daemon | ||
| 16 | dunst & | ||
| 17 | # start unclutter | ||
| 18 | unclutter & | ||
| 19 | # start keybind daemon | ||
| 20 | sxhkd & | ||
| 21 | # start status bar | ||
| 22 | dwmblocks & | ||
| 23 | # start window manager (and keep starting when shutdown) | ||
| 24 | dwm | ||
| diff --git a/.config/x11/xresources b/.config/x11/xresources new file mode 100644 index 0000000..33df06e --- /dev/null +++ b/.config/x11/xresources | |||
| @@ -0,0 +1,63 @@ | |||
| 1 | URxvt.scrollBar: false | ||
| 2 | *.font: xft:monospace:size=12 | ||
| 3 | |||
| 4 | ! Brogrammer | ||
| 5 | *.foreground: #d6dbe5 | ||
| 6 | *.background: #131313 | ||
| 7 | *.color0: #1f1f1f | ||
| 8 | *.color1: #f81118 | ||
| 9 | *.color2: #2dc55e | ||
| 10 | *.color3: #ecba0f | ||
| 11 | *.color4: #2a84d2 | ||
| 12 | *.color5: #4e5ab7 | ||
| 13 | *.color6: #1081d6 | ||
| 14 | *.color7: #d6dbe5 | ||
| 15 | *.color8: #d6dbe5 | ||
| 16 | *.color9: #de352e | ||
| 17 | *.color10: #1dd361 | ||
| 18 | *.color11: #f3bd09 | ||
| 19 | *.color12: #1081d6 | ||
| 20 | *.color13: #5350b9 | ||
| 21 | *.color14: #0f7ddb | ||
| 22 | *.color15: #ffffff | ||
| 23 | *.colorBD: #d6dbe5 | ||
| 24 | |||
| 25 | ! Dracula | ||
| 26 | !*.foreground: #F8F8F2 | ||
| 27 | !*.background: #282A36 | ||
| 28 | !*.color0: #000000 | ||
| 29 | !*.color8: #4D4D4D | ||
| 30 | !*.color1: #FF5555 | ||
| 31 | !*.color9: #FF6E67 | ||
| 32 | !*.color2: #50FA7B | ||
| 33 | !*.color10: #5AF78E | ||
| 34 | !*.color3: #F1FA8C | ||
| 35 | !*.color11: #F4F99D | ||
| 36 | !*.color4: #BD93F9 | ||
| 37 | !*.color12: #CAA9FA | ||
| 38 | !*.color5: #FF79C6 | ||
| 39 | !*.color13: #FF92D0 | ||
| 40 | !*.color6: #8BE9FD | ||
| 41 | !*.color14: #9AEDFE | ||
| 42 | !*.color7: #BFBFBF | ||
| 43 | !*.color15: #E6E6E6 | ||
| 44 | |||
| 45 | ! Gruvbox | ||
| 46 | !*.color0: #1d2021 | ||
| 47 | !*.color1: #cc241d | ||
| 48 | !*.color2: #98971a | ||
| 49 | !*.color3: #d79921 | ||
| 50 | !*.color4: #458588 | ||
| 51 | !*.color5: #b16286 | ||
| 52 | !*.color6: #689d6a | ||
| 53 | !*.color7: #a89984 | ||
| 54 | !*.color8: #928374 | ||
| 55 | !*.color9: #fb4934 | ||
| 56 | !*.color10: #b8bb26 | ||
| 57 | !*.color11: #fabd2f | ||
| 58 | !*.color12: #83a598 | ||
| 59 | !*.color13: #d3869b | ||
| 60 | !*.color14: #8ec07c | ||
| 61 | !*.color15: #ebdbb2 | ||
| 62 | !*.color256: #1d2021 | ||
| 63 | !*.color257: #ebdbb2 | ||
| diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..5e7a57d --- /dev/null +++ b/.config/zathura/zathurarc | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | set sandbox normal | ||
| 2 | set statusbar-h-padding 0 | ||
| 3 | set statusbar-v-padding 0 | ||
| 4 | set page-padding 1 | ||
| 5 | set selection-clipboard clipboard | ||
| 6 | map u scroll half-up | ||
| 7 | map d scroll half-down | ||
| 8 | map c recolor | ||
| 9 | map g goto top | ||
| diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile new file mode 100644 index 0000000..59a6032 --- /dev/null +++ b/.config/zsh/.zprofile | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #!/bin/zsh | ||
| 2 | # Profile file - executed by login shells | ||
| 3 | |||
| 4 | export PATH=$PATH:~/.local/bin:~/.local/bin/cryptusb:~/.local/bin/private:~/.local/bin/statusbar:~/.local/bin/theme:~/.local/bin/cmus:~/.local/bin/dmenu:~/.local/bin/backups:~/.local/bin/backups/borg | ||
| 5 | export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' | ||
| 6 | export LESSHISTFILE='-' | ||
| 7 | export XDG_CACHE_HOME="$HOME/.cache" | ||
| 8 | export XDG_CONFIG_HOME="$HOME/.config" | ||
| 9 | export XDG_DATA_HOME="$HOME/.local/share" | ||
| 10 | export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc" | ||
| 11 | export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" | ||
| 12 | export ZDOTDIR="$XDG_CONFIG_HOME/zsh" | ||
| 13 | |||
| 14 | export BROWSER="firefox" | ||
| 15 | export EDITOR="vim" | ||
| 16 | export TERMINAL="urxvtc" | ||
| 17 | |||
| 18 | eval `ssh-agent -s` | ||
| 19 | [ "$(tty)" = "/dev/tty1" ] && startx "$XINITRC" | ||
| diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100644 index 0000000..30e3f64 --- /dev/null +++ b/.config/zsh/.zshrc | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | # Source aliases and shortcuts | ||
| 2 | source ~/.config/shell/aliasrc | ||
| 3 | source ~/.config/shell/shortcutsrc | ||
| 4 | |||
| 5 | # History file settings | ||
| 6 | HISTSIZE=100000000 | ||
| 7 | SAVEHIST=100000000 | ||
| 8 | HISTFILE="$HOME/.cache/zsh/history" | ||
| 9 | |||
| 10 | # Shell options | ||
| 11 | bindkey -v | ||
| 12 | export KEYTIMEOUT=1 | ||
| 13 | setopt autocd | ||
| 14 | stty stop undef | ||
| 15 | setopt histappend | ||
| 16 | |||
| 17 | # Prompt | ||
| 18 | autoload -U colors && colors | ||
| 19 | PS1="%B%{$fg[black]%}[%b%{$fg[yellow]%}%n%B%{$fg[black]%}-at-%b%{$fg[yellow]%}%M%B%{$fg[black]%}]%b%{$fg[red]%}%1~%{$reset_color%}$ " | ||
| 20 | |||
| 21 | # Autocomplete Settings | ||
| 22 | autoload -U compinit | ||
| 23 | zstyle ":completion:*" menu select | ||
| 24 | zmodload zsh/complist | ||
| 25 | compinit | ||
| 26 | _comp_options+=(globdots) | ||
| 27 | # Vim keys in menu select | ||
| 28 | bindkey -M menuselect 'h' vi-backward-char | ||
| 29 | bindkey -M menuselect 'k' vi-up-line-or-history | ||
| 30 | bindkey -M menuselect 'l' vi-forward-char | ||
| 31 | bindkey -M menuselect 'j' vi-down-line-or-history | ||
| 32 | |||
| 33 | source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null | ||
| diff --git a/.local/bin/alarm b/.local/bin/alarm new file mode 100755 index 0000000..2909ecf --- /dev/null +++ b/.local/bin/alarm | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | [ $1 = "-h" -o $1 = "--help" ] && echo "usage: alarm time sound_file" && exit 0 | ||
| 4 | [ $# != 2 ] && echo "usage: alarm time sound_file" && exit 1 | ||
| 5 | |||
| 6 | echo "alarm set for $1" | ||
| 7 | echo "$(basename "$2") is the alarm tone" | ||
| 8 | |||
| 9 | while [ $(date +%H:%M) != "$1" ] | ||
| 10 | do | ||
| 11 | sleep 1 | ||
| 12 | done | ||
| 13 | |||
| 14 | amixer -q sset Master 100% unmute | ||
| 15 | pkill -RTMIN+10 i3blocks | ||
| 16 | mpv --loop=inf $2 | ||
| 17 | |||
| diff --git a/.local/bin/backups/borg-offsite b/.local/bin/backups/borg-offsite new file mode 100755 index 0000000..dfc9c01 --- /dev/null +++ b/.local/bin/backups/borg-offsite | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Full system backup with Borg | ||
| 3 | |||
| 4 | # Backup root partition | ||
| 5 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 6 | --exclude '/dev/*' \ | ||
| 7 | --exclude '/proc/*' \ | ||
| 8 | --exclude '/sys/*' \ | ||
| 9 | --exclude '/tmp/*' \ | ||
| 10 | --exclude '/mnt/*' \ | ||
| 11 | --exclude '/media/*' \ | ||
| 12 | "/mnt/offsite-backup/titan::root-{now:%Y-%m-%d}" / | ||
| 13 | |||
| 14 | # Backup boot parition | ||
| 15 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 16 | "/mnt/offsite-backup/titan::boot-{now:%Y-%m-%d}" /boot | ||
| 17 | |||
| 18 | # Backup home partition | ||
| 19 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 20 | "/mnt/offsite-backup/titan::home-{now:%Y-%m-%d}" /home | ||
| 21 | |||
| 22 | # Backup var partition | ||
| 23 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 24 | "/mnt/offsite-backup/titan::var-{now:%Y-%m-%d}" /var | ||
| 25 | |||
| diff --git a/.local/bin/backups/borg-onsite b/.local/bin/backups/borg-onsite new file mode 100755 index 0000000..658c425 --- /dev/null +++ b/.local/bin/backups/borg-onsite | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Full system backup with Borg | ||
| 3 | |||
| 4 | # Backup root partition | ||
| 5 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 6 | --exclude '/dev/*' \ | ||
| 7 | --exclude '/proc/*' \ | ||
| 8 | --exclude '/sys/*' \ | ||
| 9 | --exclude '/tmp/*' \ | ||
| 10 | --exclude '/mnt/*' \ | ||
| 11 | --exclude '/media/*' \ | ||
| 12 | "/mnt/onsite-backup/titan::root-{now:%Y-%m-%d}" / | ||
| 13 | |||
| 14 | # Backup boot parition | ||
| 15 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 16 | "/mnt/onsite-backup/titan::boot-{now:%Y-%m-%d}" /boot | ||
| 17 | |||
| 18 | # Backup home partition | ||
| 19 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 20 | "/mnt/onsite-backup/titan::home-{now:%Y-%m-%d}" /home | ||
| 21 | |||
| 22 | # Backup var partition | ||
| 23 | sudo borg create --verbose --list --stats --show-rc --exclude-caches --one-file-system \ | ||
| 24 | "/mnt/onsite-backup/titan::var-{now:%Y-%m-%d}" /var | ||
| 25 | |||
| diff --git a/.local/bin/bgscript b/.local/bin/bgscript new file mode 100755 index 0000000..4ec7706 --- /dev/null +++ b/.local/bin/bgscript | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | #feh --no-fehbg --recursive --randomize --bg-scale ~/pictures/wallpapers | ||
| 4 | feh --no-fehbg --bg-scale ~/pictures/wallpapers/miscbest/4.jpg | ||
| diff --git a/.local/bin/cmus/toggle-mode b/.local/bin/cmus/toggle-mode new file mode 100755 index 0000000..e73edc6 --- /dev/null +++ b/.local/bin/cmus/toggle-mode | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Toggles the cmus aaa mode (all,album,artist) | ||
| 3 | |||
| 4 | cmus-remote -C "toggle aaa_mode" | ||
| 5 | mode=$(cmus-remote -Q | grep "aaa_mode" | cut -d ' ' -f 3) | ||
| 6 | artist=$(cmus-remote -Q | grep "tag artist" | cut -d ' ' -f 3-) | ||
| 7 | album=$(cmus-remote -Q | grep "tag album" | cut -d ' ' -f 3-) | ||
| 8 | |||
| 9 | [ "$mode" = "all" ] && dunstctl close-all && notify-send "Playing from full library" \ | ||
| 10 | && exit | ||
| 11 | [ "$mode" = "artist" ] && dunstctl close-all && notify-send "Playing by artist: $artist" \ | ||
| 12 | && exit | ||
| 13 | [ "$mode" = "album" ] && dunstctl close-all && notify-send "Playing from album: $album" \ | ||
| 14 | && exit | ||
| diff --git a/.local/bin/cmus/toggle-shuf b/.local/bin/cmus/toggle-shuf new file mode 100755 index 0000000..57c2606 --- /dev/null +++ b/.local/bin/cmus/toggle-shuf | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Toggle and report status of shuffle mode in cmus | ||
| 3 | |||
| 4 | cmus-remote --shuffle | ||
| 5 | status=$(cmus-remote -Q | grep shuffle | cut -d ' ' -f 3) | ||
| 6 | dunstctl close-all | ||
| 7 | [ "$status" = "true" ] && notify-send "Shuffle on" || notify-send "Shuffle off" | ||
| diff --git a/.local/bin/compile b/.local/bin/compile new file mode 100755 index 0000000..837766b --- /dev/null +++ b/.local/bin/compile | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Script for automatic compilation (or interpretation) of various file types | ||
| 4 | # The filename needs to be passed to this script as the only argument | ||
| 5 | file="$1" | ||
| 6 | base="${file%.*}" | ||
| 7 | ext="${file##*.}" | ||
| 8 | |||
| 9 | case $ext in | ||
| 10 | mom) groff -mom -Tpdf "$file" > "$base.pdf" ;; | ||
| 11 | ms) groff -me -Tpdf "$file" > "$base.pdf" ;; | ||
| 12 | me) groff -me -Tpdf "$file" > "$base.pdf" ;; | ||
| 13 | py) python3 "$file" ;; | ||
| 14 | esac | ||
| diff --git a/.local/bin/cryptusb/create-cryptusb b/.local/bin/cryptusb/create-cryptusb new file mode 100755 index 0000000..e0f49fe --- /dev/null +++ b/.local/bin/cryptusb/create-cryptusb | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Prompts for and creates a LUKS encrypted partition on a device | ||
| 3 | |||
| 4 | # Get disks connected to the system that are hotpluggable (USBs) | ||
| 5 | devices="$(lsblk -lp -o NAME,SIZE,HOTPLUG,TYPE | grep "1 disk" | awk '{print $1,"-",$2}')" | ||
| 6 | [ "$devices" = "" ] && echo "no devices available" && exit 0 | ||
| 7 | |||
| 8 | # Prompt for device selection from the user | ||
| 9 | select=$(echo "$devices" | dmenu -i -p "Select a device") | ||
| 10 | [ "$select" = "" ] && echo "no device selected" && exit 0 | ||
| 11 | |||
| 12 | # Get confirmation since this is a potentially dangerous operation | ||
| 13 | yn=$(echo "No\nYes" | dmenu -i -p "Create encrypted partition on $select") | ||
| 14 | [ "$yn" != "Yes" ] && exit 0 | ||
| 15 | |||
| 16 | # Get device path from selection string | ||
| 17 | usb=$(echo $select | cut -d ' ' -f 1) | ||
| 18 | echo $usb | ||
| 19 | |||
| 20 | # Create LUKS partition on selected device (user will be promted for password to encrypt) | ||
| 21 | sudo cryptsetup --type luks2 luksFormat "$usb" | ||
| 22 | |||
| 23 | # Open device and create filesystem on partition | ||
| 24 | echo "creating filesystem" | ||
| 25 | map_name="crypt-create" | ||
| 26 | sudo cryptsetup open "$usb" "$map_name" | ||
| 27 | sudo mkfs.ext4 "/dev/mapper/$map_name" | ||
| 28 | |||
| 29 | # Close device after creating filesystem | ||
| 30 | sudo cryptsetup close "$map_name" | ||
| 31 | |||
| 32 | echo "done" | ||
| 33 | |||
| 34 | |||
| diff --git a/.local/bin/cryptusb/handle-cryptusb b/.local/bin/cryptusb/handle-cryptusb new file mode 100755 index 0000000..63d6ef4 --- /dev/null +++ b/.local/bin/cryptusb/handle-cryptusb | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Single script for easy handling of encrypted USB | ||
| 3 | # Calls mount, sync, and umount scripts to automatically handle what is commonly | ||
| 4 | # run for encrypted USBs | ||
| 5 | |||
| 6 | mount-cryptusb && notify-send "Encrypted USB mounted" | ||
| 7 | sync-cryptusb && notify-send "Encrypted USB synced" | ||
| 8 | umount-cryptusb && notify-send "Encrypted USB unmounted" | ||
| diff --git a/.local/bin/cryptusb/mount-cryptusb b/.local/bin/cryptusb/mount-cryptusb new file mode 100755 index 0000000..882734c --- /dev/null +++ b/.local/bin/cryptusb/mount-cryptusb | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Mounts LUKS encrypted USB | ||
| 3 | |||
| 4 | sudo cryptsetup open /dev/sdc cryptusb | ||
| 5 | sudo mount /dev/mapper/cryptusb /mnt/cryptusb | ||
| diff --git a/.local/bin/cryptusb/sync-cryptusb b/.local/bin/cryptusb/sync-cryptusb new file mode 100755 index 0000000..e9d3f1a --- /dev/null +++ b/.local/bin/cryptusb/sync-cryptusb | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Syncs important files to encrypted USB | ||
| 3 | |||
| 4 | rsync -avP --exclude=".steam*" --exclude="virtual_machines*" --exclude="media*" \ | ||
| 5 | --exclude="*.iso" --exclude="*.qcow2" \ | ||
| 6 | $HOME/ /mnt/cryptusb/$USER@$(hostname)/ | ||
| diff --git a/.local/bin/cryptusb/umount-cryptusb b/.local/bin/cryptusb/umount-cryptusb new file mode 100755 index 0000000..c3c4b93 --- /dev/null +++ b/.local/bin/cryptusb/umount-cryptusb | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Unmounts LUKS encrypted USB | ||
| 3 | |||
| 4 | sudo umount /mnt/cryptusb | ||
| 5 | sudo cryptsetup close cryptusb | ||
| diff --git a/.local/bin/dmenu/mount-device b/.local/bin/dmenu/mount-device new file mode 100755 index 0000000..e325a65 --- /dev/null +++ b/.local/bin/dmenu/mount-device | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Script for mounting block devices | ||
| 3 | |||
| 4 | # Set askpass program for authentication | ||
| 5 | export SUDO_ASKPASS=/usr/bin/ssh-askpass | ||
| 6 | |||
| 7 | # Check for and get device to mount from user | ||
| 8 | devs="$(lsblk -lp | grep "part $" | awk '{print $1,"-",$4}')" | ||
| 9 | [ "$devs" = "" ] && exit 0 | ||
| 10 | dev="$(echo $devs | dmenu -i -p "Select device" | cut -d ' ' -f 1)" | ||
| 11 | [ "$dev" = "" ] && exit 0 | ||
| 12 | |||
| 13 | # Attempt to mount without mountpoint for devices in /etc/fstab | ||
| 14 | sudo -A mount "$dev" 2>/dev/null && exit 0 | ||
| 15 | |||
| 16 | # Get mountpoint from user | ||
| 17 | mntpnt="$(find /mnt -maxdepth 3 -type d 2>/dev/null | dmenu -i -p "Select mountpoint")" | ||
| 18 | [ "$mntpnt" = "" ] && exit 1 | ||
| 19 | |||
| 20 | # If selected mountpoint does not exist ask to create it | ||
| 21 | # If user decides not to create non-existent drive, exit | ||
| 22 | [ ! -d $mntpnt ] && create="$(echo "No\nYes" | \ | ||
| 23 | dmenu -i -p "$mntpnt does not exist, would you like to create it?")" && \ | ||
| 24 | ([ "$create" = "Yes" ] && sudo -A mkdir -p $mntpnt || exit 0) | ||
| 25 | |||
| 26 | sudo -A mount $dev $mntpnt && pgrep -x dunst && notify-send "$dev mounted to $mntpnt" | ||
| 27 | |||
| diff --git a/.local/bin/dmenu/unicode-select b/.local/bin/dmenu/unicode-select new file mode 100755 index 0000000..f42cd6e --- /dev/null +++ b/.local/bin/dmenu/unicode-select | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Select unicode character via dmenu and copy to clipboard | ||
| 3 | |||
| 4 | line="$(cat ~/.local/share/unicode_list | dmenu -i -l 10)" | ||
| 5 | grep "$line" ~/.local/src/unicode_list | tr -d [:print:] | | ||
| 6 | xclip -r -selection "clipboard" && | ||
| 7 | notify-send "$(xclip -selection "clipboard" -o) copied to clipboard" | ||
| 8 | |||
| 9 | |||
| diff --git a/.local/bin/dmenu/unmount-device b/.local/bin/dmenu/unmount-device new file mode 100755 index 0000000..75cb10f --- /dev/null +++ b/.local/bin/dmenu/unmount-device | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Script for unmounting filesystems | ||
| 3 | |||
| 4 | # Set askpass program for authentication | ||
| 5 | export SUDO_ASKPASS=/usr/bin/ssh-askpass | ||
| 6 | |||
| 7 | # Get list of unmountable filesystems excluding critical ones (/, /home, /boot, etc...) | ||
| 8 | exclude="\(/\|/boot\|/boot/efi\|/var\|/tmp\|/home\)$" | ||
| 9 | parts="$(lsblk -lp | grep "part /" | grep -v "$exclude" | awk '{print $7,"-",$4}')" | ||
| 10 | [ "$parts" = "" ] && exit 0 | ||
| 11 | |||
| 12 | # Get filesystem to unmount from user | ||
| 13 | select="$(echo "$parts" | dmenu -i -p "Select filesystem to unmount" | cut -d ' ' -f 1)" | ||
| 14 | [ "$select" = "" ] && exit 0 | ||
| 15 | dev="$(lsblk -lp | grep "$select" | awk '{print $1}')" | ||
| 16 | |||
| 17 | # Unmount the filesystem | ||
| 18 | sudo -A umount $select && pgrep -x dunst && notify-send "Unmounted $select ($dev)" \ | ||
| 19 | || notify-send "Error: unable to unmount $select" "Are you in it?" | ||
| diff --git a/.local/bin/exiti3 b/.local/bin/exiti3 new file mode 100755 index 0000000..0fe76bf --- /dev/null +++ b/.local/bin/exiti3 | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | read -p "Exit i3 [Y]/n?" exit | ||
| 3 | [ "$exit" = "Y" ] && i3-msg exit | ||
| 4 | |||
| diff --git a/.local/bin/ffmpeg-convert b/.local/bin/ffmpeg-convert new file mode 100755 index 0000000..171a97b --- /dev/null +++ b/.local/bin/ffmpeg-convert | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Converts audio/video files to a different specified container format with ffmpeg | ||
| 4 | # Depends on the youtube-filename-fixer script for cleaining up YouTube filenames | ||
| 5 | |||
| 6 | usage() { | ||
| 7 | echo "usage: ffmpeg-convert [options] container video_codec audio_codec files" | ||
| 8 | echo "\npositional parameters" | ||
| 9 | echo "\tcontainer\textension of the container that is being converted to" | ||
| 10 | echo "\tvideo_codec\tvideo codec of the output file" | ||
| 11 | echo "\taudio_codec\taudio codec of the output file" | ||
| 12 | echo "\noptions" | ||
| 13 | echo "\t-d\tdelete original files after conversion" | ||
| 14 | echo "\t-h\tshow this help and exit" | ||
| 15 | } | ||
| 16 | stdin() { | ||
| 17 | while read -r infile | ||
| 18 | do | ||
| 19 | outfile="$(echo $infile | rev | cut -d '.' -f 2 | rev)$container" | ||
| 20 | echo "converting $infile -> $outfile..." | ||
| 21 | ffmpeg -nostdin -loglevel 16 -i "$infile" -c:v $video -c:a $audio "$outfile" | ||
| 22 | [ $delete -eq 1 ] && rm -v "$infile" | ||
| 23 | done | ||
| 24 | } | ||
| 25 | cli() { | ||
| 26 | for infile in $@ | ||
| 27 | do | ||
| 28 | outfile="$(echo $infile | rev | cut -d '.' -f 2 | rev)$container" | ||
| 29 | echo "converting $infile -> $outfile..." | ||
| 30 | ffmpeg -nostdin -loglevel 16 -i "$infile" -c:v $video -c:a $audio "$outfile" | ||
| 31 | [ $delete -eq 1 ] && rm -v "$infile" | ||
| 32 | done | ||
| 33 | } | ||
| 34 | |||
| 35 | options=$(getopt -o 'dhs' -- "$@") | ||
| 36 | eval set -- "$options" | ||
| 37 | delete=0 | ||
| 38 | stdin=0 | ||
| 39 | while true | ||
| 40 | do | ||
| 41 | case $1 in | ||
| 42 | '-h') usage ; exit 0 ;; | ||
| 43 | '-d') delete=1; shift; continue ;; | ||
| 44 | '-s') stdin=1; shift; continue ;; | ||
| 45 | '--') shift; break;; | ||
| 46 | *) echo "internal error"; exit 1 ;; | ||
| 47 | esac | ||
| 48 | done | ||
| 49 | [ $# -ge 3 ] || (usage && exit 1) | ||
| 50 | |||
| 51 | # Set variables specified on command line | ||
| 52 | container="$1"; shift; video="$1"; shift; audio="$1"; shift; | ||
| 53 | |||
| 54 | # Prepend a dot to the container name if not specified already | ||
| 55 | [ "${container#.}" = "$container" ] && container=".$container" | ||
| 56 | |||
| 57 | # If there is only one file argument and it is "-" | ||
| 58 | [ $stdin -eq 1 ] && stdin || cli $@ | ||
| 59 | |||
| 60 | |||
| diff --git a/.local/bin/get-pkgs b/.local/bin/get-pkgs new file mode 100755 index 0000000..19e64f3 --- /dev/null +++ b/.local/bin/get-pkgs | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Creates files containing lists of installed and manually installed packages | ||
| 3 | # in cache directory | ||
| 4 | |||
| 5 | pkgdir="$HOME/.cache/packages" | ||
| 6 | apt list --installed | tail -n+2 | cut -d '/' -f 1 > $pkgdir/installed | ||
| 7 | apt list --manual-installed | tail -n+2 | | ||
| 8 | cut -d '/' -f 1 > $pkgdir/manual-installed | ||
| diff --git a/.local/bin/kbremaps b/.local/bin/kbremaps new file mode 100755 index 0000000..b914b7f --- /dev/null +++ b/.local/bin/kbremaps | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Script for keyboard changes | ||
| 3 | |||
| 4 | # Change autorepeat rate | ||
| 5 | xset r rate 300 50 | ||
| 6 | # Remap caps lock and escape | ||
| 7 | setxkbmap -option caps:swapescape | ||
| diff --git a/.local/bin/kill-steam b/.local/bin/kill-steam new file mode 100755 index 0000000..5572ae7 --- /dev/null +++ b/.local/bin/kill-steam | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | pkill -f steam | ||
| diff --git a/.local/bin/lock b/.local/bin/lock new file mode 100755 index 0000000..223ac59 --- /dev/null +++ b/.local/bin/lock | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Locks the screen with a blurred screenshot of the current window as the lock image | ||
| 3 | # Also pauses any music that is playing | ||
| 4 | |||
| 5 | maim | convert - -paint 5 ~/.cache/lock.png | ||
| 6 | [ "$(cmus-remote -Q | head -1 | cut -d ' ' -f 2)" != "playing" ] || cmus-remote --pause | ||
| 7 | i3lock -u -e -i ~/.cache/lock.png | ||
| diff --git a/.local/bin/mount-media b/.local/bin/mount-media new file mode 100755 index 0000000..e748941 --- /dev/null +++ b/.local/bin/mount-media | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Uses sshfs to locally mount media directories | ||
| 3 | # Check if the media computer is reachable and if so mount the media | ||
| 4 | ping -W 0.01 -c 1 prometheus >/dev/null && \ | ||
| 5 | sshfs sisko@prometheus:/mnt/raid/media/ $HOME/media/prometheus/ | ||
| 6 | |||
| diff --git a/.local/bin/pdf-preview b/.local/bin/pdf-preview new file mode 100755 index 0000000..1587f36 --- /dev/null +++ b/.local/bin/pdf-preview | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Typically called from vim | ||
| 4 | # Displays a pdf preview of an in-progress groff document | ||
| 5 | # Takes the filename as the only argument | ||
| 6 | # The pdf file is expected to have the same name as the groff document | ||
| 7 | |||
| 8 | zathura "${1%.*}.pdf" & | ||
| diff --git a/.local/bin/screenshot b/.local/bin/screenshot new file mode 100755 index 0000000..3f24f70 --- /dev/null +++ b/.local/bin/screenshot | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Take screenshot with interactive area selection | ||
| 3 | # Saves screenshot with timestamp in directory named after the date | ||
| 4 | |||
| 5 | time=$(date +%b-%d-%Y-%T.%N) | ||
| 6 | day=$(date +%b-%d-%Y) | ||
| 7 | [ -d ~/pictures/screenshots/$day ] || mkdir ~/pictures/screenshots/$day | ||
| 8 | maim -s > ~/pictures/screenshots/$day/$time.png && notify-send "Screenshot Taken" | ||
| diff --git a/.local/bin/signal-vol b/.local/bin/signal-vol new file mode 100755 index 0000000..e5739f6 --- /dev/null +++ b/.local/bin/signal-vol | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Signals the dwmblocks volume block to update | ||
| 3 | |||
| 4 | pkill -RTMIN+10 dwmblocks | ||
| diff --git a/.local/bin/statusbar/bar-calcurse b/.local/bin/statusbar/bar-calcurse new file mode 100755 index 0000000..dca82f3 --- /dev/null +++ b/.local/bin/statusbar/bar-calcurse | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | #i3blocks calcurse module | ||
| 4 | |||
| 5 | case $BUTTON in | ||
| 6 | 3)notify-send -t 5000 "$(calcurse -D ~/.config/calcurse/ -c ~/.config/calcurse/apts -a)";; | ||
| 7 | 1)notify-send -t 20000 "$(calcurse -D ~/.config/calcurse/ -c ~/.config/calcurse/apts -r7)";; | ||
| 8 | 2)notify-send -t 5000 "$(calcurse -D ~/.config/calcurse/ -t)" | ||
| 9 | esac | ||
| 10 | |||
| 11 | name="$(calcurse -D ~/.config/calcurse/ -c ~/.config/calcurse/apts -n | grep "\[" | sed "s/\s*\[/\[/" | cut -d ' ' -f 2-)" | ||
| 12 | [ "$name" = "" ] && echo "Nothing Scheduled" && exit 0 | ||
| 13 | time="$(grep "$name" ~/.config/calcurse/apts | head -1 | cut -d ' ' -f 3)" | ||
| 14 | [ ${time%%:*} -gt 12 ] && time="$((${time%%:*}-12)):${time##*:} PM" || time="$time AM" | ||
| 15 | echo "$name @ $time" | ||
| diff --git a/.local/bin/statusbar/bar-cmus b/.local/bin/statusbar/bar-cmus new file mode 100755 index 0000000..947f950 --- /dev/null +++ b/.local/bin/statusbar/bar-cmus | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case $BUTTON in | ||
| 4 | 1)notify-send "$(cmus-remote -Q | grep position | awk '{ printf "%02i:%02i", $2/60, $2%60}')/$(cmus-remote -Q | grep duration | awk '{ printf "%02i:%02i\n", $2/60, $2%60} ') ($(cmus-remote -Q | grep status | cut -d ' ' -f 2-)) | ||
| 5 | Artist: $(cmus-remote -Q | grep "tag artist " | cut -d ' ' -f 3-) | ||
| 6 | Album: $(cmus-remote -Q | grep "tag album " | cut -d ' ' -f 3-) | ||
| 7 | Track: $(cmus-remote -Q | grep "tag title " | cut -d ' ' -f 3-) | ||
| 8 | Genre: $(cmus-remote -Q | grep "tag genre " | cut -d ' ' -f 3-) | ||
| 9 | Mode: $(cmus-remote -Q | grep "aaa_mode" | cut -d ' ' -f 3) | ||
| 10 | Format: $(cmus-remote -Q | grep file | rev | cut -d '.' -f 1 | rev) | ||
| 11 | Shuffle: $(cmus-remote -Q | grep "set shuffle " | cut -d ' ' -f 3-) | ||
| 12 | Repeat: $(cmus-remote -Q | grep "set repeat_current " | cut -d ' ' -f 3-)";; | ||
| 13 | |||
| 14 | 3)urxvt -e vim ~/.local/bin/statusbar/cmus;; | ||
| 15 | 4)cmus-remote --next;; | ||
| 16 | 5)cmus-remote --prev;; | ||
| 17 | esac | ||
| 18 | |||
| 19 | pgrep -x cmus >/dev/null || exit 0 | ||
| 20 | |||
| 21 | status="$(cmus-remote -Q | grep status | cut -d ' ' -f 2)" | ||
| 22 | artist="$(cmus-remote -Q | grep "tag artist" | cut -d ' ' -f 3- | tr -d "\n")" | ||
| 23 | track="$(cmus-remote -Q | grep "tag title" | cut -d ' ' -f 3- | tr -d "\n")" | ||
| 24 | echo -n "$artist - $track" | ||
| 25 | [ "$status" = "playing" ] || echo -n " [P]" | ||
| diff --git a/.local/bin/statusbar/bar-cpu b/.local/bin/statusbar/bar-cpu new file mode 100755 index 0000000..c21fe20 --- /dev/null +++ b/.local/bin/statusbar/bar-cpu | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | case $BUTTON in | ||
| 3 | 1) notify-send "$(ps axc -o cmd:15,%cpu --sort=-%cpu | head -6)";; | ||
| 4 | 3) urxvt -e vim ~/.local/bin/statusbar/cpu | ||
| 5 | esac | ||
| 6 | mpstat 1 1 | awk '/Average/ { printf "%.2f% ",100-$12 }' | ||
| 7 | temp="$(sensors | awk '/Tctl/ { print $2 } ')"; echo -n ${temp#+} | ||
| diff --git a/.local/bin/statusbar/bar-gpu b/.local/bin/statusbar/bar-gpu new file mode 100755 index 0000000..5351a2f --- /dev/null +++ b/.local/bin/statusbar/bar-gpu | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | temp="$(sensors | awk '/edge/ { print $2 } ')" | ||
| 4 | fan="$(sensors | awk '/fan1/ { print $2 } ')" | ||
| 5 | power="$(sensors | awk '/power1/ { print $2 } ')" | ||
| 6 | echo -n "${temp#+} $fan RPM" | ||
| diff --git a/.local/bin/statusbar/bar-ipv4 b/.local/bin/statusbar/bar-ipv4 new file mode 100755 index 0000000..4e51eca --- /dev/null +++ b/.local/bin/statusbar/bar-ipv4 | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case $BUTTON in | ||
| 4 | 1)notify-send --expire-time=60000 "IP Addresses" "$(ip a | awk '/\/24|\/64/ {if($5=="temporary")print $2 " " $5;else print $2;}')";; | ||
| 5 | 3)urxvt -e ~/.local/bin/statusbar/ipv4 | ||
| 6 | esac | ||
| 7 | ip a | awk '/\/24/ { print $2 }' | cut -d '/' -f 1 | ||
| 8 | |||
| 9 | |||
| diff --git a/.local/bin/statusbar/bar-memory b/.local/bin/statusbar/bar-memory new file mode 100755 index 0000000..1e98cca --- /dev/null +++ b/.local/bin/statusbar/bar-memory | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case $BUTTON in | ||
| 4 | 1)notify-send "$(ps axc -o cmd:15,%mem --sort=-%mem | head -6)";; | ||
| 5 | 3)urxvt -e vim ~/.local/bin/statusbar/memory | ||
| 6 | esac | ||
| 7 | free --si -h | grep Mem | awk '{ print $3 "/" $2 }' | ||
| 8 | |||
| diff --git a/.local/bin/statusbar/bar-storage b/.local/bin/statusbar/bar-storage new file mode 100755 index 0000000..d7b5fcf --- /dev/null +++ b/.local/bin/statusbar/bar-storage | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case $BUTTON in | ||
| 4 | 1)notify-send "$(df -H | grep "Filesystem\|/dev/sd")";; | ||
| 5 | 3)urxvt -e vim ~/.local/bin/statusbar/storage | ||
| 6 | esac | ||
| 7 | df -H | awk '/\/home/ { print $4 }' | ||
| diff --git a/.local/bin/statusbar/bar-time b/.local/bin/statusbar/bar-time new file mode 100755 index 0000000..f61a268 --- /dev/null +++ b/.local/bin/statusbar/bar-time | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case $BUTTON in | ||
| 4 | 1)notify-send "$(ncal -hb)";; | ||
| 5 | 3)urxvt -e vim ~/.local/bin/statusbar/time | ||
| 6 | esac | ||
| 7 | date +"%r %A %D" | ||
| diff --git a/.local/bin/statusbar/bar-volume b/.local/bin/statusbar/bar-volume new file mode 100755 index 0000000..d9bcc9d --- /dev/null +++ b/.local/bin/statusbar/bar-volume | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # i3blocks volume module | ||
| 3 | |||
| 4 | case $BUTTON in | ||
| 5 | 1)urxvt -e alsamixer;; | ||
| 6 | 3)urxvt -e vim ~/.local/bin/statusbar/volume;; | ||
| 7 | 4)amixer -q sset Master 1%+ unmute;; | ||
| 8 | 5)amixer -q sset Master 1%- unmute;; | ||
| 9 | esac | ||
| 10 | |||
| 11 | stats=$(amixer sget Master | grep "Front Left:" | cut -d ' ' -f 7,8 | tr -d '[]') | ||
| 12 | [ "${stats##* }" = "on" ] && echo -n "${stats%% *}" || echo -n "${stats%% *}" | ||
| 13 | |||
| diff --git a/.local/bin/stop-alarm b/.local/bin/stop-alarm new file mode 100755 index 0000000..4607b11 --- /dev/null +++ b/.local/bin/stop-alarm | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | pkill mpv | ||
| 4 | amixer -q sset Master 50% | ||
| 5 | pkill -RTMIN+10 i3blocks | ||
| diff --git a/.local/bin/sync-music b/.local/bin/sync-music new file mode 100755 index 0000000..4619a23 --- /dev/null +++ b/.local/bin/sync-music | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Sync music from media computer to local computer | ||
| 3 | |||
| 4 | rsync -av sisko@prometheus:/mnt/raid/media/music/ $HOME/media/music/ | ||
| diff --git a/.local/bin/theme/get-gradient b/.local/bin/theme/get-gradient new file mode 100755 index 0000000..91f9391 --- /dev/null +++ b/.local/bin/theme/get-gradient | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Gets and sets a color gradient for cava | ||
| 3 | |||
| 4 | start="$1" | ||
| 5 | end="$2" | ||
| 6 | colors=$(~/.local/bin/theme/gradient.py $start $end 7) | ||
| 7 | |||
| 8 | num=1 | ||
| 9 | path="$HOME/.config/cava/config" | ||
| 10 | for color in $colors; do | ||
| 11 | sed -i "s/gradient_color_$num.*$/gradient_color_$num = '$color'/" $path | ||
| 12 | num=$((num+1)) | ||
| 13 | done | ||
| diff --git a/.local/bin/theme/gradient.py b/.local/bin/theme/gradient.py new file mode 100755 index 0000000..f95bb07 --- /dev/null +++ b/.local/bin/theme/gradient.py | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | #!/usr/bin/python3 | ||
| 2 | # Gets a color gradient based on input color and number | ||
| 3 | # Depends on python3-colour | ||
| 4 | |||
| 5 | import colour,sys | ||
| 6 | |||
| 7 | if len(sys.argv) != 4: | ||
| 8 | print("arg error") | ||
| 9 | sys.exit(1) | ||
| 10 | |||
| 11 | start = sys.argv[1] | ||
| 12 | end = sys.argv[2] | ||
| 13 | num = int(sys.argv[3]) | ||
| 14 | |||
| 15 | grad = colour.color_scale(colour.hex2hsl(start),colour.hex2hsl(end),num) | ||
| 16 | grad_hex = [] | ||
| 17 | for hsl in grad: | ||
| 18 | grad_hex.append(colour.hsl2hex(hsl)) | ||
| 19 | |||
| 20 | for color in grad_hex: | ||
| 21 | sys.stdout.write(color + "\n") | ||
| 22 | |||
| 23 | |||
| 24 | |||
| diff --git a/.local/bin/volctl b/.local/bin/volctl new file mode 100755 index 0000000..faa8de6 --- /dev/null +++ b/.local/bin/volctl | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Script for volume control | ||
| 3 | # | ||
| 4 | # Accepts either a number and a +,- operator (volctl 5 +) or "toggle" (volctl toggle) | ||
| 5 | |||
| 6 | # If the lone argument is "toggle", toggle mute/unmute | ||
| 7 | [ "$1" = "toggle" ] && amixer -q sset Master toggle && signal-vol && exit | ||
| 8 | |||
| 9 | num=$1 | ||
| 10 | dir=$2 | ||
| 11 | |||
| 12 | amixer -q sset Master $num%$dir unmute && signal-vol | ||
| diff --git a/.local/bin/who-depends b/.local/bin/who-depends new file mode 100755 index 0000000..d1fb0c2 --- /dev/null +++ b/.local/bin/who-depends | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Script that takes a package as an argument and returns installed packages | ||
| 4 | # that are dependent on it | ||
| 5 | |||
| 6 | [ $# -eq 1 ] || echo "usage: who-depends package" | ||
| 7 | apt list --installed | tail -n+2 | cut -d '/' -f 1 > /tmp/whodepends | ||
| 8 | pkg="$1" | ||
| 9 | deps_all=$(apt-cache rdepends $pkg | tail -n+3 | sed "s/^\s*//") | ||
| 10 | for dep in $deps_all | ||
| 11 | do | ||
| 12 | grep -lq "$dep" /tmp/whodepends && echo "$dep" | ||
| 13 | done | ||
| diff --git a/.local/bin/windowshot b/.local/bin/windowshot new file mode 100755 index 0000000..a7b143b --- /dev/null +++ b/.local/bin/windowshot | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Take screenshot of current window | ||
| 3 | # Saves screenshot with timestamp in directory named after the date | ||
| 4 | |||
| 5 | time=$(date +%b-%d-%Y-%T.%N) | ||
| 6 | day=$(date +%b-%d-%Y) | ||
| 7 | [ -d "~/pictures/screenshots/$day" ] || mkdir -p ~/pictures/screenshots/$day | ||
| 8 | maim > ~/pictures/screenshots/$day/$time.png && notify-send "Screenshot Taken" | ||
| 9 | |||
| diff --git a/.local/bin/yt-fix b/.local/bin/yt-fix new file mode 100755 index 0000000..69e771a --- /dev/null +++ b/.local/bin/yt-fix | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # Takes files downloaded through youtube-dl and cleans up their filenames | ||
| 4 | |||
| 5 | stdin() { | ||
| 6 | while read -r infile | ||
| 7 | do | ||
| 8 | ext=".$(echo $infile | rev | cut -d '.' -f 1 | rev)" | ||
| 9 | ext_length=${#ext} | ||
| 10 | remove=$((12+$ext_length)) | ||
| 11 | filename="$(echo $infile | rev | cut -c $remove- | rev)" | ||
| 12 | mv "$infile" "$filename$ext" | ||
| 13 | done | ||
| 14 | } | ||
| 15 | |||
| 16 | cli() { | ||
| 17 | for infile in "$@" | ||
| 18 | do | ||
| 19 | ext=".$(echo $infile | rev | cut -d '.' -f 1 | rev)" | ||
| 20 | ext_length=${#ext} | ||
| 21 | remove=$((12+$ext_length)) | ||
| 22 | filename="$(echo $infile | rev | cut -c $remove- | rev)" | ||
| 23 | mv "$infile" "$filename$ext" | ||
| 24 | done | ||
| 25 | } | ||
| 26 | |||
| 27 | options=$(getopt -o 'hsx' -- "$@") | ||
| 28 | eval set -- "$options" | ||
| 29 | read_stdin=0 | ||
| 30 | noext=0 | ||
| 31 | while true | ||
| 32 | do | ||
| 33 | case "$1" in | ||
| 34 | '-h') echo "usage: yt-fix [options] [files]\n\th\tprint this help and exit\n\tx\tdo not include extension in output\n\ts\tread from stdin"; exit 0;; | ||
| 35 | '-s') read_stdin=1; shift; continue;; | ||
| 36 | '-x') noext=1; shift; continue;; | ||
| 37 | '--') shift; break;; | ||
| 38 | esac | ||
| 39 | done | ||
| 40 | |||
| 41 | [ $read_stdin -eq 0 ] && cli "$@" || stdin | ||
| 42 | |||
| diff --git a/.local/share/unicode_list b/.local/share/unicode_list new file mode 100644 index 0000000..39d5aa1 --- /dev/null +++ b/.local/share/unicode_list | |||
| @@ -0,0 +1,1326 @@ | |||
| 1 | U+00A9 COPYRIGHT SIGN © | ||
| 2 | U+00AE REGISTERED SIGN ® | ||
| 3 | U+203C DOUBLE EXCLAMATION MARK !! | ||
| 4 | U+2049 EXCLAMATION QUESTION MARK ≠| ||
| 5 | U+2122 TRADE MARK SIGN â„¢ | ||
| 6 | U+2139 INFORMATION SOURCE Media controls | ||
| 7 | U+2194 LEFT RIGHT ARROW ↔ | ||
| 8 | U+2195 UP DOWN ARROW Vertical | ||
| 9 | U+2196 NORTH WEST ARROW ↖ | ||
| 10 | U+2197 NORTH EAST ARROW ↗ | ||
| 11 | U+2198 SOUTH EAST ARROW ↘ | ||
| 12 | U+2199 SOUTH WEST ARROW ↙ | ||
| 13 | U+21A9 LEFTWARDS ARROW WITH HOOK ↩ | ||
| 14 | U+21AA RIGHTWARDS ARROW WITH HOOK ↪ | ||
| 15 | U+231A WATCH ⌚ | ||
| 16 | U+231B HOURGLASS ⌛ | ||
| 17 | U+2328 KEYBOARD ⌨ | ||
| 18 | U+23CF EJECT SYMBOL â | ||
| 19 | U+23E9 BLACK RIGHT-POINTING DOUBLE TRIANGLE Media Controlsâ© | ||
| 20 | U+23EA BLACK LEFT-POINTING DOUBLE TRIANGLE Media Controls ⪠| ||
| 21 | U+23EB BLACK UP-POINTING DOUBLE TRIANGLE Media Controls â« | ||
| 22 | U+23EC BLACK DOWN-POINTING DOUBLE TRIANGLE Media Controls ⬠| ||
| 23 | U+23ED BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR Media Controls â | ||
| 24 | U+23EE BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR Media Controls â® | ||
| 25 | U+23EF BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR Media Controls ⯠| ||
| 26 | U+23F0 ALARM CLOCK â° | ||
| 27 | U+23F1 STOPWATCH â± | ||
| 28 | U+23F2 TIMER CLOCK â² | ||
| 29 | U+23F3 HOURGLASS WITH FLOWING SAND â³ | ||
| 30 | U+23F8 DOUBLE VERTICAL BAR Media Controls ⸠| ||
| 31 | U+23F9 BLACK SQUARE FOR STOP Media Controls â¹ | ||
| 32 | U+23FA BLACK CIRCLE FOR RECORD Media Controls ⺠| ||
| 33 | U+24C2 CIRCLED LATIN CAPITAL LETTER M â“‚ | ||
| 34 | U+25AA BLACK SMALL SQUARE â–ª | ||
| 35 | U+25AB WHITE SMALL SQUARE â–« | ||
| 36 | U+25B6 BLACK RIGHT-POINTING TRIANGLE Media Controls â–¶ | ||
| 37 | U+25C0 BLACK LEFT-POINTING TRIANGLE Media Controls â—€ | ||
| 38 | U+25FB WHITE MEDIUM SQUARE â—» | ||
| 39 | U+25FC BLACK MEDIUM SQUARE â—¼ | ||
| 40 | U+25FD WHITE MEDIUM SMALL SQUARE â—½ | ||
| 41 | U+25FE BLACK MEDIUM SMALL SQUARE â—¾ | ||
| 42 | U+2600 BLACK SUN WITH RAYS ☀ | ||
| 43 | U+2601 CLOUD ☠| ||
| 44 | U+2602 UMBRELLA ☂ | ||
| 45 | U+2603 SNOWMAN ☃ | ||
| 46 | U+2604 COMET ☄ | ||
| 47 | U+260E BLACK TELEPHONE ☎ | ||
| 48 | U+2611 BALLOT BOX WITH CHECK ☑ | ||
| 49 | U+2614 UMBRELLA WITH RAIN DROPS ☔ | ||
| 50 | U+2615 HOT BEVERAGE ☕ | ||
| 51 | U+2618 SHAMROCK ☘ | ||
| 52 | U+261D WHITE UP POINTING INDEX ☠| ||
| 53 | U+2620 SKULL AND CROSSBONES ☠| ||
| 54 | U+2622 RADIOACTIVE SIGN ☢ | ||
| 55 | U+2623 BIOHAZARD SIGN ☣ | ||
| 56 | U+2626 ORTHODOX CROSS ☦ | ||
| 57 | U+262A STAR AND CRESCENT ☪ | ||
| 58 | U+262E PEACE SYMBOL ☮ | ||
| 59 | U+262F YIN YANG ☯ | ||
| 60 | U+2638 WHEEL OF DHARMA ☸ | ||
| 61 | U+2639 WHITE FROWNING FACE ☹ | ||
| 62 | U+263A WHITE SMILING FACE ☺ | ||
| 63 | U+2640 FEMALE SIGN ♀ | ||
| 64 | U+2642 MALE SIGN ♂ | ||
| 65 | U+2648 ARIES ♈ | ||
| 66 | U+2649 TAURUS ♉ | ||
| 67 | U+264A GEMINI ♊ | ||
| 68 | U+264B CANCER ♋ | ||
| 69 | U+264C LEO ♌ | ||
| 70 | U+264D VIRGO â™ | ||
| 71 | U+264E LIBRA ♎ | ||
| 72 | U+264F SCORPIUS â™ | ||
| 73 | U+2650 SAGITTARIUS â™ | ||
| 74 | U+2651 CAPRICORN ♑ | ||
| 75 | U+2652 AQUARIUS â™’ | ||
| 76 | U+2653 PISCES ♓ | ||
| 77 | U+265F BLACK CHESS PAWN ♟ | ||
| 78 | U+2660 BLACK SPADE SUIT Suit (cards) â™ | ||
| 79 | U+2663 BLACK CLUB SUIT Suit (cards) ♣ | ||
| 80 | U+2665 BLACK HEART SUIT Suit (cards) ♥ | ||
| 81 | U+2666 BLACK DIAMOND SUIT Suit (cards) ♦ | ||
| 82 | U+2668 HOT SPRINGS ♨ | ||
| 83 | U+267B BLACK UNIVERSAL RECYCLING SYMBOL â™» | ||
| 84 | U+267E PERMANENT PAPER SIGN ♾ | ||
| 85 | U+267F WHEELCHAIR SYMBOL ♿ | ||
| 86 | U+2692 HAMMER AND PICK âš’ | ||
| 87 | U+2693 ANCHOR âš“ | ||
| 88 | U+2694 CROSSED SWORDS âš” | ||
| 89 | U+2695 STAFF OF AESCULAPIUS âš• | ||
| 90 | U+2696 SCALES âš– | ||
| 91 | U+2697 ALEMBIC âš— | ||
| 92 | U+2699 GEAR âš™ | ||
| 93 | U+269B ATOM SYMBOL âš› | ||
| 94 | U+269C FLEUR-DE-LIS ⚜ | ||
| 95 | U+26A0 WARNING SIGN âš | ||
| 96 | U+26A1 HIGH VOLTAGE SIGN âš¡ | ||
| 97 | U+26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN âš§ | ||
| 98 | U+26AA MEDIUM WHITE CIRCLE ⚪ | ||
| 99 | U+26AB MEDIUM BLACK CIRCLE Media controls âš« | ||
| 100 | U+26B0 COFFIN âš° | ||
| 101 | U+26B1 FUNERAL URN âš± | ||
| 102 | U+26BD SOCCER BALL âš½ | ||
| 103 | U+26BE BASEBALL âš¾ | ||
| 104 | U+26C4 SNOWMAN WITHOUT SNOW ⛄ | ||
| 105 | U+26C5 SUN BEHIND CLOUD â›… | ||
| 106 | U+26C8 THUNDER CLOUD AND RAIN ⛈ | ||
| 107 | U+26CE OPHIUCHUS ⛎ | ||
| 108 | U+26CF PICK â› | ||
| 109 | U+26D1 HELMET WITH WHITE CROSS ⛑ | ||
| 110 | U+26D3 CHAINS ⛓ | ||
| 111 | U+26D4 NO ENTRY â›” | ||
| 112 | U+26E9 SHINTO SHRINE ⛩ | ||
| 113 | U+26EA CHURCH ⛪ | ||
| 114 | U+26F0 MOUNTAIN â›° | ||
| 115 | U+26F1 UMBRELLA ON GROUND â›± | ||
| 116 | U+26F2 FOUNTAIN ⛲ | ||
| 117 | U+26F3 FLAG IN HOLE ⛳ | ||
| 118 | U+26F4 FERRY â›´ | ||
| 119 | U+26F5 SAILBOAT ⛵ | ||
| 120 | U+26F7 SKIER â›· | ||
| 121 | U+26F8 ICE SKATE ⛸ | ||
| 122 | U+26F9 PERSON WITH BALL ⛹ | ||
| 123 | U+26FA TENT ⛺ | ||
| 124 | U+26FD FUEL PUMP ⛽ | ||
| 125 | U+2702 BLACK SCISSORS ✂ | ||
| 126 | U+2705 WHITE HEAVY CHECK MARK ✅ | ||
| 127 | U+2708 AIRPLANE ✈ | ||
| 128 | U+2709 ENVELOPE ✉ | ||
| 129 | U+270A RAISED FIST ✊ | ||
| 130 | U+270B RAISED HAND ✋ | ||
| 131 | U+270C VICTORY HAND ✌ | ||
| 132 | U+270D WRITING HAND ✠| ||
| 133 | U+270F PENCIL ✠| ||
| 134 | U+2712 BLACK NIB ✒ | ||
| 135 | U+2714 HEAVY CHECK MARK ✔ | ||
| 136 | U+2716 HEAVY MULTIPLICATION X X mark | ||
| 137 | U+271D LATIN CROSS ✠| ||
| 138 | U+2721 STAR OF DAVID ✡ | ||
| 139 | U+2728 SPARKLES ✨ | ||
| 140 | U+2733 EIGHT SPOKED ASTERISK ✳ | ||
| 141 | U+2734 EIGHT POINTED BLACK STAR ✴ | ||
| 142 | U+2744 SNOWFLAKE â„ | ||
| 143 | U+2747 SPARKLE ⇠| ||
| 144 | U+274C CROSS MARK ⌠| ||
| 145 | U+274E NEGATIVE SQUARED CROSS MARK ⎠| ||
| 146 | U+2753 BLACK QUESTION MARK ORNAMENT â“ | ||
| 147 | U+2754 WHITE QUESTION MARK ORNAMENT â” | ||
| 148 | U+2755 WHITE EXCLAMATION MARK ORNAMENT â• | ||
| 149 | U+2757 HEAVY EXCLAMATION MARK SYMBOL â— | ||
| 150 | U+2763 HEAVY HEART EXCLAMATION MARK ORNAMENT ⣠| ||
| 151 | U+2764 HEAVY BLACK HEART ⤠| ||
| 152 | U+2795 HEAVY PLUS SIGN âž• | ||
| 153 | U+2796 HEAVY MINUS SIGN âž– | ||
| 154 | U+2797 HEAVY DIVISION SIGN âž— | ||
| 155 | U+27A1 BLACK RIGHTWARDS ARROW âž¡ | ||
| 156 | U+27B0 CURLY LOOP Loop the loop | ||
| 157 | U+27BF DOUBLE CURLY LOOP Loop the loop | ||
| 158 | U+2934 ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS ⤴ | ||
| 159 | U+2935 ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS ⤵ | ||
| 160 | U+2B05 LEFTWARDS BLACK ARROW ⬅ | ||
| 161 | U+2B06 UPWARDS BLACK ARROW ⬆ | ||
| 162 | U+2B07 DOWNWARDS BLACK ARROW ↓ | ||
| 163 | U+2B1B BLACK LARGE SQUARE ⬛ | ||
| 164 | U+2B1C WHITE LARGE SQUARE ⬜ | ||
| 165 | U+2B50 WHITE MEDIUM STAR â | ||
| 166 | U+2B55 HEAVY LARGE CIRCLE â• | ||
| 167 | U+3030 WAVY DASH 〰 | ||
| 168 | U+303D PART ALTERNATION MARK 〽 | ||
| 169 | U+3297 CIRCLED IDEOGRAPH CONGRATULATION ç¥ã„ | ||
| 170 | U+3299 CIRCLED IDEOGRAPH SECRET 秘 | ||
| 171 | U+1F004 MAHJONG TILE RED DRAGON 🀄 | ||
| 172 | U+1F0CF PLAYING CARD BLACK JOKER 🃠| ||
| 173 | U+1F170 NEGATIVE SQUARED LATIN CAPITAL LETTER A 🅰 | ||
| 174 | U+1F171 NEGATIVE SQUARED LATIN CAPITAL LETTER B 🅱 | ||
| 175 | U+1F17E NEGATIVE SQUARED LATIN CAPITAL LETTER O 🅾 | ||
| 176 | U+1F17F NEGATIVE SQUARED LATIN CAPITAL LETTER P 🅿 | ||
| 177 | U+1F18E NEGATIVE SQUARED AB 🆎 | ||
| 178 | U+1F191 SQUARED CL CL | ||
| 179 | U+1F192 SQUARED COOL 🆒 | ||
| 180 | U+1F193 SQUARED FREE 🆓 | ||
| 181 | U+1F194 SQUARED ID 🆔 | ||
| 182 | U+1F195 SQUARED NEW New 🆕 | ||
| 183 | U+1F196 SQUARED NG No Good 🆖 | ||
| 184 | U+1F197 SQUARED OK 🆗 | ||
| 185 | U+1F198 SQUARED SOS 🆘 | ||
| 186 | U+1F199 SQUARED UP WITH EXCLAMATION MARK Up 🆙 | ||
| 187 | U+1F19A SQUARED VS Versus 🆚 | ||
| 188 | U+1F201 SQUARED KATAKANA KOKO 🈠| ||
| 189 | U+1F202 SQUARED KATAKANA SA 🈂 | ||
| 190 | U+1F21A SQUARED CJK UNIFIED IDEOGRAPH-7121 🈚 | ||
| 191 | U+1F232 SQUARED CJK UNIFIED IDEOGRAPH-7981 ç¦ | ||
| 192 | U+1F233 SQUARED CJK UNIFIED IDEOGRAPH-7A7A 空 | ||
| 193 | U+1F234 SQUARED CJK UNIFIED IDEOGRAPH-5408 åˆ | ||
| 194 | U+1F235 SQUARED CJK UNIFIED IDEOGRAPH-6E80 満 | ||
| 195 | U+1F236 SQUARED CJK UNIFIED IDEOGRAPH-6709 有 | ||
| 196 | U+1F237 SQUARED CJK UNIFIED IDEOGRAPH-6708 月 | ||
| 197 | U+1F238 SQUARED CJK UNIFIED IDEOGRAPH-7533 申 | ||
| 198 | U+1F239 SQUARED CJK UNIFIED IDEOGRAPH-5272 割 | ||
| 199 | U+1F23A SQUARED CJK UNIFIED IDEOGRAPH-55B6 å–¶ | ||
| 200 | U+1F250 CIRCLED IDEOGRAPH ADVANTAGE å¾— | ||
| 201 | U+1F251 CIRCLED IDEOGRAPH ACCEPT å¯ | ||
| 202 | U+1F300 CYCLONE 🌀 | ||
| 203 | U+1F301 FOGGY 🌠| ||
| 204 | U+1F302 CLOSED UMBRELLA 🌂 | ||
| 205 | U+1F303 NIGHT WITH STARS 🌃 | ||
| 206 | U+1F304 SUNRISE OVER MOUNTAINS 🌄 | ||
| 207 | U+1F305 SUNRISE 🌅 | ||
| 208 | U+1F306 CITYSCAPE AT DUSK 🌆 | ||
| 209 | U+1F307 SUNSET OVER BUILDINGS 🌇 | ||
| 210 | U+1F308 RAINBOW 🌈 | ||
| 211 | U+1F309 BRIDGE AT NIGHT 🌉 | ||
| 212 | U+1F30A WATER WAVE 🌊 | ||
| 213 | U+1F30B VOLCANO 🌋 | ||
| 214 | U+1F30C MILKY WAY 🌌 | ||
| 215 | U+1F30D EARTH GLOBE EUROPE-AFRICA 🌠| ||
| 216 | U+1F30E EARTH GLOBE AMERICAS 🌎 | ||
| 217 | U+1F30F EARTH GLOBE ASIA-AUSTRALIA 🌠| ||
| 218 | U+1F310 GLOBE WITH MERIDIANS 🌠| ||
| 219 | U+1F311 NEW MOON SYMBOL 🌑 | ||
| 220 | U+1F312 WAXING CRESCENT MOON SYMBOL 🌒 | ||
| 221 | U+1F313 FIRST QUARTER MOON SYMBOL 🌓 | ||
| 222 | U+1F314 WAXING GIBBOUS MOON SYMBOL 🌔 | ||
| 223 | U+1F315 FULL MOON SYMBOL 🌕 | ||
| 224 | U+1F316 WANING GIBBOUS MOON SYMBOL 🌖 | ||
| 225 | U+1F317 LAST QUARTER MOON SYMBOL 🌗 | ||
| 226 | U+1F318 WANING CRESCENT MOON SYMBOL 🌘 | ||
| 227 | U+1F319 CRESCENT MOON 🌙 | ||
| 228 | U+1F31A NEW MOON WITH FACE 🌚 | ||
| 229 | U+1F31B FIRST QUARTER MOON WITH FACE 🌛 | ||
| 230 | U+1F31C LAST QUARTER MOON WITH FACE 🌜 | ||
| 231 | U+1F31D FULL MOON WITH FACE 🌠| ||
| 232 | U+1F31E SUN WITH FACE 🌞 | ||
| 233 | U+1F31F GLOWING STAR 🌟 | ||
| 234 | U+1F320 SHOOTING STAR 🌠| ||
| 235 | U+1F321 THERMOMETER 🌡 | ||
| 236 | U+1F324 WHITE SUN WITH SMALL CLOUD 🌤 | ||
| 237 | U+1F325 WHITE SUN BEHIND CLOUD 🌥 | ||
| 238 | U+1F326 WHITE SUN BEHIND CLOUD WITH RAIN 🌦 | ||
| 239 | U+1F327 CLOUD WITH RAIN 🌧 | ||
| 240 | U+1F328 CLOUD WITH SNOW 🌨 | ||
| 241 | U+1F329 CLOUD WITH LIGHTNING 🌩 | ||
| 242 | U+1F32A CLOUD WITH TORNADO 🌪 | ||
| 243 | U+1F32B FOG 🌫 | ||
| 244 | U+1F32C WIND BLOWING FACE 🌬 | ||
| 245 | U+1F32D HOT DOG 🌠| ||
| 246 | U+1F32E TACO 🌮 | ||
| 247 | U+1F32F BURRITO 🌯 | ||
| 248 | U+1F330 CHESTNUT 🌰 | ||
| 249 | U+1F331 SEEDLING 🌱 | ||
| 250 | U+1F332 EVERGREEN TREE 🌲 | ||
| 251 | U+1F333 DECIDUOUS TREE 🌳 | ||
| 252 | U+1F334 PALM TREE 🌴 | ||
| 253 | U+1F335 CACTUS 🌵 | ||
| 254 | U+1F336 HOT PEPPER 🌶 | ||
| 255 | U+1F337 TULIP 🌷 | ||
| 256 | U+1F338 CHERRY BLOSSOM 🌸 | ||
| 257 | U+1F339 ROSE 🌹 | ||
| 258 | U+1F33A HIBISCUS 🌺 | ||
| 259 | U+1F33B SUNFLOWER 🌻 | ||
| 260 | U+1F33C BLOSSOM 🌼 | ||
| 261 | U+1F33D EAR OF MAIZE 🌽 | ||
| 262 | U+1F33E EAR OF RICE 🌾 | ||
| 263 | U+1F33F HERB 🌿 | ||
| 264 | U+1F340 FOUR LEAF CLOVER 🀠| ||
| 265 | U+1F341 MAPLE LEAF ðŸ | ||
| 266 | U+1F342 FALLEN LEAF 🂠| ||
| 267 | U+1F343 LEAF FLUTTERING IN WIND 🃠| ||
| 268 | U+1F344 MUSHROOM 🄠| ||
| 269 | U+1F345 TOMATO 🅠| ||
| 270 | U+1F346 AUBERGINE 🆠| ||
| 271 | U+1F347 GRAPES 🇠| ||
| 272 | U+1F348 MELON 🈠| ||
| 273 | U+1F349 WATERMELON 🉠| ||
| 274 | U+1F34A TANGERINE 🊠| ||
| 275 | U+1F34B LEMON 🋠| ||
| 276 | U+1F34C BANANA 🌠| ||
| 277 | U+1F34D PINEAPPLE ðŸ | ||
| 278 | U+1F34E RED APPLE 🎠| ||
| 279 | U+1F34F GREEN APPLE ðŸ | ||
| 280 | U+1F350 PEAR ðŸ | ||
| 281 | U+1F351 PEACH 👠| ||
| 282 | U+1F352 CHERRIES 💠| ||
| 283 | U+1F353 STRAWBERRY 📠| ||
| 284 | U+1F354 HAMBURGER 🔠| ||
| 285 | U+1F355 SLICE OF PIZZA 🕠| ||
| 286 | U+1F356 MEAT ON BONE 🖠| ||
| 287 | U+1F357 POULTRY LEG 🗠| ||
| 288 | U+1F358 RICE CRACKER 😠| ||
| 289 | U+1F359 RICE BALL 🙠| ||
| 290 | U+1F35A COOKED RICE 🚠| ||
| 291 | U+1F35B CURRY AND RICE 🛠| ||
| 292 | U+1F35C STEAMING BOWL 🜠| ||
| 293 | U+1F35D SPAGHETTI ðŸ | ||
| 294 | U+1F35E BREAD 🞠| ||
| 295 | U+1F35F FRENCH FRIES 🟠| ||
| 296 | U+1F360 ROASTED SWEET POTATO ðŸ | ||
| 297 | U+1F361 DANGO 🡠| ||
| 298 | U+1F362 ODEN 🢠| ||
| 299 | U+1F363 SUSHI 🣠| ||
| 300 | U+1F364 FRIED SHRIMP 🤠| ||
| 301 | U+1F365 FISH CAKE WITH SWIRL DESIGN 🥠| ||
| 302 | U+1F366 SOFT ICE CREAM 🦠| ||
| 303 | U+1F367 SHAVED ICE 🧠| ||
| 304 | U+1F368 ICE CREAM 🨠| ||
| 305 | U+1F369 DOUGHNUT 🩠| ||
| 306 | U+1F36A COOKIE 🪠| ||
| 307 | U+1F36B CHOCOLATE BAR 🫠| ||
| 308 | U+1F36C CANDY 🬠| ||
| 309 | U+1F36D LOLLIPOP ðŸ | ||
| 310 | U+1F36E CUSTARD 🮠| ||
| 311 | U+1F36F HONEY POT 🯠| ||
| 312 | U+1F370 SHORTCAKE 🰠| ||
| 313 | U+1F371 BENTO BOX 🱠| ||
| 314 | U+1F372 POT OF FOOD 🲠| ||
| 315 | U+1F373 COOKING 🳠| ||
| 316 | U+1F374 FORK AND KNIFE 🴠| ||
| 317 | U+1F375 TEACUP WITHOUT HANDLE 🵠| ||
| 318 | U+1F376 SAKE BOTTLE AND CUP 🶠| ||
| 319 | U+1F377 WINE GLASS 🷠| ||
| 320 | U+1F378 COCKTAIL GLASS 🸠| ||
| 321 | U+1F379 TROPICAL DRINK 🹠| ||
| 322 | U+1F37A BEER MUG 🺠| ||
| 323 | U+1F37B CLINKING BEER MUGS 🻠| ||
| 324 | U+1F37C BABY BOTTLE 🼠| ||
| 325 | U+1F37D FORK AND KNIFE WITH PLATE 🽠| ||
| 326 | U+1F37E BOTTLE WITH POPPING CORK 🾠| ||
| 327 | U+1F37F POPCORN 🿠| ||
| 328 | U+1F380 RIBBON 🎀 | ||
| 329 | U+1F381 WRAPPED PRESENT 🎠| ||
| 330 | U+1F382 BIRTHDAY CAKE 🎂 | ||
| 331 | U+1F383 JACK-O-LANTERN 🎃 | ||
| 332 | U+1F384 CHRISTMAS TREE 🎄 | ||
| 333 | U+1F385 FATHER CHRISTMAS 🎅 | ||
| 334 | U+1F386 FIREWORKS 🎆 | ||
| 335 | U+1F387 FIREWORK SPARKLER 🎇 | ||
| 336 | U+1F388 BALLOON 🎈 | ||
| 337 | U+1F389 PARTY POPPER 🎉 | ||
| 338 | U+1F38A CONFETTI BALL 🎊 | ||
| 339 | U+1F38B TANABATA TREE 🎋 | ||
| 340 | U+1F38C CROSSED FLAGS 🎌 | ||
| 341 | U+1F38D PINE DECORATION 🎠| ||
| 342 | U+1F38E JAPANESE DOLLS 🎎 | ||
| 343 | U+1F38F CARP STREAMER 🎠| ||
| 344 | U+1F390 WIND CHIME 🎠| ||
| 345 | U+1F391 MOON VIEWING CEREMONY 🎑 | ||
| 346 | U+1F392 SCHOOL SATCHEL 🎒 | ||
| 347 | U+1F393 GRADUATION CAP 🎓 | ||
| 348 | U+1F396 MILITARY MEDAL 🎖 | ||
| 349 | U+1F397 REMINDER RIBBON 🎗 | ||
| 350 | U+1F399 STUDIO MICROPHONE 🎙 | ||
| 351 | U+1F39A LEVEL SLIDER 🎚 | ||
| 352 | U+1F39B CONTROL KNOBS 🎛 | ||
| 353 | U+1F39E FILM FRAMES 🎞 | ||
| 354 | U+1F39F ADMISSION TICKETS 🎟 | ||
| 355 | U+1F3A0 CAROUSEL HORSE 🎠| ||
| 356 | U+1F3A1 FERRIS WHEEL 🎡 | ||
| 357 | U+1F3A2 ROLLER COASTER 🎢 | ||
| 358 | U+1F3A3 FISHING POLE AND FISH 🎣 | ||
| 359 | U+1F3A4 MICROPHONE 🎤 | ||
| 360 | U+1F3A5 MOVIE CAMERA 🎥 | ||
| 361 | U+1F3A6 CINEMA 🎦 | ||
| 362 | U+1F3A7 HEADPHONE 🎧 | ||
| 363 | U+1F3A8 ARTIST PALETTE 🎨 | ||
| 364 | U+1F3A9 TOP HAT 🎩 | ||
| 365 | U+1F3AA CIRCUS TENT 🎪 | ||
| 366 | U+1F3AB TICKET 🎫 | ||
| 367 | U+1F3AC CLAPPER BOARD 🎬 | ||
| 368 | U+1F3AD PERFORMING ARTS 🎠| ||
| 369 | U+1F3AE VIDEO GAME 🎮 | ||
| 370 | U+1F3AF DIRECT HIT 🎯 | ||
| 371 | U+1F3B0 SLOT MACHINE 🎰 | ||
| 372 | U+1F3B1 BILLIARDS 🎱 | ||
| 373 | U+1F3B2 GAME DIE 🎲 | ||
| 374 | U+1F3B3 BOWLING 🎳 | ||
| 375 | U+1F3B4 FLOWER PLAYING CARDS 🎴 | ||
| 376 | U+1F3B5 MUSICAL NOTE 🎵 | ||
| 377 | U+1F3B6 MULTIPLE MUSICAL NOTES 🎶 | ||
| 378 | U+1F3B7 SAXOPHONE 🎷 | ||
| 379 | U+1F3B8 GUITAR 🎸 | ||
| 380 | U+1F3B9 MUSICAL KEYBOARD 🎹 | ||
| 381 | U+1F3BA TRUMPET 🎺 | ||
| 382 | U+1F3BB VIOLIN 🎻 | ||
| 383 | U+1F3BC MUSICAL SCORE 🎼 | ||
| 384 | U+1F3BD RUNNING SHIRT WITH SASH 🎽 | ||
| 385 | U+1F3BE TENNIS RACQUET AND BALL 🎾 | ||
| 386 | U+1F3BF SKI AND SKI BOOT 🎿 | ||
| 387 | U+1F3C0 BASKETBALL AND HOOP 🀠| ||
| 388 | U+1F3C1 CHEQUERED FLAG ðŸ | ||
| 389 | U+1F3C2 SNOWBOARDER 🂠| ||
| 390 | U+1F3C3 RUNNER 🃠| ||
| 391 | U+1F3C4 SURFER 🄠| ||
| 392 | U+1F3C5 SPORTS MEDAL 🅠| ||
| 393 | U+1F3C6 TROPHY 🆠| ||
| 394 | U+1F3C7 HORSE RACING 🇠| ||
| 395 | U+1F3C8 AMERICAN FOOTBALL 🈠| ||
| 396 | U+1F3C9 RUGBY FOOTBALL 🉠| ||
| 397 | U+1F3CA SWIMMER 🊠| ||
| 398 | U+1F3CB WEIGHT LIFTER 🋠| ||
| 399 | U+1F3CC GOLFER 🌠| ||
| 400 | U+1F3CD RACING MOTORCYCLE ðŸ | ||
| 401 | U+1F3CE RACING CAR 🎠| ||
| 402 | U+1F3CF CRICKET BAT AND BALL ðŸ | ||
| 403 | U+1F3D0 VOLLEYBALL ðŸ | ||
| 404 | U+1F3D1 FIELD HOCKEY STICK AND BALL 👠| ||
| 405 | U+1F3D2 ICE HOCKEY STICK AND PUCK 💠| ||
| 406 | U+1F3D3 TABLE TENNIS PADDLE AND BALL 📠| ||
| 407 | U+1F3D4 SNOW CAPPED MOUNTAIN 🔠| ||
| 408 | U+1F3D5 CAMPING 🕠| ||
| 409 | U+1F3D6 BEACH WITH UMBRELLA 🖠| ||
| 410 | U+1F3D7 BUILDING CONSTRUCTION 🗠| ||
| 411 | U+1F3D8 HOUSE BUILDINGS 😠| ||
| 412 | U+1F3D9 CITYSCAPE 🙠| ||
| 413 | U+1F3DA DERELICT HOUSE BUILDING 🚠| ||
| 414 | U+1F3DB CLASSICAL BUILDING 🛠| ||
| 415 | U+1F3DC DESERT 🜠| ||
| 416 | U+1F3DD DESERT ISLAND ðŸ | ||
| 417 | U+1F3DE NATIONAL PARK 🞠| ||
| 418 | U+1F3DF STADIUM 🟠| ||
| 419 | U+1F3E0 HOUSE BUILDING ðŸ | ||
| 420 | U+1F3E1 HOUSE WITH GARDEN 🡠| ||
| 421 | U+1F3E2 OFFICE BUILDING 🢠| ||
| 422 | U+1F3E3 JAPANESE POST OFFICE 〒 | ||
| 423 | U+1F3E4 EUROPEAN POST OFFICE 🤠| ||
| 424 | U+1F3E5 HOSPITAL 🥠| ||
| 425 | U+1F3E6 BANK 🦠| ||
| 426 | U+1F3E7 AUTOMATED TELLER MACHINE 🧠| ||
| 427 | U+1F3E8 HOTEL 🨠| ||
| 428 | U+1F3E9 LOVE HOTEL 🩠| ||
| 429 | U+1F3EA CONVENIENCE STORE 🪠| ||
| 430 | U+1F3EB SCHOOL 🫠| ||
| 431 | U+1F3EC DEPARTMENT STORE 🬠| ||
| 432 | U+1F3ED FACTORY ðŸ | ||
| 433 | U+1F3EE IZAKAYA LANTERN 🮠| ||
| 434 | U+1F3EF JAPANESE CASTLE 🯠| ||
| 435 | U+1F3F0 EUROPEAN CASTLE 🰠| ||
| 436 | U+1F3F3 WAVING WHITE FLAG 🳠| ||
| 437 | U+1F3F4 WAVING BLACK FLAG 🴠| ||
| 438 | U+1F3F5 ROSETTE 🵠| ||
| 439 | U+1F3F7 LABEL 🷠| ||
| 440 | U+1F3F8 BADMINTON RACQUET AND SHUTTLECOCK 🸠| ||
| 441 | U+1F3F9 BOW AND ARROW 🹠| ||
| 442 | U+1F3FA AMPHORA 🺠| ||
| 443 | U+1F3FB EMOJI MODIFIER FITZPATRICK TYPE-1-2 🻠| ||
| 444 | U+1F3FC EMOJI MODIFIER FITZPATRICK TYPE-3 🼠| ||
| 445 | U+1F3FD EMOJI MODIFIER FITZPATRICK TYPE-4 🽠| ||
| 446 | U+1F3FE EMOJI MODIFIER FITZPATRICK TYPE-5 🾠| ||
| 447 | U+1F3FF EMOJI MODIFIER FITZPATRICK TYPE-6 🿠| ||
| 448 | U+1F400 RAT 🀠| ||
| 449 | U+1F401 MOUSE ðŸ | ||
| 450 | U+1F402 OX 🂠| ||
| 451 | U+1F403 WATER BUFFALO 🃠| ||
| 452 | U+1F404 COW 🄠| ||
| 453 | U+1F405 TIGER 🅠| ||
| 454 | U+1F406 LEOPARD 🆠| ||
| 455 | U+1F407 RABBIT 🇠| ||
| 456 | U+1F408 CAT 🈠| ||
| 457 | U+1F409 DRAGON 🉠| ||
| 458 | U+1F40A CROCODILE 🊠| ||
| 459 | U+1F40B WHALE 🋠| ||
| 460 | U+1F40C SNAIL 🌠| ||
| 461 | U+1F40D SNAKE ðŸ | ||
| 462 | U+1F40E HORSE 🎠| ||
| 463 | U+1F40F RAM ðŸ | ||
| 464 | U+1F410 GOAT ðŸ | ||
| 465 | U+1F411 SHEEP 👠| ||
| 466 | U+1F412 MONKEY 💠| ||
| 467 | U+1F413 ROOSTER 📠| ||
| 468 | U+1F414 CHICKEN 🔠| ||
| 469 | U+1F415 DOG 🕠| ||
| 470 | U+1F416 PIG 🖠| ||
| 471 | U+1F417 BOAR 🗠| ||
| 472 | U+1F418 ELEPHANT 😠| ||
| 473 | U+1F419 OCTOPUS 🙠| ||
| 474 | U+1F41A SPIRAL SHELL 🚠| ||
| 475 | U+1F41B BUG Bug | ||
| 476 | U+1F41C ANT 🜠| ||
| 477 | U+1F41D HONEYBEE ðŸ | ||
| 478 | U+1F41E LADY BEETLE 🞠| ||
| 479 | U+1F41F FISH 🟠| ||
| 480 | U+1F420 TROPICAL FISH ðŸ | ||
| 481 | U+1F421 BLOWFISH 🡠| ||
| 482 | U+1F422 TURTLE 🢠| ||
| 483 | U+1F423 HATCHING CHICK 🣠| ||
| 484 | U+1F424 BABY CHICK 🤠| ||
| 485 | U+1F425 FRONT-FACING BABY CHICK 🥠| ||
| 486 | U+1F426 BIRD 🦠| ||
| 487 | U+1F427 PENGUIN 🧠| ||
| 488 | U+1F428 KOALA 🨠| ||
| 489 | U+1F429 POODLE 🩠| ||
| 490 | U+1F42A DROMEDARY CAMEL 🪠| ||
| 491 | U+1F42B BACTRIAN CAMEL 🫠| ||
| 492 | U+1F42C DOLPHIN 🬠| ||
| 493 | U+1F42D MOUSE FACE ðŸ | ||
| 494 | U+1F42E COW FACE 🮠| ||
| 495 | U+1F42F TIGER FACE 🯠| ||
| 496 | U+1F430 RABBIT FACE 🰠| ||
| 497 | U+1F431 CAT FACE 🱠| ||
| 498 | U+1F432 DRAGON FACE 🲠| ||
| 499 | U+1F433 SPOUTING WHALE 🳠| ||
| 500 | U+1F434 HORSE FACE 🴠| ||
| 501 | U+1F435 MONKEY FACE 🵠| ||
| 502 | U+1F436 DOG FACE 🶠| ||
| 503 | U+1F437 PIG FACE 🷠| ||
| 504 | U+1F438 FROG FACE 🸠| ||
| 505 | U+1F439 HAMSTER FACE 🹠| ||
| 506 | U+1F43A WOLF FACE 🺠| ||
| 507 | U+1F43B BEAR FACE 🻠| ||
| 508 | U+1F43C PANDA FACE 🼠| ||
| 509 | U+1F43D PIG NOSE 🽠| ||
| 510 | U+1F43E PAW PRINTS 🾠| ||
| 511 | U+1F43F CHIPMUNK 🿠| ||
| 512 | U+1F440 EYES 👀 | ||
| 513 | U+1F441 EYE 👠| ||
| 514 | U+1F442 EAR 👂 | ||
| 515 | U+1F443 NOSE 👃 | ||
| 516 | U+1F444 MOUTH 👄 | ||
| 517 | U+1F445 TONGUE 👅 | ||
| 518 | U+1F446 WHITE UP POINTING BACKHAND INDEX 👆 | ||
| 519 | U+1F447 WHITE DOWN POINTING BACKHAND INDEX 👇 | ||
| 520 | U+1F448 WHITE LEFT POINTING BACKHAND INDEX 👈 | ||
| 521 | U+1F449 WHITE RIGHT POINTING BACKHAND INDEX 👉 | ||
| 522 | U+1F44A FISTED HAND SIGN Fist (hand) 👊 | ||
| 523 | U+1F44B WAVING HAND SIGN 👋 | ||
| 524 | U+1F44C OK HAND SIGN 👌 | ||
| 525 | U+1F44D THUMBS UP SIGN 👠| ||
| 526 | U+1F44E THUMBS DOWN SIGN 👎 | ||
| 527 | U+1F44F CLAPPING HANDS SIGN 👠| ||
| 528 | U+1F450 OPEN HANDS SIGN 👠| ||
| 529 | U+1F451 CROWN 👑 | ||
| 530 | U+1F452 WOMANS HAT 👒 | ||
| 531 | U+1F453 EYEGLASSES 👓 | ||
| 532 | U+1F454 NECKTIE 👔 | ||
| 533 | U+1F455 T-SHIRT 👕 | ||
| 534 | U+1F456 JEANS 👖 | ||
| 535 | U+1F457 DRESS 👗 | ||
| 536 | U+1F458 KIMONO 👘 | ||
| 537 | U+1F459 BIKINI 👙 | ||
| 538 | U+1F45A WOMANS CLOTHES 👚 | ||
| 539 | U+1F45B PURSE 👛 | ||
| 540 | U+1F45C HANDBAG 👜 | ||
| 541 | U+1F45D POUCH Pouch | ||
| 542 | U+1F45E MANS SHOE 👞 | ||
| 543 | U+1F45F ATHLETIC SHOE 👟 | ||
| 544 | U+1F460 HIGH-HEELED SHOE 👠| ||
| 545 | U+1F461 WOMANS SANDAL 👡 | ||
| 546 | U+1F462 WOMANS BOOTS 👢 | ||
| 547 | U+1F463 FOOTPRINTS 👣 | ||
| 548 | U+1F464 BUST IN SILHOUETTE 👤 | ||
| 549 | U+1F465 BUSTS IN SILHOUETTE 👥 | ||
| 550 | U+1F466 BOY 👦 | ||
| 551 | U+1F467 GIRL 👧 | ||
| 552 | U+1F468 MAN 👨 | ||
| 553 | U+1F469 WOMAN 👩 | ||
| 554 | U+1F46A FAMILY 👪 | ||
| 555 | U+1F46B MAN AND WOMAN HOLDING HANDS 👫 | ||
| 556 | U+1F46C TWO MEN HOLDING HANDS 👬 | ||
| 557 | U+1F46D TWO WOMEN HOLDING HANDS 👠| ||
| 558 | U+1F46E POLICE OFFICER 👮 | ||
| 559 | U+1F46F WOMAN WITH BUNNY EARS 👯 | ||
| 560 | U+1F470 BRIDE WITH VEIL 👰 | ||
| 561 | U+1F471 PERSON WITH BLOND HAIR 👱 | ||
| 562 | U+1F472 MAN WITH GUA PI MAO 👲 | ||
| 563 | U+1F473 MAN WITH TURBAN 👳 | ||
| 564 | U+1F474 OLDER MAN 👴 | ||
| 565 | U+1F475 OLDER WOMAN 👵 | ||
| 566 | U+1F476 BABY 👶 | ||
| 567 | U+1F477 CONSTRUCTION WORKER 👷 | ||
| 568 | U+1F478 PRINCESS 👸 | ||
| 569 | U+1F479 JAPANESE OGRE 👹 | ||
| 570 | U+1F47A JAPANESE GOBLIN 👺 | ||
| 571 | U+1F47B GHOST 👻 | ||
| 572 | U+1F47C BABY ANGEL 👼 | ||
| 573 | U+1F47D EXTRATERRESTRIAL ALIEN 👽 | ||
| 574 | U+1F47F IMP 👿 | ||
| 575 | U+1F480 SKULL 💀 | ||
| 576 | U+1F482 GUARDSMAN 💂 | ||
| 577 | U+1F483 DANCER 💃 | ||
| 578 | U+1F484 LIPSTICK 💄 | ||
| 579 | U+1F485 NAIL POLISH 💅 | ||
| 580 | U+1F486 FACE MASSAGE 💆 | ||
| 581 | U+1F487 HAIRCUT 💇 | ||
| 582 | U+1F488 BARBER POLE 💈 | ||
| 583 | U+1F489 SYRINGE 💉 | ||
| 584 | U+1F48A PILL 💊 | ||
| 585 | U+1F48B KISS MARK 💋 | ||
| 586 | U+1F48C LOVE LETTER 💌 | ||
| 587 | U+1F48D RING 💠| ||
| 588 | U+1F48E GEM STONE 💎 | ||
| 589 | U+1F48F KISS 💠| ||
| 590 | U+1F490 BOUQUET 💠| ||
| 591 | U+1F491 COUPLE WITH HEART 💑 | ||
| 592 | U+1F492 WEDDING 💒 | ||
| 593 | U+1F493 BEATING HEART 💓 | ||
| 594 | U+1F494 BROKEN HEART 💔 | ||
| 595 | U+1F495 TWO HEARTS 💕 | ||
| 596 | U+1F496 SPARKLING HEART 💖 | ||
| 597 | U+1F497 GROWING HEART 💗 | ||
| 598 | U+1F498 HEART WITH ARROW 💘 | ||
| 599 | U+1F499 BLUE HEART 💙 | ||
| 600 | U+1F49A GREEN HEART 💚 | ||
| 601 | U+1F49B YELLOW HEART 💛 | ||
| 602 | U+1F49C PURPLE HEART 💜 | ||
| 603 | U+1F49D HEART WITH RIBBON 💠| ||
| 604 | U+1F49E REVOLVING HEARTS 💞 | ||
| 605 | U+1F49F HEART DECORATION 💟 | ||
| 606 | U+1F4A0 DIAMOND SHAPE WITH A DOT INSIDE 💠| ||
| 607 | U+1F4A1 ELECTRIC LIGHT BULB 💡 | ||
| 608 | U+1F4A2 ANGER SYMBOL 💢 | ||
| 609 | U+1F4A3 BOMB 💣 | ||
| 610 | U+1F4A4 SLEEPING SYMBOL 💤 | ||
| 611 | U+1F4A5 COLLISION SYMBOL 💥 | ||
| 612 | U+1F4A6 SPLASHING SWEAT SYMBOL 💦 | ||
| 613 | U+1F4A7 DROPLET 💧 | ||
| 614 | U+1F4A8 DASH SYMBOL 💨 | ||
| 615 | U+1F4A9 PILE OF POO 💩 | ||
| 616 | U+1F4AA FLEXED BICEPS 💪 | ||
| 617 | U+1F4AB DIZZY SYMBOL 💫 | ||
| 618 | U+1F4AC SPEECH BALLOON 💬 | ||
| 619 | U+1F4AD THOUGHT BALLOON 💠| ||
| 620 | U+1F4AE WHITE FLOWER 💮 | ||
| 621 | U+1F4AF HUNDRED POINTS SYMBOL 💯 | ||
| 622 | U+1F4B0 MONEY BAG 💰 | ||
| 623 | U+1F4B1 CURRENCY EXCHANGE 💱 | ||
| 624 | U+1F4B2 HEAVY DOLLAR SIGN 💲 | ||
| 625 | U+1F4B3 CREDIT CARD 💳 | ||
| 626 | U+1F4B4 BANKNOTE WITH YEN SIGN 💴 | ||
| 627 | U+1F4B5 BANKNOTE WITH DOLLAR SIGN 💵 | ||
| 628 | U+1F4B6 BANKNOTE WITH EURO SIGN 💶 | ||
| 629 | U+1F4B7 BANKNOTE WITH POUND SIGN 💷 | ||
| 630 | U+1F4B8 MONEY WITH WINGS 💸 | ||
| 631 | U+1F4B9 CHART WITH UPWARDS TREND AND YEN SIGN 💹 | ||
| 632 | U+1F4BA SEAT 💺 | ||
| 633 | U+1F4BB PERSONAL COMPUTER 💻 | ||
| 634 | U+1F4BC BRIEFCASE 💼 | ||
| 635 | U+1F4BD MINIDISC 💽 | ||
| 636 | U+1F4BE FLOPPY DISK 💾 | ||
| 637 | U+1F4BF OPTICAL DISC 💿 | ||
| 638 | U+1F4C0 DVD 📀 | ||
| 639 | U+1F4C1 FILE FOLDER 📠| ||
| 640 | U+1F4C2 OPEN FILE FOLDER 📂 | ||
| 641 | U+1F4C3 PAGE WITH CURL 📃 | ||
| 642 | U+1F4C4 PAGE FACING UP 📄 | ||
| 643 | U+1F4C5 CALENDAR 📅 | ||
| 644 | U+1F4C6 TEAR-OFF CALENDAR 📆 | ||
| 645 | U+1F4C7 CARD INDEX 📇 | ||
| 646 | U+1F4C8 CHART WITH UPWARDS TREND 📈 | ||
| 647 | U+1F4C9 CHART WITH DOWNWARDS TREND 📉 | ||
| 648 | U+1F4CA BAR CHART 📊 | ||
| 649 | U+1F4CB CLIPBOARD 📋 | ||
| 650 | U+1F4CC PUSHPIN 📌 | ||
| 651 | U+1F4CD ROUND PUSHPIN 📠| ||
| 652 | U+1F4CE PAPERCLIP 📎 | ||
| 653 | U+1F4CF STRAIGHT RULER 📠| ||
| 654 | U+1F4D0 TRIANGULAR RULER 📠| ||
| 655 | U+1F4D1 BOOKMARK TABS 📑 | ||
| 656 | U+1F4D2 LEDGER 📒 | ||
| 657 | U+1F4D3 NOTEBOOK 📓 | ||
| 658 | U+1F4D4 NOTEBOOK WITH DECORATIVE COVER 📔 | ||
| 659 | U+1F4D5 CLOSED BOOK 📕 | ||
| 660 | U+1F4D6 OPEN BOOK 📖 | ||
| 661 | U+1F4D7 GREEN BOOK 📗 | ||
| 662 | U+1F4D8 BLUE BOOK 📘 | ||
| 663 | U+1F4D9 ORANGE BOOK 📙 | ||
| 664 | U+1F4DA BOOKS 📚 | ||
| 665 | U+1F4DB NAME BADGE 📛 | ||
| 666 | U+1F4DC SCROLL 📜 | ||
| 667 | U+1F4DD MEMO 📠| ||
| 668 | U+1F4DE TELEPHONE RECEIVER 📞 | ||
| 669 | U+1F4DF PAGER 📟 | ||
| 670 | U+1F4E0 FAX MACHINE 📠| ||
| 671 | U+1F4E1 SATELLITE ANTENNA 📡 | ||
| 672 | U+1F4E2 PUBLIC ADDRESS LOUDSPEAKER 📢 | ||
| 673 | U+1F4E3 CHEERING MEGAPHONE 📣 | ||
| 674 | U+1F4E4 OUTBOX TRAY 📤 | ||
| 675 | U+1F4E5 INBOX TRAY 📥 | ||
| 676 | U+1F4E6 PACKAGE 📦 | ||
| 677 | U+1F4E7 E-MAIL SYMBOL 📧 | ||
| 678 | U+1F4E8 INCOMING ENVELOPE 📨 | ||
| 679 | U+1F4E9 ENVELOPE WITH DOWNWARDS ARROW ABOVE 📩 | ||
| 680 | U+1F4EA CLOSED MAILBOX WITH LOWERED FLAG 📪 | ||
| 681 | U+1F4EB CLOSED MAILBOX WITH RAISED FLAG 📫 | ||
| 682 | U+1F4EC OPEN MAILBOX WITH RAISED FLAG 📬 | ||
| 683 | U+1F4ED OPEN MAILBOX WITH LOWERED FLAG 📠| ||
| 684 | U+1F4EE POSTBOX 📮 | ||
| 685 | U+1F4EF POSTAL HORN 📯 | ||
| 686 | U+1F4F0 NEWSPAPER 📰 | ||
| 687 | U+1F4F1 MOBILE PHONE 📱 | ||
| 688 | U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT 📲 | ||
| 689 | U+1F4F3 VIBRATION MODE 📳 | ||
| 690 | U+1F4F4 MOBILE PHONE OFF 📴 | ||
| 691 | U+1F4F5 NO MOBILE PHONES 📵 | ||
| 692 | U+1F4F6 ANTENNA WITH BARS 📶 | ||
| 693 | U+1F4F7 CAMERA 📷 | ||
| 694 | U+1F4F8 CAMERA WITH FLASH 📸 | ||
| 695 | U+1F4F9 VIDEO CAMERA 📹 | ||
| 696 | U+1F4FA TELEVISION 📺 | ||
| 697 | U+1F4FB RADIO 📻 | ||
| 698 | U+1F4FC VIDEOCASSETTE 📼 | ||
| 699 | U+1F4FD FILM PROJECTOR 📽 | ||
| 700 | U+1F4FF PRAYER BEADS 📿 | ||
| 701 | U+1F500 TWISTED RIGHTWARDS ARROWS 🔀 | ||
| 702 | U+1F501 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS 🔠| ||
| 703 | U+1F502 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY 🔂 | ||
| 704 | U+1F503 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS 🔃 | ||
| 705 | U+1F504 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS 🔄 | ||
| 706 | U+1F505 LOW BRIGHTNESS SYMBOL 🔅 | ||
| 707 | U+1F506 HIGH BRIGHTNESS SYMBOL 🔆 | ||
| 708 | U+1F507 SPEAKER WITH CANCELLATION STROKE Mute | ||
| 709 | U+1F508 SPEAKER 🔈 | ||
| 710 | U+1F509 SPEAKER WITH ONE SOUND WAVE 🔉 | ||
| 711 | U+1F50A SPEAKER WITH THREE SOUND WAVES 🔊 | ||
| 712 | U+1F50B BATTERY 🔋 | ||
| 713 | U+1F50C ELECTRIC PLUG 🔌 | ||
| 714 | U+1F50D LEFT-POINTING MAGNIFYING GLASS 🔠| ||
| 715 | U+1F50E RIGHT-POINTING MAGNIFYING GLASS 🔎 | ||
| 716 | U+1F50F LOCK WITH INK PEN 🔠| ||
| 717 | U+1F510 CLOSED LOCK WITH KEY 🔠| ||
| 718 | U+1F511 KEY 🔑 | ||
| 719 | U+1F512 LOCK 🔒 | ||
| 720 | U+1F513 OPEN LOCK 🔓 | ||
| 721 | U+1F514 BELL Bell character | ||
| 722 | U+1F515 BELL WITH CANCELLATION STROKE 🔕 | ||
| 723 | U+1F516 BOOKMARK 🔖 | ||
| 724 | U+1F517 LINK SYMBOL 🔗 | ||
| 725 | U+1F518 RADIO BUTTON 🔘 | ||
| 726 | U+1F519 BACK WITH LEFTWARDS ARROW ABOVE 🔙 | ||
| 727 | U+1F51A END WITH LEFTWARDS ARROW ABOVE 🔚 | ||
| 728 | U+1F51B ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE 🔛 | ||
| 729 | U+1F51C SOON WITH RIGHTWARDS ARROW ABOVE 🔜 | ||
| 730 | U+1F51D TOP WITH UPWARDS ARROW ABOVE 🔠| ||
| 731 | U+1F51E NO ONE UNDER EIGHTEEN SYMBOL Age of majority 🔞 | ||
| 732 | U+1F51F KEYCAP TEN 🔟 | ||
| 733 | U+1F520 INPUT SYMBOL FOR LATIN CAPITAL LETTERS 🔠| ||
| 734 | U+1F521 INPUT SYMBOL FOR LATIN SMALL LETTERS 🔡 | ||
| 735 | U+1F522 INPUT SYMBOL FOR NUMBERS 🔢 | ||
| 736 | U+1F523 INPUT SYMBOL FOR SYMBOLS 🔣 | ||
| 737 | U+1F524 INPUT SYMBOL FOR LATIN LETTERS 🔤 | ||
| 738 | U+1F525 FIRE 🔥 | ||
| 739 | U+1F526 ELECTRIC TORCH 🔦 | ||
| 740 | U+1F527 WRENCH 🔧 | ||
| 741 | U+1F528 HAMMER 🔨 | ||
| 742 | U+1F529 NUT AND BOLT 🔩 | ||
| 743 | U+1F52A HOCHO 🔪 | ||
| 744 | U+1F52B PISTOL 🔫 | ||
| 745 | U+1F52C MICROSCOPE 🔬 | ||
| 746 | U+1F52D TELESCOPE 🔠| ||
| 747 | U+1F52E CRYSTAL BALL 🔮 | ||
| 748 | U+1F52F SIX POINTED STAR WITH MIDDLE DOT 🔯 | ||
| 749 | U+1F530 JAPANESE SYMBOL FOR BEGINNER 🔰 | ||
| 750 | U+1F531 TRIDENT EMBLEM 🔱 | ||
| 751 | U+1F532 BLACK SQUARE BUTTON 🔲 | ||
| 752 | U+1F533 WHITE SQUARE BUTTON 🔳 | ||
| 753 | U+1F534 LARGE RED CIRCLE 🔴 | ||
| 754 | U+1F535 LARGE BLUE CIRCLE 🔵 | ||
| 755 | U+1F536 LARGE ORANGE DIAMOND 🔶 | ||
| 756 | U+1F537 LARGE BLUE DIAMOND 🔷 | ||
| 757 | U+1F538 SMALL ORANGE DIAMOND 🔸 | ||
| 758 | U+1F539 SMALL BLUE DIAMOND 🔹 | ||
| 759 | U+1F53A UP-POINTING RED TRIANGLE 🔺 | ||
| 760 | U+1F53B DOWN-POINTING RED TRIANGLE 🔻 | ||
| 761 | U+1F53C UP-POINTING SMALL RED TRIANGLE 🔼 | ||
| 762 | U+1F53D DOWN-POINTING SMALL RED TRIANGLE 🔽 | ||
| 763 | U+1F549 OM SYMBOL 🕉 | ||
| 764 | U+1F54A DOVE OF PEACE 🕊 | ||
| 765 | U+1F54B KAABA 🕋 | ||
| 766 | U+1F54C MOSQUE 🕌 | ||
| 767 | U+1F54D SYNAGOGUE 🕠| ||
| 768 | U+1F54E MENORAH WITH NINE BRANCHES 🕎 | ||
| 769 | U+1F550 CLOCK FACE ONE OCLOCK 🕠| ||
| 770 | U+1F551 CLOCK FACE TWO OCLOCK 🕑 | ||
| 771 | U+1F552 CLOCK FACE THREE OCLOCK 🕒 | ||
| 772 | U+1F553 CLOCK FACE FOUR OCLOCK 🕓 | ||
| 773 | U+1F554 CLOCK FACE FIVE OCLOCK 🕔 | ||
| 774 | U+1F555 CLOCK FACE SIX OCLOCK 🕕 | ||
| 775 | U+1F556 CLOCK FACE SEVEN OCLOCK 🕖 | ||
| 776 | U+1F557 CLOCK FACE EIGHT OCLOCK 🕗 | ||
| 777 | U+1F558 CLOCK FACE NINE OCLOCK 🕘 | ||
| 778 | U+1F559 CLOCK FACE TEN OCLOCK 🕙 | ||
| 779 | U+1F55A CLOCK FACE ELEVEN OCLOCK 🕚 | ||
| 780 | U+1F55B CLOCK FACE TWELVE OCLOCK 🕛 | ||
| 781 | U+1F55C CLOCK FACE ONE-THIRTY 🕜 | ||
| 782 | U+1F55D CLOCK FACE TWO-THIRTY 🕠| ||
| 783 | U+1F55E CLOCK FACE THREE-THIRTY 🕞 | ||
| 784 | U+1F55F CLOCK FACE FOUR-THIRTY 🕟 | ||
| 785 | U+1F560 CLOCK FACE FIVE-THIRTY 🕠| ||
| 786 | U+1F561 CLOCK FACE SIX-THIRTY 🕡 | ||
| 787 | U+1F562 CLOCK FACE SEVEN-THIRTY 🕢 | ||
| 788 | U+1F563 CLOCK FACE EIGHT-THIRTY 🕣 | ||
| 789 | U+1F564 CLOCK FACE NINE-THIRTY 🕤 | ||
| 790 | U+1F565 CLOCK FACE TEN-THIRTY 🕥 | ||
| 791 | U+1F566 CLOCK FACE ELEVEN-THIRTY 🕦 | ||
| 792 | U+1F567 CLOCK FACE TWELVE-THIRTY 🕧 | ||
| 793 | U+1F56F CANDLE 🕯 | ||
| 794 | U+1F570 MANTELPIECE CLOCK 🕰 | ||
| 795 | U+1F573 HOLE Hole 🕳 | ||
| 796 | U+1F574 MAN IN BUSINESS SUIT LEVITATING 🕴 | ||
| 797 | U+1F575 SLEUTH OR SPY 🕵 | ||
| 798 | U+1F576 DARK SUNGLASSES 🕶 | ||
| 799 | U+1F577 SPIDER 🕷 | ||
| 800 | U+1F578 SPIDER WEB 🕸 | ||
| 801 | U+1F579 JOYSTICK 🕹 | ||
| 802 | U+1F57A MAN DANCING 🕺 | ||
| 803 | U+1F587 LINKED PAPERCLIPS 🖇 | ||
| 804 | U+1F58A LOWER LEFT BALLPOINT PEN 🖊 | ||
| 805 | U+1F58B LOWER LEFT FOUNTAIN PEN 🖋 | ||
| 806 | U+1F58C LOWER LEFT PAINTBRUSH 🖌 | ||
| 807 | U+1F58D LOWER LEFT CRAYON 🖠| ||
| 808 | U+1F590 RAISED HAND WITH FINGERS SPLAYED 🖠| ||
| 809 | U+1F595 REVERSED HAND WITH MIDDLE FINGER EXTENDED 🖕 | ||
| 810 | U+1F596 RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS 🖖 | ||
| 811 | U+1F5A4 BLACK HEART 🖤 | ||
| 812 | U+1F5A5 DESKTOP COMPUTER 🖥 | ||
| 813 | U+1F5A8 PRINTER 🖨 | ||
| 814 | U+1F5B1 THREE BUTTON MOUSE 🖱 | ||
| 815 | U+1F5B2 TRACKBALL 🖲 | ||
| 816 | U+1F5BC FRAME WITH PICTURE 🖼 | ||
| 817 | U+1F5C2 CARD INDEX DIVIDERS 🗂 | ||
| 818 | U+1F5C3 CARD FILE BOX 🗃 | ||
| 819 | U+1F5C4 FILE CABINET 🗄 | ||
| 820 | U+1F5D1 WASTEBASKET 🗑 | ||
| 821 | U+1F5D2 SPIRAL NOTE PAD 🗒 | ||
| 822 | U+1F5D3 SPIRAL CALENDAR PAD 🗓 | ||
| 823 | U+1F5DC COMPRESSION 🗜 | ||
| 824 | U+1F5DD OLD KEY 🗠| ||
| 825 | U+1F5DE ROLLED-UP NEWSPAPER 🗞 | ||
| 826 | U+1F5E1 DAGGER KNIFE 🗡 | ||
| 827 | U+1F5E3 SPEAKING HEAD IN SILHOUETTE 🗣 | ||
| 828 | U+1F5E8 LEFT SPEECH BUBBLE 🗨 | ||
| 829 | U+1F5EF RIGHT ANGER BUBBLE 🗯 | ||
| 830 | U+1F5F3 BALLOT BOX WITH BALLOT 🗳 | ||
| 831 | U+1F5FA WORLD MAP 🗺 | ||
| 832 | U+1F5FB MOUNT FUJI 🗻 | ||
| 833 | U+1F5FC TOKYO TOWER 🗼 | ||
| 834 | U+1F5FD STATUE OF LIBERTY 🗽 | ||
| 835 | U+1F5FE SILHOUETTE OF JAPAN 🗾 | ||
| 836 | U+1F5FF MOYAI 🗿 | ||
| 837 | U+1F600 GRINNING FACE 😀 | ||
| 838 | U+1F601 GRINNING FACE WITH SMILING EYES 😠| ||
| 839 | U+1F602 FACE WITH TEARS OF JOY 😂 | ||
| 840 | U+1F603 SMILING FACE WITH OPEN MOUTH 😃 | ||
| 841 | U+1F604 SMILING FACE WITH OPEN MOUTH AND SMILING EYES 😄 | ||
| 842 | U+1F605 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT 😅 | ||
| 843 | U+1F606 SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES 😆 | ||
| 844 | U+1F607 SMILING FACE WITH HALO 😇 | ||
| 845 | U+1F608 SMILING FACE WITH HORNS 😈 | ||
| 846 | U+1F609 WINKING FACE 😉 | ||
| 847 | U+1F60A SMILING FACE WITH SMILING EYES 😊 | ||
| 848 | U+1F60B FACE SAVOURING DELICIOUS FOOD 😋 | ||
| 849 | U+1F60C RELIEVED FACE 😌 | ||
| 850 | U+1F60D SMILING FACE WITH HEART-SHAPED EYES 😠| ||
| 851 | U+1F60E SMILING FACE WITH SUNGLASSES 😎 | ||
| 852 | U+1F60F SMIRKING FACE 😠| ||
| 853 | U+1F610 NEUTRAL FACE 😠| ||
| 854 | U+1F611 EXPRESSIONLESS FACE 😑 | ||
| 855 | U+1F612 UNAMUSED FACE 😒 | ||
| 856 | U+1F613 FACE WITH COLD SWEAT 😓 | ||
| 857 | U+1F614 PENSIVE FACE 😔 | ||
| 858 | U+1F615 CONFUSED FACE 😕 | ||
| 859 | U+1F616 CONFOUNDED FACE 😖 | ||
| 860 | U+1F617 KISSING FACE 😗 | ||
| 861 | U+1F618 FACE THROWING A KISS 😘 | ||
| 862 | U+1F619 KISSING FACE WITH SMILING EYES 😙 | ||
| 863 | U+1F61A KISSING FACE WITH CLOSED EYES 😚 | ||
| 864 | U+1F61B FACE WITH STUCK-OUT TONGUE 😛 | ||
| 865 | U+1F61C FACE WITH STUCK-OUT TONGUE AND WINKING EYE 😜 | ||
| 866 | U+1F61D FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES 😠| ||
| 867 | U+1F61E DISAPPOINTED FACE 😞 | ||
| 868 | U+1F61F WORRIED FACE 😟 | ||
| 869 | U+1F620 ANGRY FACE 😠| ||
| 870 | U+1F621 POUTING FACE 😡 | ||
| 871 | U+1F622 CRYING FACE 😢 | ||
| 872 | U+1F623 PERSEVERING FACE 😣 | ||
| 873 | U+1F624 FACE WITH LOOK OF TRIUMPH 😤 | ||
| 874 | U+1F625 DISAPPOINTED BUT RELIEVED FACE 😥 | ||
| 875 | U+1F626 FROWNING FACE WITH OPEN MOUTH 😦 | ||
| 876 | U+1F627 ANGUISHED FACE 😧 | ||
| 877 | U+1F628 FEARFUL FACE 😨 | ||
| 878 | U+1F629 WEARY FACE 😩 | ||
| 879 | U+1F62A SLEEPY FACE 😪 | ||
| 880 | U+1F62B TIRED FACE 😫 | ||
| 881 | U+1F62C GRIMACING FACE 😬 | ||
| 882 | U+1F62D LOUDLY CRYING FACE 😠| ||
| 883 | U+1F62E FACE WITH OPEN MOUTH 😮 | ||
| 884 | U+1F62F HUSHED FACE 😯 | ||
| 885 | U+1F630 FACE WITH OPEN MOUTH AND COLD SWEAT 😰 | ||
| 886 | U+1F631 FACE SCREAMING IN FEAR 😱 | ||
| 887 | U+1F632 ASTONISHED FACE 😲 | ||
| 888 | U+1F633 FLUSHED FACE 😳 | ||
| 889 | U+1F634 SLEEPING FACE 😴 | ||
| 890 | U+1F635 DIZZY FACE 😵 | ||
| 891 | U+1F636 FACE WITHOUT MOUTH 😶 | ||
| 892 | U+1F637 FACE WITH MEDICAL MASK 😷 | ||
| 893 | U+1F638 GRINNING CAT FACE WITH SMILING EYES 😸 | ||
| 894 | U+1F639 CAT FACE WITH TEARS OF JOY 😹 | ||
| 895 | U+1F63A SMILING CAT FACE WITH OPEN MOUTH 😺 | ||
| 896 | U+1F63B SMILING CAT FACE WITH HEART-SHAPED EYES 😻 | ||
| 897 | U+1F63C CAT FACE WITH WRY SMILE 😼 | ||
| 898 | U+1F63D KISSING CAT FACE WITH CLOSED EYES 😽 | ||
| 899 | U+1F63E POUTING CAT FACE 😾 | ||
| 900 | U+1F63F CRYING CAT FACE 😿 | ||
| 901 | U+1F640 WEARY CAT FACE 🙀 | ||
| 902 | U+1F641 SLIGHTLY FROWNING FACE 🙠| ||
| 903 | U+1F642 SLIGHTLY SMILING FACE 🙂 | ||
| 904 | U+1F643 UPSIDE-DOWN FACE 🙃 | ||
| 905 | U+1F644 FACE WITH ROLLING EYES 🙄 | ||
| 906 | U+1F645 FACE WITH NO GOOD GESTURE 🙅 | ||
| 907 | U+1F646 FACE WITH OK GESTURE 🙆 | ||
| 908 | U+1F647 PERSON BOWING DEEPLY 🙇 | ||
| 909 | U+1F648 SEE-NO-EVIL MONKEY 🙈 | ||
| 910 | U+1F649 HEAR-NO-EVIL MONKEY 🙉 | ||
| 911 | U+1F64A SPEAK-NO-EVIL MONKEY 🙊 | ||
| 912 | U+1F64B HAPPY PERSON RAISING ONE HAND 🙋 | ||
| 913 | U+1F64C PERSON RAISING BOTH HANDS IN CELEBRATION 🙌 | ||
| 914 | U+1F64D PERSON FROWNING 🙠| ||
| 915 | U+1F64E PERSON WITH POUTING FACE 🙎 | ||
| 916 | U+1F64F PERSON WITH FOLDED HANDS 🙠| ||
| 917 | U+1F680 ROCKET 🚀 | ||
| 918 | U+1F681 HELICOPTER 🚠| ||
| 919 | U+1F682 STEAM LOCOMOTIVE 🚂 | ||
| 920 | U+1F683 RAILWAY CAR 🚃 | ||
| 921 | U+1F684 HIGH-SPEED TRAIN 🚄 | ||
| 922 | U+1F685 HIGH-SPEED TRAIN WITH BULLET NOSE 🚅 | ||
| 923 | U+1F686 TRAIN 🚆 | ||
| 924 | U+1F687 METRO 🚇 | ||
| 925 | U+1F688 LIGHT RAIL 🚈 | ||
| 926 | U+1F689 STATION 🚉 | ||
| 927 | U+1F68A TRAM 🚊 | ||
| 928 | U+1F68B TRAM CAR 🚋 | ||
| 929 | U+1F68C BUS 🚌 | ||
| 930 | U+1F68D ONCOMING BUS 🚠| ||
| 931 | U+1F68E TROLLEYBUS 🚎 | ||
| 932 | U+1F68F BUS STOP 🚠| ||
| 933 | U+1F690 MINIBUS 🚠| ||
| 934 | U+1F691 AMBULANCE 🚑 | ||
| 935 | U+1F692 FIRE ENGINE 🚒 | ||
| 936 | U+1F693 POLICE CAR 🚓 | ||
| 937 | U+1F694 ONCOMING POLICE CAR 🚔 | ||
| 938 | U+1F695 TAXI 🚕 | ||
| 939 | U+1F696 ONCOMING TAXI 🚖 | ||
| 940 | U+1F697 AUTOMOBILE 🚗 | ||
| 941 | U+1F698 ONCOMING AUTOMOBILE 🚘 | ||
| 942 | U+1F699 RECREATIONAL VEHICLE 🚙 | ||
| 943 | U+1F69A DELIVERY TRUCK 🚚 | ||
| 944 | U+1F69B ARTICULATED LORRY 🚛 | ||
| 945 | U+1F69C TRACTOR 🚜 | ||
| 946 | U+1F69D MONORAIL 🚠| ||
| 947 | U+1F69E MOUNTAIN RAILWAY 🚞 | ||
| 948 | U+1F69F SUSPENSION RAILWAY 🚟 | ||
| 949 | U+1F6A0 MOUNTAIN CABLEWAY 🚠| ||
| 950 | U+1F6A1 AERIAL TRAMWAY 🚡 | ||
| 951 | U+1F6A2 SHIP 🚢 | ||
| 952 | U+1F6A3 ROWBOAT 🚣 | ||
| 953 | U+1F6A4 SPEEDBOAT 🚤 | ||
| 954 | U+1F6A5 HORIZONTAL TRAFFIC LIGHT 🚥 | ||
| 955 | U+1F6A6 VERTICAL TRAFFIC LIGHT 🚦 | ||
| 956 | U+1F6A7 CONSTRUCTION SIGN 🚧 | ||
| 957 | U+1F6A8 POLICE CARS REVOLVING LIGHT 🚨 | ||
| 958 | U+1F6A9 TRIANGULAR FLAG ON POST 🚩 | ||
| 959 | U+1F6AA DOOR 🚪 | ||
| 960 | U+1F6AB NO ENTRY SIGN 🚫 | ||
| 961 | U+1F6AC SMOKING SYMBOL 🚬 | ||
| 962 | U+1F6AD NO SMOKING SYMBOL 🚠| ||
| 963 | U+1F6AE PUT LITTER IN ITS PLACE SYMBOL 🚮 | ||
| 964 | U+1F6AF DO NOT LITTER SYMBOL 🚯 | ||
| 965 | U+1F6B0 POTABLE WATER SYMBOL 🚰 | ||
| 966 | U+1F6B1 NON-POTABLE WATER SYMBOL 🚱 | ||
| 967 | U+1F6B2 BICYCLE 🚲 | ||
| 968 | U+1F6B3 NO BICYCLES 🚳 | ||
| 969 | U+1F6B4 BICYCLIST 🚴 | ||
| 970 | U+1F6B5 MOUNTAIN BICYCLIST 🚵 | ||
| 971 | U+1F6B6 PEDESTRIAN 🚶 | ||
| 972 | U+1F6B7 NO PEDESTRIANS 🚷 | ||
| 973 | U+1F6B8 CHILDREN CROSSING 🚸 | ||
| 974 | U+1F6B9 MENS SYMBOL 🚹 | ||
| 975 | U+1F6BA WOMENS SYMBOL 🚺 | ||
| 976 | U+1F6BB RESTROOM 🚻 | ||
| 977 | U+1F6BC BABY SYMBOL 🚼 | ||
| 978 | U+1F6BD TOILET 🚽 | ||
| 979 | U+1F6BE WATER CLOSET 🚾 | ||
| 980 | U+1F6BF SHOWER 🚿 | ||
| 981 | U+1F6C0 BATH 🛀 | ||
| 982 | U+1F6C1 BATHTUB 🛠| ||
| 983 | U+1F6C2 PASSPORT CONTROL 🛂 | ||
| 984 | U+1F6C3 CUSTOMS 🛃 | ||
| 985 | U+1F6C4 BAGGAGE CLAIM 🛄 | ||
| 986 | U+1F6C5 LEFT LUGGAGE 🛅 | ||
| 987 | U+1F6CB COUCH AND LAMP 🛋 | ||
| 988 | U+1F6CC SLEEPING ACCOMMODATION 🛌 | ||
| 989 | U+1F6CD SHOPPING BAGS 🛠| ||
| 990 | U+1F6CE BELLHOP BELL 🛎 | ||
| 991 | U+1F6CF BED 🛠| ||
| 992 | U+1F6D0 PLACE OF WORSHIP 🛠| ||
| 993 | U+1F6D1 OCTAGONAL SIGN 🛑 | ||
| 994 | U+1F6D2 SHOPPING TROLLEY 🛒 | ||
| 995 | U+1F6D5 HINDU TEMPLE 🛕 | ||
| 996 | U+1F6D6 HUT 🛖 | ||
| 997 | U+1F6D7 ELEVATOR 🛗 | ||
| 998 | U+1F6E0 HAMMER AND WRENCH 🛠| ||
| 999 | U+1F6E1 SHIELD 🛡 | ||
| 1000 | U+1F6E2 OIL DRUM 🛢 | ||
| 1001 | U+1F6E3 MOTORWAY 🛣 | ||
| 1002 | U+1F6E4 RAILWAY TRACK 🛤 | ||
| 1003 | U+1F6E5 MOTOR BOAT 🛥 | ||
| 1004 | U+1F6E9 SMALL AIRPLANE 🛩 | ||
| 1005 | U+1F6EB AIRPLANE DEPARTURE 🛫 | ||
| 1006 | U+1F6EC AIRPLANE ARRIVING 🛬 | ||
| 1007 | U+1F6F0 SATELLITE 🛰 | ||
| 1008 | U+1F6F3 PASSENGER SHIP 🛳 | ||
| 1009 | U+1F6F4 SCOOTER 🛴 | ||
| 1010 | U+1F6F5 MOTOR SCOOTER 🛵 | ||
| 1011 | U+1F6F6 CANOE 🛶 | ||
| 1012 | U+1F6F7 SLED 🛷 | ||
| 1013 | U+1F6F8 FLYING SAUCER 🛸 | ||
| 1014 | U+1F6F9 SKATEBOARD 🛹 | ||
| 1015 | U+1F6FA AUTO RICKSHAW 🛺 | ||
| 1016 | U+1F6FB PICKUP TRUCK 🛻 | ||
| 1017 | U+1F6FC ROLLER SKATE 🛼 | ||
| 1018 | U+1F7E0 LARGE ORANGE CIRCLE 🟠| ||
| 1019 | U+1F7E1 LARGE YELLOW CIRCLE 🟡 | ||
| 1020 | U+1F7E2 LARGE GREEN CIRCLE 🟢 | ||
| 1021 | U+1F7E3 LARGE PURPLE CIRCLE 🟣 | ||
| 1022 | U+1F7E4 LARGE BROWN CIRCLE 🟤 | ||
| 1023 | U+1F7E5 LARGE RED SQUARE 🟥 | ||
| 1024 | U+1F7E6 LARGE BLUE SQUARE 🟦 | ||
| 1025 | U+1F7E7 LARGE ORANGE SQUARE 🟧 | ||
| 1026 | U+1F7E8 LARGE YELLOW SQUARE 🟨 | ||
| 1027 | U+1F7E9 LARGE GREEN SQUARE 🟩 | ||
| 1028 | U+1F7EA LARGE PURPLE SQUARE 🟪 | ||
| 1029 | U+1F7EB LARGE BROWN SQUARE 🟫 | ||
| 1030 | U+1F90C PINCHED FINGERS 🤌 | ||
| 1031 | U+1F90D WHITE HEART 🤠| ||
| 1032 | U+1F90E BROWN HEART 🤎 | ||
| 1033 | U+1F90F PINCHING HAND 🤠| ||
| 1034 | U+1F910 ZIPPER-MOUTH FACE 🤠| ||
| 1035 | U+1F911 MONEY-MOUTH FACE 🤑 | ||
| 1036 | U+1F912 FACE WITH THERMOMETER 🤒 | ||
| 1037 | U+1F913 NERD FACE 🤓 | ||
| 1038 | U+1F914 THINKING FACE 🤔 | ||
| 1039 | U+1F915 FACE WITH HEAD-BANDAGE 🤕 | ||
| 1040 | U+1F916 ROBOT FACE 🤖 | ||
| 1041 | U+1F917 HUGGING FACE 🤗 | ||
| 1042 | U+1F918 SIGN OF THE HORNS 🤘 | ||
| 1043 | U+1F919 CALL ME HAND 🤙 | ||
| 1044 | U+1F91A RAISED BACK OF HAND 🤚 | ||
| 1045 | U+1F91B LEFT-FACING FIST 🤛 | ||
| 1046 | U+1F91C RIGHT-FACING FIST 🤜 | ||
| 1047 | U+1F91D HANDSHAKE 🤠| ||
| 1048 | U+1F91E HAND WITH INDEX AND MIDDLE FINGERS CROSSED 🤞 | ||
| 1049 | U+1F91F I LOVE YOU HAND SIGN 🤟 | ||
| 1050 | U+1F920 FACE WITH COWBOY HAT 🤠| ||
| 1051 | U+1F921 CLOWN FACE 🤡 | ||
| 1052 | U+1F922 NAUSEATED FACE 🤢 | ||
| 1053 | U+1F923 ROLLING ON THE FLOOR LAUGHING 🤣 | ||
| 1054 | U+1F924 DROOLING FACE 🤤 | ||
| 1055 | U+1F925 LYING FACE 🤥 | ||
| 1056 | U+1F926 FACE PALM 🤦 | ||
| 1057 | U+1F927 SNEEZING FACE 🤧 | ||
| 1058 | U+1F928 FACE WITH ONE EYEBROW RAISED 🤨 | ||
| 1059 | U+1F929 GRINNING FACE WITH STAR EYES 🤩 | ||
| 1060 | U+1F92A GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE 🤪 | ||
| 1061 | U+1F92B FACE WITH FINGER COVERING CLOSED LIPS 🤫 | ||
| 1062 | U+1F92C SERIOUS FACE WITH SYMBOLS COVERING MOUTH 🤬 | ||
| 1063 | U+1F92D SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH 🤠| ||
| 1064 | U+1F92E FACE WITH OPEN MOUTH VOMITING 🤮 | ||
| 1065 | U+1F92F SHOCKED FACE WITH EXPLODING HEAD 🤯 | ||
| 1066 | U+1F930 PREGNANT WOMAN 🤰 | ||
| 1067 | U+1F931 BREAST-FEEDING 🤱 | ||
| 1068 | U+1F932 PALMS UP TOGETHER 🤲 | ||
| 1069 | U+1F933 SELFIE 🤳 | ||
| 1070 | U+1F934 PRINCE 🤴 | ||
| 1071 | U+1F935 MAN IN TUXEDO 🤵 | ||
| 1072 | U+1F936 MOTHER CHRISTMAS 🤶 | ||
| 1073 | U+1F937 SHRUG 🤷 | ||
| 1074 | U+1F938 PERSON DOING CARTWHEEL 🤸 | ||
| 1075 | U+1F939 JUGGLING 🤹 | ||
| 1076 | U+1F93A FENCER 🤺 | ||
| 1077 | U+1F93C WRESTLERS 🤼 | ||
| 1078 | U+1F93D WATER POLO 🤽 | ||
| 1079 | U+1F93E HANDBALL 🤾 | ||
| 1080 | U+1F93F DIVING MASK 🤿 | ||
| 1081 | U+1F940 WILTED FLOWER 🥀 | ||
| 1082 | U+1F941 DRUM WITH DRUMSTICKS 🥠| ||
| 1083 | U+1F942 CLINKING GLASSES 🥂 | ||
| 1084 | U+1F943 TUMBLER GLASS 🥃 | ||
| 1085 | U+1F944 SPOON 🥄 | ||
| 1086 | U+1F945 GOAL NET 🥅 | ||
| 1087 | U+1F947 FIRST PLACE MEDAL 🥇 | ||
| 1088 | U+1F948 SECOND PLACE MEDAL 🥈 | ||
| 1089 | U+1F949 THIRD PLACE MEDAL 🥉 | ||
| 1090 | U+1F94A BOXING GLOVE 🥊 | ||
| 1091 | U+1F94B MARTIAL ARTS UNIFORM 🥋 | ||
| 1092 | U+1F94C CURLING STONE 🥌 | ||
| 1093 | U+1F94D LACROSSE STICK AND BALL 🥠| ||
| 1094 | U+1F94E SOFTBALL 🥎 | ||
| 1095 | U+1F94F FLYING DISC 🥠| ||
| 1096 | U+1F950 CROISSANT 🥠| ||
| 1097 | U+1F951 AVOCADO 🥑 | ||
| 1098 | U+1F952 CUCUMBER 🥒 | ||
| 1099 | U+1F953 BACON 🥓 | ||
| 1100 | U+1F954 POTATO 🥔 | ||
| 1101 | U+1F955 CARROT 🥕 | ||
| 1102 | U+1F956 BAGUETTE BREAD 🥖 | ||
| 1103 | U+1F957 GREEN SALAD 🥗 | ||
| 1104 | U+1F958 SHALLOW PAN OF FOOD 🥘 | ||
| 1105 | U+1F959 STUFFED FLATBREAD 🥙 | ||
| 1106 | U+1F95A EGG 🥚 | ||
| 1107 | U+1F95B GLASS OF MILK 🥛 | ||
| 1108 | U+1F95C PEANUTS 🥜 | ||
| 1109 | U+1F95D KIWIFRUIT 🥠| ||
| 1110 | U+1F95E PANCAKES 🥞 | ||
| 1111 | U+1F95F DUMPLING 🥟 | ||
| 1112 | U+1F960 FORTUNE COOKIE 🥠| ||
| 1113 | U+1F961 TAKEOUT BOX 🥡 | ||
| 1114 | U+1F962 CHOPSTICKS 🥢 | ||
| 1115 | U+1F963 BOWL WITH SPOON 🥣 | ||
| 1116 | U+1F964 CUP WITH STRAW 🥤 | ||
| 1117 | U+1F965 COCONUT 🥥 | ||
| 1118 | U+1F966 BROCCOLI 🥦 | ||
| 1119 | U+1F967 PIE 🥧 | ||
| 1120 | U+1F968 PRETZEL 🥨 | ||
| 1121 | U+1F969 CUT OF MEAT 🥩 | ||
| 1122 | U+1F96A SANDWICH 🥪 | ||
| 1123 | U+1F96B CANNED FOOD 🥫 | ||
| 1124 | U+1F96C LEAFY GREEN 🥬 | ||
| 1125 | U+1F96D MANGO 🥠| ||
| 1126 | U+1F96E MOON CAKE 🥮 | ||
| 1127 | U+1F96F BAGEL 🥯 | ||
| 1128 | U+1F970 SMILING FACE WITH SMILING EYES AND THREE HEARTS 🥰 | ||
| 1129 | U+1F971 YAWNING FACE 🥱 | ||
| 1130 | U+1F972 SMILING FACE WITH TEAR 🥲 | ||
| 1131 | U+1F973 FACE WITH PARTY HORN AND PARTY HAT 🥳 | ||
| 1132 | U+1F974 FACE WITH UNEVEN EYES AND WAVY MOUTH 🥴 | ||
| 1133 | U+1F975 OVERHEATED FACE 🥵 | ||
| 1134 | U+1F976 FREEZING FACE 🥶 | ||
| 1135 | U+1F977 NINJA 🥷 | ||
| 1136 | U+1F978 DISGUISED FACE 🥸 | ||
| 1137 | U+1F97A FACE WITH PLEADING EYES 🥺 | ||
| 1138 | U+1F97B SARI 🥻 | ||
| 1139 | U+1F97C LAB COAT 🥼 | ||
| 1140 | U+1F97D GOGGLES 🥽 | ||
| 1141 | U+1F97E HIKING BOOT 🥾 | ||
| 1142 | U+1F97F FLAT SHOE 🥿 | ||
| 1143 | U+1F980 CRAB 🦀 | ||
| 1144 | U+1F981 LION FACE 🦠| ||
| 1145 | U+1F982 SCORPION 🦂 | ||
| 1146 | U+1F983 TURKEY 🦃 | ||
| 1147 | U+1F984 UNICORN FACE 🦄 | ||
| 1148 | U+1F985 EAGLE 🦅 | ||
| 1149 | U+1F986 DUCK 🦆 | ||
| 1150 | U+1F987 BAT 🦇 | ||
| 1151 | U+1F988 SHARK 🦈 | ||
| 1152 | U+1F989 OWL 🦉 | ||
| 1153 | U+1F98A FOX FACE 🦊 | ||
| 1154 | U+1F98B BUTTERFLY 🦋 | ||
| 1155 | U+1F98C DEER 🦌 | ||
| 1156 | U+1F98D GORILLA 🦠| ||
| 1157 | U+1F98E LIZARD 🦎 | ||
| 1158 | U+1F98F RHINOCEROS 🦠| ||
| 1159 | U+1F990 SHRIMP 🦠| ||
| 1160 | U+1F991 SQUID 🦑 | ||
| 1161 | U+1F992 GIRAFFE FACE 🦒 | ||
| 1162 | U+1F993 ZEBRA FACE 🦓 | ||
| 1163 | U+1F994 HEDGEHOG 🦔 | ||
| 1164 | U+1F995 SAUROPOD 🦕 | ||
| 1165 | U+1F996 T-REX 🦖 | ||
| 1166 | U+1F997 CRICKET 🦗 | ||
| 1167 | U+1F998 KANGAROO 🦘 | ||
| 1168 | U+1F999 LLAMA 🦙 | ||
| 1169 | U+1F99A PEACOCK 🦚 | ||
| 1170 | U+1F99B HIPPOPOTAMUS 🦛 | ||
| 1171 | U+1F99C PARROT 🦜 | ||
| 1172 | U+1F99D RACCOON 🦠| ||
| 1173 | U+1F99E LOBSTER 🦞 | ||
| 1174 | U+1F99F MOSQUITO 🦟 | ||
| 1175 | U+1F9A0 MICROBE 🦠| ||
| 1176 | U+1F9A1 BADGER 🦡 | ||
| 1177 | U+1F9A2 SWAN 🦢 | ||
| 1178 | U+1F9A3 MAMMOTH 🦣 | ||
| 1179 | U+1F9A4 DODO 🦤 | ||
| 1180 | U+1F9A5 SLOTH 🦥 | ||
| 1181 | U+1F9A6 OTTER 🦦 | ||
| 1182 | U+1F9A7 ORANGUTAN 🦧 | ||
| 1183 | U+1F9A8 SKUNK 🦨 | ||
| 1184 | U+1F9A9 FLAMINGO 🦩 | ||
| 1185 | U+1F9AA OYSTER 🦪 | ||
| 1186 | U+1F9AB BEAVER 🦫 | ||
| 1187 | U+1F9AC BISON 🦬 | ||
| 1188 | U+1F9AD SEAL 🦠| ||
| 1189 | U+1F9AE GUIDE DOG 🦮 | ||
| 1190 | U+1F9AF PROBING CANE 🦯 | ||
| 1191 | U+1F9B0 EMOJI COMPONENT RED HAIR 🦰 | ||
| 1192 | U+1F9B1 EMOJI COMPONENT CURLY HAIR 🦱 | ||
| 1193 | U+1F9B2 EMOJI COMPONENT BALD 🦲 | ||
| 1194 | U+1F9B3 EMOJI COMPONENT WHITE HAIR 🦳 | ||
| 1195 | U+1F9B4 BONE 🦴 | ||
| 1196 | U+1F9B5 LEG 🦵 | ||
| 1197 | U+1F9B6 FOOT 🦶 | ||
| 1198 | U+1F9B7 TOOTH 🦷 | ||
| 1199 | U+1F9B8 SUPERHERO 🦸 | ||
| 1200 | U+1F9B9 SUPERVILLAIN 🦹 | ||
| 1201 | U+1F9BA SAFETY VEST 🦺 | ||
| 1202 | U+1F9BB EAR WITH HEARING AID 🦻 | ||
| 1203 | U+1F9BC MOTORIZED WHEELCHAIR 🦼 | ||
| 1204 | U+1F9BD MANUAL WHEELCHAIR 🦽 | ||
| 1205 | U+1F9BE MECHANICAL ARM 🦾 | ||
| 1206 | U+1F9BF MECHANICAL LEG 🦿 | ||
| 1207 | U+1F9C0 CHEESE WEDGE 🧀 | ||
| 1208 | U+1F9C1 CUPCAKE 🧠| ||
| 1209 | U+1F9C2 SALT SHAKER 🧂 | ||
| 1210 | U+1F9C3 BEVERAGE BOX 🧃 | ||
| 1211 | U+1F9C4 GARLIC 🧄 | ||
| 1212 | U+1F9C5 ONION 🧅 | ||
| 1213 | U+1F9C6 FALAFEL 🧆 | ||
| 1214 | U+1F9C7 WAFFLE 🧇 | ||
| 1215 | U+1F9C8 BUTTER 🧈 | ||
| 1216 | U+1F9C9 MATE DRINK 🧉 | ||
| 1217 | U+1F9CA ICE CUBE 🧊 | ||
| 1218 | U+1F9CB BUBBLE TEA 🧋 | ||
| 1219 | U+1F9CD STANDING PERSON 🧠| ||
| 1220 | U+1F9CE KNEELING PERSON 🧎 | ||
| 1221 | U+1F9CF DEAF PERSON 🧠| ||
| 1222 | U+1F9D0 FACE WITH MONOCLE 🧠| ||
| 1223 | U+1F9D1 ADULT 🧑 | ||
| 1224 | U+1F9D2 CHILD 🧒 | ||
| 1225 | U+1F9D3 OLDER ADULT 🧓 | ||
| 1226 | U+1F9D4 BEARDED PERSON 🧔 | ||
| 1227 | U+1F9D5 PERSON WITH HEADSCARF 🧕 | ||
| 1228 | U+1F9D6 PERSON IN STEAMY ROOM 🧖 | ||
| 1229 | U+1F9D7 PERSON CLIMBING 🧗 | ||
| 1230 | U+1F9D8 PERSON IN LOTUS POSITION 🧘 | ||
| 1231 | U+1F9D9 MAGE 🧙 | ||
| 1232 | U+1F9DA FAIRY 🧚 | ||
| 1233 | U+1F9DB VAMPIRE 🧛 | ||
| 1234 | U+1F9DC MERPERSON Merfolk 🧜 | ||
| 1235 | U+1F9DD ELF 🧠| ||
| 1236 | U+1F9DE GENIE 🧞 | ||
| 1237 | U+1F9DF ZOMBIE 🧟 | ||
| 1238 | U+1F9E0 BRAIN 🧠| ||
| 1239 | U+1F9E1 ORANGE HEART 🧡 | ||
| 1240 | U+1F9E2 BILLED CAP 🧢 | ||
| 1241 | U+1F9E3 SCARF 🧣 | ||
| 1242 | U+1F9E4 GLOVES 🧤 | ||
| 1243 | U+1F9E5 COAT 🧥 | ||
| 1244 | U+1F9E6 SOCKS 🧦 | ||
| 1245 | U+1F9E7 RED GIFT ENVELOPE 🧧 | ||
| 1246 | U+1F9E8 FIRECRACKER 🧨 | ||
| 1247 | U+1F9E9 JIGSAW PUZZLE PIECE 🧩 | ||
| 1248 | U+1F9EA TEST TUBE 🧪 | ||
| 1249 | U+1F9EB PETRI DISH 🧫 | ||
| 1250 | U+1F9EC DNA DOUBLE HELIX 🧬 | ||
| 1251 | U+1F9ED COMPASS 🧠| ||
| 1252 | U+1F9EE ABACUS 🧮 | ||
| 1253 | U+1F9EF FIRE EXTINGUISHER 🧯 | ||
| 1254 | U+1F9F0 TOOLBOX 🧰 | ||
| 1255 | U+1F9F1 BRICK 🧱 | ||
| 1256 | U+1F9F2 MAGNET 🧲 | ||
| 1257 | U+1F9F3 LUGGAGE 🧳 | ||
| 1258 | U+1F9F4 LOTION BOTTLE 🧴 | ||
| 1259 | U+1F9F5 SPOOL OF THREAD 🧵 | ||
| 1260 | U+1F9F6 BALL OF YARN 🧶 | ||
| 1261 | U+1F9F7 SAFETY PIN 🧷 | ||
| 1262 | U+1F9F8 TEDDY BEAR 🧸 | ||
| 1263 | U+1F9F9 BROOM 🧹 | ||
| 1264 | U+1F9FA BASKET 🧺 | ||
| 1265 | U+1F9FB ROLL OF PAPER 🧻 | ||
| 1266 | U+1F9FC BAR OF SOAP 🧼 | ||
| 1267 | U+1F9FD SPONGE 🧽 | ||
| 1268 | U+1F9FE RECEIPT 🧾 | ||
| 1269 | U+1F9FF NAZAR AMULET 🧿 | ||
| 1270 | U+1FA70 BALLET SHOES 🩰 | ||
| 1271 | U+1FA71 ONE-PIECE SWIMSUIT 🩱 | ||
| 1272 | U+1FA72 BRIEFS 🩲 | ||
| 1273 | U+1FA73 SHORTS 🩳 | ||
| 1274 | U+1FA74 THONG SANDAL | ||
| 1275 | U+1FA78 DROP OF BLOOD 🩸 | ||
| 1276 | U+1FA79 ADHESIVE BANDAGE 🩹 | ||
| 1277 | U+1FA7A STETHOSCOPE 🩺 | ||
| 1278 | U+1FA80 YO-YO 🪀 | ||
| 1279 | U+1FA81 KITE 🪠| ||
| 1280 | U+1FA82 PARACHUTE 🪂 | ||
| 1281 | U+1FA83 BOOMERANG 🪃 | ||
| 1282 | U+1FA84 MAGIC WAND 🪄 | ||
| 1283 | U+1FA85 PINATA 🪅 | ||
| 1284 | U+1FA86 NESTING DOLLS 🪆 | ||
| 1285 | U+1FA90 RINGED PLANET 🪠| ||
| 1286 | U+1FA91 CHAIR 🪑 | ||
| 1287 | U+1FA92 RAZOR 🪒 | ||
| 1288 | U+1FA93 AXE 🪓 | ||
| 1289 | U+1FA94 DIYA LAMP 🪔 | ||
| 1290 | U+1FA95 BANJO 🪕 | ||
| 1291 | U+1FA96 MILITARY HELMET 🪖 | ||
| 1292 | U+1FA97 ACCORDION 🪗 | ||
| 1293 | U+1FA98 LONG DRUM 🪘 | ||
| 1294 | U+1FA99 COIN 🪙 | ||
| 1295 | U+1FA9A CARPENTRY SAW 🪚 | ||
| 1296 | U+1FA9B SCREWDRIVER 🪛 | ||
| 1297 | U+1FA9C LADDER 🪜 | ||
| 1298 | U+1FA9D HOOK 🪠| ||
| 1299 | U+1FA9E MIRROR 🪞 | ||
| 1300 | U+1FA9F WINDOW 🪟 | ||
| 1301 | U+1FAA0 PLUNGER 🪠| ||
| 1302 | U+1FAA1 SEWING NEEDLE 🪡 | ||
| 1303 | U+1FAA2 KNOT 🪢 | ||
| 1304 | U+1FAA3 BUCKET 🪣 | ||
| 1305 | U+1FAA4 MOUSE TRAP 🪤 | ||
| 1306 | U+1FAA5 TOOTHBRUSH 🪥 | ||
| 1307 | U+1FAA6 HEADSTONE 🪦 | ||
| 1308 | U+1FAA7 PLACARD 🪧 | ||
| 1309 | U+1FAA8 ROCK 🪨 | ||
| 1310 | U+1FAB0 FLY 🪰 | ||
| 1311 | U+1FAB1 WORM 🪱 | ||
| 1312 | U+1FAB2 BEETLE 🪲 | ||
| 1313 | U+1FAB3 COCKROACH 🪳 | ||
| 1314 | U+1FAB4 POTTED PLANT 🪴 | ||
| 1315 | U+1FAB5 WOOD 🪵 | ||
| 1316 | U+1FAB6 FEATHER 🪶 | ||
| 1317 | U+1FAC0 ANATOMICAL HEART 🫀 | ||
| 1318 | U+1FAC1 LUNGS 🫠| ||
| 1319 | U+1FAC2 PEOPLE HUGGING 🫂 | ||
| 1320 | U+1FAD0 BLUEBERRIES 🫠| ||
| 1321 | U+1FAD1 BELL PEPPER 🫑 | ||
| 1322 | U+1FAD2 OLIVE 🫒 | ||
| 1323 | U+1FAD3 FLATBREAD 🫓 | ||
| 1324 | U+1FAD4 TAMALE 🫔 | ||
| 1325 | U+1FAD5 FONDUE 🫕 | ||
| 1326 | U+1FAD6 TEAPOT ø¼Ÿ«– | ||
| diff --git a/.vim/vimrc b/.vim/vimrc new file mode 100644 index 0000000..a3ea897 --- /dev/null +++ b/.vim/vimrc | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | " All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by | ||
| 2 | " the call to :runtime you can find below. If you wish to change any of those | ||
| 3 | " settings, you should do it in this file (/etc/vim/vimrc), since debian.vim | ||
| 4 | " will be overwritten everytime an upgrade of the vim packages is performed. | ||
| 5 | " It is recommended to make changes after sourcing debian.vim since it alters | ||
| 6 | " the value of the 'compatible' option. | ||
| 7 | |||
| 8 | " This line should not be removed as it ensures that various options are | ||
| 9 | " properly set to work with the Vim-related packages available in Debian. | ||
| 10 | runtime! debian.vim | ||
| 11 | " Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc. | ||
| 12 | " This happens after /etc/vim/vimrc(.local) are loaded, so it will override | ||
| 13 | " any settings in these files. | ||
| 14 | " If you don't want that to happen, uncomment the below line to prevent | ||
| 15 | " defaults.vim from being loaded. | ||
| 16 | " let g:skip_defaults_vim = 1 | ||
| 17 | |||
| 18 | " Uncomment the next line to make Vim more Vi-compatible | ||
| 19 | " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous | ||
| 20 | " options, so any other options should be set AFTER setting 'compatible'. | ||
| 21 | "set compatible | ||
| 22 | |||
| 23 | " Vim5 and later versions support syntax highlighting. Uncommenting the next | ||
| 24 | " line enables syntax highlighting by default. | ||
| 25 | syntax on | ||
| 26 | |||
| 27 | " If using a dark background within the editing area and syntax highlighting | ||
| 28 | " turn on this option as well | ||
| 29 | set background=dark | ||
| 30 | |||
| 31 | " Uncomment the following to have Vim jump to the last position when | ||
| 32 | " reopening a file | ||
| 33 | "au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif | ||
| 34 | |||
| 35 | " Uncomment the following to have Vim load indentation rules and plugins | ||
| 36 | " according to the detected filetype. | ||
| 37 | filetype plugin indent on | ||
| 38 | |||
| 39 | " The following are commented out as they cause vim to behave a lot | ||
| 40 | " differently from regular Vi. They are highly recommended though. | ||
| 41 | let mapleader =" " " Map leader | ||
| 42 | set showcmd " Show (partial) command in status line. | ||
| 43 | set showmatch " Show matching brackets. | ||
| 44 | set ignorecase " Do case insensitive matching | ||
| 45 | set smartcase " Do smart case matching | ||
| 46 | set incsearch " Incremental search | ||
| 47 | set autowrite " Automatically save before commands like :next and :make | ||
| 48 | set hidden " Hide buffers when they are abandoned | ||
| 49 | set mouse=a " Enable mouse usage (all modes) | ||
| 50 | set number " Enable line numbers | ||
| 51 | set relativenumber " Enable line numbers to be displayed relative to current position | ||
| 52 | set tabstop=4 " Set default tab size to 4 spaces | ||
| 53 | set autoindent " Keep current tab depth on new line | ||
| 54 | colorscheme slate " Enable my custom colorscheme | ||
| 55 | |||
| 56 | " Document compilation | ||
| 57 | map <leader>c :!compile % <CR><CR> | ||
| 58 | " Document Preview | ||
| 59 | map <leader>p :!pdf-preview % <CR><CR> | ||
| 60 | " Spell Check | ||
| 61 | map <leader>s :setlocal spell! spelllang=en_us<CR> | ||
| 62 | " Disable auto comment continuation | ||
| 63 | autocmd filetype * set formatoptions-=cro | ||
| 64 | |||
| 65 | |||
| 66 | " C mappings | ||
| 67 | autocmd filetype c inoremap ;c /* */<Left><Left><Left> | ||
| 68 | autocmd filetype c inoremap ;p printf(" \n");<Esc>5hi | ||
| 69 | |||
| 70 | " Python mappings | ||
| 71 | autocmd filetype python noremap <C-m> i<Return><Return><Return>def main():<Return>pass<Return><Return><Return>if __name__ == '__main__':<Return>main()<Esc>gg | ||
| 72 | |||
| 73 | " Java 'IDE' remappings | ||
| 74 | autocmd filetype java inoremap [p System.out.println();<Left><Left> | ||
| 75 | autocmd filetype java noremap <C-m> ipublic class {<Return>public static void main(String[] args) {<Return><Return>}<Return>}<Esc>ggwwhhi | ||
| 76 | autocmd filetype java noremap <C-c> ipublic class {<Return><Return>}<Esc>ggwwhhi | ||
| 77 | |||
| 78 | " Groff Mappings | ||
| 79 | autocmd filetype nroff inoremap ;c .\" | ||
| 80 | autocmd filetype nroff inoremap ;b \*[BOLDER]'\*[BOLDERX] <Esc>F'cl | ||
| 81 | autocmd filetype nroff inoremap ;h .HEADING | ||
| 82 | |||
| 83 | " Restart sxhkd when config file is changed | ||
| 84 | autocmd BufWritePost *sxhkdrc !pkill -SIGUSR1 sxhkd | ||
| 85 | |||
| 86 | " Recompile and restart dwmblocks when file is changed | ||
| 87 | autocmd BufWritePost ~/.local/src/dwmblocks/blocks.h !cd ~/.local/src/dwmblocks/; sudo make install && pkill dwmblocks; setsid -f dwmblocks | ||
| 88 | |||
| 89 | " Recompile dwm when config.h is changed | ||
| 90 | autocmd BufWritePost ~/.local/src/dwm/config.h !cd ~/.local/src/dwm/; sudo make install | ||
| 91 | |||
| 92 | " Reload Xresources when saved | ||
| 93 | autocmd BufWritePost ~/.config/x11/xresources !xrdb ~/.config/x11/xresources | ||
| 94 | |||
| 95 | " Reload dunst after editing configuration file | ||
| 96 | autocmd BufWritePost ~/.config/dunst/dunstrc !pkill dunst; setsid -f dunst | ||
| 97 | |||
| 98 | "set completeopt =menuone,longest | ||
| 99 | |||
| 100 | " Source a global configuration file if available | ||
| 101 | if filereadable("/etc/vim/vimrc.local") | ||
| 102 | source /etc/vim/vimrc.local | ||
| 103 | endif | ||
| 104 | |||
| diff --git a/.zprofile b/.zprofile new file mode 120000 index 0000000..6928145 --- /dev/null +++ b/.zprofile | |||
| @@ -0,0 +1 @@ | |||
| .config/zsh/.zprofile \ No newline at end of file | |||
