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 | |||