0.1
This commit is contained in:
commit
d03bb9f39b
|
@ -0,0 +1,11 @@
|
|||
Copyright 2022 Bob Slacker
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -0,0 +1,79 @@
|
|||
# My dotfiles!
|
||||
System and user configuration files backup.
|
||||
|
||||
[![OpenBaSeD](img/based.png)](img/based.png)
|
||||
|
||||
# Dependencies for the Puffy theme outside of this repo:
|
||||
- [Radioactive pointer theme](https://github.com/alvatip/radioactive)
|
||||
- [Hercules/oomox-baloon icon theme](https://www.gnome-look.org/p/1627603/)
|
||||
|
||||
# Installed packages:
|
||||
- ImageMagick
|
||||
- astrolog
|
||||
- automake%1.15
|
||||
- boost
|
||||
- chromium
|
||||
- cmake
|
||||
- consolekit2
|
||||
- coreutils
|
||||
- deluge
|
||||
- doxygen
|
||||
- dunst
|
||||
- emacsno_x11%emacs
|
||||
- exa
|
||||
- feh
|
||||
- ffmpeg
|
||||
- firefox
|
||||
- gimp
|
||||
- git
|
||||
- gmake
|
||||
- graphviz
|
||||
- hexchat
|
||||
- homebank
|
||||
- hugoextended
|
||||
- jpeg
|
||||
- keepassxcbrowser
|
||||
- kristall
|
||||
- lemonbar
|
||||
- lfm
|
||||
- libiconv
|
||||
- libreoffice
|
||||
- lsw
|
||||
- lxappearance
|
||||
- lynis
|
||||
- meld
|
||||
- moc
|
||||
- most
|
||||
- mpv
|
||||
- nano
|
||||
- ncdu
|
||||
- neofetch
|
||||
- pcmanfm
|
||||
- picom
|
||||
- pkglocatedb
|
||||
- portslist
|
||||
- qbittorrent
|
||||
- qt5ct
|
||||
- quirks
|
||||
- scrot
|
||||
- shotcut
|
||||
- speedtest-cli
|
||||
- sshfs-fuse
|
||||
- stow
|
||||
- supertux
|
||||
- sysclean
|
||||
- tdesktop
|
||||
- terminator
|
||||
- tor-browser
|
||||
- transset-df
|
||||
- typespeed
|
||||
- w3mimage
|
||||
- wget
|
||||
- wtf
|
||||
- xarchiver
|
||||
- xclip
|
||||
- xdg-user-dirs
|
||||
- xdotool
|
||||
- xpdf
|
||||
- youtube-dl
|
||||
- zeromq
|
|
@ -0,0 +1,180 @@
|
|||
# Defaults
|
||||
|
||||
sticky yes
|
||||
snapdist 4
|
||||
gap 27 0 0 0
|
||||
moveamount 3
|
||||
vtile 50
|
||||
|
||||
# set font for menus
|
||||
fontname "fixed:pixelsize=13:style=semicondensed"
|
||||
|
||||
# remove all default keybindings
|
||||
unbind-key all
|
||||
|
||||
# Layout
|
||||
borderwidth 1
|
||||
color activeborder yellow
|
||||
color inactiveborder orange
|
||||
color urgencyborder red
|
||||
color font yellow
|
||||
color menubg black
|
||||
color menufg yellow
|
||||
|
||||
# KEYBINDINGS:
|
||||
# 4 = mod (windows key)
|
||||
# S = shift
|
||||
# C = control
|
||||
# M = meta (alt)
|
||||
|
||||
# mod + enter = new terminal
|
||||
bind-key 4-Return "terminator --geometry 480x325"
|
||||
#bind-key 4-Return "/home/b2r1s8/.local/bin/term"
|
||||
|
||||
# mod + b = browser
|
||||
bind-key 4-b firefox
|
||||
# mod+ E = Emacs
|
||||
bind-key 4-e "emacs"
|
||||
# ctrl + alt + L = lock screen (xlock)
|
||||
bind-key CM-l lock
|
||||
# mod + backspace = hide window
|
||||
bind-key 4-BackSpace window-hide
|
||||
# mod + prtsc = screenshot
|
||||
bind-key 4-Print /home/b2r1s8/.local/bin/printscreen
|
||||
# mod + M = mocp
|
||||
bind-key 4-m /home/b2r1s8/.local/bin/mpm
|
||||
|
||||
## mocp binds
|
||||
# Toggle play and pause
|
||||
bind-key 4-p "mocp -G"
|
||||
# Toggle shuffle
|
||||
bind-key 4S-p "mocp -t s"
|
||||
# Toggle auto next
|
||||
bind-key 4M-p "mocp -t n"
|
||||
# Toggle repeat
|
||||
bind-key 4SM-p "mocp -t r"
|
||||
|
||||
# mod + down arrow = lower window's focus
|
||||
bind-key 4-Down window-lower
|
||||
# mod + up arrow = raise window's focus
|
||||
bind-key 4-Up window-raise
|
||||
# mod/alt + tab = cycle through current windows
|
||||
bind-key 4-Tab window-cycle
|
||||
bind-key M-Tab window-cycle
|
||||
# mod/alt + shift + tab = same thing in reverse
|
||||
bind-key 4S-Tab window-rcycle
|
||||
bind-key MS-Tab window-rcycle
|
||||
# mod + w = kill window
|
||||
bind-key 4-w window-delete
|
||||
# set a window's label
|
||||
bind-key 4-n window-menu-label
|
||||
|
||||
# mod + $N = show only windows for group $N
|
||||
# (you can think of this as switching to virtual desktop $N)
|
||||
bind-key 4-1 group-only-1
|
||||
bind-key 4-2 group-only-2
|
||||
bind-key 4-3 group-only-3
|
||||
bind-key 4-4 group-only-4
|
||||
bind-key 4-5 group-only-5
|
||||
bind-key 4-6 group-only-6
|
||||
bind-key 4-7 group-only-7
|
||||
bind-key 4-8 group-only-8
|
||||
bind-key 4-9 group-only-9
|
||||
|
||||
# mod + shift +$N = move window to group $N
|
||||
bind-key 4S-1 window-movetogroup-1
|
||||
bind-key 4S-2 window-movetogroup-2
|
||||
bind-key 4S-3 window-movetogroup-3
|
||||
bind-key 4S-4 window-movetogroup-4
|
||||
bind-key 4S-5 window-movetogroup-5
|
||||
bind-key 4S-6 window-movetogroup-6
|
||||
bind-key 4S-7 window-movetogroup-7
|
||||
bind-key 4S-8 window-movetogroup-8
|
||||
bind-key 4S-9 window-movetogroup-9
|
||||
|
||||
# mod + A = toggle showing windows from all groups
|
||||
bind-key 4-a group-toggle-all
|
||||
# mod + G = toggle current window's group membership
|
||||
bind-key 4-g window-group
|
||||
|
||||
# mod + right arrow = cycle through the window groups
|
||||
# (you can think of this as switching to the next virtual desktop)
|
||||
bind-key 4-Right group-cycle
|
||||
# mod + left arrow = same thing in reverse
|
||||
bind-key 4-Left group-rcycle
|
||||
# mod + S = stick current window to be visible in all groups
|
||||
bind-key 4-s window-stick
|
||||
|
||||
# mod + shift + F = make current window fullscreen
|
||||
bind-key 4S-f window-fullscreen
|
||||
# mod + f = maximize current window
|
||||
bind-key 4-f window-maximize
|
||||
# mod + equals = maximize window in vertical direction only
|
||||
bind-key 4-equal window-vmaximize
|
||||
# mod + shift + equals = maximize window in horizontal direction only
|
||||
bind-key 4S-equal window-hmaximize
|
||||
|
||||
# mod + H,J,K,L = move window left, down, up, right 10 pixels
|
||||
bind-key 4-h window-move-left
|
||||
bind-key 4-j window-move-down
|
||||
bind-key 4-k window-move-up
|
||||
bind-key 4-l window-move-right
|
||||
|
||||
# mod + shift + H,J,K,L = resize window left, down, up, right by 10 pixels
|
||||
bind-key 4S-h window-resize-left
|
||||
bind-key 4S-j window-resize-down
|
||||
bind-key 4S-k window-resize-up
|
||||
bind-key 4S-l window-resize-right
|
||||
|
||||
# mod + V = tile windows vertically, current window to the left
|
||||
bind-key 4-v window-vtile
|
||||
# mod + C = tile windows horizontally, current window to the top
|
||||
bind-key 4-c window-htile
|
||||
|
||||
# mod + / = show popup menu of current windows
|
||||
bind-key 4-slash menu-window
|
||||
# mod + ? = show popup menu to run a command (configured below)
|
||||
bind-key 4-question menu-cmd
|
||||
# mod + d = show popup menu to run an arbitrary command
|
||||
bind-key 4-d menu-exec
|
||||
# mod + . = show popup menu of known ssh hosts to connect to
|
||||
bind-key 4-period menu-ssh
|
||||
|
||||
# mod + shift + R = restart cwm, reloading configuration
|
||||
bind-key 4S-r restart
|
||||
# mod + shift + E = log out
|
||||
bind-key 4S-e quit
|
||||
|
||||
# unbind default mouse actions
|
||||
unbind-mouse M-1
|
||||
unbind-mouse CM-1
|
||||
unbind-mouse M-2
|
||||
unbind-mouse M-3
|
||||
unbind-mouse CMS-3
|
||||
|
||||
# mod + left click drag = move window
|
||||
bind-mouse 4-1 window-move
|
||||
# mod + right click drag = resize window
|
||||
bind-mouse 4-3 window-resize
|
||||
# mod + middle click = lower window's focus
|
||||
bind-mouse 4-2 window-lower
|
||||
# mod + shift + middle click = hide window
|
||||
bind-mouse 4S-2 window-hide
|
||||
|
||||
# these commands will appear in the command menu
|
||||
command "Terminal" urxvtc
|
||||
command Browser "firefox"
|
||||
command xclock "xclock -d -update 1 -render"
|
||||
command xcalc xcalc
|
||||
|
||||
# ignore these windows when tiling/cycling
|
||||
ignore xclock
|
||||
autogroup 0 xclock
|
||||
ignore lemonbar
|
||||
autogroup 0 lemonbar
|
||||
ignore termbar
|
||||
autogroup 0 termbar
|
||||
ignore dunst
|
||||
autogroup 0 dunst
|
||||
ignore xmessage
|
||||
autogroup 0 xmessage
|
|
@ -0,0 +1,436 @@
|
|||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = none
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = (0, 300)
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 300
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = center
|
||||
|
||||
# Offset from the origin
|
||||
offset = 10x50
|
||||
|
||||
# Scale factor. It is auto-detected if value is 0.
|
||||
scale = 0
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||
# for example dunstify -h int:value:12
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 150
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||
transparency = 20
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#aaaaaa"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
# idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Monospace 8
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = center
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||
# max_icon_size takes precedence over this.
|
||||
min_icon_size = 0
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/local/share/icons/gnome/16x16/status/:/usr/local/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/local/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/local/bin/xdg-open
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||
# ones, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
# * context: Open context menu for the notification.
|
||||
# * context_all: Open context menu for all notifications.
|
||||
# These values can be strung together for each mouse event, and
|
||||
# will be executed in sequence.
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#222222"
|
||||
foreground = "#00ff00"
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#000000"
|
||||
foreground = "#aaaaaa"
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
background = "#900000"
|
||||
foreground = "#ffffff"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 0
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# skip_display = true
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
|
@ -0,0 +1,11 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=104
|
||||
GeometryY=95
|
||||
GeometryWidth=948
|
||||
GeometryHeight=654
|
||||
SortColumn=name
|
||||
SortOrder=ascending
|
||||
StartupMode=recent
|
|
@ -0,0 +1,8 @@
|
|||
file:///home/b2r1s8/Documents Documents
|
||||
file:///home/b2r1s8/Downloads Downloads
|
||||
file:///home/b2r1s8/Music Music
|
||||
file:///home/b2r1s8/Pictures Pictures
|
||||
file:///home/b2r1s8/Public Public
|
||||
file:///home/b2r1s8/Templates Templates
|
||||
file:///home/b2r1s8/tmp tmp
|
||||
file:///home/b2r1s8/usb usb
|
|
@ -0,0 +1,16 @@
|
|||
[Settings]
|
||||
gtk-theme-name=Flat-Remix-GTK-Yellow-Darkest
|
||||
gtk-icon-theme-name=hercules
|
||||
gtk-font-name=Hack Nerd Font 8
|
||||
gtk-cursor-theme-name=Radioactive
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=0
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
|
@ -0,0 +1,99 @@
|
|||
# interpreter for shell commands
|
||||
set shell ksh
|
||||
|
||||
# set '-eu' options for shell commands
|
||||
# These options are used to have safer shell commands. Option '-e' is used to
|
||||
# exit on error and option '-u' is used to give error for unset variables.
|
||||
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||
# $fx variables contain names with '*' or '?' characters. However, this option
|
||||
# is used selectively within individual commands as it can be limiting at
|
||||
# times.
|
||||
set shellopts '-eu'
|
||||
|
||||
# set internal field separator (IFS) to "\n" for shell commands
|
||||
# This is useful to automatically split file names in $fs and $fx properly
|
||||
# since default file separator used in these variables (i.e. 'filesep' option)
|
||||
# is newline. You need to consider the values of these options and create your
|
||||
# commands accordingly.
|
||||
set ifs "\n"
|
||||
|
||||
# leave some space at the top and the bottom of the screen
|
||||
set scrolloff 10
|
||||
|
||||
# use enter for shell commands
|
||||
map <enter> shell
|
||||
|
||||
# execute current file (must be executable)
|
||||
map x $$f
|
||||
map X !$f
|
||||
|
||||
# dedicated keys for file opener actions
|
||||
map o &mimeopen $f
|
||||
map O $mimeopen --ask $f
|
||||
|
||||
# define a custom 'open' command
|
||||
# This command is called when current file is not a directory. You may want to
|
||||
# use either file extensions and/or mime types here. Below uses an editor for
|
||||
# text files and a file opener for the rest.
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
text/*) $EDITOR $fx;;
|
||||
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# define a custom 'rename' command without prompt for overwrite
|
||||
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||
# map r push :rename<space>
|
||||
|
||||
# make sure trash folder exists
|
||||
# %mkdir -p ~/.trash
|
||||
|
||||
# move current file or selected files to trash folder
|
||||
# (also see 'man mv' for backup/overwrite options)
|
||||
cmd trash %set -f; mv $fx ~/.trash
|
||||
|
||||
# define a custom 'delete' command
|
||||
# cmd delete ${{
|
||||
# set -f
|
||||
# printf "$fx\n"
|
||||
# printf "delete?[y/n]"
|
||||
# read ans
|
||||
# [ $ans = "y" ] && rm -rf $fx
|
||||
# }}
|
||||
|
||||
# use '<delete>' key for either 'trash' or 'delete' command
|
||||
# map <delete> trash
|
||||
# map <delete> delete
|
||||
|
||||
# extract the current file with the right command
|
||||
# (xkcd link: https://xkcd.com/1168/)
|
||||
cmd extract ${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) xzcat $f | tar xvf -;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# compress current file or selected files with tar and gunzip
|
||||
cmd tar ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
# compress current file or selected files with zip
|
||||
cmd zip ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}
|
|
@ -0,0 +1,142 @@
|
|||
############################## LFM dump keys ##############################
|
||||
|
||||
#################### Key -> Action ####################
|
||||
! -> tab_close
|
||||
# -> show_dirs_size
|
||||
* -> select_invert
|
||||
+ -> select_glob
|
||||
, -> panes_swap
|
||||
- -> deselect_glob
|
||||
. -> panes_cycle_view
|
||||
/ -> find_grep
|
||||
: -> tab_new
|
||||
< -> tab_left
|
||||
= -> pane_other_tab_equal
|
||||
> -> tab_right
|
||||
@ -> exec_on_file
|
||||
A-r -> redraw_screen
|
||||
A-s -> cursor_goto_file_1char
|
||||
B -> bookmark_set
|
||||
C-a -> cursor_home
|
||||
C-d -> bookmark_select_fromlist
|
||||
C-down -> cursor_down10
|
||||
C-e -> cursor_end
|
||||
C-f -> filters_edit
|
||||
C-h -> dotfiles_toggle
|
||||
C-n -> cursor_pagedown
|
||||
C-o -> open_shell
|
||||
C-p -> cursor_pageup
|
||||
C-q -> quit_nochdir
|
||||
C-r -> refresh
|
||||
C-s -> cursor_goto_file
|
||||
C-t -> show_tree
|
||||
C-u -> panes_swap
|
||||
C-up -> cursor_up10
|
||||
C-x -> toggle_powercli
|
||||
C-y -> history_select_fromlist
|
||||
L -> link_edit
|
||||
b -> bookmark_goto
|
||||
backspace -> cursor_pageup
|
||||
down -> cursor_down
|
||||
end -> cursor_end
|
||||
enter -> dir_enter
|
||||
f10 -> quit_chdir
|
||||
f12 -> file_menu
|
||||
f2 -> rename_file
|
||||
f3 -> view_file
|
||||
f4 -> edit_file
|
||||
f5 -> copy_file
|
||||
f6 -> move_file2
|
||||
f7 -> make_dir
|
||||
f8 -> delete_file
|
||||
f9 -> main_menu
|
||||
g -> goto
|
||||
h -> help_menu
|
||||
home -> cursor_home
|
||||
i -> show_file_info
|
||||
ins -> select
|
||||
j -> cursor_down
|
||||
k -> cursor_up
|
||||
l -> link_create
|
||||
left -> dir_up
|
||||
pagedown -> cursor_pagedown
|
||||
pageup -> cursor_pageup
|
||||
q -> quit_chdir
|
||||
right -> dir_enter
|
||||
s -> sort_files
|
||||
spc -> cursor_pagedown
|
||||
t -> touch_file
|
||||
tab -> pane_change_focus
|
||||
up -> cursor_up
|
||||
|
||||
#################### Action -> Key ####################
|
||||
bookmark_goto -> b
|
||||
bookmark_select_fromlist -> C-d
|
||||
bookmark_set -> B
|
||||
copy_file -> f5
|
||||
cursor_down -> down, j
|
||||
cursor_down10 -> C-down
|
||||
cursor_end -> C-e, end
|
||||
cursor_goto_file -> C-s
|
||||
cursor_goto_file_1char -> A-s
|
||||
cursor_home -> C-a, home
|
||||
cursor_pagedown -> C-n, pagedown, spc
|
||||
cursor_pageup -> C-p, backspace, pageup
|
||||
cursor_up -> k, up
|
||||
cursor_up10 -> C-up
|
||||
delete_file -> f8
|
||||
deselect_glob -> -
|
||||
dir_enter -> enter, right
|
||||
dir_up -> left
|
||||
dotfiles_toggle -> C-h
|
||||
edit_file -> f4
|
||||
exec_on_file -> @
|
||||
file_menu -> f12
|
||||
filters_edit -> C-f
|
||||
find_grep -> /
|
||||
goto -> g
|
||||
help_menu -> h
|
||||
history_select_fromlist -> C-y
|
||||
link_create -> l
|
||||
link_edit -> L
|
||||
main_menu -> f9
|
||||
make_dir -> f7
|
||||
move_file2 -> f6
|
||||
open_shell -> C-o
|
||||
pane_change_focus -> tab
|
||||
pane_other_tab_equal -> =
|
||||
panes_cycle_view -> .
|
||||
panes_swap -> ,, C-u
|
||||
quit_chdir -> f10, q
|
||||
quit_nochdir -> C-q
|
||||
redraw_screen -> A-r
|
||||
refresh -> C-r
|
||||
rename_file -> f2
|
||||
select -> ins
|
||||
select_glob -> +
|
||||
select_invert -> *
|
||||
show_dirs_size -> #
|
||||
show_file_info -> i
|
||||
show_tree -> C-t
|
||||
sort_files -> s
|
||||
tab_close -> !
|
||||
tab_left -> <
|
||||
tab_new -> :
|
||||
tab_right -> >
|
||||
toggle_powercli -> C-x
|
||||
touch_file -> t
|
||||
view_file -> f3
|
||||
|
||||
Actions with no keys:
|
||||
. backup_file
|
||||
. change_owner
|
||||
. change_perms
|
||||
. compress_dir
|
||||
. compress_uncompress_file
|
||||
. diff_file_with_backup
|
||||
. move_file
|
||||
. show_filesystems_info
|
||||
. uncompress_dir
|
||||
. uncompress_dir_other_pane
|
||||
|
||||
######################################################################
|
Binary file not shown.
|
@ -0,0 +1,106 @@
|
|||
########## lfm - Last File Manager Configuration File v3.x ##########
|
||||
|
||||
[Options]
|
||||
# automatic_file_encoding_conversion: never = -1, ask = 0, always = 1
|
||||
# sort_type: SortType.none, SortType.byName, SortType.byExt, SortType.byPath, SortType.bySize, SortType.byMTime
|
||||
automatic_file_encoding_conversion: 0
|
||||
detach_terminal_at_exec: 1
|
||||
find_ignorecase: 0
|
||||
grep_ignorecase: 1
|
||||
grep_regex: 1
|
||||
rebuild_vfs: 0
|
||||
save_configuration_at_exit: 1
|
||||
save_history_at_exit: 1
|
||||
show_dotfiles: 1
|
||||
show_output_after_exec: 1
|
||||
sort_mix_cases: 1
|
||||
sort_mix_dirs: 0
|
||||
sort_reverse: 0
|
||||
sort_type: SortType.byName
|
||||
use_wide_chars: 0
|
||||
|
||||
[Confirmations]
|
||||
ask_rebuild_vfs: 1
|
||||
delete: 1
|
||||
overwrite: 1
|
||||
quit: 1
|
||||
|
||||
[Misc]
|
||||
# diff_type: context, unified, ndiff
|
||||
backup_extension: .bak
|
||||
diff_type: unified
|
||||
|
||||
[Programs]
|
||||
audio: fmus
|
||||
ebook: FBReader
|
||||
editor: nano
|
||||
graphics: img
|
||||
pager: most
|
||||
pdf: rpdf
|
||||
shell: ksh
|
||||
video: mpv
|
||||
web: firefox
|
||||
|
||||
[Files]
|
||||
archive: 7z, arc, arj, ark, bz2, cab, deb, gz, lha, lz, lz4, lzh, rar, rpm, tar, tbz2, tgz, tlz, tlz4, txz, xz, z, zip, zoo
|
||||
audio: au, flac, mid, midi, mp2, mp3, mpg, ogg, wma, xm
|
||||
data: cdx, dat, db, dbf, dbi, dbx, dta, fox, mdb, mdn, mdx, msql, mssql, nc, pgsql, sql, sqlite, ssql
|
||||
devel: ada, asm, awk, bash, c, caml, cc, cgi, cpp, css, diff, el, f, f90, glade, h, hh, hpp, hs, inc, jasm, jav, java, js, lua, m, m4, mak, ml, mli, mll, mlp, mly, pas, pas, patch, php, phps, pl, pm, pov, prg, py, pyw, rb, sh, sl, st, tcl, tk, ui, vala
|
||||
document: 1, abw, bib, djvu, doc, docx, dtd, dvi, gnumeric, ics, info, letter, lsm, mail, man, msg, odc, odp, odt, po, pps, ppt, pptx, rtf, sdc, sdp, sdw, sgml, sxc, sxp, sxw, tex, text, txt, vcard, vcs, xls, xlsx, xml, xsd, xslt
|
||||
ebook: azw, azw3, chm, epub, fb2, imp, lit, mobi, prc
|
||||
graphics: ai, bmp, cdr, dia, dwb, dwg, dxf, eps, gif, ico, jpeg, jpg, omf, pcx, pic, png, rle, svg, tif, tiff, wmf, xbm, xcf, xpm
|
||||
pdf: pdf, ps
|
||||
temp: $$$, bak, tmp, ~
|
||||
video: acc, asf, avi, flv, med, mkv, mol, mov, mp4, mpeg, mpg, mpl, ogv, ogv, swf, wmv
|
||||
web: htm, html, shtml
|
||||
|
||||
[Bookmarks]
|
||||
0: /
|
||||
1: /
|
||||
2: /
|
||||
3: /
|
||||
4: /
|
||||
5: /
|
||||
6: /
|
||||
7: /
|
||||
8: /
|
||||
9: /
|
||||
a: /
|
||||
b: /
|
||||
c: /
|
||||
d: /
|
||||
e: /
|
||||
f: /
|
||||
g: /
|
||||
h: /
|
||||
i: /
|
||||
j: /
|
||||
k: /
|
||||
l: /
|
||||
m: /
|
||||
n: /
|
||||
o: /
|
||||
p: /
|
||||
q: /
|
||||
r: /
|
||||
s: /
|
||||
t: /
|
||||
u: /
|
||||
v: /
|
||||
w: /
|
||||
x: /
|
||||
y: /
|
||||
z: /
|
||||
|
||||
[PowerCLI Favs]
|
||||
0: mv "$f" "{$f.replace('', '')}"
|
||||
1: less "$f" $
|
||||
2: find "$p" -name "*" -print0 | xargs --null -0 grep -EHcni "TODO|WARNING|FIXME|BUG"
|
||||
3: find "$p" -name "*" -print0 | xargs --null -0 grep -EHcni "TODO|WARNING|FIXME|BUG" >output.txt &
|
||||
4: cp $s "$o"
|
||||
5:
|
||||
6:
|
||||
7:
|
||||
8:
|
||||
9:
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
########## lfm - Last File Manager - Keys ##########
|
||||
|
||||
[Main]
|
||||
# cursor movement
|
||||
cursor_up: up k
|
||||
cursor_down: down j
|
||||
cursor_pageup: pageup backspace C-p
|
||||
cursor_pagedown: pagedown spc C-n
|
||||
cursor_up10: C-up
|
||||
cursor_down10: C-down
|
||||
cursor_home: home C-a
|
||||
cursor_end: end C-e
|
||||
cursor_goto_file: C-s
|
||||
cursor_goto_file_1char: A-s
|
||||
|
||||
# change dir
|
||||
dir_up: left
|
||||
dir_enter: right enter
|
||||
goto: g
|
||||
bookmark_goto: b
|
||||
bookmark_set: B
|
||||
bookmark_select_fromlist: C-d
|
||||
history_select_fromlist: C-y
|
||||
|
||||
# pane & tabs
|
||||
pane_change_focus: tab
|
||||
pane_other_tab_equal: =
|
||||
panes_swap: C-u ,
|
||||
panes_cycle_view: .
|
||||
refresh: C-r
|
||||
redraw_screen: A-r
|
||||
dotfiles_toggle: C-h
|
||||
filters_edit: C-f
|
||||
sort_files: s
|
||||
show_dirs_size: #
|
||||
tab_new: :
|
||||
tab_close: !
|
||||
tab_left: <
|
||||
tab_right: >
|
||||
|
||||
# selection
|
||||
select: ins
|
||||
select_glob: +
|
||||
deselect_glob: -
|
||||
select_invert: *
|
||||
|
||||
# files
|
||||
rename_file: F2
|
||||
view_file: F3
|
||||
edit_file: F4
|
||||
copy_file: F5
|
||||
move_file2: F6
|
||||
make_dir: F7
|
||||
delete_file: F8
|
||||
exec_on_file: @
|
||||
touch_file: t
|
||||
link_create: l
|
||||
link_edit: L
|
||||
show_file_info: i
|
||||
|
||||
# general
|
||||
find_grep: /
|
||||
show_tree: C-t
|
||||
main_menu: F9
|
||||
file_menu: F12
|
||||
help_menu: h
|
||||
open_shell: C-o
|
||||
toggle_powercli: C-x
|
||||
quit_chdir: q F10
|
||||
quit_nochdir: C-q
|
|
@ -0,0 +1,15 @@
|
|||
2022-07-09 05:50:00 root( lfm: 102) I Start lfm
|
||||
2022-07-09 05:50:00 lfm( ui: 709) I Support wide chars: False
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item diff_file_with_backup
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item compress_uncompress_file
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item backup_file
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item show_filesystems_info
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item compress_dir
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item uncompress_dir
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item uncompress_dir_other_pane
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item change_owner
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item change_perms
|
||||
2022-07-09 05:50:00 lfm( preferences: 318) W KEYS: Missing Action item move_file
|
||||
2022-07-09 05:50:00 lfm( preferences: 387) I Load history file from "/home/b2r1s8/.config/lfm/lfm.history"
|
||||
2022-07-09 05:50:11 lfm( preferences: 392) I Save history file to "/home/b2r1s8/.config/lfm/lfm.history"
|
||||
2022-07-09 05:50:11 root( lfm: 118) I End lfm, returns: "/home/b2r1s8"
|
|
@ -0,0 +1,57 @@
|
|||
########## lfm - Last File Manager - Theme ##########
|
||||
|
||||
# Format is: item: foreground background
|
||||
# or: item: =previous_item
|
||||
# Valid colors: white, black, red, green, white, blue, magenta, cyan
|
||||
# Can use * to intensify a foreground color
|
||||
|
||||
|
||||
[Colors]
|
||||
header: white* black
|
||||
tab_active: white* black
|
||||
tab_inactive: white black
|
||||
pane_active: white* black
|
||||
pane_inactive: white black
|
||||
pane_header_path: white* black
|
||||
pane_header_titles: white* black
|
||||
statusbar: =header
|
||||
powercli_prompt: white* black
|
||||
powercli_text: white black
|
||||
|
||||
selected_files: white black
|
||||
cursor: black white
|
||||
cursor_selected: white* black
|
||||
|
||||
files_dir: white* black
|
||||
files_exe: red black
|
||||
files_reg: white black
|
||||
files_archive: green black
|
||||
files_audio: blue black
|
||||
files_data: magenta* black
|
||||
files_devel: cyan black
|
||||
files_document: blue black
|
||||
files_ebook: =files_document
|
||||
files_graphics: magenta black
|
||||
files_pdf: =files_document
|
||||
files_temp: white black
|
||||
files_web: =files_document
|
||||
files_video: =files_audio
|
||||
|
||||
dialog: white* black
|
||||
dialog_title: white* black
|
||||
button_active: white* red
|
||||
button_inactive: =dialog_title
|
||||
dialog_error: black red
|
||||
dialog_error_title: white red
|
||||
dialog_error_text: white* red
|
||||
dialog_perms: green* black
|
||||
selectitem: white black
|
||||
selectitem_title: white* black
|
||||
selectitem_cursor: white* black
|
||||
entryline: white* cyan
|
||||
progressbar_fg: black white
|
||||
progressbar_bg: white cyan
|
||||
view_white_on_black: white black
|
||||
view_red_on_black: red black
|
||||
view_blue_on_black: blue black
|
||||
view_green_on_black: green black
|
|
@ -0,0 +1,50 @@
|
|||
set atblanks
|
||||
set autoindent
|
||||
set backup
|
||||
set backupdir /home/b2r1s8/.config/nano/backup
|
||||
set boldtext
|
||||
set constantshow
|
||||
set emptyline
|
||||
set guidestripe 81
|
||||
set indicator
|
||||
set linenumbers
|
||||
set matchbrackets "(<[{)>]}"
|
||||
#set minibar
|
||||
set multibuffer
|
||||
set nohelp
|
||||
set tabsize 8
|
||||
set tabstospaces
|
||||
include /usr/local/share/nano/sh.nanorc
|
||||
include /usr/local/share/nano/autoconf.nanorc
|
||||
include /usr/local/share/nano/awk.nanorc
|
||||
include /usr/local/share/nano/c.nanorc
|
||||
include /usr/local/share/nano/changelog.nanorc
|
||||
include /usr/local/share/nano/cmake.nanorc
|
||||
include /usr/local/share/nano/css.nanorc
|
||||
include /usr/local/share/nano/default.nanorc
|
||||
include /usr/local/share/nano/elisp.nanorc
|
||||
include /usr/local/share/nano/email.nanorc
|
||||
include /usr/local/share/nano/go.nanorc
|
||||
include /usr/local/share/nano/groff.nanorc
|
||||
include /usr/local/share/nano/guile.nanorc
|
||||
include /usr/local/share/nano/html.nanorc
|
||||
include /usr/local/share/nano/json.nanorc
|
||||
include /usr/local/share/nano/lua.nanorc
|
||||
include /usr/local/share/nano/makefile.nanorc
|
||||
include /usr/local/share/nano/man.nanorc
|
||||
include /usr/local/share/nano/markdown.nanorc
|
||||
include /usr/local/share/nano/nanohelp.nanorc
|
||||
include /usr/local/share/nano/nanorc.nanorc
|
||||
include /usr/local/share/nano/objc.nanorc
|
||||
include /usr/local/share/nano/patch.nanorc
|
||||
include /usr/local/share/nano/perl.nanorc
|
||||
include /usr/local/share/nano/php.nanorc
|
||||
include /usr/local/share/nano/python.nanorc
|
||||
include /usr/local/share/nano/ruby.nanorc
|
||||
include /usr/local/share/nano/rust.nanorc
|
||||
include /usr/local/share/nano/sql.nanorc
|
||||
include /usr/local/share/nano/tcl.nanorc
|
||||
include /usr/local/share/nano/tex.nanorc
|
||||
include /usr/local/share/nano/texinfo.nanorc
|
||||
include /usr/local/share/nano/xml.nanorc
|
||||
include /usr/local/share/nano/yaml.nanorc
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
vol="$(sndioctl -n output.level)"
|
||||
|
||||
echo "♬: $(echo "scale=0; $vol * 100" | bc | awk -F'[.=]' '{print $1}')%"
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
|
||||
xidle -timeout 600 &
|
||||
tint2 &
|
||||
picom -b &
|
||||
/home/b2r1s8/.fehbg &
|
||||
xset dpms 0 0 0 &
|
||||
xset s off -dpms &
|
||||
xset s 0 0 &
|
||||
xset s noblank &
|
||||
xset s noexpose &
|
||||
uxrvtd
|
||||
setxkbmap -model thinkpad60 -layout br &
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
FULL="$(sysctl -n hw.sensors.acpibat0.watthour0 | awk '{print $1}')"
|
||||
|
||||
REAL="$(sysctl -n hw.sensors.acpibat0.watthour3 | awk '{print $1}')"
|
||||
|
||||
PERCENT="$(echo "scale=2; ${REAL} / ${FULL} * 100" | bc | awk -F '.' '{print $1}')"
|
||||
|
||||
STATE="$(sysctl -n hw.sensors.acpibat0.raw0 | awk '{print $3}' | sed s/\)\,//)"
|
||||
|
||||
printf '%s' "${STATE}: ${PERCENT}%"
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
conf_loc="/etc"
|
||||
bkp_loc="/home/b2r1s8/bkp"
|
||||
|
||||
bkp_sys(){
|
||||
|
||||
pkg_info -zm | sed 's/--//g' > "${bkp_loc}"/pkg_list.txt
|
||||
cp -vf "${conf_loc}"/doas.conf "${bkp_loc}"/etc/.
|
||||
cp -vf "${conf_loc}"/fstab "${bkp_loc}"/etc/.
|
||||
cp -vf "${conf_loc}"/login.conf "${bkp_loc}"/etc/.
|
||||
cp -vf "${conf_loc}"/rc.conf.local "${bkp_loc}"/etc/.
|
||||
cp -vf "${conf_loc}"/sysctl.conf "${bkp_loc}"/etc/.
|
||||
cp -vr "${conf_loc}"/mk.conf "${bkp_loc}"/etc/.
|
||||
cp -vrf "${conf_loc}"/apm "${bkp_loc}"/etc/.
|
||||
cp -vrf "${conf_loc}"/X11 "${bkp_loc}"/etc/.
|
||||
cp -vrf /usr/local/share/wallpapers/* "${bkp_loc}"/usr/local/share/wallpapers/.
|
||||
|
||||
}
|
||||
|
||||
bkp_home() {
|
||||
|
||||
rm -rf "${bkp_loc}"/dotfiles
|
||||
cp -rvf $HOME/.dotfiles "${bkp_loc}"/dotfiles
|
||||
}
|
||||
|
||||
bkp_sys && bkp_home && echo "Done!" && exit 0
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/ksh
|
||||
|
||||
_date=`date "+%Y-%m-%d"`
|
||||
_conf_loc="/etc"
|
||||
_bkp_loc="$HOME/.bkp"
|
||||
_disk_dest="$HOME/usb/backup"
|
||||
_bkp_dest="$_disk_dest/$_date"
|
||||
_key_file="/root/b2bkp.key"
|
||||
_disk_crypt="8a3789735e648edd"
|
||||
_bkp_disk="b4aa1e6f2f16d559"
|
||||
|
||||
mkdir "${_bkp_dest}"
|
||||
|
||||
#function bkp_mount{
|
||||
|
||||
# doas bioctl -c C -l "${_disk_crypt}".a -p "${_key_file}" softraid0
|
||||
# doas mount "${_bkp_disk}" "${_disk_dest}"
|
||||
|
||||
|
||||
#}
|
||||
|
||||
bkp_files(){
|
||||
|
||||
set -- bkp Desktop Documents Music Pictures Templates Videos tmp
|
||||
|
||||
cd "$_bkp_dest"
|
||||
for d in "$@"; do
|
||||
echo "Copiando $HOME/$d para $_bkp_dest/$d.tar.bz2"
|
||||
tar -chjpf "$d".tar.bz2 "$HOME"/"$d"
|
||||
done
|
||||
cd
|
||||
|
||||
}
|
||||
|
||||
#function bkp_umount{
|
||||
|
||||
# doas umount "$_disk_dest}"
|
||||
|
||||
#}
|
||||
|
||||
#bkp_mount && bkp_home && echo "Done!" && bkp_umount && exit 0
|
||||
|
||||
bkp_files && echo "Done!" && exit 0
|
|
@ -0,0 +1,48 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
_vid="$(sysctl -n kern.video.record)"
|
||||
|
||||
if [ "$_vid" = "0" ]; then
|
||||
doas sysctl kern.video.record=1
|
||||
echo "Allow video record on!"
|
||||
elif [ "$_vid" = "1" ]; then
|
||||
echo "Allow video record on!"
|
||||
fi
|
||||
|
||||
_res_list="
|
||||
1: 320x240: 30, 15
|
||||
2: 352x288: 30, 15
|
||||
3: 424x240: 30, 15
|
||||
4: 640x360: 30, 15
|
||||
5: 640x480: 30, 15
|
||||
6: 800x448: 15
|
||||
7: 960x540: 10
|
||||
8: 1280x720: 10
|
||||
"
|
||||
|
||||
printf '%s\n' "Choose the webcam output size: $_res_list"
|
||||
printf '%s' "Choice: " >&2
|
||||
read -r _choice
|
||||
|
||||
case $_choice in
|
||||
1)
|
||||
_choice_res="320x240";;
|
||||
2)
|
||||
_choice_res="352x288";;
|
||||
3)
|
||||
_choice_res="424x240";;
|
||||
4)
|
||||
_choice_res="640x360";;
|
||||
5)
|
||||
_choice_res="640x480";;
|
||||
6)
|
||||
_choice_res="800x448";;
|
||||
7)
|
||||
_choice_res="960x540";;
|
||||
8)
|
||||
_choice_res="1280x720";;
|
||||
esac
|
||||
|
||||
#printf '%s\n' "${_choice_res}"
|
||||
|
||||
ffplay -f v4l2 -input_format mjpeg -video_size "${_choice_res}" -i /dev/video0
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 sdX" 1>&2; exit 1; }
|
||||
|
||||
doas bioctl -d $1
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
CSPEED="$(sysctl -n hw.cpuspeed)"
|
||||
|
||||
CP="$(echo "scale=2; $CSPEED / 1024" | bc)"
|
||||
|
||||
printf '%s\n' "CPU: ${CP}Ghz"
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
xrandr
|
||||
xrandr --output DP1 --mode 1920x1080 --left-of LVDS1 --output LVDS1 --primary
|
||||
fehbg
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
urxvtc -e lfm
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
ffplay -loglevel 0 -autoexit -hide_banner "$1"
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
fspeed="$(sysctl -n hw.sensors.acpithinkpad0.fan0 | awk '{print $1}')"
|
||||
|
||||
fp="$(echo "scale=2; $fspeed / 1024" | bc)"
|
||||
|
||||
printf '%s' "FAN: ${fp}k RPM"
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
ffplay -autoexit -hide_banner -fs "$1"
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
feh -B black -g 1000x600 --scale-down "$1"
|
|
@ -0,0 +1,384 @@
|
|||
#!/bin/ksh
|
||||
|
||||
# Colors
|
||||
|
||||
_pink="%{F#FF00B6}"
|
||||
_purple="%{F#7C00FF}"
|
||||
_cyan="%{F#00F0FF}"
|
||||
_blue="%{F#002EFF}"
|
||||
_orange="%{F#FF9E00}"
|
||||
_green="%{F#00FF00}"
|
||||
_red="%{F#FF0000}"
|
||||
_yellow="%{F#FFF000}"
|
||||
|
||||
# Functions
|
||||
|
||||
## Define OS version
|
||||
_os_type(){
|
||||
|
||||
_net=$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')
|
||||
|
||||
case $_net in
|
||||
"em0") _os="Open${_orange}BSD%{F-} ${_cyan}$(sysctl -n kern.osrelease)%{F-} ${_red}$(sysctl -n kern.osversion)%{F-}" ;;
|
||||
"iwn0") _os="${_cyan}$(sysctl -n kern.osrelease)%{F-} ${_red}$(sysctl -n kern.osversion)%{F-}" ;;
|
||||
esac
|
||||
|
||||
echo "${_os}"
|
||||
|
||||
}
|
||||
|
||||
## Thelemic date
|
||||
_thelemic_date(){
|
||||
|
||||
# Vars
|
||||
_dayw=$(date "+%a") ## Day of the week
|
||||
_daym=$(date "+%d") ## Day of the mounth
|
||||
_mounth=$(date "+%m") ## Mounth number
|
||||
_year=$(date "+%Y") ## Current year
|
||||
_year_zero="1904"
|
||||
_year_diff="$(echo "${_year} - ${_year_zero}" | bc)"
|
||||
_year_cicles="$(echo "scale=0; ${_year_diff} / 22" | bc)"
|
||||
_year_cur_cicle="$(echo "${_year_diff} - (${_year_cicles} * 22)" | bc)"
|
||||
#_zone="-z -3" ## Time zone
|
||||
_lat="-20.351034"
|
||||
_log="-40.284485"
|
||||
#_coord="-zl ${_log} ${_lat}"
|
||||
_sun="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | sed 's/[0-9]//g')"
|
||||
_sun_pos="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
_moon="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | sed 's/[0-9]//g')"
|
||||
_moon_pos="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
|
||||
case $_sun in
|
||||
"Aqu") _sun_done="Aquarii";;
|
||||
"Gem") _sun_done="Geminorum";;
|
||||
"Sag") _sun_done="Sagittarii";;
|
||||
"Tau") _sun_done="Tauri";;
|
||||
"Ari") _sun_done="Arietis";;
|
||||
"Pis") _sun_done="Piscis";;
|
||||
"Cap") _sun_done="Capricorni";;
|
||||
"Can") _sun_done="Cancri";;
|
||||
"Sco") _sun_done="Scorpii";;
|
||||
"Lib") _sun_done="Librae";;
|
||||
"Leo") _sun_done="Leonis";;
|
||||
"Vir") _sun_done="Virginis";;
|
||||
esac
|
||||
|
||||
case $_moon in
|
||||
"Aqu") _moon_done="Aquarii";;
|
||||
"Gem") _moon_done="Geminorum";;
|
||||
"Sag") _moon_done="Sagittarii";;
|
||||
"Tau") _moon_done="Tauri";;
|
||||
"Ari") _moon_done="Arietis";;
|
||||
"Pis") _moon_done="Piscis";;
|
||||
"Cap") _moon_done="Capricorni";;
|
||||
"Can") _moon_done="Cancri";;
|
||||
"Sco") _moon_done="Scorpii";;
|
||||
"Lib") _moon_done="Librae";;
|
||||
"Leo") _moon_done="Leonis";;
|
||||
"Vir") _moon_done="Virginis";;
|
||||
esac
|
||||
|
||||
case $_dayw in
|
||||
"Sun") _dayw_done="Solis";;
|
||||
"Mon") _dayw_done="Lunae";;
|
||||
"Tue") _dayw_done="Martis";;
|
||||
"Wed") _dayw_done="Mercurii";;
|
||||
"Thu") _dayw_done="Jovis";;
|
||||
"Fri") _dayw_done="Veneris";;
|
||||
"Sat") _dayw_done="Saturnis";;
|
||||
esac
|
||||
|
||||
case $_net in
|
||||
"em0") _date="Sol in ${_sun_pos}° ${_sun_done} : Luna in ${_moon_pos}° ${_moon_done} : Dies ${_dayw_done} : Anno Vviii e.l." ;;
|
||||
"iwn0") _date="Sol in ${_sun_pos}° ${_sun_done} Luna in ${_moon_pos}° ${_moon_done} Dies ${_dayw_done} Anno Vviii e.l." ;;
|
||||
esac
|
||||
|
||||
# Main function
|
||||
echo "$_date"
|
||||
|
||||
# echo "
|
||||
# ☉︎ in ${_sun_pos}° ${_sun_done}
|
||||
# ☽︎ in ${_moon_pos}° ${_moon_done}
|
||||
# Dies ${_dayw_done}
|
||||
# Anno V:viii a.n.
|
||||
#"
|
||||
}
|
||||
|
||||
## Show current group
|
||||
_grp(){
|
||||
|
||||
_cur_grp="$(xprop -root _NET_CURRENT_DESKTOP | awk -F '=' '{print $2}' | sed 's/ //')"
|
||||
|
||||
echo "[${_cur_grp}]"
|
||||
|
||||
}
|
||||
|
||||
## Show memory usage
|
||||
_mem(){
|
||||
|
||||
_smt="$(sysctl -n hw.smt)"
|
||||
|
||||
### Define number of threads
|
||||
if [ "$_smt" = "0" ]; then
|
||||
|
||||
_h="7"
|
||||
|
||||
elif [ "$_smt" = "1" ]; then
|
||||
|
||||
_h="11"
|
||||
|
||||
fi
|
||||
|
||||
### Get memory usage
|
||||
_mem_use="$(top -d1 | \
|
||||
head -n ${_h} | \
|
||||
tail -1 | \
|
||||
awk '{print $3}' | \
|
||||
awk -F / '{print $1}' | \
|
||||
sed s/M//)"
|
||||
|
||||
_b=999
|
||||
|
||||
### Build the output
|
||||
if [ "$_mem_use" -ge "$_b" ]; then
|
||||
echo "${_blue}Ram:%{F-} ${_green}$(echo "scale=2; $_mem_use / 1024" | bc)G/16G%{F-}"
|
||||
else
|
||||
echo "${_blue}Ram:%{F-} ${_green}0$(echo "scale=2; $_mem_use / 1024" | bc)G/16G%{F-}"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
## Define cpu clock rate
|
||||
_cpu_clock(){
|
||||
|
||||
_CSPEED="$(sysctl -n hw.cpuspeed)"
|
||||
|
||||
_CP="$(echo "scale=2; $_CSPEED / 1024" | bc)"
|
||||
|
||||
echo "${_orange}CPU:%{F-} ${_green}${_CP}Ghz%{F-}"
|
||||
|
||||
}
|
||||
|
||||
## Get hardware temperatures
|
||||
_temp(){
|
||||
|
||||
### Some limits
|
||||
y=60
|
||||
r=70
|
||||
|
||||
### Get cpu temp
|
||||
_cpu_temp="$(sysctl -n hw.sensors.cpu0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')"
|
||||
### Get acpitz temp
|
||||
_acpitz_temp="$(sysctl -n hw.sensors.acpitz0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')"
|
||||
### Correct bug temperature
|
||||
_temp_c="$(echo "scale=0; $_cpu_temp - 15" | bc)"
|
||||
_temp_a="$(echo "scale=0; $_acpitz_temp - 15" | bc)"
|
||||
|
||||
### Some color acording to temperature
|
||||
if [ "$_temp_c" -ge "$r" ]; then
|
||||
_tempc="${_red}${_cpu_temp}ºC%{F-}"
|
||||
elif [ "$_temp_c" -ge "$y" ]; then
|
||||
_tempc="%{F#FFF000}${_temp_c}ºC%{F-}"
|
||||
else
|
||||
_tempc="${_green}${_temp_c}ºC%{F-}"
|
||||
fi
|
||||
|
||||
if [ "$_temp_a" -ge "$r" ]; then
|
||||
_tempa="${_red}${_temp_a}ºC%{F-}"
|
||||
elif [ "$_temp_a" -ge "$y" ]; then
|
||||
_tempa="%{F#FFF000}${_temp_a}ºC%{F-}"
|
||||
else
|
||||
_tempa="${_green}${_temp_a}ºC%{F-}"
|
||||
fi
|
||||
|
||||
### Build output
|
||||
echo "${_orange}CPU:%{F-} ${_tempc} ${_purple}ACPITZ:%{F-} ${_tempa}"
|
||||
}
|
||||
|
||||
_fan_speed(){
|
||||
|
||||
_fspeed="$(sysctl -n hw.sensors.acpithinkpad0.fan0 | awk '{print $1}')"
|
||||
|
||||
_fp="$(echo "scale=2; $_fspeed / 1024" | bc)"
|
||||
|
||||
echo -e "${_cyan}FAN:%{F-} ${_green}${_fp}kRPM%{F-}"
|
||||
|
||||
}
|
||||
|
||||
_smt_func(){
|
||||
|
||||
_smt="$(sysctl -n hw.smt)"
|
||||
|
||||
echo "${_purple}SMT:%{F-} ${_green}${_smt}%{F-}"
|
||||
|
||||
}
|
||||
|
||||
_sec(){
|
||||
|
||||
_sec_lvl="$(sysctl -n kern.securelevel)"
|
||||
|
||||
if [ $_sec_lvl = "1" ]; then
|
||||
|
||||
_result="${_green}$_sec_lvl%{F-}"
|
||||
|
||||
elif [ $_sec_lvl = "2" ]; then
|
||||
|
||||
_result="${_orange}$_sec_lvl%{F-}"
|
||||
|
||||
else
|
||||
|
||||
_result="${_red}ERROR!%{F-}"
|
||||
|
||||
fi
|
||||
|
||||
echo "${_red}Sec_lvl=%{F-} $_result"
|
||||
|
||||
}
|
||||
|
||||
## PF Status
|
||||
_pf(){
|
||||
|
||||
_pf_status="$(rcctl get pf | sed 's/pf=//')"
|
||||
|
||||
case "$_pf_status" in
|
||||
"YES") echo "${_cyan}PF: %{F-}${_green}ON%{F-}";;
|
||||
"NO") echo "${_cyan}PF: %{F-}${_red}OFF%{F-}";;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
_rec(){
|
||||
|
||||
_audio="$(sysctl -n kern.audio.record)"
|
||||
_video="$(sysctl -n kern.video.record)"
|
||||
|
||||
if [ $_audio = 0 ]; then
|
||||
_audio_color="${_green}$_audio%{F-}"
|
||||
else
|
||||
_audio_color="${_orange}$_audio%{F-}"
|
||||
fi
|
||||
|
||||
if [ $_video = 0 ]; then
|
||||
_video_color="${_green}$_video%{F-}"
|
||||
else
|
||||
_video_color="${_orange}$_video%{F-}"
|
||||
fi
|
||||
|
||||
echo "${_blue}Video:%{F-} $_video_color | ${_pink}Audio:%{F-} $_audio_color"
|
||||
|
||||
}
|
||||
|
||||
_network(){
|
||||
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
_iplocal="$(ifconfig trunk0 | tail -1 | awk '{print $2}')"
|
||||
_wifiname="$(ifconfig iwn0 | tail -1 | awk '{print $3}')"
|
||||
_wifistr="$(ifconfig iwn0 | tail -1 | awk '{print $8}' | sed 's/dBm//')"
|
||||
|
||||
|
||||
if [ "$_wifistr" -ge -45 ]; then
|
||||
_wifistr_color="${_green}${_wifistr}dbm%{F-}"
|
||||
elif [ "$_wifistr" -lt -45 ] && [ "$_wifistr" -ge -60 ]; then
|
||||
_wifistr_color="${_orange}${_wifistr}dbm%{F-}"
|
||||
elif [ "$_wifistr" -lt -60 ]; then
|
||||
_wifistr_color="${_red}${_wifistr}dbm%{F-}"
|
||||
fi
|
||||
|
||||
if [ "$_net" = "em0" ]; then
|
||||
|
||||
echo "${_pink}${_net}:%{F-} ${_green}${_iplocal}%{F-}"
|
||||
|
||||
elif [ "$_net" = "iwn0" ]; then
|
||||
|
||||
echo "${_pink}${_wifiname}:%{F-} ${_green}${_iplocal}%{F-} ${_wifistr_color}"
|
||||
else
|
||||
echo "${_red}No network!%{F-}"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_mail(){
|
||||
|
||||
_mail_count="$(grep '^To:' /var/mail/b2r1s8 | wc -l | sed 's/ //g')"
|
||||
|
||||
echo "${_cyan}Mail:%{F-}${_green}${_mail_count}%{F-}"
|
||||
|
||||
}
|
||||
|
||||
_sound(){
|
||||
|
||||
_vol="$(sndioctl -n output.level)"
|
||||
_vol_done="$(echo "scale=0; $_vol * 100" | bc | awk -F'[.=]' '{print $1}')%"
|
||||
|
||||
echo "${_orange}Sound:%{F-} ${_green}${_vol_done}"
|
||||
|
||||
}
|
||||
|
||||
_batt(){
|
||||
|
||||
_full="$(sysctl -n hw.sensors.acpibat0.watthour0 | awk '{print $1}')"
|
||||
|
||||
_real="$(sysctl -n hw.sensors.acpibat0.watthour3 | awk '{print $1}')"
|
||||
|
||||
_percent="$(echo "scale=2; ${_real} / ${_full} * 100" | bc | awk -F '.' '{print $1}')"
|
||||
_state="$(sysctl -n hw.sensors.acpibat0.raw0 | awk '{print $3}' | sed s/\)\,//)"
|
||||
|
||||
case $_state in
|
||||
"discharging") _states="dis" ;;
|
||||
"charging") _states="cha" ;;
|
||||
"idle") _states="idl" ;;
|
||||
"full") _states="ful" ;;
|
||||
esac
|
||||
|
||||
_y=50
|
||||
_r=30
|
||||
|
||||
if [ "$_percent" -ge "$_y" ]; then
|
||||
_percent_color="${_green}${_percent}%"
|
||||
elif [ "$_percent" -ge "$_r" ]; then
|
||||
_percent_color="${_yellow}${_percent}%"
|
||||
else
|
||||
_percent_color="${_red}${_percent}%"
|
||||
fi
|
||||
|
||||
echo "${_purple}${_states}:%{F-} ${_percent_color}"
|
||||
|
||||
}
|
||||
|
||||
_clock(){
|
||||
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
_day="$()"
|
||||
|
||||
case $_net in
|
||||
"em0") _date=$(date "+%a %Y-%m-%d e.v. %H:%M:%S") ;;
|
||||
"iwn0") _date=$(date "+%Y-%m-%d %H:%M") ;;
|
||||
*) _date=$(date "+%a %Y-%m-%d e.v. %H:%M:%S") ;;
|
||||
esac
|
||||
|
||||
echo -n "$_date"
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
#$(_thelemic_date) \
|
||||
#$(_fan_speed) | \
|
||||
#$(_smt_func) | \
|
||||
#$(_sec) | \
|
||||
#$(_pf) | \
|
||||
#$(_rec) | \
|
||||
#(_temp) | \
|
||||
|
||||
while true; do
|
||||
echo "%{l}%{+u}%{+o} \
|
||||
$(_os_type) \
|
||||
$(_grp) \
|
||||
%{c}| $(_mem) | \
|
||||
$(_network) | \
|
||||
$(_mail) | \
|
||||
$(_sound) %{F-}| \
|
||||
$(_batt) %{F-}|\
|
||||
%{r}$(_clock) "
|
||||
sleep 1
|
||||
done
|
|
@ -0,0 +1,380 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Colors
|
||||
|
||||
#_orange="%{F#FF9E00}"
|
||||
#_green="%{F#00FF00}"
|
||||
#_cyan="%{F#00F0FF}"
|
||||
#_pink="%{F#FF00B6}"
|
||||
#_red="%{F#FF0000}"
|
||||
#_blue="%{F#002EFF}"
|
||||
#_purple="%{F#7C00FF}"
|
||||
#_yellow="%{F#FFF000}"
|
||||
|
||||
# Functions
|
||||
|
||||
## Define OS version
|
||||
_os_type(){
|
||||
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
|
||||
case $_net in
|
||||
"em0") _os="OpenBSD $(sysctl -n kern.osrelease) $(sysctl -n kern.osversion)" ;;
|
||||
"iwn0") _os="$(sysctl -n kern.osrelease) $(sysctl -n kern.osversion)" ;;
|
||||
esac
|
||||
|
||||
echo "${_os}"
|
||||
|
||||
}
|
||||
|
||||
## Thelemic date
|
||||
_thelemic_date(){
|
||||
|
||||
# Vars
|
||||
_dayw=$(date "+%a") ## Day of the week
|
||||
_daym=$(date "+%d") ## Day of the mounth
|
||||
_mounth=$(date "+%m") ## Mounth number
|
||||
_year=$(date "+%Y") ## Current year
|
||||
_year_zero="1904"
|
||||
_year_diff="$(echo "${_year} - ${_year_zero}" | bc)"
|
||||
_year_cicles="$(echo "scale=0; ${_year_diff} / 22" | bc)"
|
||||
_year_cur_cicle="$(echo "${_year_diff} - (${_year_cicles} * 22)" | bc)"
|
||||
#_zone="-z -3" ## Time zone
|
||||
_lat="-20.351034"
|
||||
_log="-40.284485"
|
||||
#_coord="-zl ${_log} ${_lat}"
|
||||
_sun="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | sed 's/[0-9]//g')"
|
||||
_sun_pos="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
_moon="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | sed 's/[0-9]//g')"
|
||||
_moon_pos="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
|
||||
case $_sun in
|
||||
"Aqu") _sun_done="Aquarii";;
|
||||
"Gem") _sun_done="Geminorum";;
|
||||
"Sag") _sun_done="Sagittarii";;
|
||||
"Tau") _sun_done="Tauri";;
|
||||
"Ari") _sun_done="Arietis";;
|
||||
"Pis") _sun_done="Piscis";;
|
||||
"Cap") _sun_done="Capricorni";;
|
||||
"Can") _sun_done="Cancri";;
|
||||
"Sco") _sun_done="Scorpii";;
|
||||
"Lib") _sun_done="Librae";;
|
||||
"Leo") _sun_done="Leonis";;
|
||||
"Vir") _sun_done="Virginis";;
|
||||
esac
|
||||
|
||||
case $_moon in
|
||||
"Aqu") _moon_done="Aquarii";;
|
||||
"Gem") _moon_done="Geminorum";;
|
||||
"Sag") _moon_done="Sagittarii";;
|
||||
"Tau") _moon_done="Tauri";;
|
||||
"Ari") _moon_done="Arietis";;
|
||||
"Pis") _moon_done="Piscis";;
|
||||
"Cap") _moon_done="Capricorni";;
|
||||
"Can") _moon_done="Cancri";;
|
||||
"Sco") _moon_done="Scorpii";;
|
||||
"Lib") _moon_done="Librae";;
|
||||
"Leo") _moon_done="Leonis";;
|
||||
"Vir") _moon_done="Virginis";;
|
||||
esac
|
||||
|
||||
case $_dayw in
|
||||
"Sun") _dayw_done="Solis";;
|
||||
"Mon") _dayw_done="Lunae";;
|
||||
"Tue") _dayw_done="Martis";;
|
||||
"Wed") _dayw_done="Mercurii";;
|
||||
"Thu") _dayw_done="Jovis";;
|
||||
"Fri") _dayw_done="Veneris";;
|
||||
"Sat") _dayw_done="Saturnis";;
|
||||
esac
|
||||
|
||||
case $_net in
|
||||
"em0") _date="Sol in ${_sun_pos}° ${_sun_done} : Luna in ${_moon_pos}° ${_moon_done} : Dies ${_dayw_done} : Anno Vviii e.l." ;;
|
||||
"iwn0") _date="Sol in ${_sun_pos}° ${_sun_done} Luna in ${_moon_pos}° ${_moon_done} Dies ${_dayw_done} Anno Vviii e.l." ;;
|
||||
esac
|
||||
|
||||
# Main function
|
||||
echo "$_date"
|
||||
|
||||
# echo "
|
||||
# ☉︎ in ${_sun_pos}° ${_sun_done}
|
||||
# ☽︎ in ${_moon_pos}° ${_moon_done}
|
||||
# Dies ${_dayw_done}
|
||||
# Anno V:viii a.n.
|
||||
#"
|
||||
}
|
||||
|
||||
## Show current group
|
||||
_grp(){
|
||||
|
||||
_cur_grp="$(xprop -root _NET_CURRENT_DESKTOP | awk -F '=' '{print $2}' | sed 's/ //')"
|
||||
|
||||
echo "${_orange}Grp: ${_green}${_cur_grp}"
|
||||
|
||||
}
|
||||
|
||||
## Show memory usage
|
||||
_mem(){
|
||||
|
||||
_smt="$(sysctl -n hw.smt)"
|
||||
|
||||
### Define number of threads
|
||||
if [ "$_smt" = "0" ]; then
|
||||
|
||||
_h="7"
|
||||
|
||||
elif [ "$_smt" = "1" ]; then
|
||||
|
||||
_h="11"
|
||||
|
||||
fi
|
||||
|
||||
### Get memory usage
|
||||
_mem_use="$(top -d1 | \
|
||||
head -n ${_h} | \
|
||||
tail -1 | \
|
||||
awk '{print $3}' | \
|
||||
awk -F / '{print $1}' | \
|
||||
sed s/M//)"
|
||||
|
||||
_b=999
|
||||
|
||||
### Build the output
|
||||
if [ "$_mem_use" -ge "$_b" ]; then
|
||||
echo "${_cyan}: ${_green}$(echo "scale=2; $_mem_use / 1024" | bc)G/16G"
|
||||
else
|
||||
echo "${_cyan}: ${_green}0$(echo "scale=2; $_mem_use / 1024" | bc)G/16G"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
## Define cpu clock rate
|
||||
_cpu_clock(){
|
||||
|
||||
_CSPEED="$(sysctl -n hw.cpuspeed)"
|
||||
|
||||
_CP="$(echo "scale=2; $_CSPEED / 1024" | bc)"
|
||||
|
||||
echo "${_orange}CPU: ${_green}${_CP}Ghz"
|
||||
|
||||
}
|
||||
|
||||
## Get hardware temperatures
|
||||
_temp(){
|
||||
|
||||
### Some limits
|
||||
y=60
|
||||
r=70
|
||||
|
||||
### Get cpu temp
|
||||
_cpu_temp="$(sysctl -n hw.sensors.cpu0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')"
|
||||
### Get acpitz temp
|
||||
_acpitz_temp="$(sysctl -n hw.sensors.acpitz0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')"
|
||||
### Correct bug temperature
|
||||
_temp_c="$(echo "scale=0; $_cpu_temp - 15" | bc)"
|
||||
_temp_a="$(echo "scale=0; $_acpitz_temp - 15" | bc)"
|
||||
|
||||
### Some color acording to temperature
|
||||
if [ "$_temp_c" -ge "$r" ]; then
|
||||
_tempc="${_red}${_cpu_temp}ºC"
|
||||
elif [ "$_temp_c" -ge "$y" ]; then
|
||||
_tempc="%{F#FFF000}${_temp_c}ºC"
|
||||
else
|
||||
_tempc="${_green}${_temp_c}ºC"
|
||||
fi
|
||||
|
||||
if [ "$_temp_a" -ge "$r" ]; then
|
||||
_tempa="${_red}${_temp_a}ºC"
|
||||
elif [ "$_temp_a" -ge "$y" ]; then
|
||||
_tempa="%{F#FFF000}${_temp_a}ºC"
|
||||
else
|
||||
_tempa="${_green}${_temp_a}ºC"
|
||||
fi
|
||||
|
||||
### Build output
|
||||
echo "${_pink}CPU: ${_tempc} ${_purple}ACPITZ: ${_tempa}"
|
||||
}
|
||||
|
||||
_fan_speed(){
|
||||
|
||||
_fspeed="$(sysctl -n hw.sensors.acpithinkpad0.fan0 | awk '{print $1}')"
|
||||
|
||||
_fp="$(echo "scale=2; $_fspeed / 1024" | bc)"
|
||||
|
||||
echo -e "${_yellow}FAN: ${_green}${_fp}kRPM"
|
||||
|
||||
}
|
||||
|
||||
_smt_func(){
|
||||
|
||||
_smt="$(sysctl -n hw.smt)"
|
||||
|
||||
echo "${_orange}SMT: ${_green}${_smt}"
|
||||
|
||||
}
|
||||
|
||||
_sec(){
|
||||
|
||||
_sec_lvl="$(sysctl -n kern.securelevel)"
|
||||
|
||||
if [ $_sec_lvl = "1" ]; then
|
||||
|
||||
_result="${_green}$_sec_lvl"
|
||||
|
||||
elif [ $_sec_lvl = "2" ]; then
|
||||
|
||||
_result="${_orange}$_sec_lvl"
|
||||
|
||||
else
|
||||
|
||||
_result="${_red}ERROR!"
|
||||
|
||||
fi
|
||||
|
||||
echo "${_red}Sec_lvl= $_result"
|
||||
|
||||
}
|
||||
|
||||
## PF Status
|
||||
_pf(){
|
||||
|
||||
_pf_status="$(rcctl get pf | sed 's/pf=//')"
|
||||
|
||||
case "$_pf_status" in
|
||||
"YES") echo "${_pink}PF: ${_green}ON";;
|
||||
"NO") echo "${_pink}PF: ${_red}OFF";;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
_rec(){
|
||||
|
||||
_audio="$(sysctl -n kern.audio.record)"
|
||||
_video="$(sysctl -n kern.video.record)"
|
||||
|
||||
if [ $_audio = 0 ]; then
|
||||
_audio_color="${_green}$_audio"
|
||||
else
|
||||
_audio_color="${_orange}$_audio"
|
||||
fi
|
||||
|
||||
if [ $_video = 0 ]; then
|
||||
_video_color="${_green}$_video"
|
||||
else
|
||||
_video_color="${_orange}$_video"
|
||||
fi
|
||||
|
||||
echo "${_blue}Video: $_video_color ${_purple}Audio: $_audio_color"
|
||||
|
||||
}
|
||||
|
||||
_network(){
|
||||
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
_iplocal="$(ifconfig trunk0 | tail -1 | awk '{print $2}')"
|
||||
_wifiname="$(ifconfig iwn0 | tail -1 | awk '{print $3}')"
|
||||
_wifistr="$(ifconfig iwn0 | tail -1 | awk '{print $8}' | sed 's/dBm//')"
|
||||
|
||||
|
||||
if [ "$_wifistr" -ge -45 ]; then
|
||||
_wifistr_color="${_green}${_wifistr}dbm"
|
||||
elif [ "$_wifistr" -lt -45 ] && [ "$_wifistr" -ge -60 ]; then
|
||||
_wifistr_color="${_orange}${_wifistr}dbm"
|
||||
elif [ "$_wifistr" -lt -60 ]; then
|
||||
_wifistr_color="${_red}${_wifistr}dbm"
|
||||
fi
|
||||
|
||||
if [ "$_net" = "em0" ]; then
|
||||
|
||||
echo "${_cyan}${_net}: ${_green}${_iplocal}"
|
||||
|
||||
elif [ "$_net" = "iwn0" ]; then
|
||||
|
||||
echo "${_cyan}${_wifiname}: ${_green}${_iplocal} ${_wifistr_color}"
|
||||
else
|
||||
echo "No network!"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_mail(){
|
||||
|
||||
_mail_count="$(grep '^To:' /var/mail/b2r1s8 | wc -l | sed 's/ //g')"
|
||||
|
||||
case $_mail_count in
|
||||
"0") echo ":${_mail_count}";;
|
||||
*) echo ":${_mail_count}";;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
_sound(){
|
||||
|
||||
_vol="$(sndioctl -n output.level)"
|
||||
_vol_done="$(echo "scale=0; $_vol * 100" | bc | awk -F'[.=]' '{print $1}')%"
|
||||
|
||||
echo "${_pink}Sound: ${_green}${_vol_done}"
|
||||
|
||||
}
|
||||
|
||||
_batt(){
|
||||
|
||||
_full="$(sysctl -n hw.sensors.acpibat0.watthour0 | awk '{print $1}')"
|
||||
|
||||
_real="$(sysctl -n hw.sensors.acpibat0.watthour3 | awk '{print $1}')"
|
||||
|
||||
_percent="$(echo "scale=2; ${_real} / ${_full} * 100" | bc | awk -F '.' '{print $1}')"
|
||||
_state="$(sysctl -n hw.sensors.acpibat0.raw0 | awk '{print $3}' | sed s/\)\,//)"
|
||||
|
||||
case $_state in
|
||||
"discharging") _states="dis" ;;
|
||||
"charging") _states="cha" ;;
|
||||
"idle") _states="idl" ;;
|
||||
"full") _states="ful" ;;
|
||||
esac
|
||||
|
||||
_y=50
|
||||
_r=30
|
||||
|
||||
if [ "$_percent" -ge "$_y" ]; then
|
||||
_percent_color="${_green}${_percent}%"
|
||||
elif [ "$_percent" -ge "$_r" ]; then
|
||||
_percent_color="${_yellow}${_percent}%"
|
||||
else
|
||||
_percent_color="${_red}${_percent}%"
|
||||
fi
|
||||
|
||||
echo "${_orange}${_states}: ${_percent_color}"
|
||||
|
||||
}
|
||||
|
||||
_clock(){
|
||||
|
||||
_net="$(ifconfig trunk0 | grep active | head -1 | awk '{print $1}')"
|
||||
_day="$()"
|
||||
|
||||
case $_net in
|
||||
"em0") _date=$(date "+%a %Y-%m-%d e.v. %H:%M:%S") ;;
|
||||
"iwn0") _date=$(date "+%Y-%m-%d e.v. %H:%M:%S") ;;
|
||||
*) _date=$(date "+%a %Y-%m-%d e.v. %H:%M:%S") ;;
|
||||
esac
|
||||
|
||||
echo -n "$_date"
|
||||
|
||||
}
|
||||
|
||||
#$(_os_type) \
|
||||
#$(_smt_func) \
|
||||
#$(_sec) \
|
||||
#$(_pf) \
|
||||
#$(_rec) \
|
||||
#$(_temp) \
|
||||
#$(_fan_speed) \
|
||||
#$(_thelemic_date) \
|
||||
|
||||
while true; do
|
||||
echo " \
|
||||
$(_grp) $(_mem) $(_network) $(_mail) $(_sound) $(_batt) $(_clock) "
|
||||
sleep 1
|
||||
done
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
pkill lemonbar
|
||||
pkill infos.sh
|
||||
|
||||
/home/b2r1s8/.local/bin/infos | lemonbar -g 1366x27 -F "#FFFF00" -u 1 -n "lemonbar" &
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
|
||||
MEM="$(top -d1 | head -11 | tail -1 | awk '{print $3}' | awk -F / '{print $1}' | sed s/M//)"
|
||||
|
||||
b=999
|
||||
|
||||
if [ "$MEM" -ge "$b" ]; then
|
||||
printf '%s' "Ram: $(echo "scale=2; $MEM / 1024" | bc)G/16G"
|
||||
else
|
||||
printf '%s' "Ram: 0$(echo "scale=2; $MEM / 1024" | bc)G/16G"
|
||||
fi
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
terminator -e "mocp --theme puffy_theme"
|
||||
#urxvtc -e mocp --theme black_theme
|
||||
#urxvtc -e mocp --theme transparent-background
|
||||
#terminator -e "mocp --theme holly_theme"
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 sdXy" 1>&2; exit 1; }
|
||||
|
||||
doas bioctl -c C -l $1 softraid0
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
RED="[0;31m"
|
||||
NORM="[0m"
|
||||
|
||||
echo "$(sysctl -n kern.ostype) $(sysctl -n kern.osrelease) $(sysctl -n kern.osversion)"
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
sav="$HOME/Pictures/sys_images/screenshots/obsd"
|
||||
|
||||
scrot -b -p -d 3 -s -f -q 100 -e 'xclip -selection clipboard -t image/png -i $f' "$sav"/ss_%Y-%m-%d_%H.%M.%S.png
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
_vid="$(sysctl -n kern.video.record)"
|
||||
_aud="$(sysctl -n kern.audio.record)"
|
||||
|
||||
if [ "$_vid" = "0" ]; then
|
||||
doas sysctl kern.video.record=1
|
||||
echo "Allow video record on!"
|
||||
elif [ "$_vid" = "1" ]; then
|
||||
echo "Allow video record on!"
|
||||
fi
|
||||
|
||||
if [ "$_aud" = "0" ]; then
|
||||
doas sysctl kern.audio.record=1
|
||||
echo "Allow audio record on!"
|
||||
elif [ "$_aud" = "1" ]; then
|
||||
echo "Allow audio record on!"
|
||||
fi
|
||||
|
||||
sndioctl input.level=1
|
||||
|
||||
trap 'kill 0' INT
|
||||
|
||||
aucat -o "$1.wav" &
|
||||
|
||||
ffmpeg \
|
||||
-loglevel fatal \
|
||||
-f x11grab \
|
||||
-video_size 1366x768 \
|
||||
-framerate 15 \
|
||||
-i $DISPLAY \
|
||||
-vcodec libx264 \
|
||||
-preset ultrafast \
|
||||
"$1.mkv"
|
||||
kill 0
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
xpdf -rv -mattecolor Black -fg Yellow -bg Black "$1"
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
ffmpeg -i "$1" -af "afftdn=nf=-25" 1-"$1"
|
||||
|
||||
#ffmpeg -i 1-"$1" -af "afftdn=nf=-25" 2-"$1"
|
||||
|
||||
ffmpeg -i 1-"$1" -af "highpass=f=200, lowpass=f=3000" 3-"$1"
|
||||
|
||||
ffmpeg -i 3-"$1" -af "volume=3" done-"$1"
|
||||
|
||||
rm -vf {1,2}*
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
printf '%s' "CPU: $(sysctl -n hw.sensors.cpu0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')ºC ACPITZ: $(sysctl -n hw.sensors.acpitz0.temp0 | awk '{print $1}' | awk -F '.' '{print $1}')ºC"
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
terminator -e "tmux"
|
|
@ -0,0 +1,70 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Vars
|
||||
_dayw=$(date "+%a") ## Day of the week
|
||||
_daym=$(date "+%d") ## Day of the mounth
|
||||
_mounth=$(date "+%m") ## Mounth number
|
||||
_year=$(date "+%Y") ## Current year
|
||||
_year_zero="1904"
|
||||
_year_diff="$(echo "${_year} - ${_year_zero}" | bc)"
|
||||
_year_cicles="$(echo "scale=0; ${_year_diff} / 22" | bc)"
|
||||
_year_cur_cicle="$(echo "${_year_diff} - (${_year_cicles} * 22)" | bc)"
|
||||
#_zone="-z +2" ## Time zone
|
||||
_lat="35.922318399657875"
|
||||
_log="14.381111311157396"
|
||||
#_coord="-zl ${_log} ${_lat}"
|
||||
_sun="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | sed 's/[0-9]//g')"
|
||||
_sun_pos="$(astrolog -n ${_zone} ${_coord} | head -4 | tail -1 | awk '{print $3}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
_moon="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | sed 's/[0-9]//g')"
|
||||
_moon_pos="$(astrolog -n ${_zone} ${_coord} | head -5 | tail -1 | awk '{print $2}' | ghead -c 2 | sed 's/[A-Z]//')"
|
||||
|
||||
case $_sun in
|
||||
"Aqu") _sun_done="Acquario";;
|
||||
"Gem") _sun_done="Gemelli";;
|
||||
"Sag") _sun_done="Sagittarii";;
|
||||
"Tau") _sun_done="Toro";;
|
||||
"Ari") _sun_done="Ariete";;
|
||||
"Pis") _sun_done="Pesci";;
|
||||
"Cap") _sun_done="Capricorno";;
|
||||
"Can") _sun_done="Cancro";;
|
||||
"Sco") _sun_done="Scorpione";;
|
||||
"Lib") _sun_done="Bilancia";;
|
||||
"Leo") _sun_done="Leone";;
|
||||
"Vir") _sun_done="Vergine";;
|
||||
esac
|
||||
|
||||
case $_moon in
|
||||
"Aqu") _moon_done="Acquario";;
|
||||
"Gem") _moon_done="Gemelli";;
|
||||
"Sag") _moon_done="Sagittarii";;
|
||||
"Tau") _moon_done="Toro";;
|
||||
"Ari") _moon_done="Ariete";;
|
||||
"Pis") _moon_done="Pesci";;
|
||||
"Cap") _moon_done="Capricorno";;
|
||||
"Can") _moon_done="Cancro";;
|
||||
"Sco") _moon_done="Scorpione";;
|
||||
"Lib") _moon_done="Bilancia";;
|
||||
"Leo") _moon_done="Leone";;
|
||||
"Vir") _moon_done="Vergine";;
|
||||
esac
|
||||
|
||||
case $_dayw in
|
||||
"Sun") _dayw_done="Solis";;
|
||||
"Mon") _dayw_done="Lunae";;
|
||||
"Tue") _dayw_done="Martis";;
|
||||
"Wed") _dayw_done="Mercurii";;
|
||||
"Thu") _dayw_done="Jovis";;
|
||||
"Fri") _dayw_done="Veneris";;
|
||||
"Sat") _dayw_done="Saturnis";;
|
||||
esac
|
||||
|
||||
# Main function
|
||||
#echo "☉︎ in ${_sun_pos}° ${_sun_done} : ☽︎ in ${_moon_pos}° ${_moon_done} : dies ${_dayw_done} : Anno Vviii a.n."
|
||||
|
||||
echo "
|
||||
☉︎ in ${_sun_pos}° ${_sun_done}
|
||||
☽︎ in ${_moon_pos}° ${_moon_done}
|
||||
Dies ${_dayw_done}
|
||||
Anno V:viii a.n.
|
||||
93, 93/93 A.·.A.·.
|
||||
"
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
urxvtc -e mail
|
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
upsrc(){
|
||||
|
||||
echo "Changing to the src directory."
|
||||
cd /usr/src
|
||||
cvs -q up -Pd -rOPENBSD_7_1
|
||||
echo "Done!"
|
||||
|
||||
}
|
||||
|
||||
uports(){
|
||||
|
||||
echo "Changing to the ports directory."
|
||||
cd /usr/ports
|
||||
cvs -q up -Pd -rOPENBSD_7_1
|
||||
echo "Done!."
|
||||
|
||||
}
|
||||
|
||||
upfaq(){
|
||||
|
||||
echo "Changing to the faq directory."
|
||||
cd $HOME/Templates/unixlike/openbsd/projects
|
||||
cvs update -P www/faq
|
||||
echo "Done!."
|
||||
|
||||
}
|
||||
|
||||
upsrc && uports && upfaq && cd && exit 0
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ $# -ne 1 ] && { echo "usage: $0 name" 1>&2; exit 1; }
|
||||
|
||||
ffmpeg -i "$1".wav -af "afftdn=nf=-25" "$1"-1.wav
|
||||
|
||||
ffmpeg -i "$1"-1.wav -af "afftdn=nf=-25" "$1"-2.wav
|
||||
|
||||
ffmpeg -i "$1"-2.wav -af "highpass=f=200, lowpass=f=3000" "$1"-3.wav
|
||||
|
||||
ffmpeg -i "$1"-3.wav -af "volume=4" "$1"-done.wav
|
||||
|
||||
ffmpeg -i "$1".mkv -i "$1"-done.wav -c:v copy -c:a aac "$1".mp4
|
||||
|
||||
rm -vf "$1"-{1,2,3,done}*
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
printf '%s\n'
|
||||
|
||||
printf '%s\n\n' "Wellcome to OpenBSD"
|
||||
|
||||
printf '%s\n\n' "Kernel Version: $(sysctl -n kern.version)"
|
||||
|
||||
printf '%s\n' "CPU Temperature: $(sysctl -n hw.sensors.cpu0.temp0)"
|
||||
|
||||
printf '%s\n' "ACPITZ Temperature: $(sysctl -n hw.sensors.acpitz0.temp0)"
|
||||
|
||||
printf '%s\n' "CPU Speed: $(sysctl -n hw.cpuspeed)"
|
||||
|
||||
printf '%s\n\n' "FAN Speed: $(sysctl -n hw.sensors.acpithinkpad0.fan0)"
|
||||
top -d1 | head -11 | tail -1
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
if [ -d $HOME/.fonts ]; then
|
||||
for i in $HOME/.fonts/*; do
|
||||
xset fp+ $i
|
||||
done
|
||||
xset fp rehash
|
||||
fi
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
while true; do
|
||||
xset dpms 0 0 0
|
||||
xset s off -dpms
|
||||
xset s 0 0
|
||||
xset s noblank
|
||||
xset s noexpose
|
||||
exit 0
|
||||
done
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,185 @@
|
|||
184
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack bold italic nerd font complete mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack bold italic nerd font complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-adobe-standard
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack bold nerd font complete mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-adobe-standard
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack bold nerd font complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack italic nerd font complete mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack italic nerd font complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-adobe-standard
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack regular nerd font complete mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-adobe-standard
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack regular nerd font complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-microsoft-cp1252
|
|
@ -0,0 +1,185 @@
|
|||
184
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack Bold Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-i-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack Bold Italic Nerd Font Complete.ttf -misc-hack nerd font-bold-i-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-adobe-standard
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack Bold Nerd Font Complete Mono.ttf -misc-hack nerd font mono-bold-r-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-adobe-standard
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack Bold Nerd Font Complete.ttf -misc-hack nerd font-bold-r-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack Italic Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-i-normal--0-0-0-0-m-0-suneu-greek
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-microsoft-cp1252
|
||||
Hack Italic Nerd Font Complete.ttf -misc-hack nerd font-medium-i-normal--0-0-0-0-p-0-suneu-greek
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-adobe-standard
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ascii-0
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp850
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp852
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-ibm-cp866
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso10646-1
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-1
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-10
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-13
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-15
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-16
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-2
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-3
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-4
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-5
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-7
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-iso8859-9
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-e
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-r
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-ru
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-u
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-koi8-uni
|
||||
Hack Regular Nerd Font Complete Mono.ttf -misc-hack nerd font mono-medium-r-normal--0-0-0-0-m-0-microsoft-cp1252
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-adobe-standard
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ascii-0
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp850
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp852
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-ibm-cp866
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-1
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-10
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-13
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-15
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-16
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-2
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-3
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-4
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-5
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-7
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-iso8859-9
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-e
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-r
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-ru
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-u
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-koi8-uni
|
||||
Hack Regular Nerd Font Complete.ttf -misc-hack nerd font-medium-r-normal--0-0-0-0-p-0-microsoft-cp1252
|
|
@ -0,0 +1,20 @@
|
|||
((("win" .
|
||||
[1 0 0])
|
||||
("_cap_r" .
|
||||
[2 0 0 0 0 0])
|
||||
("_cap" .
|
||||
[1 0 0 0])
|
||||
("case" .
|
||||
[0 0 0 1])
|
||||
("_state" .
|
||||
[2 0 0 0 0 0])
|
||||
("kern.audio.record" .
|
||||
[0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0])
|
||||
(":config" .
|
||||
[1 0 0 0 0 0 0])
|
||||
(":ensure" .
|
||||
[1 0 0 0 0 0 1])
|
||||
("use-package" .
|
||||
[0 0 0 1 0 0 0 0 0 0 1])
|
||||
("!/usr/bin/env" .
|
||||
[1 0 0 0 0 0 0 0 0 0 0 0 0])))
|
|
@ -0,0 +1,574 @@
|
|||
(setq user-full-name "b2r1s8"
|
||||
user-mail-address "")
|
||||
|
||||
;; The default is 800 kilobytes. Measured in bytes.
|
||||
(setq gc-cons-threshold (* 50 1000 1000))
|
||||
|
||||
;; Profile emacs startup
|
||||
(add-hook 'emacs-startup-hook
|
||||
(lambda ()
|
||||
(message "*** Emacs loaded in %s with %d garbage collections."
|
||||
(format "%.2f seconds"
|
||||
(float-time
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done)))
|
||||
|
||||
;; Fist things first
|
||||
(setq inhibit-startup-message t)
|
||||
(tool-bar-mode -1) ;; Remove tool bar C-x u undo | C-w cut | M-w copy | C-y paste
|
||||
(menu-bar-mode -1) ;; Remove menus
|
||||
(scroll-bar-mode -1) ;; Remove scroll bar
|
||||
(global-hl-line-mode t) ;; Show current line
|
||||
(global-prettify-symbols-mode t) ;; Prettify symbols mode
|
||||
(set-face-attribute 'default nil :height 80) ;; Font size
|
||||
(column-number-mode 1) ;; Colummns numeration
|
||||
(show-paren-mode 1) ;; Show parent parentesis
|
||||
(setq visible-bell t) ;; Visible bell
|
||||
;;(setq-default header-line-format mode-line-format)
|
||||
(setq-default mode-line-format nil)
|
||||
(setq-default header-line-format nil)
|
||||
(setq
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
backup-directory-alist
|
||||
'(("." . "~/.emacs.d/backups/")) ; don't litter my fs tree
|
||||
delete-old-versions t
|
||||
kept-new-versions 6
|
||||
kept-old-versions 2
|
||||
version-control t) ; use versioned backups
|
||||
|
||||
;; Tabbar
|
||||
(use-package tabbar)
|
||||
(tab-bar-mode 1) ;; Additing tabs
|
||||
|
||||
;; Show time and date on the mode line
|
||||
(setq display-time-day-and-date t)
|
||||
(setq display-time-format "%a %b %F %R")
|
||||
(display-time-mode 1)
|
||||
|
||||
;; Frame tansparency
|
||||
(set-frame-parameter (selected-frame) 'alpha '(75 . 75))
|
||||
(add-to-list 'default-frame-alist '(alpha . (75 . 75)))
|
||||
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||
|
||||
;; Line numbers
|
||||
(global-linum-mode t)
|
||||
(setq linum-format "%2d \u2502")
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
shell-mode-hook
|
||||
treemacs-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
;; Border
|
||||
(setq frame-resize-pixelwise t)
|
||||
(set-frame-parameter nil 'fullscreen 'fullboth)
|
||||
|
||||
;; Keep all backup and auto-save files in one directory
|
||||
(setq backup-directory-alist '(("." . "~/.emacs.d/backups")))
|
||||
(setq auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)))
|
||||
|
||||
;; UTF-8 please
|
||||
(setq locale-coding-system 'utf-8) ; pretty
|
||||
(set-terminal-coding-system 'utf-8) ; pretty
|
||||
(set-keyboard-coding-system 'utf-8) ; pretty
|
||||
(set-selection-coding-system 'utf-8) ; please
|
||||
(prefer-coding-system 'utf-8) ; with sugar on top
|
||||
|
||||
;; Identation:
|
||||
(setq-default tab-width 2)
|
||||
(setq-default standard-indent 2)
|
||||
(setq c-basic-offset tab-width)
|
||||
(setq-default electric-indent-inhibit t)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
(setq backward-delete-char-untabify-method 'nil)
|
||||
|
||||
;; Enable bracket pair-matching
|
||||
(setq electric-pair-pairs '(
|
||||
(?\{ . ?\})
|
||||
(?\( . ?\))
|
||||
(?\[ . ?\])
|
||||
(?\" . ?\")
|
||||
))
|
||||
(electric-pair-mode t)
|
||||
|
||||
;;; Mude o foco p/ novas janelas
|
||||
(defun split-and-follow-horizontally ()
|
||||
(interactive)
|
||||
(split-window-below)
|
||||
(balance-windows)
|
||||
(other-window 1))
|
||||
|
||||
(defun split-and-follow-vertically ()
|
||||
(interactive)
|
||||
(split-window-right)
|
||||
(balance-windows)
|
||||
(other-window 1))
|
||||
|
||||
;; Alias
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
(defalias 'open 'find-file-other-window)
|
||||
(defalias 'clean 'eshell/clear-scrollback)
|
||||
(defalias 'list-buffers 'ibuffer)
|
||||
|
||||
(global-unset-key (kbd "C-z")) ;; Unbind C-z
|
||||
(global-unset-key (kbd "C-Z")) ;; Unbind C-Z
|
||||
(global-set-key (kbd "s-<up>") 'windmove-up)
|
||||
(global-set-key (kbd "s-<down>") 'windmove-down)
|
||||
(global-set-key (kbd "s-<right>") 'windmove-right)
|
||||
(global-set-key (kbd "s-<left>") 'windmove-left)
|
||||
(global-set-key (kbd "C-<tab>") 'other-window)
|
||||
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
|
||||
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
|
||||
(global-set-key (kbd "C-c l") 'org-store-link)
|
||||
(global-set-key (kbd "C-c a") 'org-agenda)
|
||||
(global-set-key (kbd "C-c c") 'org-capture)
|
||||
|
||||
;; Open new tab on the dashboard
|
||||
(defun new-tab ()
|
||||
(interactive)
|
||||
(tab-new-to)
|
||||
(switch-to-buffer (get-buffer-create "*dashboard*")))
|
||||
(global-set-key (kbd "s-x") 'new-tab)
|
||||
(global-set-key (kbd "s-X") 'tab-close)
|
||||
|
||||
;; Configuring desktop
|
||||
;;(require 'desktop)
|
||||
;; (desktop-save-mode 1)
|
||||
;; (defun my-desktop-save ()
|
||||
;; (interactive)
|
||||
;; ;; Don't call desktop-save-in-desktop-dir, as it prints a message.
|
||||
;; (if (eq (desktop-owner) (emacs-pid))
|
||||
;; (desktop-save desktop-dirname)))
|
||||
;; (add-hook 'auto-save-hook 'my-desktop-save)
|
||||
;;
|
||||
;;(setq clean-buffer-list-delay-general 1)
|
||||
;;
|
||||
;;;; Configuring midnight
|
||||
;;(require 'midnight)
|
||||
;;(midnight-delay-set 'midnight-delay "6:30am")
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
:defer nil
|
||||
:preface
|
||||
(defun init-edit ()
|
||||
"Edit initialization file."
|
||||
(interactive)
|
||||
(find-file "~/.emacs.d/init.el"))
|
||||
(defun conf-edit ()
|
||||
"Edit configuration file."
|
||||
(interactive)
|
||||
(find-file "~/.emacs.d/config.org"))
|
||||
(defun create-scratch-buffer ()
|
||||
"Create a scratch buffer."
|
||||
(interactive)
|
||||
(switch-to-buffer (get-buffer-create "*scratch*"))
|
||||
(lisp-interaction-mode))
|
||||
:config
|
||||
(dashboard-setup-startup-hook)
|
||||
(setq dashboard-items '((recents . 25)))
|
||||
(setq dashboard-banner-logo-title "Welcome to Emacs!")
|
||||
(setq dashboard-startup-banner "~/.emacs.d/img/emacs.png")
|
||||
(setq dashboard-center-content t)
|
||||
(setq dashboard-show-shortcuts nil)
|
||||
(setq dashboard-set-init-info t)
|
||||
(setq dashboard-init-info (format "%d packages loaded in %s"
|
||||
(length package-activated-list) (emacs-init-time)))
|
||||
(setq dashboard-set-footer nil)
|
||||
(setq dashboard-set-navigator t)
|
||||
(setq dashboard-navigator-buttons
|
||||
`(((,nil
|
||||
"Open init.el file."
|
||||
"Open Emacs initialization file for easy editing."
|
||||
(lambda (&rest _) (init-edit))
|
||||
'default)
|
||||
(nil
|
||||
"Open config.org file."
|
||||
"Open Emacs configuration file for easy editing."
|
||||
(lambda (&rest _) (conf-edit))
|
||||
'default)
|
||||
(nil
|
||||
"Open scratch buffer."
|
||||
"Switch to the scratch buffer."
|
||||
(lambda (&rest _) (create-scratch-buffer))
|
||||
'default)))))
|
||||
|
||||
(use-package pdf-tools
|
||||
:defer t
|
||||
:commands (pdf-view-mode pdf-tools-install)
|
||||
:mode ("\\.[pP][dD][fF]\\'" . pdf-view-mode)
|
||||
:load-path "site-lisp/pdf-tools/lisp"
|
||||
:magic ("%PDF" . pdf-view-mode)
|
||||
:config
|
||||
(pdf-tools-install)
|
||||
(define-pdf-cache-function pagelabels)
|
||||
:hook ((pdf-view-mode-hook . (lambda () (display-line-numbers-mode -1)))
|
||||
(pdf-view-mode-hook . pdf-tools-enable-minor-modes)))
|
||||
(use-package pdf-view-restore
|
||||
:after pdf-tools
|
||||
:config
|
||||
(add-hook 'pdf-view-mode-hook 'pdf-view-restore-mode))
|
||||
|
||||
;;(use-package org-pdftools
|
||||
;; :hook (org-load-hook . org-pdftools-setup-link))
|
||||
|
||||
(add-hook 'pdf-view-mode-hook (lambda() (linum-mode -1)))
|
||||
|
||||
;; Org init
|
||||
(use-package org
|
||||
:config
|
||||
(add-hook 'org-mode-hook
|
||||
'(lambda ()
|
||||
(visual-line-mode 1)))
|
||||
(setq org-display-inline-images t)
|
||||
(setq org-redisplay-inline-images t)
|
||||
(setq org-startup-with-inline-images "inlineimages")
|
||||
(setq org-directory "~/.emacs.d/org")
|
||||
(setq org-agenda-files (list "inbox.org"))
|
||||
(global-set-key (kbd "C-<f1>") (lambda()
|
||||
(interactive)
|
||||
(outline-show-all))))
|
||||
(use-package org-bullets
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
|
||||
(use-package htmlize
|
||||
:ensure t)
|
||||
|
||||
;; src exec
|
||||
(org-babel-do-load-languages 'org-babel-load-languages
|
||||
'(
|
||||
(shell . t)
|
||||
)
|
||||
)
|
||||
|
||||
(setq org-src-fontify-natively t
|
||||
org-src-window-setup 'current-window
|
||||
org-src-strip-leading-and-trailing-blank-lines t
|
||||
org-src-preserve-indentation t
|
||||
org-src-tab-acts-natively t)
|
||||
|
||||
(require 'org-tempo)
|
||||
|
||||
;; And that'll allow you to type "<sh", "<el", "<py", "<conf" followed by tab to create src blocks for those languages, and you can add as many others as you want.
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||
(add-to-list 'org-structure-template-alist '("conf" . "src conf"))
|
||||
|
||||
;; Org default head
|
||||
;;(add-to-list 'org-structure-template-alist
|
||||
;; '("p" "#+title:\n#+author: b2r1s8@gen2\n#+date:\n#+startup: hidestars odd overview\n\n? "))
|
||||
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1))
|
||||
(setq doom-modeline-height 5)
|
||||
|
||||
;; Hide mode-line when is not usefull
|
||||
(setq doom-hide-modeline-mode t)
|
||||
|
||||
;; The limit of the window width.
|
||||
;; If `window-width' is smaller than the limit, some information won't be displayed.
|
||||
(setq doom-modeline-window-width-limit fill-column)
|
||||
;; Whether display the icon for `major-mode'. It respects `doom-modeline-icon'.
|
||||
(setq doom-modeline-major-mode-icon t)
|
||||
|
||||
;; Whether display the colorful icon for `major-mode'.
|
||||
;; It respects `all-the-icons-color-icons'.
|
||||
(setq doom-modeline-major-mode-color-icon t)
|
||||
|
||||
;; Whether display the icon for the buffer state. It respects `doom-modeline-icon'.
|
||||
(setq doom-modeline-buffer-state-icon t)
|
||||
|
||||
;; Whether display the modification icon for the buffer.
|
||||
;; It respects `doom-modeline-icon' and `doom-modeline-buffer-state-icon'.
|
||||
(setq doom-modeline-buffer-modification-icon t)
|
||||
|
||||
;; Whether display the buffer encoding.
|
||||
(setq doom-modeline-buffer-encoding t)
|
||||
|
||||
;; If non-nil, only display one number for checker information if applicable.
|
||||
(setq doom-modeline-checker-simple-format t)
|
||||
|
||||
;; Whether display the workspace name. Non-nil to display in the mode-line.
|
||||
(setq doom-modeline-workspace-name t)
|
||||
|
||||
(use-package ace-window
|
||||
:ensure t
|
||||
:bind (("C-o" . ace-window)))
|
||||
|
||||
(use-package which-key
|
||||
:ensure t
|
||||
:diminish which-key-mode
|
||||
:init
|
||||
(which-key-mode)
|
||||
:config
|
||||
(setq which-key-idle-delay 0.3))
|
||||
|
||||
(use-package swiper
|
||||
:ensure t
|
||||
:bind ("s-s" . 'swiper))
|
||||
|
||||
(use-package beacon
|
||||
:ensure t
|
||||
:diminish beacon-mode
|
||||
:init
|
||||
(beacon-mode 1))
|
||||
|
||||
(use-package async
|
||||
:ensure t
|
||||
:init
|
||||
(dired-async-mode 1))
|
||||
|
||||
(use-package page-break-lines
|
||||
:ensure t
|
||||
:diminish (page-break-lines-mode visual-line-mode))
|
||||
|
||||
(use-package undo-tree
|
||||
:ensure t
|
||||
:diminish undo-tree-mode)
|
||||
|
||||
(use-package saveplace
|
||||
:defer nil
|
||||
:config
|
||||
(save-place-mode))
|
||||
|
||||
(use-package eldoc
|
||||
:diminish eldoc-mode)
|
||||
|
||||
(use-package try
|
||||
:ensure t)
|
||||
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)))
|
||||
|
||||
(use-package neotree
|
||||
:ensure t
|
||||
:bind (("C-\\" . 'neotree-toggle))) ;; Ativa a tree
|
||||
|
||||
(use-package color-theme-modern
|
||||
:ensure t)
|
||||
|
||||
(use-package flycheck
|
||||
:ensure t
|
||||
:init (global-flycheck-mode t))
|
||||
|
||||
(use-package recentf
|
||||
:config
|
||||
(recentf-mode t)
|
||||
(setq recentf-max-saved-items 500))
|
||||
|
||||
(use-package expand-region
|
||||
:ensure t
|
||||
:bind ("C-@" . er/expand-region))
|
||||
|
||||
(use-package smooth-scrolling
|
||||
:ensure t
|
||||
:config
|
||||
(smooth-scrolling-mode))
|
||||
|
||||
(use-package emmet-mode
|
||||
:ensure t
|
||||
:commands emmet-mode
|
||||
:config
|
||||
(add-hook 'html-mode-hook 'emmet-mode)
|
||||
(add-hook 'css-mode-hookg 'emmet-mode))
|
||||
|
||||
(use-package scratch
|
||||
:ensure t
|
||||
:commands scratch)
|
||||
|
||||
(use-package shell-pop
|
||||
:ensure t
|
||||
:bind ("M-<f12>" . shell-pop))
|
||||
|
||||
(use-package quickrun
|
||||
:defer 10
|
||||
:ensure t
|
||||
:bind ("C-c r" . quickrun))
|
||||
|
||||
(use-package terminal-here
|
||||
:ensure t
|
||||
:bind (("C-c o t" . terminal-here-launch)
|
||||
("C-c o p" . terminal-here-project-launch)))
|
||||
|
||||
(use-package whitespace)
|
||||
(require 'whitespace)
|
||||
(setq whitespace-line-column 80) ;; limit line length
|
||||
(setq whitespace-style '(face lines-tail))
|
||||
|
||||
;; Automatically clean whitespace
|
||||
(use-package ws-butler
|
||||
:hook ((text-mode . ws-butler-mode)
|
||||
(prog-mode . ws-butler-mode)))
|
||||
|
||||
(use-package ivy
|
||||
:diminish
|
||||
:bind (("C-s" . swiper)
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-alt-done)
|
||||
("C-f" . ivy-alt-done)
|
||||
("C-l" . ivy-alt-done)
|
||||
("C-j" . ivy-next-line)
|
||||
("C-k" . ivy-previous-line)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-l" . ivy-done)
|
||||
("C-d" . ivy-switch-buffer-kill)
|
||||
:map ivy-reverse-i-search-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:init
|
||||
(ivy-mode 1)
|
||||
:config
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(setq ivy-wrap t)
|
||||
(setq ivy-count-format "(%d/%d) ")
|
||||
(setq enable-recursive-minibuffers t)
|
||||
|
||||
;; Use different regex strategies per completion command
|
||||
(push '(completion-at-point . ivy--regex-fuzzy) ivy-re-builders-alist) ;; This doesn't seem to work...
|
||||
(push '(swiper . ivy--regex-ignore-order) ivy-re-builders-alist)
|
||||
(push '(counsel-M-x . ivy--regex-ignore-order) ivy-re-builders-alist)
|
||||
|
||||
;; Set minibuffer height for different commands
|
||||
(setf (alist-get 'counsel-projectile-ag ivy-height-alist) 15)
|
||||
(setf (alist-get 'counsel-projectile-rg ivy-height-alist) 15)
|
||||
(setf (alist-get 'swiper ivy-height-alist) 15)
|
||||
(setf (alist-get 'counsel-switch-buffer ivy-height-alist) 7))
|
||||
|
||||
(use-package ivy-hydra
|
||||
:defer t
|
||||
:after hydra)
|
||||
|
||||
(use-package ivy-rich
|
||||
:init
|
||||
(ivy-rich-mode 1)
|
||||
:after counsel
|
||||
:config
|
||||
(setq ivy-format-function #'ivy-format-function-line)
|
||||
(setq ivy-rich-display-transformers-list
|
||||
(plist-put ivy-rich-display-transformers-list
|
||||
'ivy-switch-buffer
|
||||
'(:columns
|
||||
((ivy-rich-candidate (:width 40))
|
||||
(ivy-rich-switch-buffer-indicators (:width 4 :face error :align right)); return the buffer indicators
|
||||
(ivy-rich-switch-buffer-major-mode (:width 12 :face warning)) ; return the major mode info
|
||||
(ivy-rich-switch-buffer-project (:width 15 :face success)) ; return project name using `projectile'
|
||||
(ivy-rich-switch-buffer-path (:width (lambda (x) (ivy-rich-switch-buffer-shorten-path x (ivy-rich-minibuffer-width 0.3)))))) ; return file path relative to project root or `default-directory' if project is nil
|
||||
:predicate
|
||||
(lambda (cand)
|
||||
(if-let ((buffer (get-buffer cand)))
|
||||
;; Don't mess with EXWM buffers
|
||||
(with-current-buffer buffer
|
||||
(not (derived-mode-p 'exwm-mode)))))))))
|
||||
|
||||
(use-package counsel
|
||||
:after ivy
|
||||
:bind (("M-x" . counsel-M-x)
|
||||
("C-x b" . counsel-ibuffer)
|
||||
("C-x C-f" . counsel-find-file)
|
||||
("C-M-j" . counsel-switch-buffer)
|
||||
("C-M-l" . counsel-imenu)
|
||||
:map minibuffer-local-map
|
||||
("C-r" . 'counsel-minibuffer-history))
|
||||
:custom
|
||||
(counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
||||
:config
|
||||
(setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^
|
||||
|
||||
(use-package flx ;; Improves sorting for fuzzy-matched results
|
||||
:after ivy
|
||||
:defer t
|
||||
:init
|
||||
(setq ivy-flx-limit 10000))
|
||||
|
||||
(use-package wgrep)
|
||||
|
||||
(use-package ivy-posframe
|
||||
:disabled
|
||||
:custom
|
||||
(ivy-posframe-width 115)
|
||||
(ivy-posframe-min-width 115)
|
||||
(ivy-posframe-height 10)
|
||||
(ivy-posframe-min-height 10)
|
||||
:config
|
||||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
||||
(setq ivy-posframe-parameters '((parent-frame . nil)
|
||||
(left-fringe . 8)
|
||||
(right-fringe . 8)))
|
||||
(ivy-posframe-mode 1))
|
||||
|
||||
(use-package prescient
|
||||
:after counsel
|
||||
:config
|
||||
(prescient-persist-mode 1))
|
||||
|
||||
(use-package ivy-prescient
|
||||
:after prescient
|
||||
:config
|
||||
(ivy-prescient-mode 1))
|
||||
|
||||
;;(dw/leader-key-def
|
||||
;; "r" '(ivy-resume :which-key "ivy resume")
|
||||
;; "f" '(:ignore t :which-key "files")
|
||||
;; "ff" '(counsel-find-file :which-key "open file")
|
||||
;; "C-f" 'counsel-find-file
|
||||
;; "fr" '(counsel-recentf :which-key "recent files")
|
||||
;; "fR" '(revert-buffer :which-key "revert file")
|
||||
;; "fj" '(counsel-file-jump :which-key "jump to file"))
|
||||
|
||||
;; Dired
|
||||
(require 'dired-x)
|
||||
(setq dired-omit-files "^\\...+$")
|
||||
(add-hook 'dired-mode-hook (lambda () (dired-omit-mode 1)))
|
||||
(add-hook 'dired-mode-hook 'auto-revert-mode)
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
(setq auto-revert-verbose nil)
|
||||
|
||||
;; Elpher
|
||||
(advice-add 'eww-browse-url :around 'elpher:eww-browse-url)
|
||||
|
||||
;; eww
|
||||
(defun elpher:eww-browse-url (original url &optional new-window)
|
||||
"Handle gemini links."
|
||||
(cond ((string-match-p "\\`\\(gemini\\|gopher\\)://" url)
|
||||
(require 'elpher)
|
||||
(elpher-go url))
|
||||
(t (funcall original url new-window))))
|
||||
|
||||
;;; Eshell
|
||||
(setq eshell-prompt-regexp "^[^αλ\n]*[αλ] ")
|
||||
(setq eshell-prompt-function
|
||||
(lambda nil
|
||||
(concat
|
||||
(if (string= (eshell/pwd) (getenv "HOME"))
|
||||
(propertize "~" 'face `(:foreground "#99CCFF"))
|
||||
(replace-regexp-in-string
|
||||
(getenv "HOME")
|
||||
(propertize "~" 'face `(:foreground "#99CCFF"))
|
||||
(propertize (eshell/pwd) 'face `(:foreground "#99CCFF"))))
|
||||
(if (= (user-uid) 0)
|
||||
(propertize " α " 'face `(:foreground "#FF6666"))
|
||||
(propertize " λ " 'face `(:foreground "#A6E22E"))))))
|
||||
|
||||
(setq eshell-highlight-prompt nil)
|
||||
|
||||
(require 'emms-setup)
|
||||
(emms-all)
|
||||
(emms-default-players)
|
||||
(setq emms-source-file-default-directory "~/songs/")
|
||||
(setq emms-info-asynchronously nil)
|
||||
(setq emms-playlist-buffer-name "*Music*")
|
||||
|
||||
;; ERC
|
||||
;;(erc :server "irc.freenode.net" :port 6667 :nick "b2r1s8")
|
||||
;;(setq erc-autojoin-channels-alist
|
||||
;; '(("freenode.net" "#gentoo" "#gentoo-chat" "#ratpoison" "#perl" "#monero" "#emacs" "#emacs-beginners" "#emacs-offtopic" "#org-mode")))
|
|
@ -0,0 +1,876 @@
|
|||
#+title: Emacs Configuration
|
||||
#+author: b2r1s8@gen2
|
||||
#+date: 2021-02-08
|
||||
#+startup: hidestars odd overview
|
||||
|
||||
I've been using emacs for a while now and dicided that it is time to convert my configs to org mode.
|
||||
|
||||
This configuration uses the [[https://github.com/jwiegley/use-package][use-package]] package from John Wiegley, which is
|
||||
a fantastic way to manage package configurations.
|
||||
|
||||
* Personal Information
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(setq user-full-name "b2r1s8"
|
||||
user-mail-address "")
|
||||
|
||||
#+end_src
|
||||
|
||||
* Sane defaults
|
||||
|
||||
The default emacs config is ugly and not efficient.
|
||||
|
||||
** Startup Performance
|
||||
|
||||
Make startup faster by reducing the frequency of garbage collection and then use a hook to measure Emacs startup time.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; The default is 800 kilobytes. Measured in bytes.
|
||||
(setq gc-cons-threshold (* 50 1000 1000))
|
||||
|
||||
;; Profile emacs startup
|
||||
(add-hook 'emacs-startup-hook
|
||||
(lambda ()
|
||||
(message "*** Emacs loaded in %s with %d garbage collections."
|
||||
(format "%.2f seconds"
|
||||
(float-time
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Customizing emacs
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Fist things first
|
||||
(setq inhibit-startup-message t)
|
||||
(tool-bar-mode -1) ;; Remove tool bar C-x u undo | C-w cut | M-w copy | C-y paste
|
||||
(menu-bar-mode -1) ;; Remove menus
|
||||
(scroll-bar-mode -1) ;; Remove scroll bar
|
||||
(global-hl-line-mode t) ;; Show current line
|
||||
(global-prettify-symbols-mode t) ;; Prettify symbols mode
|
||||
(set-face-attribute 'default nil :height 80) ;; Font size
|
||||
(column-number-mode 1) ;; Colummns numeration
|
||||
(show-paren-mode 1) ;; Show parent parentesis
|
||||
(setq visible-bell t) ;; Visible bell
|
||||
;;(setq-default header-line-format mode-line-format)
|
||||
(setq-default mode-line-format nil)
|
||||
(setq-default header-line-format nil)
|
||||
(setq
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
backup-directory-alist
|
||||
'(("." . "~/.emacs.d/backups/")) ; don't litter my fs tree
|
||||
delete-old-versions t
|
||||
kept-new-versions 6
|
||||
kept-old-versions 2
|
||||
version-control t) ; use versioned backups
|
||||
|
||||
;; Tabbar
|
||||
(use-package tabbar)
|
||||
(tab-bar-mode 1) ;; Additing tabs
|
||||
|
||||
;; Show time and date on the mode line
|
||||
(setq display-time-day-and-date t)
|
||||
(setq display-time-format "%a %b %F %R")
|
||||
(display-time-mode 1)
|
||||
|
||||
;; Frame tansparency
|
||||
(set-frame-parameter (selected-frame) 'alpha '(75 . 75))
|
||||
(add-to-list 'default-frame-alist '(alpha . (75 . 75)))
|
||||
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
|
||||
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||
|
||||
;; Line numbers
|
||||
(global-linum-mode t)
|
||||
(setq linum-format "%2d \u2502")
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
shell-mode-hook
|
||||
treemacs-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
;; Border
|
||||
(setq frame-resize-pixelwise t)
|
||||
(set-frame-parameter nil 'fullscreen 'fullboth)
|
||||
|
||||
;; Keep all backup and auto-save files in one directory
|
||||
(setq backup-directory-alist '(("." . "~/.emacs.d/backups")))
|
||||
(setq auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)))
|
||||
|
||||
;; UTF-8 please
|
||||
(setq locale-coding-system 'utf-8) ; pretty
|
||||
(set-terminal-coding-system 'utf-8) ; pretty
|
||||
(set-keyboard-coding-system 'utf-8) ; pretty
|
||||
(set-selection-coding-system 'utf-8) ; please
|
||||
(prefer-coding-system 'utf-8) ; with sugar on top
|
||||
|
||||
;; Identation:
|
||||
(setq-default tab-width 2)
|
||||
(setq-default standard-indent 2)
|
||||
(setq c-basic-offset tab-width)
|
||||
(setq-default electric-indent-inhibit t)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
(setq backward-delete-char-untabify-method 'nil)
|
||||
|
||||
;; Enable bracket pair-matching
|
||||
(setq electric-pair-pairs '(
|
||||
(?\{ . ?\})
|
||||
(?\( . ?\))
|
||||
(?\[ . ?\])
|
||||
(?\" . ?\")
|
||||
))
|
||||
(electric-pair-mode t)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Changing how focus work
|
||||
|
||||
This fuction change the focus to the new window
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;;; Mude o foco p/ novas janelas
|
||||
(defun split-and-follow-horizontally ()
|
||||
(interactive)
|
||||
(split-window-below)
|
||||
(balance-windows)
|
||||
(other-window 1))
|
||||
|
||||
(defun split-and-follow-vertically ()
|
||||
(interactive)
|
||||
(split-window-right)
|
||||
(balance-windows)
|
||||
(other-window 1))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Alias
|
||||
|
||||
Some alias that make my life easier
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Alias
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
(defalias 'open 'find-file-other-window)
|
||||
(defalias 'clean 'eshell/clear-scrollback)
|
||||
(defalias 'list-buffers 'ibuffer)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Key binds
|
||||
|
||||
Some key binds to make my life easier
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(global-unset-key (kbd "C-z")) ;; Unbind C-z
|
||||
(global-unset-key (kbd "C-Z")) ;; Unbind C-Z
|
||||
(global-set-key (kbd "s-<up>") 'windmove-up)
|
||||
(global-set-key (kbd "s-<down>") 'windmove-down)
|
||||
(global-set-key (kbd "s-<right>") 'windmove-right)
|
||||
(global-set-key (kbd "s-<left>") 'windmove-left)
|
||||
(global-set-key (kbd "C-<tab>") 'other-window)
|
||||
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
|
||||
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
|
||||
(global-set-key (kbd "C-c l") 'org-store-link)
|
||||
(global-set-key (kbd "C-c a") 'org-agenda)
|
||||
(global-set-key (kbd "C-c c") 'org-capture)
|
||||
#+end_src
|
||||
|
||||
** Functions
|
||||
|
||||
Some Functions that I use.
|
||||
|
||||
*** Dashboard
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Open new tab on the dashboard
|
||||
(defun new-tab ()
|
||||
(interactive)
|
||||
(tab-new-to)
|
||||
(switch-to-buffer (get-buffer-create "*dashboard*")))
|
||||
(global-set-key (kbd "s-x") 'new-tab)
|
||||
(global-set-key (kbd "s-X") 'tab-close)
|
||||
|
||||
#+end_src
|
||||
|
||||
*** Midnight + cleanbuffer-list
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Configuring desktop
|
||||
;;(require 'desktop)
|
||||
;; (desktop-save-mode 1)
|
||||
;; (defun my-desktop-save ()
|
||||
;; (interactive)
|
||||
;; ;; Don't call desktop-save-in-desktop-dir, as it prints a message.
|
||||
;; (if (eq (desktop-owner) (emacs-pid))
|
||||
;; (desktop-save desktop-dirname)))
|
||||
;; (add-hook 'auto-save-hook 'my-desktop-save)
|
||||
;;
|
||||
;;(setq clean-buffer-list-delay-general 1)
|
||||
;;
|
||||
;;;; Configuring midnight
|
||||
;;(require 'midnight)
|
||||
;;(midnight-delay-set 'midnight-delay "6:30am")
|
||||
|
||||
#+end_src
|
||||
|
||||
* Packages
|
||||
|
||||
Some packages that I use.
|
||||
|
||||
** Dashboard
|
||||
|
||||
A beatiful and usefull dashboard.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
:defer nil
|
||||
:preface
|
||||
(defun init-edit ()
|
||||
"Edit initialization file."
|
||||
(interactive)
|
||||
(find-file "~/.emacs.d/init.el"))
|
||||
(defun conf-edit ()
|
||||
"Edit configuration file."
|
||||
(interactive)
|
||||
(find-file "~/.emacs.d/config.org"))
|
||||
(defun create-scratch-buffer ()
|
||||
"Create a scratch buffer."
|
||||
(interactive)
|
||||
(switch-to-buffer (get-buffer-create "*scratch*"))
|
||||
(lisp-interaction-mode))
|
||||
:config
|
||||
(dashboard-setup-startup-hook)
|
||||
(setq dashboard-items '((recents . 25)))
|
||||
(setq dashboard-banner-logo-title "Welcome to Emacs!")
|
||||
(setq dashboard-startup-banner "~/.emacs.d/img/emacs.png")
|
||||
(setq dashboard-center-content t)
|
||||
(setq dashboard-show-shortcuts nil)
|
||||
(setq dashboard-set-init-info t)
|
||||
(setq dashboard-init-info (format "%d packages loaded in %s"
|
||||
(length package-activated-list) (emacs-init-time)))
|
||||
(setq dashboard-set-footer nil)
|
||||
(setq dashboard-set-navigator t)
|
||||
(setq dashboard-navigator-buttons
|
||||
`(((,nil
|
||||
"Open init.el file."
|
||||
"Open Emacs initialization file for easy editing."
|
||||
(lambda (&rest _) (init-edit))
|
||||
'default)
|
||||
(nil
|
||||
"Open config.org file."
|
||||
"Open Emacs configuration file for easy editing."
|
||||
(lambda (&rest _) (conf-edit))
|
||||
'default)
|
||||
(nil
|
||||
"Open scratch buffer."
|
||||
"Switch to the scratch buffer."
|
||||
(lambda (&rest _) (create-scratch-buffer))
|
||||
'default)))))
|
||||
|
||||
#+end_src
|
||||
|
||||
** PDFTools
|
||||
|
||||
Change viewdoc to pdfview with pdftools
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package pdf-tools
|
||||
:defer t
|
||||
:commands (pdf-view-mode pdf-tools-install)
|
||||
:mode ("\\.[pP][dD][fF]\\'" . pdf-view-mode)
|
||||
:load-path "site-lisp/pdf-tools/lisp"
|
||||
:magic ("%PDF" . pdf-view-mode)
|
||||
:config
|
||||
(pdf-tools-install)
|
||||
(define-pdf-cache-function pagelabels)
|
||||
:hook ((pdf-view-mode-hook . (lambda () (display-line-numbers-mode -1)))
|
||||
(pdf-view-mode-hook . pdf-tools-enable-minor-modes)))
|
||||
(use-package pdf-view-restore
|
||||
:after pdf-tools
|
||||
:config
|
||||
(add-hook 'pdf-view-mode-hook 'pdf-view-restore-mode))
|
||||
|
||||
;;(use-package org-pdftools
|
||||
;; :hook (org-load-hook . org-pdftools-setup-link))
|
||||
|
||||
(add-hook 'pdf-view-mode-hook (lambda() (linum-mode -1)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** ORG Mode
|
||||
|
||||
Org mode configurantion.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Org init
|
||||
(use-package org
|
||||
:config
|
||||
(add-hook 'org-mode-hook
|
||||
'(lambda ()
|
||||
(visual-line-mode 1)))
|
||||
(setq org-display-inline-images t)
|
||||
(setq org-redisplay-inline-images t)
|
||||
(setq org-startup-with-inline-images "inlineimages")
|
||||
(setq org-directory "~/.emacs.d/org")
|
||||
(setq org-agenda-files (list "inbox.org"))
|
||||
(global-set-key (kbd "C-<f1>") (lambda()
|
||||
(interactive)
|
||||
(outline-show-all))))
|
||||
(use-package org-bullets
|
||||
:config
|
||||
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
|
||||
|
||||
(use-package htmlize
|
||||
:ensure t)
|
||||
|
||||
;; src exec
|
||||
(org-babel-do-load-languages 'org-babel-load-languages
|
||||
'(
|
||||
(shell . t)
|
||||
)
|
||||
)
|
||||
|
||||
(setq org-src-fontify-natively t
|
||||
org-src-window-setup 'current-window
|
||||
org-src-strip-leading-and-trailing-blank-lines t
|
||||
org-src-preserve-indentation t
|
||||
org-src-tab-acts-natively t)
|
||||
|
||||
(require 'org-tempo)
|
||||
|
||||
;; And that'll allow you to type "<sh", "<el", "<py", "<conf" followed by tab to create src blocks for those languages, and you can add as many others as you want.
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||
(add-to-list 'org-structure-template-alist '("conf" . "src conf"))
|
||||
|
||||
;; Org default head
|
||||
;;(add-to-list 'org-structure-template-alist
|
||||
;; '("p" "#+title:\n#+author: b2r1s8@gen2\n#+date:\n#+startup: hidestars odd overview\n\n? "))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Doom-modeline
|
||||
|
||||
Default Doom-modeline
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1))
|
||||
(setq doom-modeline-height 5)
|
||||
|
||||
;; Hide mode-line when is not usefull
|
||||
(setq doom-hide-modeline-mode t)
|
||||
|
||||
;; The limit of the window width.
|
||||
;; If `window-width' is smaller than the limit, some information won't be displayed.
|
||||
(setq doom-modeline-window-width-limit fill-column)
|
||||
;; Whether display the icon for `major-mode'. It respects `doom-modeline-icon'.
|
||||
(setq doom-modeline-major-mode-icon t)
|
||||
|
||||
;; Whether display the colorful icon for `major-mode'.
|
||||
;; It respects `all-the-icons-color-icons'.
|
||||
(setq doom-modeline-major-mode-color-icon t)
|
||||
|
||||
;; Whether display the icon for the buffer state. It respects `doom-modeline-icon'.
|
||||
(setq doom-modeline-buffer-state-icon t)
|
||||
|
||||
;; Whether display the modification icon for the buffer.
|
||||
;; It respects `doom-modeline-icon' and `doom-modeline-buffer-state-icon'.
|
||||
(setq doom-modeline-buffer-modification-icon t)
|
||||
|
||||
;; Whether display the buffer encoding.
|
||||
(setq doom-modeline-buffer-encoding t)
|
||||
|
||||
;; If non-nil, only display one number for checker information if applicable.
|
||||
(setq doom-modeline-checker-simple-format t)
|
||||
|
||||
;; Whether display the workspace name. Non-nil to display in the mode-line.
|
||||
(setq doom-modeline-workspace-name t)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Ace window
|
||||
|
||||
This packages make easy to move around windows.
|
||||
|
||||
- x -> delete window
|
||||
- m -> swap windows
|
||||
- M -> move window
|
||||
- c -> copy window
|
||||
- j -> select buffer
|
||||
- n -> select the previous window
|
||||
- u -> select buffer in the other window
|
||||
- c -> split window fairly, either vertically or horizontally
|
||||
- v -> split window vertically
|
||||
- b -> split window horizontally
|
||||
- o -> maximize current window
|
||||
- ? -> show these command bindings
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package ace-window
|
||||
:ensure t
|
||||
:bind (("C-o" . ace-window)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Which-key
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package which-key
|
||||
:ensure t
|
||||
:diminish which-key-mode
|
||||
:init
|
||||
(which-key-mode)
|
||||
:config
|
||||
(setq which-key-idle-delay 0.3))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Swiper
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package swiper
|
||||
:ensure t
|
||||
:bind ("s-s" . 'swiper))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Beacon
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package beacon
|
||||
:ensure t
|
||||
:diminish beacon-mode
|
||||
:init
|
||||
(beacon-mode 1))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Async
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package async
|
||||
:ensure t
|
||||
:init
|
||||
(dired-async-mode 1))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Page-break-lines
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package page-break-lines
|
||||
:ensure t
|
||||
:diminish (page-break-lines-mode visual-line-mode))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Undoo-tree
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package undo-tree
|
||||
:ensure t
|
||||
:diminish undo-tree-mode)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Saveplace
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package saveplace
|
||||
:defer nil
|
||||
:config
|
||||
(save-place-mode))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Eldoc
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package eldoc
|
||||
:diminish eldoc-mode)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Try
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package try
|
||||
:ensure t)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Auto-complete
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package auto-complete
|
||||
:ensure t
|
||||
:init
|
||||
(progn
|
||||
(ac-config-default)
|
||||
(global-auto-complete-mode t)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Neotree
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package neotree
|
||||
:ensure t
|
||||
:bind (("C-\\" . 'neotree-toggle))) ;; Ativa a tree
|
||||
|
||||
#+end_src
|
||||
|
||||
** Color-theme-modern
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package color-theme-modern
|
||||
:ensure t)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Flycheck
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package flycheck
|
||||
:ensure t
|
||||
:init (global-flycheck-mode t))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Recentf
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package recentf
|
||||
:config
|
||||
(recentf-mode t)
|
||||
(setq recentf-max-saved-items 500))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Expand region
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package expand-region
|
||||
:ensure t
|
||||
:bind ("C-@" . er/expand-region))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Smoothscrolling
|
||||
|
||||
This makes it so ~C-n~-ing and ~C-p~-ing won't make the buffer jump
|
||||
around so much.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package smooth-scrolling
|
||||
:ensure t
|
||||
:config
|
||||
(smooth-scrolling-mode))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Webmode
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
|
||||
(use-package web-mode
|
||||
:ensure t)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Emmet
|
||||
|
||||
According to [[http://emmet.io/][their website]], "Emmet — the essential toolkit for web-developers."
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package emmet-mode
|
||||
:ensure t
|
||||
:commands emmet-mode
|
||||
:config
|
||||
(add-hook 'html-mode-hook 'emmet-mode)
|
||||
(add-hook 'css-mode-hookg 'emmet-mode))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Scratch major mode
|
||||
|
||||
Convenient package to create =*scratch*= buffers that are based on the
|
||||
current buffer's major mode. This is more convienent than manually
|
||||
creating a buffer to do some scratch work or reusing the initial
|
||||
=*scratch*= buffer.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package scratch
|
||||
:ensure t
|
||||
:commands scratch)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Shell pop
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
||||
(use-package shell-pop
|
||||
:ensure t
|
||||
:bind ("M-<f12>" . shell-pop))
|
||||
|
||||
#+END_SRC
|
||||
|
||||
** Quickrun
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
||||
(use-package quickrun
|
||||
:defer 10
|
||||
:ensure t
|
||||
:bind ("C-c r" . quickrun))
|
||||
|
||||
#+END_SRC
|
||||
|
||||
** terminal-here
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package terminal-here
|
||||
:ensure t
|
||||
:bind (("C-c o t" . terminal-here-launch)
|
||||
("C-c o p" . terminal-here-project-launch)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Whitespace
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package whitespace)
|
||||
(require 'whitespace)
|
||||
(setq whitespace-line-column 80) ;; limit line length
|
||||
(setq whitespace-style '(face lines-tail))
|
||||
|
||||
;; Automatically clean whitespace
|
||||
(use-package ws-butler
|
||||
:hook ((text-mode . ws-butler-mode)
|
||||
(prog-mode . ws-butler-mode)))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Ivy
|
||||
|
||||
I currently use Ivy, Counsel, and Swiper to navigate around files, buffers, and
|
||||
projects super quickly. Here are some workflow notes on how to best use Ivy:
|
||||
|
||||
- While in an Ivy minibuffer, you can search within the current results by using =S-Space=.
|
||||
- To quickly jump to an item in the minibuffer, use =C-'= to get Avy line jump keys.
|
||||
- To see actions for the selected minibuffer item, use =M-o= and then press the action's key.
|
||||
- *Super useful*: Use =C-c C-o= to open =ivy-occur= to open the search results in a separate buffer. From there you can click any item to perform the ivy action.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(use-package ivy
|
||||
:diminish
|
||||
:bind (("C-s" . swiper)
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-alt-done)
|
||||
("C-f" . ivy-alt-done)
|
||||
("C-l" . ivy-alt-done)
|
||||
("C-j" . ivy-next-line)
|
||||
("C-k" . ivy-previous-line)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-l" . ivy-done)
|
||||
("C-d" . ivy-switch-buffer-kill)
|
||||
:map ivy-reverse-i-search-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:init
|
||||
(ivy-mode 1)
|
||||
:config
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(setq ivy-wrap t)
|
||||
(setq ivy-count-format "(%d/%d) ")
|
||||
(setq enable-recursive-minibuffers t)
|
||||
|
||||
;; Use different regex strategies per completion command
|
||||
(push '(completion-at-point . ivy--regex-fuzzy) ivy-re-builders-alist) ;; This doesn't seem to work...
|
||||
(push '(swiper . ivy--regex-ignore-order) ivy-re-builders-alist)
|
||||
(push '(counsel-M-x . ivy--regex-ignore-order) ivy-re-builders-alist)
|
||||
|
||||
;; Set minibuffer height for different commands
|
||||
(setf (alist-get 'counsel-projectile-ag ivy-height-alist) 15)
|
||||
(setf (alist-get 'counsel-projectile-rg ivy-height-alist) 15)
|
||||
(setf (alist-get 'swiper ivy-height-alist) 15)
|
||||
(setf (alist-get 'counsel-switch-buffer ivy-height-alist) 7))
|
||||
|
||||
(use-package ivy-hydra
|
||||
:defer t
|
||||
:after hydra)
|
||||
|
||||
(use-package ivy-rich
|
||||
:init
|
||||
(ivy-rich-mode 1)
|
||||
:after counsel
|
||||
:config
|
||||
(setq ivy-format-function #'ivy-format-function-line)
|
||||
(setq ivy-rich-display-transformers-list
|
||||
(plist-put ivy-rich-display-transformers-list
|
||||
'ivy-switch-buffer
|
||||
'(:columns
|
||||
((ivy-rich-candidate (:width 40))
|
||||
(ivy-rich-switch-buffer-indicators (:width 4 :face error :align right)); return the buffer indicators
|
||||
(ivy-rich-switch-buffer-major-mode (:width 12 :face warning)) ; return the major mode info
|
||||
(ivy-rich-switch-buffer-project (:width 15 :face success)) ; return project name using `projectile'
|
||||
(ivy-rich-switch-buffer-path (:width (lambda (x) (ivy-rich-switch-buffer-shorten-path x (ivy-rich-minibuffer-width 0.3)))))) ; return file path relative to project root or `default-directory' if project is nil
|
||||
:predicate
|
||||
(lambda (cand)
|
||||
(if-let ((buffer (get-buffer cand)))
|
||||
;; Don't mess with EXWM buffers
|
||||
(with-current-buffer buffer
|
||||
(not (derived-mode-p 'exwm-mode)))))))))
|
||||
|
||||
(use-package counsel
|
||||
:after ivy
|
||||
:bind (("M-x" . counsel-M-x)
|
||||
("C-x b" . counsel-ibuffer)
|
||||
("C-x C-f" . counsel-find-file)
|
||||
("C-M-j" . counsel-switch-buffer)
|
||||
("C-M-l" . counsel-imenu)
|
||||
:map minibuffer-local-map
|
||||
("C-r" . 'counsel-minibuffer-history))
|
||||
:custom
|
||||
(counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
||||
:config
|
||||
(setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^
|
||||
|
||||
(use-package flx ;; Improves sorting for fuzzy-matched results
|
||||
:after ivy
|
||||
:defer t
|
||||
:init
|
||||
(setq ivy-flx-limit 10000))
|
||||
|
||||
(use-package wgrep)
|
||||
|
||||
(use-package ivy-posframe
|
||||
:disabled
|
||||
:custom
|
||||
(ivy-posframe-width 115)
|
||||
(ivy-posframe-min-width 115)
|
||||
(ivy-posframe-height 10)
|
||||
(ivy-posframe-min-height 10)
|
||||
:config
|
||||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
||||
(setq ivy-posframe-parameters '((parent-frame . nil)
|
||||
(left-fringe . 8)
|
||||
(right-fringe . 8)))
|
||||
(ivy-posframe-mode 1))
|
||||
|
||||
(use-package prescient
|
||||
:after counsel
|
||||
:config
|
||||
(prescient-persist-mode 1))
|
||||
|
||||
(use-package ivy-prescient
|
||||
:after prescient
|
||||
:config
|
||||
(ivy-prescient-mode 1))
|
||||
|
||||
;;(dw/leader-key-def
|
||||
;; "r" '(ivy-resume :which-key "ivy resume")
|
||||
;; "f" '(:ignore t :which-key "files")
|
||||
;; "ff" '(counsel-find-file :which-key "open file")
|
||||
;; "C-f" 'counsel-find-file
|
||||
;; "fr" '(counsel-recentf :which-key "recent files")
|
||||
;; "fR" '(revert-buffer :which-key "revert file")
|
||||
;; "fj" '(counsel-file-jump :which-key "jump to file"))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Packages config
|
||||
|
||||
Configuration for packages
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
;; Dired
|
||||
(require 'dired-x)
|
||||
(setq dired-omit-files "^\\...+$")
|
||||
(add-hook 'dired-mode-hook (lambda () (dired-omit-mode 1)))
|
||||
(add-hook 'dired-mode-hook 'auto-revert-mode)
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
(setq auto-revert-verbose nil)
|
||||
|
||||
;; Elpher
|
||||
(advice-add 'eww-browse-url :around 'elpher:eww-browse-url)
|
||||
|
||||
;; eww
|
||||
(defun elpher:eww-browse-url (original url &optional new-window)
|
||||
"Handle gemini links."
|
||||
(cond ((string-match-p "\\`\\(gemini\\|gopher\\)://" url)
|
||||
(require 'elpher)
|
||||
(elpher-go url))
|
||||
(t (funcall original url new-window))))
|
||||
|
||||
;;; Eshell
|
||||
(setq eshell-prompt-regexp "^[^αλ\n]*[αλ] ")
|
||||
(setq eshell-prompt-function
|
||||
(lambda nil
|
||||
(concat
|
||||
(if (string= (eshell/pwd) (getenv "HOME"))
|
||||
(propertize "~" 'face `(:foreground "#99CCFF"))
|
||||
(replace-regexp-in-string
|
||||
(getenv "HOME")
|
||||
(propertize "~" 'face `(:foreground "#99CCFF"))
|
||||
(propertize (eshell/pwd) 'face `(:foreground "#99CCFF"))))
|
||||
(if (= (user-uid) 0)
|
||||
(propertize " α " 'face `(:foreground "#FF6666"))
|
||||
(propertize " λ " 'face `(:foreground "#A6E22E"))))))
|
||||
|
||||
(setq eshell-highlight-prompt nil)
|
||||
|
||||
(require 'emms-setup)
|
||||
(emms-all)
|
||||
(emms-default-players)
|
||||
(setq emms-source-file-default-directory "~/songs/")
|
||||
(setq emms-info-asynchronously nil)
|
||||
(setq emms-playlist-buffer-name "*Music*")
|
||||
|
||||
;; ERC
|
||||
;;(erc :server "irc.freenode.net" :port 6667 :nick "b2r1s8")
|
||||
;;(setq erc-autojoin-channels-alist
|
||||
;; '(("freenode.net" "#gentoo" "#gentoo-chat" "#ratpoison" "#perl" "#monero" "#emacs" "#emacs-beginners" "#emacs-offtopic" "#org-mode")))
|
||||
|
||||
#+end_src
|
|
@ -0,0 +1,78 @@
|
|||
;;; ace-window-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "ace-window" "ace-window.el" (0 0 0 0))
|
||||
;;; Generated autoloads from ace-window.el
|
||||
|
||||
(autoload 'ace-select-window "ace-window" "\
|
||||
Ace select window." t nil)
|
||||
|
||||
(autoload 'ace-delete-window "ace-window" "\
|
||||
Ace delete window." t nil)
|
||||
|
||||
(autoload 'ace-swap-window "ace-window" "\
|
||||
Ace swap window." t nil)
|
||||
|
||||
(autoload 'ace-delete-other-windows "ace-window" "\
|
||||
Ace delete other windows." t nil)
|
||||
|
||||
(autoload 'ace-display-buffer "ace-window" "\
|
||||
Make `display-buffer' and `pop-to-buffer' select using `ace-window'.
|
||||
See sample config for `display-buffer-base-action' and `display-buffer-alist':
|
||||
https://github.com/abo-abo/ace-window/wiki/display-buffer.
|
||||
|
||||
\(fn BUFFER ALIST)" nil nil)
|
||||
|
||||
(autoload 'ace-window "ace-window" "\
|
||||
Select a window.
|
||||
Perform an action based on ARG described below.
|
||||
|
||||
By default, behaves like extended `other-window'.
|
||||
See `aw-scope' which extends it to work with frames.
|
||||
|
||||
Prefixed with one \\[universal-argument], does a swap between the
|
||||
selected window and the current window, so that the selected
|
||||
buffer moves to current window (and current buffer moves to
|
||||
selected window).
|
||||
|
||||
Prefixed with two \\[universal-argument]'s, deletes the selected
|
||||
window.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(defvar ace-window-display-mode nil "\
|
||||
Non-nil if Ace-Window-Display mode is enabled.
|
||||
See the `ace-window-display-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `ace-window-display-mode'.")
|
||||
|
||||
(custom-autoload 'ace-window-display-mode "ace-window" nil)
|
||||
|
||||
(autoload 'ace-window-display-mode "ace-window" "\
|
||||
Minor mode for showing the ace window key in the mode line.
|
||||
|
||||
If called interactively, enable Ace-Window-Display mode if ARG is
|
||||
positive, and disable it if ARG is zero or negative. If called
|
||||
from Lisp, also enable the mode if ARG is omitted or nil, and
|
||||
toggle it if ARG is `toggle'; disable the mode otherwise.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ace-window" '("ace-window-mode" "aw-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; ace-window-autoloads.el ends here
|
|
@ -0,0 +1,2 @@
|
|||
;;; Generated package description from ace-window.el -*- no-byte-compile: t -*-
|
||||
(define-package "ace-window" "20200606.1259" "Quickly switch windows." '((avy "0.5.0")) :commit "0577c426a9833ab107bab46c60d1885c611b2fb9" :authors '(("Oleh Krehel" . "ohwoeowho@gmail.com")) :maintainer '("Oleh Krehel" . "ohwoeowho@gmail.com") :keywords '("window" "location") :url "https://github.com/abo-abo/ace-window")
|
|
@ -0,0 +1,958 @@
|
|||
;;; ace-window.el --- Quickly switch windows. -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2020 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; Maintainer: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; URL: https://github.com/abo-abo/ace-window
|
||||
;; Package-Version: 20200606.1259
|
||||
;; Package-Commit: 0577c426a9833ab107bab46c60d1885c611b2fb9
|
||||
;; Version: 0.10.0
|
||||
;; Package-Requires: ((avy "0.5.0"))
|
||||
;; Keywords: window, location
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; This file is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 3, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; For a full copy of the GNU General Public License
|
||||
;; see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; The main function, `ace-window' is meant to replace `other-window'
|
||||
;; by assigning each window a short, unique label. When there are only
|
||||
;; two windows present, `other-window' is called (unless
|
||||
;; aw-dispatch-always is set non-nil). If there are more, each
|
||||
;; window will have its first label character highlighted. Once a
|
||||
;; unique label is typed, ace-window will switch to that window.
|
||||
;;
|
||||
;; To setup this package, just add to your .emacs:
|
||||
;;
|
||||
;; (global-set-key (kbd "M-o") 'ace-window)
|
||||
;;
|
||||
;; replacing "M-o" with an appropriate shortcut.
|
||||
;;
|
||||
;; By default, ace-window uses numbers for window labels so the window
|
||||
;; labeling is intuitively ordered. But if you prefer to type keys on
|
||||
;; your home row for quicker access, use this setting:
|
||||
;;
|
||||
;; (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))
|
||||
;;
|
||||
;; Whenever ace-window prompts for a window selection, it grays out
|
||||
;; all the window characters, highlighting window labels in red. To
|
||||
;; disable this behavior, set this:
|
||||
;;
|
||||
;; (setq aw-background nil)
|
||||
;;
|
||||
;; If you want to know the selection characters ahead of time, turn on
|
||||
;; `ace-window-display-mode'.
|
||||
;;
|
||||
;; When prefixed with one `universal-argument', instead of switching
|
||||
;; to the selected window, the selected window is swapped with the
|
||||
;; current one.
|
||||
;;
|
||||
;; When prefixed with two `universal-argument', the selected window is
|
||||
;; deleted instead.
|
||||
|
||||
;;; Code:
|
||||
(require 'avy)
|
||||
(require 'ring)
|
||||
(require 'subr-x)
|
||||
|
||||
;;* Customization
|
||||
(defgroup ace-window nil
|
||||
"Quickly switch current window."
|
||||
:group 'convenience
|
||||
:prefix "aw-")
|
||||
|
||||
(defcustom aw-keys '(?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9)
|
||||
"Keys for selecting window."
|
||||
:type '(repeat character))
|
||||
|
||||
(defcustom aw-scope 'global
|
||||
"The scope used by `ace-window'."
|
||||
:type '(choice
|
||||
(const :tag "visible frames" visible)
|
||||
(const :tag "global" global)
|
||||
(const :tag "frame" frame)))
|
||||
|
||||
(defcustom aw-translate-char-function #'identity
|
||||
"Function to translate user input key into another key.
|
||||
For example, to make SPC do the same as ?a, use
|
||||
\(lambda (c) (if (= c 32) ?a c))."
|
||||
:type '(choice
|
||||
(const :tag "Off" #'identity)
|
||||
(const :tag "Ignore Case" #'downcase)
|
||||
(function :tag "Custom")))
|
||||
|
||||
(defcustom aw-minibuffer-flag nil
|
||||
"When non-nil, also display `ace-window-mode' string in the minibuffer when ace-window is active."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-ignored-buffers '("*Calc Trail*" " *LV*")
|
||||
"List of buffers and major-modes to ignore when choosing a window from the window list.
|
||||
Active only when `aw-ignore-on' is non-nil."
|
||||
:type '(repeat string))
|
||||
|
||||
(defcustom aw-ignore-on t
|
||||
"When t, `ace-window' will ignore buffers and major-modes in `aw-ignored-buffers'.
|
||||
Use M-0 `ace-window' to toggle this value."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-ignore-current nil
|
||||
"When t, `ace-window' will ignore `selected-window'."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-background t
|
||||
"When t, `ace-window' will dim out all buffers temporarily when used."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-leading-char-style 'char
|
||||
"Style of the leading char overlay."
|
||||
:type '(choice
|
||||
(const :tag "single char" 'char)
|
||||
(const :tag "full path" 'path)))
|
||||
|
||||
(defcustom aw-dispatch-always nil
|
||||
"When non-nil, `ace-window' will issue a `read-char' even for one window.
|
||||
This will make `ace-window' act different from `other-window' for
|
||||
one or two windows."
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-dispatch-when-more-than 2
|
||||
"If the number of windows is more than this, activate ace-window-ness."
|
||||
:type 'integer)
|
||||
|
||||
(defcustom aw-reverse-frame-list nil
|
||||
"When non-nil `ace-window' will order frames for selection in
|
||||
the reverse of `frame-list'"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom aw-frame-offset '(13 . 23)
|
||||
"Increase in pixel offset for new ace-window frames relative to the selected frame.
|
||||
Its value is an (x-offset . y-offset) pair in pixels."
|
||||
:type '(cons integer integer))
|
||||
|
||||
(defcustom aw-frame-size nil
|
||||
"Frame size to make new ace-window frames.
|
||||
Its value is a (width . height) pair in pixels or nil for the default frame size.
|
||||
(0 . 0) is special and means make the frame size the same as the last selected frame size."
|
||||
:type '(cons integer integer))
|
||||
|
||||
(defcustom aw-char-position 'top-left
|
||||
"Window positions of the character overlay.
|
||||
Consider changing this if the overlay tends to overlap with other things."
|
||||
:type '(choice
|
||||
(const :tag "top left corner only" 'top-left)
|
||||
(const :tag "both left corners" 'left)))
|
||||
|
||||
;; Must be defined before `aw-make-frame-char' since its :set function references this.
|
||||
(defvar aw-dispatch-alist
|
||||
'((?x aw-delete-window "Delete Window")
|
||||
(?m aw-swap-window "Swap Windows")
|
||||
(?M aw-move-window "Move Window")
|
||||
(?c aw-copy-window "Copy Window")
|
||||
(?j aw-switch-buffer-in-window "Select Buffer")
|
||||
(?n aw-flip-window)
|
||||
(?u aw-switch-buffer-other-window "Switch Buffer Other Window")
|
||||
(?e aw-execute-command-other-window "Execute Command Other Window")
|
||||
(?F aw-split-window-fair "Split Fair Window")
|
||||
(?v aw-split-window-vert "Split Vert Window")
|
||||
(?b aw-split-window-horz "Split Horz Window")
|
||||
(?o delete-other-windows "Delete Other Windows")
|
||||
(?T aw-transpose-frame "Transpose Frame")
|
||||
;; ?i ?r ?t are used by hyperbole.el
|
||||
(?? aw-show-dispatch-help))
|
||||
"List of actions for `aw-dispatch-default'.
|
||||
Each action is a list of either:
|
||||
(char function description) where function takes a single window argument
|
||||
or
|
||||
(char function) where function takes no argument and the description is omitted.")
|
||||
|
||||
(defun aw-set-make-frame-char (option value)
|
||||
;; Signal an error if `aw-make-frame-char' is ever set to an invalid
|
||||
;; or conflicting value.
|
||||
(when value
|
||||
(cond ((not (characterp value))
|
||||
(user-error "`aw-make-frame-char' must be a character, not `%s'" value))
|
||||
((memq value aw-keys)
|
||||
(user-error "`aw-make-frame-char' is `%c'; this conflicts with the same character in `aw-keys'" value))
|
||||
((assq value aw-dispatch-alist)
|
||||
(user-error "`aw-make-frame-char' is `%c'; this conflicts with the same character in `aw-dispatch-alist'" value))))
|
||||
(set option value))
|
||||
|
||||
(defcustom aw-make-frame-char ?z
|
||||
"Non-existing ace window label character that triggers creation of a new single-window frame for display."
|
||||
:set 'aw-set-make-frame-char
|
||||
:type 'character)
|
||||
|
||||
(defface aw-leading-char-face
|
||||
'((((class color)) (:foreground "red"))
|
||||
(((background dark)) (:foreground "gray100"))
|
||||
(((background light)) (:foreground "gray0"))
|
||||
(t (:foreground "gray100" :underline nil)))
|
||||
"Face for each window's leading char.")
|
||||
|
||||
(defface aw-minibuffer-leading-char-face
|
||||
'((t :inherit aw-leading-char-face))
|
||||
"Face for minibuffer leading char.")
|
||||
|
||||
(defface aw-background-face
|
||||
'((t (:foreground "gray40")))
|
||||
"Face for whole window background during selection.")
|
||||
|
||||
(defface aw-mode-line-face
|
||||
'((t (:inherit mode-line-buffer-id)))
|
||||
"Face used for displaying the ace window key in the mode-line.")
|
||||
|
||||
(defface aw-key-face
|
||||
'((t :inherit font-lock-builtin-face))
|
||||
"Face used by `aw-show-dispatch-help'.")
|
||||
|
||||
;;* Implementation
|
||||
(defun aw-ignored-p (window)
|
||||
"Return t if WINDOW should be ignored when choosing from the window list."
|
||||
(or (and aw-ignore-on
|
||||
;; Ignore major-modes and buffer-names in `aw-ignored-buffers'.
|
||||
(or (memq (buffer-local-value 'major-mode (window-buffer window))
|
||||
aw-ignored-buffers)
|
||||
(member (buffer-name (window-buffer window)) aw-ignored-buffers)))
|
||||
;; ignore child frames
|
||||
(and (fboundp 'frame-parent) (frame-parent (window-frame window)))
|
||||
;; Ignore selected window if `aw-ignore-current' is non-nil.
|
||||
(and aw-ignore-current
|
||||
(equal window (selected-window)))
|
||||
;; When `ignore-window-parameters' is nil, ignore windows whose
|
||||
;; `no-other-window’ or `no-delete-other-windows' parameter is non-nil.
|
||||
(unless ignore-window-parameters
|
||||
(cl-case this-command
|
||||
(ace-select-window (window-parameter window 'no-other-window))
|
||||
(ace-delete-window (window-parameter window 'no-delete-other-windows))
|
||||
(ace-delete-other-windows (window-parameter
|
||||
window 'no-delete-other-windows))))))
|
||||
|
||||
(defun aw-window-list ()
|
||||
"Return the list of interesting windows."
|
||||
(sort
|
||||
(cl-remove-if
|
||||
(lambda (w)
|
||||
(let ((f (window-frame w)))
|
||||
(or (not (and (frame-live-p f)
|
||||
(frame-visible-p f)))
|
||||
(string= "initial_terminal" (terminal-name f))
|
||||
(aw-ignored-p w))))
|
||||
(cl-case aw-scope
|
||||
(visible
|
||||
(cl-mapcan #'window-list (visible-frame-list)))
|
||||
(global
|
||||
(cl-mapcan #'window-list (frame-list)))
|
||||
(frame
|
||||
(window-list))
|
||||
(t
|
||||
(error "Invalid `aw-scope': %S" aw-scope))))
|
||||
'aw-window<))
|
||||
|
||||
(defvar aw-overlays-back nil
|
||||
"Hold overlays for when `aw-background' is t.")
|
||||
|
||||
(defvar ace-window-mode nil
|
||||
"Minor mode during the selection process.")
|
||||
|
||||
;; register minor mode
|
||||
(or (assq 'ace-window-mode minor-mode-alist)
|
||||
(nconc minor-mode-alist
|
||||
(list '(ace-window-mode ace-window-mode))))
|
||||
|
||||
(defvar aw-empty-buffers-list nil
|
||||
"Store the read-only empty buffers which had to be modified.
|
||||
Modify them back eventually.")
|
||||
|
||||
(defvar aw--windows-hscroll nil
|
||||
"List of (window . hscroll-columns) items, each listing a window whose
|
||||
horizontal scroll will be restored upon ace-window action completion.")
|
||||
|
||||
(defvar aw--windows-points nil
|
||||
"List of (window . point) items. The point position had to be
|
||||
moved in order to display the overlay.")
|
||||
|
||||
(defun aw--done ()
|
||||
"Clean up mode line and overlays."
|
||||
;; mode line
|
||||
(aw-set-mode-line nil)
|
||||
;; background
|
||||
(mapc #'delete-overlay aw-overlays-back)
|
||||
(setq aw-overlays-back nil)
|
||||
(avy--remove-leading-chars)
|
||||
(dolist (b aw-empty-buffers-list)
|
||||
(with-current-buffer b
|
||||
(when (string= (buffer-string) " ")
|
||||
(let ((inhibit-read-only t))
|
||||
(delete-region (point-min) (point-max))))))
|
||||
(setq aw-empty-buffers-list nil)
|
||||
(aw--restore-windows-hscroll)
|
||||
(let (c)
|
||||
(while (setq c (pop aw--windows-points))
|
||||
(with-selected-window (car c)
|
||||
(goto-char (cdr c))))))
|
||||
|
||||
(defun aw--restore-windows-hscroll ()
|
||||
"Restore horizontal scroll of windows from `aw--windows-hscroll' list."
|
||||
(let (wnd hscroll)
|
||||
(mapc (lambda (wnd-and-hscroll)
|
||||
(setq wnd (car wnd-and-hscroll)
|
||||
hscroll (cdr wnd-and-hscroll))
|
||||
(when (window-live-p wnd)
|
||||
(set-window-hscroll wnd hscroll)))
|
||||
aw--windows-hscroll))
|
||||
(setq aw--windows-hscroll nil))
|
||||
|
||||
(defun aw--overlay-str (wnd pos path)
|
||||
"Return the replacement text for an overlay in WND at POS,
|
||||
accessible by typing PATH."
|
||||
(let ((old-str (or
|
||||
(ignore-errors
|
||||
(with-selected-window wnd
|
||||
(buffer-substring pos (1+ pos))))
|
||||
"")))
|
||||
(concat
|
||||
(cl-case aw-leading-char-style
|
||||
(char
|
||||
(string (avy--key-to-char (car (last path)))))
|
||||
(path
|
||||
(mapconcat
|
||||
(lambda (x) (string (avy--key-to-char x)))
|
||||
(reverse path)
|
||||
""))
|
||||
(t
|
||||
(error "Bad `aw-leading-char-style': %S"
|
||||
aw-leading-char-style)))
|
||||
(cond ((string-equal old-str "\t")
|
||||
(make-string (1- tab-width) ?\ ))
|
||||
((string-equal old-str "\n")
|
||||
"\n")
|
||||
(t
|
||||
(make-string
|
||||
(max 0 (1- (string-width old-str)))
|
||||
?\ ))))))
|
||||
|
||||
(defun aw--point-visible-p ()
|
||||
"Return non-nil if point is visible in the selected window.
|
||||
Return nil when horizontal scrolling has moved it off screen."
|
||||
(and (>= (- (current-column) (window-hscroll)) 0)
|
||||
(< (- (current-column) (window-hscroll))
|
||||
(window-width))))
|
||||
|
||||
(defun aw--lead-overlay (path leaf)
|
||||
"Create an overlay using PATH at LEAF.
|
||||
LEAF is (PT . WND)."
|
||||
;; Properly adds overlay in visible region of most windows except for any one
|
||||
;; receiving output while this function is executing, since that moves point,
|
||||
;; potentially shifting the added overlay outside the window's visible region.
|
||||
(let ((wnd (cdr leaf))
|
||||
;; Prevent temporary movement of point from scrolling any window.
|
||||
(scroll-margin 0))
|
||||
(with-selected-window wnd
|
||||
(when (= 0 (buffer-size))
|
||||
(push (current-buffer) aw-empty-buffers-list)
|
||||
(let ((inhibit-read-only t))
|
||||
(insert " ")))
|
||||
;; If point is not visible due to horizontal scrolling of the
|
||||
;; window, this next expression temporarily scrolls the window
|
||||
;; right until point is visible, so that the leading-char can be
|
||||
;; seen when it is inserted. When ace-window's action finishes,
|
||||
;; the horizontal scroll is restored by (aw--done).
|
||||
(while (and (not (aw--point-visible-p))
|
||||
(not (zerop (window-hscroll)))
|
||||
(progn (push (cons (selected-window) (window-hscroll)) aw--windows-hscroll) t)
|
||||
(not (zerop (scroll-right)))))
|
||||
(let* ((ws (window-start))
|
||||
(prev nil)
|
||||
(vertical-pos (if (eq aw-char-position 'left) -1 0))
|
||||
(horizontal-pos (if (zerop (window-hscroll)) 0 (1+ (window-hscroll))))
|
||||
(old-pt (point))
|
||||
(pt
|
||||
(progn
|
||||
;; If leading-char is to be displayed at the top-left, move
|
||||
;; to the first visible line in the window, otherwise, move
|
||||
;; to the last visible line.
|
||||
(move-to-window-line vertical-pos)
|
||||
(move-to-column horizontal-pos)
|
||||
;; Find a nearby point that is not at the end-of-line but
|
||||
;; is visible so have space for the overlay.
|
||||
(setq prev (1- (point)))
|
||||
(while (and (>= prev ws) (/= prev (point)) (eolp))
|
||||
(setq prev (point))
|
||||
(unless (bobp)
|
||||
(line-move -1 t)
|
||||
(move-to-column horizontal-pos)))
|
||||
(recenter vertical-pos)
|
||||
(point)))
|
||||
(ol (make-overlay pt (1+ pt) (window-buffer wnd))))
|
||||
(if (= (aw--face-rel-height) 1)
|
||||
(goto-char old-pt)
|
||||
(when (/= pt old-pt)
|
||||
(goto-char (+ pt 1))
|
||||
(push (cons wnd old-pt) aw--windows-points)))
|
||||
(overlay-put ol 'display (aw--overlay-str wnd pt path))
|
||||
(if (window-minibuffer-p wnd)
|
||||
(overlay-put ol 'face 'aw-minibuffer-leading-char-face)
|
||||
(overlay-put ol 'face 'aw-leading-char-face))
|
||||
(overlay-put ol 'window wnd)
|
||||
(push ol avy--overlays-lead)))))
|
||||
|
||||
(defun aw--make-backgrounds (wnd-list)
|
||||
"Create a dim background overlay for each window on WND-LIST."
|
||||
(when aw-background
|
||||
(setq aw-overlays-back
|
||||
(mapcar (lambda (w)
|
||||
(let ((ol (make-overlay
|
||||
(window-start w)
|
||||
(window-end w)
|
||||
(window-buffer w))))
|
||||
(overlay-put ol 'face 'aw-background-face)
|
||||
ol))
|
||||
wnd-list))))
|
||||
|
||||
(defvar aw-dispatch-function 'aw-dispatch-default
|
||||
"Function to call when a character not in `aw-keys' is pressed.")
|
||||
|
||||
(defvar aw-action nil
|
||||
"Function to call at the end of `aw-select'.")
|
||||
|
||||
(defun aw-set-mode-line (str)
|
||||
"Set mode line indicator to STR."
|
||||
(setq ace-window-mode str)
|
||||
(when (and aw-minibuffer-flag ace-window-mode)
|
||||
(message "%s" (string-trim-left str)))
|
||||
(force-mode-line-update))
|
||||
|
||||
(defun aw--dispatch-action (char)
|
||||
"Return item from `aw-dispatch-alist' matching CHAR."
|
||||
(assoc char aw-dispatch-alist))
|
||||
|
||||
(defun aw-make-frame ()
|
||||
"Make a new Emacs frame using the values of `aw-frame-size' and `aw-frame-offset'."
|
||||
(make-frame
|
||||
(delq nil
|
||||
(list
|
||||
;; This first parameter is important because an
|
||||
;; aw-dispatch-alist command may not want to leave this
|
||||
;; frame with input focus. If it is given focus, the
|
||||
;; command may not be able to return focus to a different
|
||||
;; frame since this is done asynchronously by the window
|
||||
;; manager.
|
||||
'(no-focus-on-map . t)
|
||||
(when aw-frame-size
|
||||
(cons 'width
|
||||
(if (zerop (car aw-frame-size))
|
||||
(frame-width)
|
||||
(car aw-frame-size))))
|
||||
(when aw-frame-size
|
||||
(cons 'height
|
||||
(if (zerop (cdr aw-frame-size))
|
||||
(frame-height)
|
||||
(car aw-frame-size))))
|
||||
(cons 'left (+ (car aw-frame-offset)
|
||||
(car (frame-position))))
|
||||
(cons 'top (+ (cdr aw-frame-offset)
|
||||
(cdr (frame-position))))))))
|
||||
|
||||
(defun aw-use-frame (window)
|
||||
"Create a new frame using the contents of WINDOW.
|
||||
|
||||
The new frame is set to the same size as the previous frame, offset by
|
||||
`aw-frame-offset' (x . y) pixels."
|
||||
(aw-switch-to-window window)
|
||||
(aw-make-frame))
|
||||
|
||||
(defun aw-clean-up-avy-current-path ()
|
||||
"Edit `avy-current-path' so only window label characters remain."
|
||||
;; Remove any possible ace-window command char that may
|
||||
;; precede the last specified window label, so
|
||||
;; functions can use `avy-current-path' as the chosen
|
||||
;; window label.
|
||||
(when (and (> (length avy-current-path) 0)
|
||||
(assq (aref avy-current-path 0) aw-dispatch-alist))
|
||||
(setq avy-current-path (substring avy-current-path 1))))
|
||||
|
||||
(defun aw-dispatch-default (char)
|
||||
"Perform an action depending on CHAR."
|
||||
(cond ((and (fboundp 'avy-mouse-event-window)
|
||||
(avy-mouse-event-window char)))
|
||||
((= char (aref (kbd "C-g") 0))
|
||||
(throw 'done 'exit))
|
||||
((and aw-make-frame-char (= char aw-make-frame-char))
|
||||
;; Make a new frame and perform any action on its window.
|
||||
(let ((start-win (selected-window))
|
||||
(end-win (frame-selected-window (aw-make-frame))))
|
||||
(if aw-action
|
||||
;; Action must be called from the start-win. The action
|
||||
;; determines which window to leave selected.
|
||||
(progn (select-frame-set-input-focus (window-frame start-win))
|
||||
(funcall aw-action end-win))
|
||||
;; Select end-win when no action
|
||||
(aw-switch-to-window end-win)))
|
||||
(throw 'done 'exit))
|
||||
(t
|
||||
(let ((action (aw--dispatch-action char)))
|
||||
(if action
|
||||
(cl-destructuring-bind (_key fn &optional description) action
|
||||
(if (and fn description)
|
||||
(prog1 (setq aw-action fn)
|
||||
(aw-set-mode-line (format " Ace - %s" description)))
|
||||
(if (commandp fn)
|
||||
(call-interactively fn)
|
||||
(funcall fn))
|
||||
(throw 'done 'exit)))
|
||||
(aw-clean-up-avy-current-path)
|
||||
;; Prevent any char from triggering an avy dispatch command.
|
||||
(let ((avy-dispatch-alist))
|
||||
(avy-handler-default char)))))))
|
||||
|
||||
(defcustom aw-display-mode-overlay t
|
||||
"When nil, don't display overlays. Rely on the mode line instead."
|
||||
:type 'boolean)
|
||||
|
||||
(defvar ace-window-display-mode)
|
||||
|
||||
(defun aw-select (mode-line &optional action)
|
||||
"Return a selected other window.
|
||||
Amend MODE-LINE to the mode line for the duration of the selection."
|
||||
(setq aw-action action)
|
||||
(let ((start-window (selected-window))
|
||||
(next-window-scope (cl-case aw-scope
|
||||
('visible 'visible)
|
||||
('global 'visible)
|
||||
('frame 'frame)))
|
||||
(wnd-list (aw-window-list))
|
||||
window)
|
||||
(setq window
|
||||
(cond ((<= (length wnd-list) 1)
|
||||
(when aw-dispatch-always
|
||||
(setq aw-action
|
||||
(unwind-protect
|
||||
(catch 'done
|
||||
(funcall aw-dispatch-function (read-char)))
|
||||
(aw--done)))
|
||||
(when (eq aw-action 'exit)
|
||||
(setq aw-action nil)))
|
||||
(or (car wnd-list) start-window))
|
||||
((and (<= (+ (length wnd-list) (if (aw-ignored-p start-window) 1 0))
|
||||
aw-dispatch-when-more-than)
|
||||
(not aw-dispatch-always)
|
||||
(not aw-ignore-current))
|
||||
(let ((wnd (next-window nil nil next-window-scope)))
|
||||
(while (and (or (not (memq wnd wnd-list))
|
||||
(aw-ignored-p wnd))
|
||||
(not (equal wnd start-window)))
|
||||
(setq wnd (next-window wnd nil next-window-scope)))
|
||||
wnd))
|
||||
(t
|
||||
(let ((candidate-list
|
||||
(mapcar (lambda (wnd)
|
||||
(cons (aw-offset wnd) wnd))
|
||||
wnd-list)))
|
||||
(aw--make-backgrounds wnd-list)
|
||||
(aw-set-mode-line mode-line)
|
||||
;; turn off helm transient map
|
||||
(remove-hook 'post-command-hook 'helm--maybe-update-keymap)
|
||||
(unwind-protect
|
||||
(let* ((avy-handler-function aw-dispatch-function)
|
||||
(avy-translate-char-function aw-translate-char-function)
|
||||
(transient-mark-mode nil)
|
||||
(res (avy-read (avy-tree candidate-list aw-keys)
|
||||
(if (and ace-window-display-mode
|
||||
(null aw-display-mode-overlay))
|
||||
(lambda (_path _leaf))
|
||||
#'aw--lead-overlay)
|
||||
#'avy--remove-leading-chars)))
|
||||
(if (eq res 'exit)
|
||||
(setq aw-action nil)
|
||||
(or (cdr res)
|
||||
start-window)))
|
||||
(aw--done))))))
|
||||
(if aw-action
|
||||
(funcall aw-action window)
|
||||
window)))
|
||||
|
||||
;;* Interactive
|
||||
;;;###autoload
|
||||
(defun ace-select-window ()
|
||||
"Ace select window."
|
||||
(interactive)
|
||||
(aw-select " Ace - Window"
|
||||
#'aw-switch-to-window))
|
||||
|
||||
;;;###autoload
|
||||
(defun ace-delete-window ()
|
||||
"Ace delete window."
|
||||
(interactive)
|
||||
(aw-select " Ace - Delete Window"
|
||||
#'aw-delete-window))
|
||||
|
||||
;;;###autoload
|
||||
(defun ace-swap-window ()
|
||||
"Ace swap window."
|
||||
(interactive)
|
||||
(aw-select " Ace - Swap Window"
|
||||
#'aw-swap-window))
|
||||
|
||||
;;;###autoload
|
||||
(defun ace-delete-other-windows ()
|
||||
"Ace delete other windows."
|
||||
(interactive)
|
||||
(aw-select " Ace - Delete Other Windows"
|
||||
#'delete-other-windows))
|
||||
|
||||
;;;###autoload
|
||||
(defun ace-display-buffer (buffer alist)
|
||||
"Make `display-buffer' and `pop-to-buffer' select using `ace-window'.
|
||||
See sample config for `display-buffer-base-action' and `display-buffer-alist':
|
||||
https://github.com/abo-abo/ace-window/wiki/display-buffer."
|
||||
(let* ((aw-ignore-current (cdr (assq 'inhibit-same-window alist)))
|
||||
(rf (cdr (assq 'reusable-frames alist)))
|
||||
(aw-scope (cl-case rf
|
||||
((nil) 'frame)
|
||||
(visible 'visible)
|
||||
((0 t) 'global))))
|
||||
(unless (or (<= (length (aw-window-list)) 1)
|
||||
(not aw-scope))
|
||||
(window--display-buffer
|
||||
buffer (aw-select "Ace - Display Buffer") 'reuse))))
|
||||
|
||||
(declare-function transpose-frame "ext:transpose-frame")
|
||||
(defun aw-transpose-frame (w)
|
||||
"Select any window on frame and `tranpose-frame'."
|
||||
(transpose-frame (window-frame w)))
|
||||
|
||||
;;;###autoload
|
||||
(defun ace-window (arg)
|
||||
"Select a window.
|
||||
Perform an action based on ARG described below.
|
||||
|
||||
By default, behaves like extended `other-window'.
|
||||
See `aw-scope' which extends it to work with frames.
|
||||
|
||||
Prefixed with one \\[universal-argument], does a swap between the
|
||||
selected window and the current window, so that the selected
|
||||
buffer moves to current window (and current buffer moves to
|
||||
selected window).
|
||||
|
||||
Prefixed with two \\[universal-argument]'s, deletes the selected
|
||||
window."
|
||||
(interactive "p")
|
||||
(setq avy-current-path "")
|
||||
(cl-case arg
|
||||
(0
|
||||
(let ((aw-ignore-on (not aw-ignore-on)))
|
||||
(ace-select-window)))
|
||||
(4 (ace-swap-window))
|
||||
(16 (ace-delete-window))
|
||||
(t (ace-select-window))))
|
||||
|
||||
;;* Utility
|
||||
(unless (fboundp 'frame-position)
|
||||
(defun frame-position (&optional frame)
|
||||
(let ((pl (frame-parameter frame 'left))
|
||||
(pt (frame-parameter frame 'top)))
|
||||
(when (consp pl)
|
||||
(setq pl (eval pl)))
|
||||
(when (consp pt)
|
||||
(setq pt (eval pt)))
|
||||
(cons pl pt))))
|
||||
|
||||
(defun aw-window< (wnd1 wnd2)
|
||||
"Return true if WND1 is less than WND2.
|
||||
This is determined by their respective window coordinates.
|
||||
Windows are numbered top down, left to right."
|
||||
(let* ((f1 (window-frame wnd1))
|
||||
(f2 (window-frame wnd2))
|
||||
(e1 (window-edges wnd1))
|
||||
(e2 (window-edges wnd2))
|
||||
(p1 (frame-position f1))
|
||||
(p2 (frame-position f2))
|
||||
(nl (or (null (car p1)) (null (car p2)))))
|
||||
(cond ((and (not nl) (< (car p1) (car p2)))
|
||||
(not aw-reverse-frame-list))
|
||||
((and (not nl) (> (car p1) (car p2)))
|
||||
aw-reverse-frame-list)
|
||||
((< (car e1) (car e2))
|
||||
t)
|
||||
((> (car e1) (car e2))
|
||||
nil)
|
||||
((< (cadr e1) (cadr e2))
|
||||
t))))
|
||||
|
||||
(defvar aw--window-ring (make-ring 10)
|
||||
"Hold the window switching history.")
|
||||
|
||||
(defun aw--push-window (window)
|
||||
"Store WINDOW to `aw--window-ring'."
|
||||
(when (or (zerop (ring-length aw--window-ring))
|
||||
(not (equal
|
||||
(ring-ref aw--window-ring 0)
|
||||
window)))
|
||||
(ring-insert aw--window-ring (selected-window))))
|
||||
|
||||
(defun aw--pop-window ()
|
||||
"Return the removed top of `aw--window-ring'."
|
||||
(let (res)
|
||||
(condition-case nil
|
||||
(while (or (not (window-live-p
|
||||
(setq res (ring-remove aw--window-ring 0))))
|
||||
(equal res (selected-window))))
|
||||
(error
|
||||
(if (= (length (aw-window-list)) 2)
|
||||
(progn
|
||||
(other-window 1)
|
||||
(setq res (selected-window)))
|
||||
(error "No previous windows stored"))))
|
||||
res))
|
||||
|
||||
(defun aw-switch-to-window (window)
|
||||
"Switch to the window WINDOW."
|
||||
(let ((frame (window-frame window)))
|
||||
(aw--push-window (selected-window))
|
||||
(when (and (frame-live-p frame)
|
||||
(not (eq frame (selected-frame))))
|
||||
(select-frame-set-input-focus frame))
|
||||
(if (window-live-p window)
|
||||
(select-window window)
|
||||
(error "Got a dead window %S" window))))
|
||||
|
||||
(defun aw-flip-window ()
|
||||
"Switch to the window you were previously in."
|
||||
(interactive)
|
||||
(aw-switch-to-window (aw--pop-window)))
|
||||
|
||||
(defun aw-show-dispatch-help ()
|
||||
"Display action shortucts in echo area."
|
||||
(interactive)
|
||||
(message "%s" (mapconcat
|
||||
(lambda (action)
|
||||
(cl-destructuring-bind (key fn &optional description) action
|
||||
(format "%s: %s"
|
||||
(propertize
|
||||
(char-to-string key)
|
||||
'face 'aw-key-face)
|
||||
(or description fn))))
|
||||
aw-dispatch-alist
|
||||
"\n"))
|
||||
;; Prevent this from replacing any help display
|
||||
;; in the minibuffer.
|
||||
(let (aw-minibuffer-flag)
|
||||
(mapc #'delete-overlay aw-overlays-back)
|
||||
(call-interactively 'ace-window)))
|
||||
|
||||
(defun aw-delete-window (window &optional kill-buffer)
|
||||
"Delete window WINDOW.
|
||||
When KILL-BUFFER is non-nil, also kill the buffer."
|
||||
(let ((frame (window-frame window)))
|
||||
(when (and (frame-live-p frame)
|
||||
(not (eq frame (selected-frame))))
|
||||
(select-frame-set-input-focus (window-frame window)))
|
||||
(if (= 1 (length (window-list)))
|
||||
(delete-frame frame)
|
||||
(if (window-live-p window)
|
||||
(let ((buffer (window-buffer window)))
|
||||
(delete-window window)
|
||||
(when kill-buffer
|
||||
(kill-buffer buffer)))
|
||||
(error "Got a dead window %S" window)))))
|
||||
|
||||
(defun aw-switch-buffer-in-window (window)
|
||||
"Select buffer in WINDOW."
|
||||
(aw-switch-to-window window)
|
||||
(aw--switch-buffer))
|
||||
|
||||
(declare-function ivy-switch-buffer "ext:ivy")
|
||||
|
||||
(defun aw--switch-buffer ()
|
||||
(cond ((bound-and-true-p ivy-mode)
|
||||
(ivy-switch-buffer))
|
||||
((bound-and-true-p ido-mode)
|
||||
(ido-switch-buffer))
|
||||
(t
|
||||
(call-interactively 'switch-to-buffer))))
|
||||
|
||||
(defcustom aw-swap-invert nil
|
||||
"When non-nil, the other of the two swapped windows gets the point."
|
||||
:type 'boolean)
|
||||
|
||||
(defun aw-swap-window (window)
|
||||
"Swap buffers of current window and WINDOW."
|
||||
(cl-labels ((swap-windows (window1 window2)
|
||||
"Swap the buffers of WINDOW1 and WINDOW2."
|
||||
(let ((buffer1 (window-buffer window1))
|
||||
(buffer2 (window-buffer window2)))
|
||||
(set-window-buffer window1 buffer2)
|
||||
(set-window-buffer window2 buffer1)
|
||||
(select-window window2))))
|
||||
(let ((frame (window-frame window))
|
||||
(this-window (selected-window)))
|
||||
(when (and (frame-live-p frame)
|
||||
(not (eq frame (selected-frame))))
|
||||
(select-frame-set-input-focus (window-frame window)))
|
||||
(when (and (window-live-p window)
|
||||
(not (eq window this-window)))
|
||||
(aw--push-window this-window)
|
||||
(if aw-swap-invert
|
||||
(swap-windows window this-window)
|
||||
(swap-windows this-window window))))))
|
||||
|
||||
(defun aw-move-window (window)
|
||||
"Move the current buffer to WINDOW.
|
||||
Switch the current window to the previous buffer."
|
||||
(let ((buffer (current-buffer)))
|
||||
(switch-to-buffer (other-buffer))
|
||||
(aw-switch-to-window window)
|
||||
(switch-to-buffer buffer)))
|
||||
|
||||
(defun aw-copy-window (window)
|
||||
"Copy the current buffer to WINDOW - including window-start and point."
|
||||
(let ((buffer (current-buffer))
|
||||
(window-start (window-start))
|
||||
(point (point)))
|
||||
(aw-switch-to-window window)
|
||||
(switch-to-buffer buffer)
|
||||
(set-window-start (frame-selected-window) window-start)
|
||||
(goto-char point)))
|
||||
|
||||
(defun aw-split-window-vert (window)
|
||||
"Split WINDOW vertically."
|
||||
(select-window window)
|
||||
(split-window-vertically))
|
||||
|
||||
(defun aw-split-window-horz (window)
|
||||
"Split WINDOW horizontally."
|
||||
(select-window window)
|
||||
(split-window-horizontally))
|
||||
|
||||
(defcustom aw-fair-aspect-ratio 2
|
||||
"The aspect ratio to aim for when splitting windows.
|
||||
Sizes are based on the number of characters, not pixels.
|
||||
Increase to prefer wider windows, or decrease for taller windows."
|
||||
:type 'number)
|
||||
|
||||
(defun aw-split-window-fair (window)
|
||||
"Split WINDOW vertically or horizontally, based on its current dimensions.
|
||||
Modify `aw-fair-aspect-ratio' to tweak behavior."
|
||||
(let ((w (window-body-width window))
|
||||
(h (window-body-height window)))
|
||||
(if (< (* h aw-fair-aspect-ratio) w)
|
||||
(aw-split-window-horz window)
|
||||
(aw-split-window-vert window))))
|
||||
|
||||
(defun aw-switch-buffer-other-window (window)
|
||||
"Switch buffer in WINDOW."
|
||||
(aw-switch-to-window window)
|
||||
(unwind-protect
|
||||
(aw--switch-buffer)
|
||||
(aw-flip-window)))
|
||||
|
||||
(defun aw-execute-command-other-window (window)
|
||||
"Execute a command in WINDOW."
|
||||
(aw-switch-to-window window)
|
||||
(unwind-protect
|
||||
(funcall
|
||||
(key-binding
|
||||
(read-key-sequence
|
||||
"Enter key sequence: ")))
|
||||
(aw-flip-window)))
|
||||
|
||||
(defun aw--face-rel-height ()
|
||||
(let ((h (face-attribute 'aw-leading-char-face :height)))
|
||||
(cond
|
||||
((eq h 'unspecified)
|
||||
1)
|
||||
((floatp h)
|
||||
(max (floor h) 1))
|
||||
((integerp h)
|
||||
1)
|
||||
(t
|
||||
(error "unexpected: %s" h)))))
|
||||
|
||||
(defun aw-offset (window)
|
||||
"Return point in WINDOW that's closest to top left corner.
|
||||
The point is writable, i.e. it's not part of space after newline."
|
||||
(let ((h (window-hscroll window))
|
||||
(beg (window-start window))
|
||||
(end (window-end window))
|
||||
(inhibit-field-text-motion t))
|
||||
(with-current-buffer (window-buffer window)
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(forward-line (1-
|
||||
(min
|
||||
(count-lines
|
||||
(point)
|
||||
(point-max))
|
||||
(aw--face-rel-height))))
|
||||
(while (and (< (point) end)
|
||||
(< (- (line-end-position)
|
||||
(line-beginning-position))
|
||||
h))
|
||||
(forward-line))
|
||||
(+ (point) h)))))
|
||||
|
||||
(defun aw--after-make-frame (f)
|
||||
(aw-update)
|
||||
(make-frame-visible f))
|
||||
|
||||
;;* Mode line
|
||||
;;;###autoload
|
||||
(define-minor-mode ace-window-display-mode
|
||||
"Minor mode for showing the ace window key in the mode line."
|
||||
:global t
|
||||
(if ace-window-display-mode
|
||||
(progn
|
||||
(aw-update)
|
||||
(set-default
|
||||
'mode-line-format
|
||||
`((ace-window-display-mode
|
||||
(:eval (window-parameter (selected-window) 'ace-window-path)))
|
||||
,@(assq-delete-all
|
||||
'ace-window-display-mode
|
||||
(default-value 'mode-line-format))))
|
||||
(force-mode-line-update t)
|
||||
(add-hook 'window-configuration-change-hook 'aw-update)
|
||||
;; Add at the end so does not precede select-frame call.
|
||||
(add-hook 'after-make-frame-functions #'aw--after-make-frame t))
|
||||
(set-default
|
||||
'mode-line-format
|
||||
(assq-delete-all
|
||||
'ace-window-display-mode
|
||||
(default-value 'mode-line-format)))
|
||||
(remove-hook 'window-configuration-change-hook 'aw-update)
|
||||
(remove-hook 'after-make-frame-functions 'aw--after-make-frame)))
|
||||
|
||||
(defun aw-update ()
|
||||
"Update ace-window-path window parameter for all windows.
|
||||
|
||||
Ensure all windows are labeled so the user can select a specific
|
||||
one, even from the set of windows typically ignored when making a
|
||||
window list."
|
||||
(let ((aw-ignore-on)
|
||||
(aw-ignore-current)
|
||||
(ignore-window-parameters t))
|
||||
(avy-traverse
|
||||
(avy-tree (aw-window-list) aw-keys)
|
||||
(lambda (path leaf)
|
||||
(set-window-parameter
|
||||
leaf 'ace-window-path
|
||||
(propertize
|
||||
(apply #'string (reverse path))
|
||||
'face 'aw-mode-line-face))))))
|
||||
|
||||
(provide 'ace-window)
|
||||
|
||||
;;; ace-window.el ends here
|
Binary file not shown.
|
@ -0,0 +1,75 @@
|
|||
;;; all-the-icons-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "all-the-icons" "all-the-icons.el" (0 0 0 0))
|
||||
;;; Generated autoloads from all-the-icons.el
|
||||
|
||||
(autoload 'all-the-icons-icon-for-dir "all-the-icons" "\
|
||||
Get the formatted icon for DIR.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
Note: You want chevron, please use `all-the-icons-icon-for-dir-with-chevron'.
|
||||
|
||||
\(fn DIR &rest ARG-OVERRIDES)" nil nil)
|
||||
|
||||
(autoload 'all-the-icons-icon-for-file "all-the-icons" "\
|
||||
Get the formatted icon for FILE.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
\(fn FILE &rest ARG-OVERRIDES)" nil nil)
|
||||
|
||||
(autoload 'all-the-icons-icon-for-mode "all-the-icons" "\
|
||||
Get the formatted icon for MODE.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
\(fn MODE &rest ARG-OVERRIDES)" nil nil)
|
||||
|
||||
(autoload 'all-the-icons-icon-for-url "all-the-icons" "\
|
||||
Get the formatted icon for URL.
|
||||
If an icon for URL isn't found in `all-the-icons-url-alist', a globe is used.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
\(fn URL &rest ARG-OVERRIDES)" nil nil)
|
||||
|
||||
(autoload 'all-the-icons-install-fonts "all-the-icons" "\
|
||||
Helper function to download and install the latests fonts based on OS.
|
||||
When PFX is non-nil, ignore the prompt and just install
|
||||
|
||||
\(fn &optional PFX)" t nil)
|
||||
|
||||
(autoload 'all-the-icons-insert "all-the-icons" "\
|
||||
Interactive icon insertion function.
|
||||
When Prefix ARG is non-nil, insert the propertized icon.
|
||||
When FAMILY is non-nil, limit the candidates to the icon set matching it.
|
||||
|
||||
\(fn &optional ARG FAMILY)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "all-the-icons" '("all-the-icons-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil nil ("all-the-icons-faces.el" "all-the-icons-pkg.el")
|
||||
;;;;;; (0 0 0 0))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; all-the-icons-autoloads.el ends here
|
|
@ -0,0 +1,230 @@
|
|||
;;; all-the-icons-faces.el --- A module of faces for all-the-icons
|
||||
|
||||
;; Copyright (C) 2016 Dominic Charlesworth <dgc336@gmail.com>
|
||||
|
||||
;; Author: Dominic Charlesworth <dgc336@gmail.com>
|
||||
;; Version: 1.0.0
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;; URL: https://github.com/domtronn/all-the-icons.el
|
||||
;; Keywords: convenient, lisp
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License
|
||||
;; as published by the Free Software Foundation; either version 3
|
||||
;; of the License, or (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file contains all of the faces used by the package for
|
||||
;; colouring icons
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defgroup all-the-icons-faces nil
|
||||
"Manage how All The Icons icons are coloured and themed."
|
||||
:prefix "all-the-icons-"
|
||||
:group 'tools
|
||||
:group 'all-the-icons)
|
||||
|
||||
|
||||
;; red
|
||||
(defface all-the-icons-red
|
||||
'((((background dark)) :foreground "#AC4142")
|
||||
(((background light)) :foreground "#AC4142"))
|
||||
"Face for red icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lred
|
||||
'((((background dark)) :foreground "#EB595A")
|
||||
(((background light)) :foreground "#EB595A"))
|
||||
"Face for lred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dred
|
||||
'((((background dark)) :foreground "#843031")
|
||||
(((background light)) :foreground "#843031"))
|
||||
"Face for dred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-red-alt
|
||||
'((((background dark)) :foreground "#ce5643")
|
||||
(((background light)) :foreground "#843031"))
|
||||
"Face for dred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; green
|
||||
(defface all-the-icons-green
|
||||
'((((background dark)) :foreground "#90A959")
|
||||
(((background light)) :foreground "#90A959"))
|
||||
"Face for green icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lgreen
|
||||
'((((background dark)) :foreground "#C6E87A")
|
||||
(((background light)) :foreground "#3D6837"))
|
||||
"Face for lgreen icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dgreen
|
||||
'((((background dark)) :foreground "#6D8143")
|
||||
(((background light)) :foreground "#6D8143"))
|
||||
"Face for dgreen icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; yellow
|
||||
(defface all-the-icons-yellow
|
||||
'((((background dark)) :foreground "#FFD446")
|
||||
(((background light)) :foreground "#FFCC0E"))
|
||||
"Face for yellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lyellow
|
||||
'((((background dark)) :foreground "#FFC16D")
|
||||
(((background light)) :foreground "#FF9300"))
|
||||
"Face for lyellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dyellow
|
||||
'((((background dark)) :foreground "#B48D56")
|
||||
(((background light)) :foreground "#B48D56"))
|
||||
"Face for dyellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; blue
|
||||
(defface all-the-icons-blue
|
||||
'((((background dark)) :foreground "#6A9FB5")
|
||||
(((background light)) :foreground "#6A9FB5"))
|
||||
"Face for blue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-blue-alt
|
||||
'((((background dark)) :foreground "#2188b6")
|
||||
(((background light)) :foreground "#2188b6"))
|
||||
"Face for blue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lblue
|
||||
'((((background dark)) :foreground "#8FD7F4")
|
||||
(((background light)) :foreground "#677174"))
|
||||
"Face for lblue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dblue
|
||||
'((((background dark)) :foreground "#446674")
|
||||
(((background light)) :foreground "#446674"))
|
||||
"Face for dblue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; maroon
|
||||
(defface all-the-icons-maroon
|
||||
'((((background dark)) :foreground "#8F5536")
|
||||
(((background light)) :foreground "#8F5536"))
|
||||
"Face for maroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lmaroon
|
||||
'((((background dark)) :foreground "#CE7A4E")
|
||||
(((background light)) :foreground "#CE7A4E"))
|
||||
"Face for lmaroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dmaroon
|
||||
'((((background dark)) :foreground "#72584B")
|
||||
(((background light)) :foreground "#72584B"))
|
||||
"Face for dmaroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; purple
|
||||
(defface all-the-icons-purple
|
||||
'((((background dark)) :foreground "#AA759F")
|
||||
(((background light)) :foreground "#68295B"))
|
||||
"Face for purple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-purple-alt
|
||||
'((((background dark)) :foreground "#5D54E1")
|
||||
(((background light)) :foreground "#5D54E1"))
|
||||
"Face for purple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lpurple
|
||||
'((((background dark)) :foreground "#E69DD6")
|
||||
(((background light)) :foreground "#E69DD6"))
|
||||
"Face for lpurple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dpurple
|
||||
'((((background dark)) :foreground "#694863")
|
||||
(((background light)) :foreground "#694863"))
|
||||
"Face for dpurple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; orange
|
||||
(defface all-the-icons-orange
|
||||
'((((background dark)) :foreground "#D4843E")
|
||||
(((background light)) :foreground "#D4843E"))
|
||||
"Face for orange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lorange
|
||||
'((((background dark)) :foreground "#FFA500")
|
||||
(((background light)) :foreground "#FFA500"))
|
||||
"Face for lorange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dorange
|
||||
'((((background dark)) :foreground "#915B2D")
|
||||
(((background light)) :foreground "#915B2D"))
|
||||
"Face for dorange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; cyan
|
||||
(defface all-the-icons-cyan
|
||||
'((((background dark)) :foreground "#75B5AA")
|
||||
(((background light)) :foreground "#75B5AA"))
|
||||
"Face for cyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-cyan-alt
|
||||
'((((background dark)) :foreground "#61dafb")
|
||||
(((background light)) :foreground "#0595bd"))
|
||||
"Face for cyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lcyan
|
||||
'((((background dark)) :foreground "#A5FDEC")
|
||||
(((background light)) :foreground "#2C7D6E"))
|
||||
"Face for lcyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dcyan
|
||||
'((((background dark)) :foreground "#48746D")
|
||||
(((background light)) :foreground "#48746D"))
|
||||
"Face for dcyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; pink
|
||||
(defface all-the-icons-pink
|
||||
'((((background dark)) :foreground "#F2B4B8")
|
||||
(((background light)) :foreground "#FC505B"))
|
||||
"Face for pink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lpink
|
||||
'((((background dark)) :foreground "#FFBDC1")
|
||||
(((background light)) :foreground "#FF505B"))
|
||||
"Face for lpink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dpink
|
||||
'((((background dark)) :foreground "#B18286")
|
||||
(((background light)) :foreground "#7E5D5F"))
|
||||
"Face for dpink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; silver
|
||||
(defface all-the-icons-silver
|
||||
'((((background dark)) :foreground "#716E68")
|
||||
(((background light)) :foreground "#716E68"))
|
||||
"Face for silver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lsilver
|
||||
'((((background dark)) :foreground "#B9B6AA")
|
||||
(((background light)) :foreground "#7F7869"))
|
||||
"Face for lsilver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dsilver
|
||||
'((((background dark)) :foreground "#838484")
|
||||
(((background light)) :foreground "#838484"))
|
||||
"Face for dsilver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
|
||||
(provide 'all-the-icons-faces)
|
||||
;;; all-the-icons-faces.el ends here
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
(define-package "all-the-icons" "20220628.2233" "A library for inserting Developer icons"
|
||||
'((emacs "24.3"))
|
||||
:commit "9c90dbaa31a2fdc163e4394514bf9ee359e46ee5" :authors
|
||||
'(("Dominic Charlesworth" . "dgc336@gmail.com"))
|
||||
:maintainer
|
||||
'("Dominic Charlesworth" . "dgc336@gmail.com")
|
||||
:keywords
|
||||
'("convenient" "lisp")
|
||||
:url "https://github.com/domtronn/all-the-icons.el")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,70 @@
|
|||
(defvar all-the-icons-data/alltheicons-alist
|
||||
'(
|
||||
|
||||
( "apache" . "\xe909" )
|
||||
( "atom" . "\xe917" )
|
||||
( "aws" . "\xe90c" )
|
||||
( "bower" . "\xe918" )
|
||||
( "c" . "\xe915" )
|
||||
( "c-line" . "\xe90f" )
|
||||
( "clojure" . "\xe919" )
|
||||
( "clojure-line" . "\xe91a" )
|
||||
( "coffeescript" . "\xe914" )
|
||||
( "cplusplus" . "\xe913" )
|
||||
( "cplusplus-line" . "\xe910" )
|
||||
( "csharp" . "\xe911" )
|
||||
( "csharp-line" . "\xe912" )
|
||||
( "css3" . "\xe91b" )
|
||||
( "css3-alt" . "\xe91c" )
|
||||
( "d3" . "\xe90e" )
|
||||
( "dlang" . "\xe935" )
|
||||
( "elixir" . "\xe936" )
|
||||
( "erlang" . "\xe934" )
|
||||
( "git" . "\xe907" )
|
||||
( "go" . "\xe91d" )
|
||||
( "google-drive" . "\xe91e" )
|
||||
( "grunt" . "\xe90d" )
|
||||
( "grunt-line" . "\xe91f" )
|
||||
( "gulp" . "\xe920" )
|
||||
( "haskell" . "\xe921" )
|
||||
( "html5" . "\xe932" )
|
||||
( "jasmine" . "\xe904" )
|
||||
( "java" . "\xe922" )
|
||||
( "javascript" . "\xe906" )
|
||||
( "javascript-badge" . "\xe923" )
|
||||
( "javascript-shield" . "\xe924" )
|
||||
( "less" . "\xe90b" )
|
||||
( "nginx" . "\xe933" )
|
||||
( "nodejs" . "\xe925" )
|
||||
( "perl" . "\xe905" )
|
||||
( "perldocs" . "\xe926" )
|
||||
( "postgresql" . "\xe938" )
|
||||
( "prolog" . "\xe927" )
|
||||
( "python" . "\xe928" )
|
||||
( "react" . "\xe929" )
|
||||
( "ruby" . "\xe92a" )
|
||||
( "ruby-alt" . "\xe92b" )
|
||||
( "rust" . "\xe92c" )
|
||||
( "sass" . "\xe92d" )
|
||||
( "scala" . "\xe908" )
|
||||
( "script" . "\xe90a" )
|
||||
( "spring" . "\xe937" )
|
||||
( "stylus" . "\xe92e" )
|
||||
( "svg" . "\xe903" )
|
||||
( "swift" . "\xe92f" )
|
||||
( "terminal" . "\xe930" )
|
||||
( "terminal-alt" . "\xe931" )
|
||||
( "battery-charging" . "\xe939" )
|
||||
|
||||
( "arrow-left" . "\xe93a" )
|
||||
( "arrow-right" . "\xe93b" )
|
||||
( "cup-left" . "\xe93c" )
|
||||
( "cup-right" . "\xe93d" )
|
||||
( "slant-left" . "\xe93e" )
|
||||
( "slant-right" . "\xe93f" )
|
||||
( "wave-left" . "\xe940" )
|
||||
( "wave-right" . "\xe941" )
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-alltheicons)
|
Binary file not shown.
|
@ -0,0 +1,641 @@
|
|||
(defvar all-the-icons-data/fa-icon-alist
|
||||
'(
|
||||
|
||||
("500px" . "\xf26e")
|
||||
("adjust" . "\xf042")
|
||||
("adn" . "\xf170")
|
||||
("align-center" . "\xf037")
|
||||
("align-justify" . "\xf039")
|
||||
("align-left" . "\xf036")
|
||||
("align-right" . "\xf038")
|
||||
("amazon" . "\xf270")
|
||||
("ambulance" . "\xf0f9")
|
||||
("american-sign-language-interpreting" . "\xf2a3")
|
||||
("anchor" . "\xf13d")
|
||||
("android" . "\xf17b")
|
||||
("angellist" . "\xf209")
|
||||
("angle-double-down" . "\xf103")
|
||||
("angle-double-left" . "\xf100")
|
||||
("angle-double-right" . "\xf101")
|
||||
("angle-double-up" . "\xf102")
|
||||
("angle-down" . "\xf107")
|
||||
("angle-left" . "\xf104")
|
||||
("angle-right" . "\xf105")
|
||||
("angle-up" . "\xf106")
|
||||
("apple" . "\xf179")
|
||||
("archive" . "\xf187")
|
||||
("area-chart" . "\xf1fe")
|
||||
("arrow-circle-down" . "\xf0ab")
|
||||
("arrow-circle-left" . "\xf0a8")
|
||||
("arrow-circle-o-down" . "\xf01a")
|
||||
("arrow-circle-o-left" . "\xf190")
|
||||
("arrow-circle-o-right" . "\xf18e")
|
||||
("arrow-circle-o-up" . "\xf01b")
|
||||
("arrow-circle-right" . "\xf0a9")
|
||||
("arrow-circle-up" . "\xf0aa")
|
||||
("arrow-down" . "\xf063")
|
||||
("arrow-left" . "\xf060")
|
||||
("arrow-right" . "\xf061")
|
||||
("arrow-up" . "\xf062")
|
||||
("arrows" . "\xf047")
|
||||
("arrows-alt" . "\xf0b2")
|
||||
("arrows-h" . "\xf07e")
|
||||
("arrows-v" . "\xf07d")
|
||||
("assistive-listening-systems" . "\xf2a2")
|
||||
("asterisk" . "\xf069")
|
||||
("at" . "\xf1fa")
|
||||
("audio-description" . "\xf29e")
|
||||
("backward" . "\xf04a")
|
||||
("balance-scale" . "\xf24e")
|
||||
("ban" . "\xf05e")
|
||||
("bar-chart" . "\xf080")
|
||||
("barcode" . "\xf02a")
|
||||
("bars" . "\xf0c9")
|
||||
("battery-empty" . "\xf244")
|
||||
("battery-full" . "\xf240")
|
||||
("battery-half" . "\xf242")
|
||||
("battery-quarter" . "\xf243")
|
||||
("battery-three-quarters" . "\xf241")
|
||||
("bed" . "\xf236")
|
||||
("beer" . "\xf0fc")
|
||||
("behance" . "\xf1b4")
|
||||
("behance-square" . "\xf1b5")
|
||||
("bell" . "\xf0f3")
|
||||
("bell-o" . "\xf0a2")
|
||||
("bell-slash" . "\xf1f6")
|
||||
("bell-slash-o" . "\xf1f7")
|
||||
("bicycle" . "\xf206")
|
||||
("binoculars" . "\xf1e5")
|
||||
("birthday-cake" . "\xf1fd")
|
||||
("bitbucket" . "\xf171")
|
||||
("bitbucket-square" . "\xf172")
|
||||
("black-tie" . "\xf27e")
|
||||
("blind" . "\xf29d")
|
||||
("bluetooth" . "\xf293")
|
||||
("bluetooth-b" . "\xf294")
|
||||
("bold" . "\xf032")
|
||||
("bolt" . "\xf0e7")
|
||||
("bomb" . "\xf1e2")
|
||||
("book" . "\xf02d")
|
||||
("bookmark" . "\xf02e")
|
||||
("bookmark-o" . "\xf097")
|
||||
("braille" . "\xf2a1")
|
||||
("briefcase" . "\xf0b1")
|
||||
("btc" . "\xf15a")
|
||||
("bug" . "\xf188")
|
||||
("building" . "\xf1ad")
|
||||
("building-o" . "\xf0f7")
|
||||
("bullhorn" . "\xf0a1")
|
||||
("bullseye" . "\xf140")
|
||||
("bus" . "\xf207")
|
||||
("buysellads" . "\xf20d")
|
||||
("calculator" . "\xf1ec")
|
||||
("calendar" . "\xf073")
|
||||
("calendar-check-o" . "\xf274")
|
||||
("calendar-minus-o" . "\xf272")
|
||||
("calendar-o" . "\xf133")
|
||||
("calendar-plus-o" . "\xf271")
|
||||
("calendar-times-o" . "\xf273")
|
||||
("camera" . "\xf030")
|
||||
("camera-retro" . "\xf083")
|
||||
("car" . "\xf1b9")
|
||||
("caret-down" . "\xf0d7")
|
||||
("caret-left" . "\xf0d9")
|
||||
("caret-right" . "\xf0da")
|
||||
("caret-square-o-down" . "\xf150")
|
||||
("caret-square-o-left" . "\xf191")
|
||||
("caret-square-o-right" . "\xf152")
|
||||
("caret-square-o-up" . "\xf151")
|
||||
("caret-up" . "\xf0d8")
|
||||
("cart-arrow-down" . "\xf218")
|
||||
("cart-plus" . "\xf217")
|
||||
("cc" . "\xf20a")
|
||||
("cc-amex" . "\xf1f3")
|
||||
("cc-diners-club" . "\xf24c")
|
||||
("cc-discover" . "\xf1f2")
|
||||
("cc-jcb" . "\xf24b")
|
||||
("cc-mastercard" . "\xf1f1")
|
||||
("cc-paypal" . "\xf1f4")
|
||||
("cc-stripe" . "\xf1f5")
|
||||
("cc-visa" . "\xf1f0")
|
||||
("certificate" . "\xf0a3")
|
||||
("chain-broken" . "\xf127")
|
||||
("check" . "\xf00c")
|
||||
("check-circle" . "\xf058")
|
||||
("check-circle-o" . "\xf05d")
|
||||
("check-square" . "\xf14a")
|
||||
("check-square-o" . "\xf046")
|
||||
("chevron-circle-down" . "\xf13a")
|
||||
("chevron-circle-left" . "\xf137")
|
||||
("chevron-circle-right" . "\xf138")
|
||||
("chevron-circle-up" . "\xf139")
|
||||
("chevron-down" . "\xf078")
|
||||
("chevron-left" . "\xf053")
|
||||
("chevron-right" . "\xf054")
|
||||
("chevron-up" . "\xf077")
|
||||
("child" . "\xf1ae")
|
||||
("chrome" . "\xf268")
|
||||
("circle" . "\xf111")
|
||||
("circle-o" . "\xf10c")
|
||||
("circle-o-notch" . "\xf1ce")
|
||||
("circle-thin" . "\xf1db")
|
||||
("clipboard" . "\xf0ea")
|
||||
("clock-o" . "\xf017")
|
||||
("clone" . "\xf24d")
|
||||
("cloud" . "\xf0c2")
|
||||
("cloud-download" . "\xf0ed")
|
||||
("cloud-upload" . "\xf0ee")
|
||||
("code" . "\xf121")
|
||||
("code-fork" . "\xf126")
|
||||
("codepen" . "\xf1cb")
|
||||
("codiepie" . "\xf284")
|
||||
("coffee" . "\xf0f4")
|
||||
("cog" . "\xf013")
|
||||
("cogs" . "\xf085")
|
||||
("columns" . "\xf0db")
|
||||
("comment" . "\xf075")
|
||||
("comment-o" . "\xf0e5")
|
||||
("commenting" . "\xf27a")
|
||||
("commenting-o" . "\xf27b")
|
||||
("comments" . "\xf086")
|
||||
("comments-o" . "\xf0e6")
|
||||
("compass" . "\xf14e")
|
||||
("compress" . "\xf066")
|
||||
("connectdevelop" . "\xf20e")
|
||||
("contao" . "\xf26d")
|
||||
("copyright" . "\xf1f9")
|
||||
("creative-commons" . "\xf25e")
|
||||
("credit-card" . "\xf09d")
|
||||
("credit-card-alt" . "\xf283")
|
||||
("crop" . "\xf125")
|
||||
("crosshairs" . "\xf05b")
|
||||
("css3" . "\xf13c")
|
||||
("cube" . "\xf1b2")
|
||||
("cubes" . "\xf1b3")
|
||||
("cutlery" . "\xf0f5")
|
||||
("dashcube" . "\xf210")
|
||||
("database" . "\xf1c0")
|
||||
("deaf" . "\xf2a4")
|
||||
("delicious" . "\xf1a5")
|
||||
("desktop" . "\xf108")
|
||||
("deviantart" . "\xf1bd")
|
||||
("diamond" . "\xf219")
|
||||
("digg" . "\xf1a6")
|
||||
("dot-circle-o" . "\xf192")
|
||||
("download" . "\xf019")
|
||||
("dribbble" . "\xf17d")
|
||||
("dropbox" . "\xf16b")
|
||||
("drupal" . "\xf1a9")
|
||||
("edge" . "\xf282")
|
||||
("eject" . "\xf052")
|
||||
("ellipsis-h" . "\xf141")
|
||||
("ellipsis-v" . "\xf142")
|
||||
("empire" . "\xf1d1")
|
||||
("envelope" . "\xf0e0")
|
||||
("envelope-o" . "\xf003")
|
||||
("envelope-square" . "\xf199")
|
||||
("envira" . "\xf299")
|
||||
("eraser" . "\xf12d")
|
||||
("eur" . "\xf153")
|
||||
("exchange" . "\xf0ec")
|
||||
("exclamation" . "\xf12a")
|
||||
("exclamation-circle" . "\xf06a")
|
||||
("exclamation-triangle" . "\xf071")
|
||||
("expand" . "\xf065")
|
||||
("expeditedssl" . "\xf23e")
|
||||
("external-link" . "\xf08e")
|
||||
("external-link-square" . "\xf14c")
|
||||
("eye" . "\xf06e")
|
||||
("eye-slash" . "\xf070")
|
||||
("eyedropper" . "\xf1fb")
|
||||
("facebook" . "\xf09a")
|
||||
("facebook-official" . "\xf230")
|
||||
("facebook-square" . "\xf082")
|
||||
("fast-backward" . "\xf049")
|
||||
("fast-forward" . "\xf050")
|
||||
("fax" . "\xf1ac")
|
||||
("female" . "\xf182")
|
||||
("fighter-jet" . "\xf0fb")
|
||||
("file" . "\xf15b")
|
||||
("file-archive-o" . "\xf1c6")
|
||||
("file-audio-o" . "\xf1c7")
|
||||
("file-code-o" . "\xf1c9")
|
||||
("file-excel-o" . "\xf1c3")
|
||||
("file-image-o" . "\xf1c5")
|
||||
("file-o" . "\xf016")
|
||||
("file-pdf-o" . "\xf1c1")
|
||||
("file-powerpoint-o" . "\xf1c4")
|
||||
("file-text" . "\xf15c")
|
||||
("file-text-o" . "\xf0f6")
|
||||
("file-video-o" . "\xf1c8")
|
||||
("file-word-o" . "\xf1c2")
|
||||
("files-o" . "\xf0c5")
|
||||
("film" . "\xf008")
|
||||
("filter" . "\xf0b0")
|
||||
("fire" . "\xf06d")
|
||||
("fire-extinguisher" . "\xf134")
|
||||
("firefox" . "\xf269")
|
||||
("first-order" . "\xf2b0")
|
||||
("flag" . "\xf024")
|
||||
("flag-checkered" . "\xf11e")
|
||||
("flag-o" . "\xf11d")
|
||||
("flask" . "\xf0c3")
|
||||
("flickr" . "\xf16e")
|
||||
("floppy-o" . "\xf0c7")
|
||||
("folder" . "\xf07b")
|
||||
("folder-o" . "\xf114")
|
||||
("folder-open" . "\xf07c")
|
||||
("folder-open-o" . "\xf115")
|
||||
("font" . "\xf031")
|
||||
("font-awesome" . "\xf2b4")
|
||||
("fonticons" . "\xf280")
|
||||
("fort-awesome" . "\xf286")
|
||||
("forumbee" . "\xf211")
|
||||
("forward" . "\xf04e")
|
||||
("foursquare" . "\xf180")
|
||||
("frown-o" . "\xf119")
|
||||
("futbol-o" . "\xf1e3")
|
||||
("gamepad" . "\xf11b")
|
||||
("gavel" . "\xf0e3")
|
||||
("gbp" . "\xf154")
|
||||
("genderless" . "\xf22d")
|
||||
("get-pocket" . "\xf265")
|
||||
("gg" . "\xf260")
|
||||
("gg-circle" . "\xf261")
|
||||
("gift" . "\xf06b")
|
||||
("git" . "\xf1d3")
|
||||
("git-square" . "\xf1d2")
|
||||
("github" . "\xf09b")
|
||||
("github-alt" . "\xf113")
|
||||
("github-square" . "\xf092")
|
||||
("gitlab" . "\xf296")
|
||||
("glass" . "\xf000")
|
||||
("glide" . "\xf2a5")
|
||||
("glide-g" . "\xf2a6")
|
||||
("globe" . "\xf0ac")
|
||||
("google" . "\xf1a0")
|
||||
("google-plus" . "\xf0d5")
|
||||
("google-plus-official" . "\xf2b3")
|
||||
("google-plus-square" . "\xf0d4")
|
||||
("google-wallet" . "\xf1ee")
|
||||
("graduation-cap" . "\xf19d")
|
||||
("gratipay" . "\xf184")
|
||||
("h-square" . "\xf0fd")
|
||||
("hacker-news" . "\xf1d4")
|
||||
("hand-lizard-o" . "\xf258")
|
||||
("hand-o-down" . "\xf0a7")
|
||||
("hand-o-left" . "\xf0a5")
|
||||
("hand-o-right" . "\xf0a4")
|
||||
("hand-o-up" . "\xf0a6")
|
||||
("hand-paper-o" . "\xf256")
|
||||
("hand-peace-o" . "\xf25b")
|
||||
("hand-pointer-o" . "\xf25a")
|
||||
("hand-rock-o" . "\xf255")
|
||||
("hand-scissors-o" . "\xf257")
|
||||
("hand-spock-o" . "\xf259")
|
||||
("hashtag" . "\xf292")
|
||||
("hdd-o" . "\xf0a0")
|
||||
("header" . "\xf1dc")
|
||||
("headphones" . "\xf025")
|
||||
("heart" . "\xf004")
|
||||
("heart-o" . "\xf08a")
|
||||
("heartbeat" . "\xf21e")
|
||||
("history" . "\xf1da")
|
||||
("home" . "\xf015")
|
||||
("hospital-o" . "\xf0f8")
|
||||
("hourglass" . "\xf254")
|
||||
("hourglass-end" . "\xf253")
|
||||
("hourglass-half" . "\xf252")
|
||||
("hourglass-o" . "\xf250")
|
||||
("hourglass-start" . "\xf251")
|
||||
("houzz" . "\xf27c")
|
||||
("html5" . "\xf13b")
|
||||
("i-cursor" . "\xf246")
|
||||
("ils" . "\xf20b")
|
||||
("inbox" . "\xf01c")
|
||||
("indent" . "\xf03c")
|
||||
("industry" . "\xf275")
|
||||
("info" . "\xf129")
|
||||
("info-circle" . "\xf05a")
|
||||
("inr" . "\xf156")
|
||||
("instagram" . "\xf16d")
|
||||
("internet-explorer" . "\xf26b")
|
||||
("ioxhost" . "\xf208")
|
||||
("italic" . "\xf033")
|
||||
("joomla" . "\xf1aa")
|
||||
("jpy" . "\xf157")
|
||||
("jsfiddle" . "\xf1cc")
|
||||
("key" . "\xf084")
|
||||
("keyboard-o" . "\xf11c")
|
||||
("krw" . "\xf159")
|
||||
("language" . "\xf1ab")
|
||||
("laptop" . "\xf109")
|
||||
("lastfm" . "\xf202")
|
||||
("lastfm-square" . "\xf203")
|
||||
("leaf" . "\xf06c")
|
||||
("leanpub" . "\xf212")
|
||||
("lemon-o" . "\xf094")
|
||||
("level-down" . "\xf149")
|
||||
("level-up" . "\xf148")
|
||||
("life-ring" . "\xf1cd")
|
||||
("lightbulb-o" . "\xf0eb")
|
||||
("line-chart" . "\xf201")
|
||||
("link" . "\xf0c1")
|
||||
("linkedin" . "\xf0e1")
|
||||
("linkedin-square" . "\xf08c")
|
||||
("linux" . "\xf17c")
|
||||
("list" . "\xf03a")
|
||||
("list-alt" . "\xf022")
|
||||
("list-ol" . "\xf0cb")
|
||||
("list-ul" . "\xf0ca")
|
||||
("location-arrow" . "\xf124")
|
||||
("lock" . "\xf023")
|
||||
("long-arrow-down" . "\xf175")
|
||||
("long-arrow-left" . "\xf177")
|
||||
("long-arrow-right" . "\xf178")
|
||||
("long-arrow-up" . "\xf176")
|
||||
("low-vision" . "\xf2a8")
|
||||
("magic" . "\xf0d0")
|
||||
("magnet" . "\xf076")
|
||||
("male" . "\xf183")
|
||||
("map" . "\xf279")
|
||||
("map-marker" . "\xf041")
|
||||
("map-o" . "\xf278")
|
||||
("map-pin" . "\xf276")
|
||||
("map-signs" . "\xf277")
|
||||
("mars" . "\xf222")
|
||||
("mars-double" . "\xf227")
|
||||
("mars-stroke" . "\xf229")
|
||||
("mars-stroke-h" . "\xf22b")
|
||||
("mars-stroke-v" . "\xf22a")
|
||||
("maxcdn" . "\xf136")
|
||||
("meanpath" . "\xf20c")
|
||||
("medium" . "\xf23a")
|
||||
("medkit" . "\xf0fa")
|
||||
("meh-o" . "\xf11a")
|
||||
("mercury" . "\xf223")
|
||||
("microphone" . "\xf130")
|
||||
("microphone-slash" . "\xf131")
|
||||
("minus" . "\xf068")
|
||||
("minus-circle" . "\xf056")
|
||||
("minus-square" . "\xf146")
|
||||
("minus-square-o" . "\xf147")
|
||||
("mixcloud" . "\xf289")
|
||||
("mobile" . "\xf10b")
|
||||
("modx" . "\xf285")
|
||||
("money" . "\xf0d6")
|
||||
("moon-o" . "\xf186")
|
||||
("motorcycle" . "\xf21c")
|
||||
("mouse-pointer" . "\xf245")
|
||||
("music" . "\xf001")
|
||||
("neuter" . "\xf22c")
|
||||
("newspaper-o" . "\xf1ea")
|
||||
("object-group" . "\xf247")
|
||||
("object-ungroup" . "\xf248")
|
||||
("odnoklassniki" . "\xf263")
|
||||
("odnoklassniki-square" . "\xf264")
|
||||
("opencart" . "\xf23d")
|
||||
("openid" . "\xf19b")
|
||||
("opera" . "\xf26a")
|
||||
("optin-monster" . "\xf23c")
|
||||
("outdent" . "\xf03b")
|
||||
("pagelines" . "\xf18c")
|
||||
("paint-brush" . "\xf1fc")
|
||||
("paper-plane" . "\xf1d8")
|
||||
("paper-plane-o" . "\xf1d9")
|
||||
("paperclip" . "\xf0c6")
|
||||
("paragraph" . "\xf1dd")
|
||||
("pause" . "\xf04c")
|
||||
("pause-circle" . "\xf28b")
|
||||
("pause-circle-o" . "\xf28c")
|
||||
("paw" . "\xf1b0")
|
||||
("paypal" . "\xf1ed")
|
||||
("pencil" . "\xf040")
|
||||
("pencil-square" . "\xf14b")
|
||||
("pencil-square-o" . "\xf044")
|
||||
("percent" . "\xf295")
|
||||
("phone" . "\xf095")
|
||||
("phone-square" . "\xf098")
|
||||
("picture-o" . "\xf03e")
|
||||
("pie-chart" . "\xf200")
|
||||
("pied-piper" . "\xf2ae")
|
||||
("pied-piper-alt" . "\xf1a8")
|
||||
("pied-piper-pp" . "\xf1a7")
|
||||
("pinterest" . "\xf0d2")
|
||||
("pinterest-p" . "\xf231")
|
||||
("pinterest-square" . "\xf0d3")
|
||||
("plane" . "\xf072")
|
||||
("play" . "\xf04b")
|
||||
("play-circle" . "\xf144")
|
||||
("play-circle-o" . "\xf01d")
|
||||
("plug" . "\xf1e6")
|
||||
("plus" . "\xf067")
|
||||
("plus-circle" . "\xf055")
|
||||
("plus-square" . "\xf0fe")
|
||||
("plus-square-o" . "\xf196")
|
||||
("power-off" . "\xf011")
|
||||
("print" . "\xf02f")
|
||||
("product-hunt" . "\xf288")
|
||||
("puzzle-piece" . "\xf12e")
|
||||
("qq" . "\xf1d6")
|
||||
("qrcode" . "\xf029")
|
||||
("question" . "\xf128")
|
||||
("question-circle" . "\xf059")
|
||||
("question-circle-o" . "\xf29c")
|
||||
("quote-left" . "\xf10d")
|
||||
("quote-right" . "\xf10e")
|
||||
("random" . "\xf074")
|
||||
("rebel" . "\xf1d0")
|
||||
("recycle" . "\xf1b8")
|
||||
("reddit" . "\xf1a1")
|
||||
("reddit-alien" . "\xf281")
|
||||
("reddit-square" . "\xf1a2")
|
||||
("refresh" . "\xf021")
|
||||
("registered" . "\xf25d")
|
||||
("renren" . "\xf18b")
|
||||
("repeat" . "\xf01e")
|
||||
("reply" . "\xf112")
|
||||
("reply-all" . "\xf122")
|
||||
("retweet" . "\xf079")
|
||||
("road" . "\xf018")
|
||||
("rocket" . "\xf135")
|
||||
("rss" . "\xf09e")
|
||||
("rss-square" . "\xf143")
|
||||
("rub" . "\xf158")
|
||||
("safari" . "\xf267")
|
||||
("scissors" . "\xf0c4")
|
||||
("scribd" . "\xf28a")
|
||||
("search" . "\xf002")
|
||||
("search-minus" . "\xf010")
|
||||
("search-plus" . "\xf00e")
|
||||
("sellsy" . "\xf213")
|
||||
("server" . "\xf233")
|
||||
("share" . "\xf064")
|
||||
("share-alt" . "\xf1e0")
|
||||
("share-alt-square" . "\xf1e1")
|
||||
("share-square" . "\xf14d")
|
||||
("share-square-o" . "\xf045")
|
||||
("shield" . "\xf132")
|
||||
("ship" . "\xf21a")
|
||||
("shirtsinbulk" . "\xf214")
|
||||
("shopping-bag" . "\xf290")
|
||||
("shopping-basket" . "\xf291")
|
||||
("shopping-cart" . "\xf07a")
|
||||
("sign-in" . "\xf090")
|
||||
("sign-language" . "\xf2a7")
|
||||
("sign-out" . "\xf08b")
|
||||
("signal" . "\xf012")
|
||||
("simplybuilt" . "\xf215")
|
||||
("sitemap" . "\xf0e8")
|
||||
("skyatlas" . "\xf216")
|
||||
("skype" . "\xf17e")
|
||||
("slack" . "\xf198")
|
||||
("sliders" . "\xf1de")
|
||||
("slideshare" . "\xf1e7")
|
||||
("smile-o" . "\xf118")
|
||||
("snapchat" . "\xf2ab")
|
||||
("snapchat-ghost" . "\xf2ac")
|
||||
("snapchat-square" . "\xf2ad")
|
||||
("sort" . "\xf0dc")
|
||||
("sort-alpha-asc" . "\xf15d")
|
||||
("sort-alpha-desc" . "\xf15e")
|
||||
("sort-amount-asc" . "\xf160")
|
||||
("sort-amount-desc" . "\xf161")
|
||||
("sort-asc" . "\xf0de")
|
||||
("sort-desc" . "\xf0dd")
|
||||
("sort-numeric-asc" . "\xf162")
|
||||
("sort-numeric-desc" . "\xf163")
|
||||
("soundcloud" . "\xf1be")
|
||||
("space-shuttle" . "\xf197")
|
||||
("spinner" . "\xf110")
|
||||
("spoon" . "\xf1b1")
|
||||
("spotify" . "\xf1bc")
|
||||
("square" . "\xf0c8")
|
||||
("square-o" . "\xf096")
|
||||
("stack-exchange" . "\xf18d")
|
||||
("stack-overflow" . "\xf16c")
|
||||
("star" . "\xf005")
|
||||
("star-half" . "\xf089")
|
||||
("star-half-o" . "\xf123")
|
||||
("star-o" . "\xf006")
|
||||
("steam" . "\xf1b6")
|
||||
("steam-square" . "\xf1b7")
|
||||
("step-backward" . "\xf048")
|
||||
("step-forward" . "\xf051")
|
||||
("stethoscope" . "\xf0f1")
|
||||
("sticky-note" . "\xf249")
|
||||
("sticky-note-o" . "\xf24a")
|
||||
("stop" . "\xf04d")
|
||||
("stop-circle" . "\xf28d")
|
||||
("stop-circle-o" . "\xf28e")
|
||||
("street-view" . "\xf21d")
|
||||
("strikethrough" . "\xf0cc")
|
||||
("stumbleupon" . "\xf1a4")
|
||||
("stumbleupon-circle" . "\xf1a3")
|
||||
("subscript" . "\xf12c")
|
||||
("subway" . "\xf239")
|
||||
("suitcase" . "\xf0f2")
|
||||
("sun-o" . "\xf185")
|
||||
("superscript" . "\xf12b")
|
||||
("table" . "\xf0ce")
|
||||
("tablet" . "\xf10a")
|
||||
("tachometer" . "\xf0e4")
|
||||
("tag" . "\xf02b")
|
||||
("tags" . "\xf02c")
|
||||
("tasks" . "\xf0ae")
|
||||
("taxi" . "\xf1ba")
|
||||
("television" . "\xf26c")
|
||||
("tencent-weibo" . "\xf1d5")
|
||||
("terminal" . "\xf120")
|
||||
("text-height" . "\xf034")
|
||||
("text-width" . "\xf035")
|
||||
("th" . "\xf00a")
|
||||
("th-large" . "\xf009")
|
||||
("th-list" . "\xf00b")
|
||||
("themeisle" . "\xf2b2")
|
||||
("thumb-tack" . "\xf08d")
|
||||
("thumbs-down" . "\xf165")
|
||||
("thumbs-o-down" . "\xf088")
|
||||
("thumbs-o-up" . "\xf087")
|
||||
("thumbs-up" . "\xf164")
|
||||
("ticket" . "\xf145")
|
||||
("times" . "\xf00d")
|
||||
("times-circle" . "\xf057")
|
||||
("times-circle-o" . "\xf05c")
|
||||
("tint" . "\xf043")
|
||||
("toggle-off" . "\xf204")
|
||||
("toggle-on" . "\xf205")
|
||||
("trademark" . "\xf25c")
|
||||
("train" . "\xf238")
|
||||
("transgender" . "\xf224")
|
||||
("transgender-alt" . "\xf225")
|
||||
("trash" . "\xf1f8")
|
||||
("trash-o" . "\xf014")
|
||||
("tree" . "\xf1bb")
|
||||
("trello" . "\xf181")
|
||||
("tripadvisor" . "\xf262")
|
||||
("trophy" . "\xf091")
|
||||
("truck" . "\xf0d1")
|
||||
("try" . "\xf195")
|
||||
("tty" . "\xf1e4")
|
||||
("tumblr" . "\xf173")
|
||||
("tumblr-square" . "\xf174")
|
||||
("twitch" . "\xf1e8")
|
||||
("twitter" . "\xf099")
|
||||
("twitter-square" . "\xf081")
|
||||
("umbrella" . "\xf0e9")
|
||||
("underline" . "\xf0cd")
|
||||
("undo" . "\xf0e2")
|
||||
("universal-access" . "\xf29a")
|
||||
("university" . "\xf19c")
|
||||
("unlock" . "\xf09c")
|
||||
("unlock-alt" . "\xf13e")
|
||||
("upload" . "\xf093")
|
||||
("usb" . "\xf287")
|
||||
("usd" . "\xf155")
|
||||
("user" . "\xf007")
|
||||
("user-md" . "\xf0f0")
|
||||
("user-plus" . "\xf234")
|
||||
("user-secret" . "\xf21b")
|
||||
("user-times" . "\xf235")
|
||||
("users" . "\xf0c0")
|
||||
("venus" . "\xf221")
|
||||
("venus-double" . "\xf226")
|
||||
("venus-mars" . "\xf228")
|
||||
("viacoin" . "\xf237")
|
||||
("viadeo" . "\xf2a9")
|
||||
("viadeo-square" . "\xf2aa")
|
||||
("video-camera" . "\xf03d")
|
||||
("vimeo" . "\xf27d")
|
||||
("vimeo-square" . "\xf194")
|
||||
("vine" . "\xf1ca")
|
||||
("vk" . "\xf189")
|
||||
("volume-control-phone" . "\xf2a0")
|
||||
("volume-down" . "\xf027")
|
||||
("volume-off" . "\xf026")
|
||||
("volume-up" . "\xf028")
|
||||
("weibo" . "\xf18a")
|
||||
("weixin" . "\xf1d7")
|
||||
("whatsapp" . "\xf232")
|
||||
("wheelchair" . "\xf193")
|
||||
("wheelchair-alt" . "\xf29b")
|
||||
("wifi" . "\xf1eb")
|
||||
("wikipedia-w" . "\xf266")
|
||||
("windows" . "\xf17a")
|
||||
("wordpress" . "\xf19a")
|
||||
("wpbeginner" . "\xf297")
|
||||
("wpforms" . "\xf298")
|
||||
("wrench" . "\xf0ad")
|
||||
("xing" . "\xf168")
|
||||
("xing-square" . "\xf169")
|
||||
("y-combinator" . "\xf23b")
|
||||
("yahoo" . "\xf19e")
|
||||
("yelp" . "\xf1e9")
|
||||
("yoast" . "\xf2b1")
|
||||
("youtube" . "\xf167")
|
||||
("youtube-play" . "\xf16a")
|
||||
("youtube-square" . "\xf166")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-faicons)
|
Binary file not shown.
|
@ -0,0 +1,492 @@
|
|||
(defvar all-the-icons-data/file-icon-alist
|
||||
'(
|
||||
|
||||
( "1c" . "\xa5ea" )
|
||||
( "1c-alt" . "\xea28" )
|
||||
( "MJML" . "\xea6f" )
|
||||
( "R" . "\xe905" )
|
||||
( "abap" . "\xe92b" )
|
||||
( "abif" . "\xea4e" )
|
||||
( "access" . "\xe9ea" )
|
||||
( "actionscript" . "\xe92e" )
|
||||
( "ada" . "\xe90b" )
|
||||
( "ae" . "\xe9f3" )
|
||||
( "ai" . "\xe6b4" )
|
||||
( "akka" . "\xea0e" )
|
||||
( "alex" . "\x29cb" )
|
||||
( "alloy" . "\xe935" )
|
||||
( "alpine-linux" . "\xe9ff" )
|
||||
( "ampl" . "\xe94e" )
|
||||
( "amx" . "\xe99b" )
|
||||
( "angelscript" . "\xea5b" )
|
||||
( "ansible" . "\x24b6" )
|
||||
( "ansible-alt" . "\x61" )
|
||||
( "ant" . "\xe93e" )
|
||||
( "antlr" . "\xe92c" )
|
||||
( "antwar" . "\x2591" )
|
||||
( "api-blueprint" . "\xe92d" )
|
||||
( "apl" . "\x234b" )
|
||||
( "apl-old" . "\xe909" )
|
||||
( "apple" . "\xe925" )
|
||||
( "appveyor" . "\xe923" )
|
||||
( "arc" . "\xe92f" )
|
||||
( "arch-linux" . "\x41" )
|
||||
( "arduino" . "\xe930" )
|
||||
( "arttext" . "\x24d0" )
|
||||
( "asciidoc" . "\xe918" )
|
||||
( "assembly" . "\xEB4F" )
|
||||
( "ats" . "\xe934" )
|
||||
( "audacity" . "\xe9f9" )
|
||||
( "augeas" . "\xe931" )
|
||||
( "aurelia" . "\xea48" )
|
||||
( "auto-hotkey" . "\xe932" )
|
||||
( "autoit" . "\xe933" )
|
||||
( "babel" . "\xe91f" )
|
||||
( "bazel" . "\xea5a" )
|
||||
( "bem" . "\xea59" )
|
||||
( "bib" . "\xe601" )
|
||||
( "bintray" . "\xea6e" )
|
||||
( "bithound" . "\xea2a" )
|
||||
( "blender" . "\xe9fa" )
|
||||
( "bluespec" . "\xe93c" )
|
||||
( "boo" . "\xe939" )
|
||||
( "brain" . "\xe93a" )
|
||||
( "brakeman" . "\xe9d6" )
|
||||
( "bro" . "\xe93b" )
|
||||
( "broccoli" . "\xe922" )
|
||||
( "brotli" . "\xea6c" )
|
||||
( "browserslist" . "\xea80" )
|
||||
( "brunch" . "\xea47" )
|
||||
( "buck" . "\xea46" )
|
||||
( "build-boot" . "\xf103" )
|
||||
( "bundler" . "\xea45" )
|
||||
( "byond" . "\xe962" )
|
||||
( "cabal" . "\xe9c2" )
|
||||
( "caddy" . "\xea58" )
|
||||
( "cake" . "\xe9e3" )
|
||||
( "cakefile" . "\xe924" )
|
||||
( "cakephp" . "\xea43" )
|
||||
( "cakephp-old" . "\xe9d3" )
|
||||
( "cc" . "\xe9d5" )
|
||||
( "ceylon" . "\xe94f" )
|
||||
( "chai" . "\x63" )
|
||||
( "chapel" . "\xe950" )
|
||||
( "chartjs" . "\xea0b" )
|
||||
( "chef" . "\xea42" )
|
||||
( "chuck" . "\xe943" )
|
||||
( "circle-ci" . "\xea12" )
|
||||
( "cirru" . "\xe951" )
|
||||
( "ckeditor" . "\xea0c" )
|
||||
( "clarion" . "\xe952" )
|
||||
( "clean" . "\xe95b" )
|
||||
( "click" . "\xe95c" )
|
||||
( "clips" . "\xe940" )
|
||||
( "clj" . "\xf105" )
|
||||
( "cljs" . "\xf104" )
|
||||
( "closure-template" . "\xea82" )
|
||||
( "cmake" . "\xe93f" )
|
||||
( "cobol" . "\xea44" )
|
||||
( "codecov" . "\x2602" )
|
||||
( "codekit" . "\xea41" )
|
||||
( "codemirror" . "\xea0d" )
|
||||
( "codeship" . "\xea6a" )
|
||||
( "cold-fusion" . "\xe929" )
|
||||
( "clisp" . "\xe972" )
|
||||
( "composer" . "\xe683" )
|
||||
( "config" . "\xf07c" )
|
||||
( "coq" . "\xe95f" )
|
||||
( "cordova" . "\xea11" )
|
||||
( "cp" . "\xe942" )
|
||||
( "cpan" . "\xea87" )
|
||||
( "creole" . "\xe95e" )
|
||||
( "crystal" . "\xe902" )
|
||||
( "cs-script" . "\xe9e2" )
|
||||
( "csound" . "\xe9f0" )
|
||||
( "cucumber" . "\xf02b" )
|
||||
( "cython" . "\xe963" )
|
||||
( "d3" . "\xea10" )
|
||||
( "darcs" . "\xe964" )
|
||||
( "dart" . "\xe698" )
|
||||
( "dashboard" . "\xf07d" )
|
||||
( "dbase" . "\xe9f1" )
|
||||
( "default" . "\x1f5cc" )
|
||||
( "delphi" . "\xea40" )
|
||||
( "devicetree" . "\xea57" )
|
||||
( "diff" . "\xe960" )
|
||||
( "dockerfile" . "\xf106" )
|
||||
( "doclets" . "\xea3f" )
|
||||
( "doge" . "\xe946" )
|
||||
( "dom" . "\xea71" )
|
||||
( "donejs" . "\x1f3c1" )
|
||||
( "doxygen" . "\xe928" )
|
||||
( "dragula" . "\x1f44c" )
|
||||
( "drone" . "\xea3d" )
|
||||
( "dyalog" . "\xe90c" )
|
||||
( "dylib" . "\xea15" )
|
||||
( "e" . "\x45" )
|
||||
( "eagle" . "\xe965" )
|
||||
( "easybuild" . "\xea85" )
|
||||
( "ec" . "\xe9c9" )
|
||||
( "ecere" . "\xe966" )
|
||||
( "edge" . "\xea78" )
|
||||
( "editorconfig" . "\xea1b" )
|
||||
( "eiffel" . "\xe967" )
|
||||
( "ejs" . "\xea4b" )
|
||||
( "electron" . "\xea27" )
|
||||
( "elm" . "\xf102" )
|
||||
( "emacs" . "\xe926" )
|
||||
( "elisp" . "\xe926" )
|
||||
( "ember" . "\xe61b" )
|
||||
( "emberscript" . "\xe968" )
|
||||
( "eq" . "\xea0a" )
|
||||
( "esdoc" . "\xea5c" )
|
||||
( "eslint" . "\xea0f" )
|
||||
( "eslint-old" . "\xe90e" )
|
||||
( "excel" . "\xe9ee" )
|
||||
( "fabfile" . "\xe94b" )
|
||||
( "factor" . "\xe96a" )
|
||||
( "fancy" . "\xe96b" )
|
||||
( "fantom" . "\xe96f" )
|
||||
( "fbx" . "\xe9fc" )
|
||||
( "ffmpeg" . "\xea22" )
|
||||
( "finder" . "\xe9e9" )
|
||||
( "firebase" . "\xea7f" )
|
||||
( "flow" . "\xe921" )
|
||||
( "flux" . "\xe969" )
|
||||
( "font" . "\xe90f" )
|
||||
( "fontforge" . "\xfb00" )
|
||||
( "fortran" . "\xe90a" )
|
||||
( "franca" . "\xea56" )
|
||||
( "freemarker" . "\xe970" )
|
||||
( "frege" . "\xe96e" )
|
||||
( "fsharp" . "\xe6a7" )
|
||||
( "fuel-ux" . "\xea09" )
|
||||
( "gams" . "\xe973" )
|
||||
( "gap" . "\xe971" )
|
||||
( "gdb" . "\xea08" )
|
||||
( "genshi" . "\xe976" )
|
||||
( "gentoo" . "\xe96d" )
|
||||
( "gf" . "\xe978" )
|
||||
( "gitlab" . "\xea3c" )
|
||||
( "glade" . "\xe938" )
|
||||
( "glyphs" . "\x47" )
|
||||
( "gn" . "\xea25" )
|
||||
( "gnu" . "\xe679" )
|
||||
( "go" . "\xeaae" )
|
||||
( "godot" . "\xe974" )
|
||||
( "golo" . "\xe979" )
|
||||
( "gosu" . "\xe97a" )
|
||||
( "gradle" . "\xe903" )
|
||||
( "graphql" . "\xe97c" )
|
||||
( "graphviz" . "\xe97d" )
|
||||
( "groovy" . "\xe904" )
|
||||
( "grunt" . "\xe611" )
|
||||
( "gulp" . "\xe610" )
|
||||
( "hack" . "\xe9ce" )
|
||||
( "haml" . "\xf15b" )
|
||||
( "harbour" . "\xe97b" )
|
||||
( "hashicorp" . "\xe97e" )
|
||||
( "haxe" . "\xe907" )
|
||||
( "haxedevelop" . "\xea3b" )
|
||||
( "hg" . "\x263f" )
|
||||
( "hoplon" . "\xea4d" )
|
||||
( "hy" . "\xe97f" )
|
||||
( "icu" . "\xea23" )
|
||||
( "id" . "\xe9f4" )
|
||||
( "idl" . "\xe947" )
|
||||
( "idris" . "\xe983" )
|
||||
( "igorpro" . "\xe980" )
|
||||
( "image" . "\xf012" )
|
||||
( "inform7" . "\xe984" )
|
||||
( "inno" . "\xe985" )
|
||||
( "io" . "\xe981" )
|
||||
( "ioke" . "\xe982" )
|
||||
( "ionic-project" . "\xf14b" )
|
||||
( "isabelle" . "\xe945" )
|
||||
( "j" . "\xe937" )
|
||||
( "jade" . "\xe90d" )
|
||||
( "jake" . "\xe948" )
|
||||
( "jasmine" . "\xea3a" )
|
||||
( "jenkins" . "\xe667" )
|
||||
( "jest" . "\xea39" )
|
||||
( "jinja" . "\xe944" )
|
||||
( "jison" . "\xea55" )
|
||||
( "jolie" . "\xea75" )
|
||||
( "jsonld" . "\xe958" )
|
||||
( "jsx" . "\xf100" )
|
||||
( "jsx-2" . "\xf101" )
|
||||
( "jsx2-alt" . "\xe9e6" )
|
||||
( "julia" . "\x26ec" )
|
||||
( "junos" . "\xea81" )
|
||||
( "jupyter" . "\xe987" )
|
||||
( "karma" . "\xe9cd" )
|
||||
( "keynote" . "\xe9e5" )
|
||||
( "khronos" . "\xe9f8" )
|
||||
( "kicad" . "\xea4c" )
|
||||
( "kitchenci" . "\xea38" )
|
||||
( "kivy" . "\xe901" )
|
||||
( "knockout" . "\x4b" )
|
||||
( "kotlin" . "\xe989" )
|
||||
( "krl" . "\xe988" )
|
||||
( "labview" . "\xe98a" )
|
||||
( "lasso" . "\xe98c" )
|
||||
( "leaflet" . "\xea07" )
|
||||
( "lean" . "\x4c" )
|
||||
( "lerna" . "\xea37" )
|
||||
( "lfe" . "\xe94c" )
|
||||
( "libuv" . "\xea21" )
|
||||
( "lightwave" . "\xe9fb" )
|
||||
( "lime" . "\xea36" )
|
||||
( "lisp" . "\xe908" )
|
||||
( "livescript" . "\xe914" )
|
||||
( "llvm" . "\xe91d" )
|
||||
( "logtalk" . "\xe98d" )
|
||||
( "lookml" . "\xe98e" )
|
||||
( "lsl" . "\xe98b" )
|
||||
( "lua" . "\xe91b" )
|
||||
( "mako" . "\xe98f" )
|
||||
( "man-page" . "\xe936" )
|
||||
( "mapbox" . "\xe941" )
|
||||
( "markdownlint" . "\xf0c9" )
|
||||
( "marko" . "\xe920" )
|
||||
( "mathematica" . "\xe990" )
|
||||
( "mathjax" . "\xea06" )
|
||||
( "matlab" . "\xe991" )
|
||||
( "max" . "\xe993" )
|
||||
( "maxscript" . "\xe900" )
|
||||
( "maya" . "\xe9f6" )
|
||||
( "mediawiki" . "\xe954" )
|
||||
( "mercury" . "\xe994" )
|
||||
( "meson" . "\xea54" )
|
||||
( "metal" . "\x4d" )
|
||||
( "meteor" . "\xe6a5" )
|
||||
( "microsoft-infopath" . "\xea35" )
|
||||
( "minecraft" . "\xe9dc" )
|
||||
( "minizinc" . "\xea53" )
|
||||
( "mirah" . "\xe995" )
|
||||
( "miranda" . "\xea52" )
|
||||
( "mocha" . "\x26fe" )
|
||||
( "modula-2" . "\xe996" )
|
||||
( "moment" . "\x1f558" )
|
||||
( "moment-tz" . "\x1f30d" )
|
||||
( "monkey" . "\xe997" )
|
||||
( "moustache" . "\xe60f" )
|
||||
( "mruby" . "\xea18" )
|
||||
( "mupad" . "\xe9ca" )
|
||||
( "nano" . "\xea76" )
|
||||
( "nanoc" . "\xea51" )
|
||||
( "nant" . "\xe9e1" )
|
||||
( "nasm" . "\xea72" )
|
||||
( "neko" . "\xea05" )
|
||||
( "netlogo" . "\xe99c" )
|
||||
( "new-relic" . "\xe9d7" )
|
||||
( "nginx" . "\xf146b" )
|
||||
( "nib" . "\x2712" )
|
||||
( "nimrod" . "\xe998" )
|
||||
( "nit" . "\xe999" )
|
||||
( "nix" . "\xe99a" )
|
||||
( "nmap" . "\xe94d" )
|
||||
( "nodemon" . "\xea26" )
|
||||
( "normalize" . "\xea04" )
|
||||
( "npm" . "\xe91c" )
|
||||
( "npm-old" . "\xf17b" )
|
||||
( "nsis" . "\xea1e" )
|
||||
( "nsis-old" . "\xe992" )
|
||||
( "nuclide" . "\xea34" )
|
||||
( "nuget" . "\xe9d9" )
|
||||
( "numpy" . "\xe99d" )
|
||||
( "nunjucks" . "\xe953" )
|
||||
( "nvidia" . "\xe95d" )
|
||||
( "nxc" . "\xea6b" )
|
||||
( "obj" . "\xe9e8" )
|
||||
( "objective-j" . "\xe99e" )
|
||||
( "ocaml" . "\xe91a" )
|
||||
( "octave" . "\xea33" )
|
||||
( "onenote" . "\xe9eb" )
|
||||
( "ooc" . "\xe9cb" )
|
||||
( "opa" . "\x2601" )
|
||||
( "opencl" . "\xe99f" )
|
||||
( "opengl" . "\xea7a" )
|
||||
( "openoffice" . "\xe9e4" )
|
||||
( "openscad" . "\xe911" )
|
||||
( "org" . "\xe917" )
|
||||
( "owl" . "\xe957" )
|
||||
( "ox" . "\xe9a1" )
|
||||
( "oxygene" . "\xe9bf" )
|
||||
( "oz" . "\xe9be" )
|
||||
( "p4" . "\xea50" )
|
||||
( "pan" . "\xe9bd" )
|
||||
( "papyrus" . "\xe9bc" )
|
||||
( "parrot" . "\xe9bb" )
|
||||
( "pascal" . "\xe92a" )
|
||||
( "patch" . "\xe961" )
|
||||
( "pawn" . "\x265f" )
|
||||
( "pb" . "\xea14" )
|
||||
( "pegjs" . "\xea74" )
|
||||
( "raku" . "\xe96c" )
|
||||
( "phalcon" . "\xe94a" )
|
||||
( "phoenix" . "\xea5f" )
|
||||
( "php" . "\xf147" )
|
||||
( "phpunit" . "\xea32" )
|
||||
( "pickle" . "\xe9c4" )
|
||||
( "pike" . "\xe9b9" )
|
||||
( "platformio" . "\xea2c" )
|
||||
( "pm2" . "\x2630" )
|
||||
( "pod" . "\xea84" )
|
||||
( "pogo" . "\xe9b8" )
|
||||
( "pointwise" . "\xe977" )
|
||||
( "polymer" . "\xea2b" )
|
||||
( "pony" . "\xe9b7" )
|
||||
( "postcss" . "\xe910" )
|
||||
( "postscript" . "\xe955" )
|
||||
( "povray" . "\x50" )
|
||||
( "powerpoint" . "\xe9ec" )
|
||||
( "powershell" . "\xe9da" )
|
||||
( "precision" . "\x2295" )
|
||||
( "premiere" . "\xe9f5" )
|
||||
( "processing" . "\xe9a0" )
|
||||
( "progress" . "\xe9c0" )
|
||||
( "propeller" . "\xe9b5" )
|
||||
( "proselint" . "\xea6d" )
|
||||
( "protractor" . "\xe9de" )
|
||||
( "ps" . "\xe6b8" )
|
||||
( "pug" . "\xea13" )
|
||||
( "pug-alt" . "\xe9d0" )
|
||||
( "puppet" . "\xf0c3" )
|
||||
( "purebasic" . "\x1b5" )
|
||||
( "purescript" . "\xe9b2" )
|
||||
( "racket" . "\xe9b1" )
|
||||
( "raml" . "\xe913" )
|
||||
( "rascal" . "\xea24" )
|
||||
( "rdoc" . "\xe9b0" )
|
||||
( "realbasic" . "\xe9af" )
|
||||
( "reason" . "\xea1d" )
|
||||
( "rebol" . "\xe9ae" )
|
||||
( "red" . "\xe9ad" )
|
||||
( "redux" . "\xea30" )
|
||||
( "regex" . "\x2a" )
|
||||
( "rexx" . "\xea16" )
|
||||
( "rhino" . "\xea4a" )
|
||||
( "ring" . "\x1f48d" )
|
||||
( "riot" . "\xe919" )
|
||||
( "robot" . "\xe9ac" )
|
||||
( "rollup" . "\xea20" )
|
||||
( "rollup-old" . "\xe9fd" )
|
||||
( "rot" . "\x1f764" )
|
||||
( "rspec" . "\xea31" )
|
||||
( "rst" . "\xe9cc" )
|
||||
( "sage" . "\xe9ab" )
|
||||
( "saltstack" . "\xe915" )
|
||||
( "sas" . "\xe95a" )
|
||||
( "sbt" . "\xe9d2" )
|
||||
( "sc" . "\xe9a2" )
|
||||
( "scheme" . "\x3bb" )
|
||||
( "scilab" . "\xe9a9" )
|
||||
( "scrutinizer" . "\xe9d4" )
|
||||
( "self" . "\xe9a8" )
|
||||
( "sequelize" . "\xea2f" )
|
||||
( "sf" . "\xe9db" )
|
||||
( "shen" . "\xe9a7" )
|
||||
( "shipit" . "\x26f5" )
|
||||
( "shippable" . "\xea2d" )
|
||||
( "shopify" . "\xe9cf" )
|
||||
( "shuriken" . "\x272b" )
|
||||
( "silverstripe" . "\xe800" )
|
||||
( "sinatra" . "\xea03" )
|
||||
( "sketch" . "\xe927" )
|
||||
( "sketchup-layout" . "\xea7c" )
|
||||
( "sketchup-make" . "\xea7e" )
|
||||
( "sketchup-stylebuilder" . "\xea7d" )
|
||||
( "slash" . "\xe9a6" )
|
||||
( "snyk" . "\xea1c" )
|
||||
( "solidity" . "\xea86" )
|
||||
( "sparql" . "\xe959" )
|
||||
( "spray" . "\xea02" )
|
||||
( "sqf" . "\xe9a5" )
|
||||
( "sqlite" . "\xe9dd" )
|
||||
( "squarespace" . "\xea5e" )
|
||||
( "stan" . "\xe9a4" )
|
||||
( "stata" . "\xe9a3" )
|
||||
( "storyist" . "\xe9ef" )
|
||||
( "strings" . "\xe9e0" )
|
||||
( "stylelint" . "\xe93d" )
|
||||
( "stylus" . "\x73" )
|
||||
( "stylus-full" . "\xe9f7" )
|
||||
( "stylus-orb" . "\x53" )
|
||||
( "sublime" . "\xe986" )
|
||||
( "sv" . "\xe9c3" )
|
||||
( "svelte" . "\x33dc" )
|
||||
( "svn" . "\xea17" )
|
||||
( "swagger" . "\xea29" )
|
||||
( "tag" . "\xf015" )
|
||||
( "tcl" . "\xe956" )
|
||||
( "telegram" . "\x2708" )
|
||||
( "terminal" . "\xf0c8" )
|
||||
( "tern" . "\x1f54a" )
|
||||
( "terraform" . "\xe916" )
|
||||
( "test-coffeescript" . "\xea62" )
|
||||
( "test-dir" . "\xea60" )
|
||||
( "test-generic" . "\xea63" )
|
||||
( "test-js" . "\xea64" )
|
||||
( "test-perl" . "\xea65" )
|
||||
( "test-python" . "\xea66" )
|
||||
( "test-react" . "\xea67" )
|
||||
( "test-ruby" . "\xea68" )
|
||||
( "test-typescript" . "\xea69" )
|
||||
( "tex" . "\xe600" )
|
||||
( "textile" . "\x74" )
|
||||
( "textmate" . "\x2122" )
|
||||
( "thor" . "\xe9d8" )
|
||||
( "tinymce" . "\xea01" )
|
||||
( "tsx" . "\xe9d1" )
|
||||
( "tsx-alt" . "\xe9e7" )
|
||||
( "tt" . "\x54" )
|
||||
( "turing" . "\xe9b6" )
|
||||
( "twig" . "\x2e19" )
|
||||
( "twine" . "\xea5d" )
|
||||
( "txl" . "\xe9c1" )
|
||||
( "typedoc" . "\xe9fe" )
|
||||
( "typescript" . "\xe912" )
|
||||
( "typescript-alt" . "\x2a6" )
|
||||
( "typings" . "\xe9df" )
|
||||
( "uno" . "\xe9b3" )
|
||||
( "unreal" . "\x75" )
|
||||
( "urweb" . "\xe9ba" )
|
||||
( "v8" . "\xea1f" )
|
||||
( "vagrant" . "\x56" )
|
||||
( "vcl" . "\xe9b4" )
|
||||
( "verilog" . "\xe949" )
|
||||
( "vertex-shader" . "\xea79" )
|
||||
( "vhdl" . "\xe9aa" )
|
||||
( "video" . "\xf057" )
|
||||
( "virtualbox" . "\xea3e" )
|
||||
( "virtualbox-alt" . "\xea2e" )
|
||||
( "visio" . "\xea83" )
|
||||
( "vmware" . "\xea49" )
|
||||
( "vue" . "\xe906" )
|
||||
( "wasm" . "\xea70" )
|
||||
( "watchman" . "\xea4f" )
|
||||
( "webgl" . "\xea7b" )
|
||||
( "webpack" . "\xea61" )
|
||||
( "webpack-old" . "\xe91e" )
|
||||
( "wercker" . "\xea19" )
|
||||
( "word" . "\xe9ed" )
|
||||
( "x10" . "\x2169" )
|
||||
( "xamarin" . "\xea77" )
|
||||
( "xmos" . "\x58" )
|
||||
( "xpages" . "\xe9c5" )
|
||||
( "xtend" . "\xe9c6" )
|
||||
( "yarn" . "\xea1a" )
|
||||
( "yasm" . "\xea73" )
|
||||
( "yin-yang" . "\x262f" )
|
||||
( "yoyo" . "\xe975" )
|
||||
( "yui" . "\xea00" )
|
||||
( "zbrush" . "\xe9f2" )
|
||||
( "zephir" . "\xe9c7" )
|
||||
("zig" . "\x7A")
|
||||
( "zimpl" . "\xe9c8" )
|
||||
|
||||
)
|
||||
)
|
||||
|
||||
(provide 'data-fileicons)
|
Binary file not shown.
|
@ -0,0 +1,935 @@
|
|||
(defvar all-the-icons-data/material-icons-alist
|
||||
'(("3d_rotation" . "\xe84d")
|
||||
("ac_unit" . "\xeb3b")
|
||||
("access_alarm" . "\xe190")
|
||||
("access_alarms" . "\xe191")
|
||||
("access_time" . "\xe192")
|
||||
("accessibility" . "\xe84e")
|
||||
("accessible" . "\xe914")
|
||||
("account_balance" . "\xe84f")
|
||||
("account_balance_wallet" . "\xe850")
|
||||
("account_box" . "\xe851")
|
||||
("account_circle" . "\xe853")
|
||||
("adb" . "\xe60e")
|
||||
("add" . "\xe145")
|
||||
("add_a_photo" . "\xe439")
|
||||
("add_alarm" . "\xe193")
|
||||
("add_alert" . "\xe003")
|
||||
("add_box" . "\xe146")
|
||||
("add_circle" . "\xe147")
|
||||
("add_circle_outline" . "\xe148")
|
||||
("add_location" . "\xe567")
|
||||
("add_shopping_cart" . "\xe854")
|
||||
("add_to_photos" . "\xe39d")
|
||||
("add_to_queue" . "\xe05c")
|
||||
("adjust" . "\xe39e")
|
||||
("airline_seat_flat" . "\xe630")
|
||||
("airline_seat_flat_angled" . "\xe631")
|
||||
("airline_seat_individual_suite" . "\xe632")
|
||||
("airline_seat_legroom_extra" . "\xe633")
|
||||
("airline_seat_legroom_normal" . "\xe634")
|
||||
("airline_seat_legroom_reduced" . "\xe635")
|
||||
("airline_seat_recline_extra" . "\xe636")
|
||||
("airline_seat_recline_normal" . "\xe637")
|
||||
("airplanemode_active" . "\xe195")
|
||||
("airplanemode_inactive" . "\xe194")
|
||||
("airplay" . "\xe055")
|
||||
("airport_shuttle" . "\xeb3c")
|
||||
("alarm" . "\xe855")
|
||||
("alarm_add" . "\xe856")
|
||||
("alarm_off" . "\xe857")
|
||||
("alarm_on" . "\xe858")
|
||||
("album" . "\xe019")
|
||||
("all_inclusive" . "\xeb3d")
|
||||
("all_out" . "\xe90b")
|
||||
("android" . "\xe859")
|
||||
("announcement" . "\xe85a")
|
||||
("apps" . "\xe5c3")
|
||||
("archive" . "\xe149")
|
||||
("arrow_back" . "\xe5c4")
|
||||
("arrow_downward" . "\xe5db")
|
||||
("arrow_drop_down" . "\xe5c5")
|
||||
("arrow_drop_down_circle" . "\xe5c6")
|
||||
("arrow_drop_up" . "\xe5c7")
|
||||
("arrow_forward" . "\xe5c8")
|
||||
("arrow_upward" . "\xe5d8")
|
||||
("art_track" . "\xe060")
|
||||
("aspect_ratio" . "\xe85b")
|
||||
("assessment" . "\xe85c")
|
||||
("assignment" . "\xe85d")
|
||||
("assignment_ind" . "\xe85e")
|
||||
("assignment_late" . "\xe85f")
|
||||
("assignment_return" . "\xe860")
|
||||
("assignment_returned" . "\xe861")
|
||||
("assignment_turned_in" . "\xe862")
|
||||
("assistant" . "\xe39f")
|
||||
("assistant_photo" . "\xe3a0")
|
||||
("attach_file" . "\xe226")
|
||||
("attach_money" . "\xe227")
|
||||
("attachment" . "\xe2bc")
|
||||
("audiotrack" . "\xe3a1")
|
||||
("autorenew" . "\xe863")
|
||||
("av_timer" . "\xe01b")
|
||||
("backspace" . "\xe14a")
|
||||
("backup" . "\xe864")
|
||||
("battery_alert" . "\xe19c")
|
||||
("battery_charging_full" . "\xe1a3")
|
||||
("battery_full" . "\xe1a4")
|
||||
("battery_std" . "\xe1a5")
|
||||
("battery_unknown" . "\xe1a6")
|
||||
("beach_access" . "\xeb3e")
|
||||
("beenhere" . "\xe52d")
|
||||
("block" . "\xe14b")
|
||||
("bluetooth" . "\xe1a7")
|
||||
("bluetooth_audio" . "\xe60f")
|
||||
("bluetooth_connected" . "\xe1a8")
|
||||
("bluetooth_disabled" . "\xe1a9")
|
||||
("bluetooth_searching" . "\xe1aa")
|
||||
("blur_circular" . "\xe3a2")
|
||||
("blur_linear" . "\xe3a3")
|
||||
("blur_off" . "\xe3a4")
|
||||
("blur_on" . "\xe3a5")
|
||||
("book" . "\xe865")
|
||||
("bookmark" . "\xe866")
|
||||
("bookmark_border" . "\xe867")
|
||||
("border_all" . "\xe228")
|
||||
("border_bottom" . "\xe229")
|
||||
("border_clear" . "\xe22a")
|
||||
("border_color" . "\xe22b")
|
||||
("border_horizontal" . "\xe22c")
|
||||
("border_inner" . "\xe22d")
|
||||
("border_left" . "\xe22e")
|
||||
("border_outer" . "\xe22f")
|
||||
("border_right" . "\xe230")
|
||||
("border_style" . "\xe231")
|
||||
("border_top" . "\xe232")
|
||||
("border_vertical" . "\xe233")
|
||||
("branding_watermark" . "\xe06b")
|
||||
("brightness_1" . "\xe3a6")
|
||||
("brightness_2" . "\xe3a7")
|
||||
("brightness_3" . "\xe3a8")
|
||||
("brightness_4" . "\xe3a9")
|
||||
("brightness_5" . "\xe3aa")
|
||||
("brightness_6" . "\xe3ab")
|
||||
("brightness_7" . "\xe3ac")
|
||||
("brightness_auto" . "\xe1ab")
|
||||
("brightness_high" . "\xe1ac")
|
||||
("brightness_low" . "\xe1ad")
|
||||
("brightness_medium" . "\xe1ae")
|
||||
("broken_image" . "\xe3ad")
|
||||
("brush" . "\xe3ae")
|
||||
("bubble_chart" . "\xe6dd")
|
||||
("bug_report" . "\xe868")
|
||||
("build" . "\xe869")
|
||||
("burst_mode" . "\xe43c")
|
||||
("business" . "\xe0af")
|
||||
("business_center" . "\xeb3f")
|
||||
("cached" . "\xe86a")
|
||||
("cake" . "\xe7e9")
|
||||
("call" . "\xe0b0")
|
||||
("call_end" . "\xe0b1")
|
||||
("call_made" . "\xe0b2")
|
||||
("call_merge" . "\xe0b3")
|
||||
("call_missed" . "\xe0b4")
|
||||
("call_missed_outgoing" . "\xe0e4")
|
||||
("call_received" . "\xe0b5")
|
||||
("call_split" . "\xe0b6")
|
||||
("call_to_action" . "\xe06c")
|
||||
("camera" . "\xe3af")
|
||||
("camera_alt" . "\xe3b0")
|
||||
("camera_enhance" . "\xe8fc")
|
||||
("camera_front" . "\xe3b1")
|
||||
("camera_rear" . "\xe3b2")
|
||||
("camera_roll" . "\xe3b3")
|
||||
("cancel" . "\xe5c9")
|
||||
("card_giftcard" . "\xe8f6")
|
||||
("card_membership" . "\xe8f7")
|
||||
("card_travel" . "\xe8f8")
|
||||
("casino" . "\xeb40")
|
||||
("cast" . "\xe307")
|
||||
("cast_connected" . "\xe308")
|
||||
("center_focus_strong" . "\xe3b4")
|
||||
("center_focus_weak" . "\xe3b5")
|
||||
("change_history" . "\xe86b")
|
||||
("chat" . "\xe0b7")
|
||||
("chat_bubble" . "\xe0ca")
|
||||
("chat_bubble_outline" . "\xe0cb")
|
||||
("check" . "\xe5ca")
|
||||
("check_box" . "\xe834")
|
||||
("check_box_outline_blank" . "\xe835")
|
||||
("check_circle" . "\xe86c")
|
||||
("chevron_left" . "\xe5cb")
|
||||
("chevron_right" . "\xe5cc")
|
||||
("child_care" . "\xeb41")
|
||||
("child_friendly" . "\xeb42")
|
||||
("chrome_reader_mode" . "\xe86d")
|
||||
("class" . "\xe86e")
|
||||
("clear" . "\xe14c")
|
||||
("clear_all" . "\xe0b8")
|
||||
("close" . "\xe5cd")
|
||||
("closed_caption" . "\xe01c")
|
||||
("cloud" . "\xe2bd")
|
||||
("cloud_circle" . "\xe2be")
|
||||
("cloud_done" . "\xe2bf")
|
||||
("cloud_download" . "\xe2c0")
|
||||
("cloud_off" . "\xe2c1")
|
||||
("cloud_queue" . "\xe2c2")
|
||||
("cloud_upload" . "\xe2c3")
|
||||
("code" . "\xe86f")
|
||||
("collections" . "\xe3b6")
|
||||
("collections_bookmark" . "\xe431")
|
||||
("color_lens" . "\xe3b7")
|
||||
("colorize" . "\xe3b8")
|
||||
("comment" . "\xe0b9")
|
||||
("compare" . "\xe3b9")
|
||||
("compare_arrows" . "\xe915")
|
||||
("computer" . "\xe30a")
|
||||
("confirmation_number" . "\xe638")
|
||||
("contact_mail" . "\xe0d0")
|
||||
("contact_phone" . "\xe0cf")
|
||||
("contacts" . "\xe0ba")
|
||||
("content_copy" . "\xe14d")
|
||||
("content_cut" . "\xe14e")
|
||||
("content_paste" . "\xe14f")
|
||||
("control_point" . "\xe3ba")
|
||||
("control_point_duplicate" . "\xe3bb")
|
||||
("copyright" . "\xe90c")
|
||||
("create" . "\xe150")
|
||||
("create_new_folder" . "\xe2cc")
|
||||
("credit_card" . "\xe870")
|
||||
("crop" . "\xe3be")
|
||||
("crop_16_9" . "\xe3bc")
|
||||
("crop_3_2" . "\xe3bd")
|
||||
("crop_5_4" . "\xe3bf")
|
||||
("crop_7_5" . "\xe3c0")
|
||||
("crop_din" . "\xe3c1")
|
||||
("crop_free" . "\xe3c2")
|
||||
("crop_landscape" . "\xe3c3")
|
||||
("crop_original" . "\xe3c4")
|
||||
("crop_portrait" . "\xe3c5")
|
||||
("crop_rotate" . "\xe437")
|
||||
("crop_square" . "\xe3c6")
|
||||
("dashboard" . "\xe871")
|
||||
("data_usage" . "\xe1af")
|
||||
("date_range" . "\xe916")
|
||||
("dehaze" . "\xe3c7")
|
||||
("delete" . "\xe872")
|
||||
("delete_forever" . "\xe92b")
|
||||
("delete_sweep" . "\xe16c")
|
||||
("description" . "\xe873")
|
||||
("desktop_mac" . "\xe30b")
|
||||
("desktop_windows" . "\xe30c")
|
||||
("details" . "\xe3c8")
|
||||
("developer_board" . "\xe30d")
|
||||
("developer_mode" . "\xe1b0")
|
||||
("device_hub" . "\xe335")
|
||||
("devices" . "\xe1b1")
|
||||
("devices_other" . "\xe337")
|
||||
("dialer_sip" . "\xe0bb")
|
||||
("dialpad" . "\xe0bc")
|
||||
("directions" . "\xe52e")
|
||||
("directions_bike" . "\xe52f")
|
||||
("directions_boat" . "\xe532")
|
||||
("directions_bus" . "\xe530")
|
||||
("directions_car" . "\xe531")
|
||||
("directions_railway" . "\xe534")
|
||||
("directions_run" . "\xe566")
|
||||
("directions_subway" . "\xe533")
|
||||
("directions_transit" . "\xe535")
|
||||
("directions_walk" . "\xe536")
|
||||
("disc_full" . "\xe610")
|
||||
("dns" . "\xe875")
|
||||
("do_not_disturb" . "\xe612")
|
||||
("do_not_disturb_alt" . "\xe611")
|
||||
("do_not_disturb_off" . "\xe643")
|
||||
("do_not_disturb_on" . "\xe644")
|
||||
("dock" . "\xe30e")
|
||||
("domain" . "\xe7ee")
|
||||
("done" . "\xe876")
|
||||
("done_all" . "\xe877")
|
||||
("donut_large" . "\xe917")
|
||||
("donut_small" . "\xe918")
|
||||
("drafts" . "\xe151")
|
||||
("drag_handle" . "\xe25d")
|
||||
("drive_eta" . "\xe613")
|
||||
("dvr" . "\xe1b2")
|
||||
("edit" . "\xe3c9")
|
||||
("edit_location" . "\xe568")
|
||||
("eject" . "\xe8fb")
|
||||
("email" . "\xe0be")
|
||||
("enhanced_encryption" . "\xe63f")
|
||||
("equalizer" . "\xe01d")
|
||||
("error" . "\xe000")
|
||||
("error_outline" . "\xe001")
|
||||
("euro_symbol" . "\xe926")
|
||||
("ev_station" . "\xe56d")
|
||||
("event" . "\xe878")
|
||||
("event_available" . "\xe614")
|
||||
("event_busy" . "\xe615")
|
||||
("event_note" . "\xe616")
|
||||
("event_seat" . "\xe903")
|
||||
("exit_to_app" . "\xe879")
|
||||
("expand_less" . "\xe5ce")
|
||||
("expand_more" . "\xe5cf")
|
||||
("explicit" . "\xe01e")
|
||||
("explore" . "\xe87a")
|
||||
("exposure" . "\xe3ca")
|
||||
("exposure_neg_1" . "\xe3cb")
|
||||
("exposure_neg_2" . "\xe3cc")
|
||||
("exposure_plus_1" . "\xe3cd")
|
||||
("exposure_plus_2" . "\xe3ce")
|
||||
("exposure_zero" . "\xe3cf")
|
||||
("extension" . "\xe87b")
|
||||
("face" . "\xe87c")
|
||||
("fast_forward" . "\xe01f")
|
||||
("fast_rewind" . "\xe020")
|
||||
("favorite" . "\xe87d")
|
||||
("favorite_border" . "\xe87e")
|
||||
("featured_play_list" . "\xe06d")
|
||||
("featured_video" . "\xe06e")
|
||||
("feedback" . "\xe87f")
|
||||
("fiber_dvr" . "\xe05d")
|
||||
("fiber_manual_record" . "\xe061")
|
||||
("fiber_new" . "\xe05e")
|
||||
("fiber_pin" . "\xe06a")
|
||||
("fiber_smart_record" . "\xe062")
|
||||
("file_download" . "\xe2c4")
|
||||
("file_upload" . "\xe2c6")
|
||||
("filter" . "\xe3d3")
|
||||
("filter_1" . "\xe3d0")
|
||||
("filter_2" . "\xe3d1")
|
||||
("filter_3" . "\xe3d2")
|
||||
("filter_4" . "\xe3d4")
|
||||
("filter_5" . "\xe3d5")
|
||||
("filter_6" . "\xe3d6")
|
||||
("filter_7" . "\xe3d7")
|
||||
("filter_8" . "\xe3d8")
|
||||
("filter_9" . "\xe3d9")
|
||||
("filter_9_plus" . "\xe3da")
|
||||
("filter_b_and_w" . "\xe3db")
|
||||
("filter_center_focus" . "\xe3dc")
|
||||
("filter_drama" . "\xe3dd")
|
||||
("filter_frames" . "\xe3de")
|
||||
("filter_hdr" . "\xe3df")
|
||||
("filter_list" . "\xe152")
|
||||
("filter_none" . "\xe3e0")
|
||||
("filter_tilt_shift" . "\xe3e2")
|
||||
("filter_vintage" . "\xe3e3")
|
||||
("find_in_page" . "\xe880")
|
||||
("find_replace" . "\xe881")
|
||||
("fingerprint" . "\xe90d")
|
||||
("first_page" . "\xe5dc")
|
||||
("fitness_center" . "\xeb43")
|
||||
("flag" . "\xe153")
|
||||
("flare" . "\xe3e4")
|
||||
("flash_auto" . "\xe3e5")
|
||||
("flash_off" . "\xe3e6")
|
||||
("flash_on" . "\xe3e7")
|
||||
("flight" . "\xe539")
|
||||
("flight_land" . "\xe904")
|
||||
("flight_takeoff" . "\xe905")
|
||||
("flip" . "\xe3e8")
|
||||
("flip_to_back" . "\xe882")
|
||||
("flip_to_front" . "\xe883")
|
||||
("folder" . "\xe2c7")
|
||||
("folder_open" . "\xe2c8")
|
||||
("folder_shared" . "\xe2c9")
|
||||
("folder_special" . "\xe617")
|
||||
("font_download" . "\xe167")
|
||||
("format_align_center" . "\xe234")
|
||||
("format_align_justify" . "\xe235")
|
||||
("format_align_left" . "\xe236")
|
||||
("format_align_right" . "\xe237")
|
||||
("format_bold" . "\xe238")
|
||||
("format_clear" . "\xe239")
|
||||
("format_color_fill" . "\xe23a")
|
||||
("format_color_reset" . "\xe23b")
|
||||
("format_color_text" . "\xe23c")
|
||||
("format_indent_decrease" . "\xe23d")
|
||||
("format_indent_increase" . "\xe23e")
|
||||
("format_italic" . "\xe23f")
|
||||
("format_line_spacing" . "\xe240")
|
||||
("format_list_bulleted" . "\xe241")
|
||||
("format_list_numbered" . "\xe242")
|
||||
("format_paint" . "\xe243")
|
||||
("format_quote" . "\xe244")
|
||||
("format_shapes" . "\xe25e")
|
||||
("format_size" . "\xe245")
|
||||
("format_strikethrough" . "\xe246")
|
||||
("format_textdirection_l_to_r" . "\xe247")
|
||||
("format_textdirection_r_to_l" . "\xe248")
|
||||
("format_underlined" . "\xe249")
|
||||
("forum" . "\xe0bf")
|
||||
("forward" . "\xe154")
|
||||
("forward_10" . "\xe056")
|
||||
("forward_30" . "\xe057")
|
||||
("forward_5" . "\xe058")
|
||||
("free_breakfast" . "\xeb44")
|
||||
("fullscreen" . "\xe5d0")
|
||||
("fullscreen_exit" . "\xe5d1")
|
||||
("functions" . "\xe24a")
|
||||
("g_translate" . "\xe927")
|
||||
("gamepad" . "\xe30f")
|
||||
("games" . "\xe021")
|
||||
("gavel" . "\xe90e")
|
||||
("gesture" . "\xe155")
|
||||
("get_app" . "\xe884")
|
||||
("gif" . "\xe908")
|
||||
("golf_course" . "\xeb45")
|
||||
("gps_fixed" . "\xe1b3")
|
||||
("gps_not_fixed" . "\xe1b4")
|
||||
("gps_off" . "\xe1b5")
|
||||
("grade" . "\xe885")
|
||||
("gradient" . "\xe3e9")
|
||||
("grain" . "\xe3ea")
|
||||
("graphic_eq" . "\xe1b8")
|
||||
("grid_off" . "\xe3eb")
|
||||
("grid_on" . "\xe3ec")
|
||||
("group" . "\xe7ef")
|
||||
("group_add" . "\xe7f0")
|
||||
("group_work" . "\xe886")
|
||||
("hd" . "\xe052")
|
||||
("hdr_off" . "\xe3ed")
|
||||
("hdr_on" . "\xe3ee")
|
||||
("hdr_strong" . "\xe3f1")
|
||||
("hdr_weak" . "\xe3f2")
|
||||
("headset" . "\xe310")
|
||||
("headset_mic" . "\xe311")
|
||||
("healing" . "\xe3f3")
|
||||
("hearing" . "\xe023")
|
||||
("help" . "\xe887")
|
||||
("help_outline" . "\xe8fd")
|
||||
("high_quality" . "\xe024")
|
||||
("highlight" . "\xe25f")
|
||||
("highlight_off" . "\xe888")
|
||||
("history" . "\xe889")
|
||||
("home" . "\xe88a")
|
||||
("hot_tub" . "\xeb46")
|
||||
("hotel" . "\xe53a")
|
||||
("hourglass_empty" . "\xe88b")
|
||||
("hourglass_full" . "\xe88c")
|
||||
("http" . "\xe902")
|
||||
("https" . "\xe88d")
|
||||
("image" . "\xe3f4")
|
||||
("image_aspect_ratio" . "\xe3f5")
|
||||
("import_contacts" . "\xe0e0")
|
||||
("import_export" . "\xe0c3")
|
||||
("important_devices" . "\xe912")
|
||||
("inbox" . "\xe156")
|
||||
("indeterminate_check_box" . "\xe909")
|
||||
("info" . "\xe88e")
|
||||
("info_outline" . "\xe88f")
|
||||
("input" . "\xe890")
|
||||
("insert_chart" . "\xe24b")
|
||||
("insert_comment" . "\xe24c")
|
||||
("insert_drive_file" . "\xe24d")
|
||||
("insert_emoticon" . "\xe24e")
|
||||
("insert_invitation" . "\xe24f")
|
||||
("insert_link" . "\xe250")
|
||||
("insert_photo" . "\xe251")
|
||||
("invert_colors" . "\xe891")
|
||||
("invert_colors_off" . "\xe0c4")
|
||||
("iso" . "\xe3f6")
|
||||
("keyboard" . "\xe312")
|
||||
("keyboard_arrow_down" . "\xe313")
|
||||
("keyboard_arrow_left" . "\xe314")
|
||||
("keyboard_arrow_right" . "\xe315")
|
||||
("keyboard_arrow_up" . "\xe316")
|
||||
("keyboard_backspace" . "\xe317")
|
||||
("keyboard_capslock" . "\xe318")
|
||||
("keyboard_hide" . "\xe31a")
|
||||
("keyboard_return" . "\xe31b")
|
||||
("keyboard_tab" . "\xe31c")
|
||||
("keyboard_voice" . "\xe31d")
|
||||
("kitchen" . "\xeb47")
|
||||
("label" . "\xe892")
|
||||
("label_outline" . "\xe893")
|
||||
("landscape" . "\xe3f7")
|
||||
("language" . "\xe894")
|
||||
("laptop" . "\xe31e")
|
||||
("laptop_chromebook" . "\xe31f")
|
||||
("laptop_mac" . "\xe320")
|
||||
("laptop_windows" . "\xe321")
|
||||
("last_page" . "\xe5dd")
|
||||
("launch" . "\xe895")
|
||||
("layers" . "\xe53b")
|
||||
("layers_clear" . "\xe53c")
|
||||
("leak_add" . "\xe3f8")
|
||||
("leak_remove" . "\xe3f9")
|
||||
("lens" . "\xe3fa")
|
||||
("library_add" . "\xe02e")
|
||||
("library_books" . "\xe02f")
|
||||
("library_music" . "\xe030")
|
||||
("lightbulb_outline" . "\xe90f")
|
||||
("line_style" . "\xe919")
|
||||
("line_weight" . "\xe91a")
|
||||
("linear_scale" . "\xe260")
|
||||
("link" . "\xe157")
|
||||
("linked_camera" . "\xe438")
|
||||
("list" . "\xe896")
|
||||
("live_help" . "\xe0c6")
|
||||
("live_tv" . "\xe639")
|
||||
("local_activity" . "\xe53f")
|
||||
("local_airport" . "\xe53d")
|
||||
("local_atm" . "\xe53e")
|
||||
("local_bar" . "\xe540")
|
||||
("local_cafe" . "\xe541")
|
||||
("local_car_wash" . "\xe542")
|
||||
("local_convenience_store" . "\xe543")
|
||||
("local_dining" . "\xe556")
|
||||
("local_drink" . "\xe544")
|
||||
("local_florist" . "\xe545")
|
||||
("local_gas_station" . "\xe546")
|
||||
("local_grocery_store" . "\xe547")
|
||||
("local_hospital" . "\xe548")
|
||||
("local_hotel" . "\xe549")
|
||||
("local_laundry_service" . "\xe54a")
|
||||
("local_library" . "\xe54b")
|
||||
("local_mall" . "\xe54c")
|
||||
("local_movies" . "\xe54d")
|
||||
("local_offer" . "\xe54e")
|
||||
("local_parking" . "\xe54f")
|
||||
("local_pharmacy" . "\xe550")
|
||||
("local_phone" . "\xe551")
|
||||
("local_pizza" . "\xe552")
|
||||
("local_play" . "\xe553")
|
||||
("local_post_office" . "\xe554")
|
||||
("local_printshop" . "\xe555")
|
||||
("local_see" . "\xe557")
|
||||
("local_shipping" . "\xe558")
|
||||
("local_taxi" . "\xe559")
|
||||
("location_city" . "\xe7f1")
|
||||
("location_disabled" . "\xe1b6")
|
||||
("location_off" . "\xe0c7")
|
||||
("location_on" . "\xe0c8")
|
||||
("location_searching" . "\xe1b7")
|
||||
("lock" . "\xe897")
|
||||
("lock_open" . "\xe898")
|
||||
("lock_outline" . "\xe899")
|
||||
("looks" . "\xe3fc")
|
||||
("looks_3" . "\xe3fb")
|
||||
("looks_4" . "\xe3fd")
|
||||
("looks_5" . "\xe3fe")
|
||||
("looks_6" . "\xe3ff")
|
||||
("looks_one" . "\xe400")
|
||||
("looks_two" . "\xe401")
|
||||
("loop" . "\xe028")
|
||||
("loupe" . "\xe402")
|
||||
("low_priority" . "\xe16d")
|
||||
("loyalty" . "\xe89a")
|
||||
("mail" . "\xe158")
|
||||
("mail_outline" . "\xe0e1")
|
||||
("map" . "\xe55b")
|
||||
("markunread" . "\xe159")
|
||||
("markunread_mailbox" . "\xe89b")
|
||||
("memory" . "\xe322")
|
||||
("menu" . "\xe5d2")
|
||||
("merge_type" . "\xe252")
|
||||
("message" . "\xe0c9")
|
||||
("mic" . "\xe029")
|
||||
("mic_none" . "\xe02a")
|
||||
("mic_off" . "\xe02b")
|
||||
("mms" . "\xe618")
|
||||
("mode_comment" . "\xe253")
|
||||
("mode_edit" . "\xe254")
|
||||
("monetization_on" . "\xe263")
|
||||
("money_off" . "\xe25c")
|
||||
("monochrome_photos" . "\xe403")
|
||||
("mood" . "\xe7f2")
|
||||
("mood_bad" . "\xe7f3")
|
||||
("more" . "\xe619")
|
||||
("more_horiz" . "\xe5d3")
|
||||
("more_vert" . "\xe5d4")
|
||||
("motorcycle" . "\xe91b")
|
||||
("mouse" . "\xe323")
|
||||
("move_to_inbox" . "\xe168")
|
||||
("movie" . "\xe02c")
|
||||
("movie_creation" . "\xe404")
|
||||
("movie_filter" . "\xe43a")
|
||||
("multiline_chart" . "\xe6df")
|
||||
("music_note" . "\xe405")
|
||||
("music_video" . "\xe063")
|
||||
("my_location" . "\xe55c")
|
||||
("nature" . "\xe406")
|
||||
("nature_people" . "\xe407")
|
||||
("navigate_before" . "\xe408")
|
||||
("navigate_next" . "\xe409")
|
||||
("navigation" . "\xe55d")
|
||||
("near_me" . "\xe569")
|
||||
("network_cell" . "\xe1b9")
|
||||
("network_check" . "\xe640")
|
||||
("network_locked" . "\xe61a")
|
||||
("network_wifi" . "\xe1ba")
|
||||
("new_releases" . "\xe031")
|
||||
("next_week" . "\xe16a")
|
||||
("nfc" . "\xe1bb")
|
||||
("no_encryption" . "\xe641")
|
||||
("no_sim" . "\xe0cc")
|
||||
("not_interested" . "\xe033")
|
||||
("note" . "\xe06f")
|
||||
("note_add" . "\xe89c")
|
||||
("notifications" . "\xe7f4")
|
||||
("notifications_active" . "\xe7f7")
|
||||
("notifications_none" . "\xe7f5")
|
||||
("notifications_off" . "\xe7f6")
|
||||
("notifications_paused" . "\xe7f8")
|
||||
("offline_pin" . "\xe90a")
|
||||
("ondemand_video" . "\xe63a")
|
||||
("opacity" . "\xe91c")
|
||||
("open_in_browser" . "\xe89d")
|
||||
("open_in_new" . "\xe89e")
|
||||
("open_with" . "\xe89f")
|
||||
("pages" . "\xe7f9")
|
||||
("pageview" . "\xe8a0")
|
||||
("palette" . "\xe40a")
|
||||
("pan_tool" . "\xe925")
|
||||
("panorama" . "\xe40b")
|
||||
("panorama_fish_eye" . "\xe40c")
|
||||
("panorama_horizontal" . "\xe40d")
|
||||
("panorama_vertical" . "\xe40e")
|
||||
("panorama_wide_angle" . "\xe40f")
|
||||
("party_mode" . "\xe7fa")
|
||||
("pause" . "\xe034")
|
||||
("pause_circle_filled" . "\xe035")
|
||||
("pause_circle_outline" . "\xe036")
|
||||
("payment" . "\xe8a1")
|
||||
("people" . "\xe7fb")
|
||||
("people_outline" . "\xe7fc")
|
||||
("perm_camera_mic" . "\xe8a2")
|
||||
("perm_contact_calendar" . "\xe8a3")
|
||||
("perm_data_setting" . "\xe8a4")
|
||||
("perm_device_information" . "\xe8a5")
|
||||
("perm_identity" . "\xe8a6")
|
||||
("perm_media" . "\xe8a7")
|
||||
("perm_phone_msg" . "\xe8a8")
|
||||
("perm_scan_wifi" . "\xe8a9")
|
||||
("person" . "\xe7fd")
|
||||
("person_add" . "\xe7fe")
|
||||
("person_outline" . "\xe7ff")
|
||||
("person_pin" . "\xe55a")
|
||||
("person_pin_circle" . "\xe56a")
|
||||
("personal_video" . "\xe63b")
|
||||
("pets" . "\xe91d")
|
||||
("phone" . "\xe0cd")
|
||||
("phone_android" . "\xe324")
|
||||
("phone_bluetooth_speaker" . "\xe61b")
|
||||
("phone_forwarded" . "\xe61c")
|
||||
("phone_in_talk" . "\xe61d")
|
||||
("phone_iphone" . "\xe325")
|
||||
("phone_locked" . "\xe61e")
|
||||
("phone_missed" . "\xe61f")
|
||||
("phone_paused" . "\xe620")
|
||||
("phonelink" . "\xe326")
|
||||
("phonelink_erase" . "\xe0db")
|
||||
("phonelink_lock" . "\xe0dc")
|
||||
("phonelink_off" . "\xe327")
|
||||
("phonelink_ring" . "\xe0dd")
|
||||
("phonelink_setup" . "\xe0de")
|
||||
("photo" . "\xe410")
|
||||
("photo_album" . "\xe411")
|
||||
("photo_camera" . "\xe412")
|
||||
("photo_filter" . "\xe43b")
|
||||
("photo_library" . "\xe413")
|
||||
("photo_size_select_actual" . "\xe432")
|
||||
("photo_size_select_large" . "\xe433")
|
||||
("photo_size_select_small" . "\xe434")
|
||||
("picture_as_pdf" . "\xe415")
|
||||
("picture_in_picture" . "\xe8aa")
|
||||
("picture_in_picture_alt" . "\xe911")
|
||||
("pie_chart" . "\xe6c4")
|
||||
("pie_chart_outlined" . "\xe6c5")
|
||||
("pin_drop" . "\xe55e")
|
||||
("place" . "\xe55f")
|
||||
("play_arrow" . "\xe037")
|
||||
("play_circle_filled" . "\xe038")
|
||||
("play_circle_outline" . "\xe039")
|
||||
("play_for_work" . "\xe906")
|
||||
("playlist_add" . "\xe03b")
|
||||
("playlist_add_check" . "\xe065")
|
||||
("playlist_play" . "\xe05f")
|
||||
("plus_one" . "\xe800")
|
||||
("poll" . "\xe801")
|
||||
("polymer" . "\xe8ab")
|
||||
("pool" . "\xeb48")
|
||||
("portable_wifi_off" . "\xe0ce")
|
||||
("portrait" . "\xe416")
|
||||
("power" . "\xe63c")
|
||||
("power_input" . "\xe336")
|
||||
("power_settings_new" . "\xe8ac")
|
||||
("pregnant_woman" . "\xe91e")
|
||||
("present_to_all" . "\xe0df")
|
||||
("print" . "\xe8ad")
|
||||
("priority_high" . "\xe645")
|
||||
("public" . "\xe80b")
|
||||
("publish" . "\xe255")
|
||||
("query_builder" . "\xe8ae")
|
||||
("question_answer" . "\xe8af")
|
||||
("queue" . "\xe03c")
|
||||
("queue_music" . "\xe03d")
|
||||
("queue_play_next" . "\xe066")
|
||||
("radio" . "\xe03e")
|
||||
("radio_button_checked" . "\xe837")
|
||||
("radio_button_unchecked" . "\xe836")
|
||||
("rate_review" . "\xe560")
|
||||
("receipt" . "\xe8b0")
|
||||
("recent_actors" . "\xe03f")
|
||||
("record_voice_over" . "\xe91f")
|
||||
("redeem" . "\xe8b1")
|
||||
("redo" . "\xe15a")
|
||||
("refresh" . "\xe5d5")
|
||||
("remove" . "\xe15b")
|
||||
("remove_circle" . "\xe15c")
|
||||
("remove_circle_outline" . "\xe15d")
|
||||
("remove_from_queue" . "\xe067")
|
||||
("remove_red_eye" . "\xe417")
|
||||
("remove_shopping_cart" . "\xe928")
|
||||
("reorder" . "\xe8fe")
|
||||
("repeat" . "\xe040")
|
||||
("repeat_one" . "\xe041")
|
||||
("replay" . "\xe042")
|
||||
("replay_10" . "\xe059")
|
||||
("replay_30" . "\xe05a")
|
||||
("replay_5" . "\xe05b")
|
||||
("reply" . "\xe15e")
|
||||
("reply_all" . "\xe15f")
|
||||
("report" . "\xe160")
|
||||
("report_problem" . "\xe8b2")
|
||||
("restaurant" . "\xe56c")
|
||||
("restaurant_menu" . "\xe561")
|
||||
("restore" . "\xe8b3")
|
||||
("restore_page" . "\xe929")
|
||||
("ring_volume" . "\xe0d1")
|
||||
("room" . "\xe8b4")
|
||||
("room_service" . "\xeb49")
|
||||
("rotate_90_degrees_ccw" . "\xe418")
|
||||
("rotate_left" . "\xe419")
|
||||
("rotate_right" . "\xe41a")
|
||||
("rounded_corner" . "\xe920")
|
||||
("router" . "\xe328")
|
||||
("rowing" . "\xe921")
|
||||
("rss_feed" . "\xe0e5")
|
||||
("rv_hookup" . "\xe642")
|
||||
("satellite" . "\xe562")
|
||||
("save" . "\xe161")
|
||||
("scanner" . "\xe329")
|
||||
("schedule" . "\xe8b5")
|
||||
("school" . "\xe80c")
|
||||
("screen_lock_landscape" . "\xe1be")
|
||||
("screen_lock_portrait" . "\xe1bf")
|
||||
("screen_lock_rotation" . "\xe1c0")
|
||||
("screen_rotation" . "\xe1c1")
|
||||
("screen_share" . "\xe0e2")
|
||||
("sd_card" . "\xe623")
|
||||
("sd_storage" . "\xe1c2")
|
||||
("search" . "\xe8b6")
|
||||
("security" . "\xe32a")
|
||||
("select_all" . "\xe162")
|
||||
("send" . "\xe163")
|
||||
("sentiment_dissatisfied" . "\xe811")
|
||||
("sentiment_neutral" . "\xe812")
|
||||
("sentiment_satisfied" . "\xe813")
|
||||
("sentiment_very_dissatisfied" . "\xe814")
|
||||
("sentiment_very_satisfied" . "\xe815")
|
||||
("settings" . "\xe8b8")
|
||||
("settings_applications" . "\xe8b9")
|
||||
("settings_backup_restore" . "\xe8ba")
|
||||
("settings_bluetooth" . "\xe8bb")
|
||||
("settings_brightness" . "\xe8bd")
|
||||
("settings_cell" . "\xe8bc")
|
||||
("settings_ethernet" . "\xe8be")
|
||||
("settings_input_antenna" . "\xe8bf")
|
||||
("settings_input_component" . "\xe8c0")
|
||||
("settings_input_composite" . "\xe8c1")
|
||||
("settings_input_hdmi" . "\xe8c2")
|
||||
("settings_input_svideo" . "\xe8c3")
|
||||
("settings_overscan" . "\xe8c4")
|
||||
("settings_phone" . "\xe8c5")
|
||||
("settings_power" . "\xe8c6")
|
||||
("settings_remote" . "\xe8c7")
|
||||
("settings_system_daydream" . "\xe1c3")
|
||||
("settings_voice" . "\xe8c8")
|
||||
("share" . "\xe80d")
|
||||
("shop" . "\xe8c9")
|
||||
("shop_two" . "\xe8ca")
|
||||
("shopping_basket" . "\xe8cb")
|
||||
("shopping_cart" . "\xe8cc")
|
||||
("short_text" . "\xe261")
|
||||
("show_chart" . "\xe6e1")
|
||||
("shuffle" . "\xe043")
|
||||
("signal_cellular_4_bar" . "\xe1c8")
|
||||
("signal_cellular_connected_no_internet_4_bar" . "\xe1cd")
|
||||
("signal_cellular_no_sim" . "\xe1ce")
|
||||
("signal_cellular_null" . "\xe1cf")
|
||||
("signal_cellular_off" . "\xe1d0")
|
||||
("signal_wifi_4_bar" . "\xe1d8")
|
||||
("signal_wifi_4_bar_lock" . "\xe1d9")
|
||||
("signal_wifi_off" . "\xe1da")
|
||||
("sim_card" . "\xe32b")
|
||||
("sim_card_alert" . "\xe624")
|
||||
("skip_next" . "\xe044")
|
||||
("skip_previous" . "\xe045")
|
||||
("slideshow" . "\xe41b")
|
||||
("slow_motion_video" . "\xe068")
|
||||
("smartphone" . "\xe32c")
|
||||
("smoke_free" . "\xeb4a")
|
||||
("smoking_rooms" . "\xeb4b")
|
||||
("sms" . "\xe625")
|
||||
("sms_failed" . "\xe626")
|
||||
("snooze" . "\xe046")
|
||||
("sort" . "\xe164")
|
||||
("sort_by_alpha" . "\xe053")
|
||||
("spa" . "\xeb4c")
|
||||
("space_bar" . "\xe256")
|
||||
("speaker" . "\xe32d")
|
||||
("speaker_group" . "\xe32e")
|
||||
("speaker_notes" . "\xe8cd")
|
||||
("speaker_notes_off" . "\xe92a")
|
||||
("speaker_phone" . "\xe0d2")
|
||||
("spellcheck" . "\xe8ce")
|
||||
("star" . "\xe838")
|
||||
("star_border" . "\xe83a")
|
||||
("star_half" . "\xe839")
|
||||
("stars" . "\xe8d0")
|
||||
("stay_current_landscape" . "\xe0d3")
|
||||
("stay_current_portrait" . "\xe0d4")
|
||||
("stay_primary_landscape" . "\xe0d5")
|
||||
("stay_primary_portrait" . "\xe0d6")
|
||||
("stop" . "\xe047")
|
||||
("stop_screen_share" . "\xe0e3")
|
||||
("storage" . "\xe1db")
|
||||
("store" . "\xe8d1")
|
||||
("store_mall_directory" . "\xe563")
|
||||
("straighten" . "\xe41c")
|
||||
("streetview" . "\xe56e")
|
||||
("strikethrough_s" . "\xe257")
|
||||
("style" . "\xe41d")
|
||||
("subdirectory_arrow_left" . "\xe5d9")
|
||||
("subdirectory_arrow_right" . "\xe5da")
|
||||
("subject" . "\xe8d2")
|
||||
("subscriptions" . "\xe064")
|
||||
("subtitles" . "\xe048")
|
||||
("subway" . "\xe56f")
|
||||
("supervisor_account" . "\xe8d3")
|
||||
("surround_sound" . "\xe049")
|
||||
("swap_calls" . "\xe0d7")
|
||||
("swap_horiz" . "\xe8d4")
|
||||
("swap_vert" . "\xe8d5")
|
||||
("swap_vertical_circle" . "\xe8d6")
|
||||
("switch_camera" . "\xe41e")
|
||||
("switch_video" . "\xe41f")
|
||||
("sync" . "\xe627")
|
||||
("sync_disabled" . "\xe628")
|
||||
("sync_problem" . "\xe629")
|
||||
("system_update" . "\xe62a")
|
||||
("system_update_alt" . "\xe8d7")
|
||||
("tab" . "\xe8d8")
|
||||
("tab_unselected" . "\xe8d9")
|
||||
("tablet" . "\xe32f")
|
||||
("tablet_android" . "\xe330")
|
||||
("tablet_mac" . "\xe331")
|
||||
("tag_faces" . "\xe420")
|
||||
("tap_and_play" . "\xe62b")
|
||||
("terrain" . "\xe564")
|
||||
("text_fields" . "\xe262")
|
||||
("text_format" . "\xe165")
|
||||
("textsms" . "\xe0d8")
|
||||
("texture" . "\xe421")
|
||||
("theaters" . "\xe8da")
|
||||
("thumb_down" . "\xe8db")
|
||||
("thumb_up" . "\xe8dc")
|
||||
("thumbs_up_down" . "\xe8dd")
|
||||
("time_to_leave" . "\xe62c")
|
||||
("timelapse" . "\xe422")
|
||||
("timeline" . "\xe922")
|
||||
("timer" . "\xe425")
|
||||
("timer_10" . "\xe423")
|
||||
("timer_3" . "\xe424")
|
||||
("timer_off" . "\xe426")
|
||||
("title" . "\xe264")
|
||||
("toc" . "\xe8de")
|
||||
("today" . "\xe8df")
|
||||
("toll" . "\xe8e0")
|
||||
("tonality" . "\xe427")
|
||||
("touch_app" . "\xe913")
|
||||
("toys" . "\xe332")
|
||||
("track_changes" . "\xe8e1")
|
||||
("traffic" . "\xe565")
|
||||
("train" . "\xe570")
|
||||
("tram" . "\xe571")
|
||||
("transfer_within_a_station" . "\xe572")
|
||||
("transform" . "\xe428")
|
||||
("translate" . "\xe8e2")
|
||||
("trending_down" . "\xe8e3")
|
||||
("trending_flat" . "\xe8e4")
|
||||
("trending_up" . "\xe8e5")
|
||||
("tune" . "\xe429")
|
||||
("turned_in" . "\xe8e6")
|
||||
("turned_in_not" . "\xe8e7")
|
||||
("tv" . "\xe333")
|
||||
("unarchive" . "\xe169")
|
||||
("undo" . "\xe166")
|
||||
("unfold_less" . "\xe5d6")
|
||||
("unfold_more" . "\xe5d7")
|
||||
("update" . "\xe923")
|
||||
("usb" . "\xe1e0")
|
||||
("verified_user" . "\xe8e8")
|
||||
("vertical_align_bottom" . "\xe258")
|
||||
("vertical_align_center" . "\xe259")
|
||||
("vertical_align_top" . "\xe25a")
|
||||
("vibration" . "\xe62d")
|
||||
("video_call" . "\xe070")
|
||||
("video_label" . "\xe071")
|
||||
("video_library" . "\xe04a")
|
||||
("videocam" . "\xe04b")
|
||||
("videocam_off" . "\xe04c")
|
||||
("videogame_asset" . "\xe338")
|
||||
("view_agenda" . "\xe8e9")
|
||||
("view_array" . "\xe8ea")
|
||||
("view_carousel" . "\xe8eb")
|
||||
("view_column" . "\xe8ec")
|
||||
("view_comfy" . "\xe42a")
|
||||
("view_compact" . "\xe42b")
|
||||
("view_day" . "\xe8ed")
|
||||
("view_headline" . "\xe8ee")
|
||||
("view_list" . "\xe8ef")
|
||||
("view_module" . "\xe8f0")
|
||||
("view_quilt" . "\xe8f1")
|
||||
("view_stream" . "\xe8f2")
|
||||
("view_week" . "\xe8f3")
|
||||
("vignette" . "\xe435")
|
||||
("visibility" . "\xe8f4")
|
||||
("visibility_off" . "\xe8f5")
|
||||
("voice_chat" . "\xe62e")
|
||||
("voicemail" . "\xe0d9")
|
||||
("volume_down" . "\xe04d")
|
||||
("volume_mute" . "\xe04e")
|
||||
("volume_off" . "\xe04f")
|
||||
("volume_up" . "\xe050")
|
||||
("vpn_key" . "\xe0da")
|
||||
("vpn_lock" . "\xe62f")
|
||||
("wallpaper" . "\xe1bc")
|
||||
("warning" . "\xe002")
|
||||
("watch" . "\xe334")
|
||||
("watch_later" . "\xe924")
|
||||
("wb_auto" . "\xe42c")
|
||||
("wb_cloudy" . "\xe42d")
|
||||
("wb_incandescent" . "\xe42e")
|
||||
("wb_iridescent" . "\xe436")
|
||||
("wb_sunny" . "\xe430")
|
||||
("wc" . "\xe63d")
|
||||
("web" . "\xe051")
|
||||
("web_asset" . "\xe069")
|
||||
("weekend" . "\xe16b")
|
||||
("whatshot" . "\xe80e")
|
||||
("widgets" . "\xe1bd")
|
||||
("wifi" . "\xe63e")
|
||||
("wifi_lock" . "\xe1e1")
|
||||
("wifi_tethering" . "\xe1e2")
|
||||
("work" . "\xe8f9")
|
||||
("wrap_text" . "\xe25b")
|
||||
("youtube_searched_for" . "\xe8fa")
|
||||
("zoom_in" . "\xe8ff")
|
||||
("zoom_out" . "\xe900")
|
||||
("zoom_out_map" . "\xe56b")))
|
||||
|
||||
(provide 'data-material)
|
Binary file not shown.
|
@ -0,0 +1,165 @@
|
|||
(defvar all-the-icons-data/octicons-alist
|
||||
'(
|
||||
|
||||
("alert" . "\xf02d")
|
||||
("arrow-down" . "\xf03f")
|
||||
("arrow-left" . "\xf040")
|
||||
("arrow-right" . "\xf03e")
|
||||
("arrow-small-down" . "\xf0a0")
|
||||
("arrow-small-left" . "\xf0a1")
|
||||
("arrow-small-right" . "\xf071")
|
||||
("arrow-small-up" . "\xf09f")
|
||||
("arrow-up" . "\xf03d")
|
||||
("book" . "\xf007")
|
||||
("bookmark" . "\xf07b")
|
||||
("briefcase" . "\xf0d3")
|
||||
("broadcast" . "\xf048")
|
||||
("browser" . "\xf0c5")
|
||||
("bug" . "\xf091")
|
||||
("calendar" . "\xf068")
|
||||
("check" . "\xf03a")
|
||||
("checklist" . "\xf076")
|
||||
("chevron-down" . "\xf0a3")
|
||||
("chevron-left" . "\xf0a4")
|
||||
("chevron-right" . "\xf078")
|
||||
("chevron-up" . "\xf0a2")
|
||||
("circle-slash" . "\xf084")
|
||||
("circuit-board" . "\xf0d6")
|
||||
("clippy" . "\xf035")
|
||||
("clock" . "\xf046")
|
||||
("cloud-download" . "\xf00b")
|
||||
("cloud-upload" . "\xf00c")
|
||||
("code" . "\xf05f")
|
||||
("comment" . "\xf02b")
|
||||
("comment-discussion" . "\xf04f")
|
||||
("credit-card" . "\xf045")
|
||||
("dash" . "\xf0ca")
|
||||
("dashboard" . "\xf07d")
|
||||
("database" . "\xf096")
|
||||
("device-camera" . "\xf056")
|
||||
("device-camera-video" . "\xf057")
|
||||
("device-desktop" . "\xf27c")
|
||||
("device-mobile" . "\xf038")
|
||||
("diff" . "\xf04d")
|
||||
("diff-added" . "\xf06b")
|
||||
("diff-ignored" . "\xf099")
|
||||
("diff-modified" . "\xf06d")
|
||||
("diff-removed" . "\xf06c")
|
||||
("diff-renamed" . "\xf06e")
|
||||
("ellipsis" . "\xf09a")
|
||||
("eye" . "\xf04e")
|
||||
("file-binary" . "\xf094")
|
||||
("file-code" . "\xf010")
|
||||
("file-directory" . "\xf016")
|
||||
("file-media" . "\xf012")
|
||||
("file-pdf" . "\xf014")
|
||||
("file-submodule" . "\xf017")
|
||||
("file-symlink-directory" . "\xf0b1")
|
||||
("file-symlink-file" . "\xf0b0")
|
||||
("file-text" . "\xf011")
|
||||
("file-zip" . "\xf013")
|
||||
("flame" . "\xf0d2")
|
||||
("fold" . "\xf0cc")
|
||||
("gear" . "\xf02f")
|
||||
("gift" . "\xf042")
|
||||
("gist" . "\xf00e")
|
||||
("gist-secret" . "\xf08c")
|
||||
("git-branch" . "\xf020")
|
||||
("git-commit" . "\xf01f")
|
||||
("git-compare" . "\xf0ac")
|
||||
("git-merge" . "\xf023")
|
||||
("git-pull-request" . "\xf009")
|
||||
("globe" . "\xf0b6")
|
||||
("graph" . "\xf043")
|
||||
("beaker" . "\xf0dd")
|
||||
("heart" . "\x2665")
|
||||
("history" . "\xf07e")
|
||||
("home" . "\xf08d")
|
||||
("horizontal-rule" . "\xf070")
|
||||
("hourglass" . "\xf09e")
|
||||
("hubot" . "\xf09d")
|
||||
("inbox" . "\xf0cf")
|
||||
("info" . "\xf059")
|
||||
("issue-closed" . "\xf028")
|
||||
("issue-opened" . "\xf026")
|
||||
("issue-reopened" . "\xf027")
|
||||
("jersey" . "\xf019")
|
||||
("key" . "\xf049")
|
||||
("keyboard" . "\xf00d")
|
||||
("law" . "\xf0d8")
|
||||
("light-bulb" . "\xf000")
|
||||
("link" . "\xf05c")
|
||||
("link-external" . "\xf07f")
|
||||
("list-ordered" . "\xf062")
|
||||
("list-unordered" . "\xf061")
|
||||
("location" . "\xf060")
|
||||
("lock" . "\xf06a")
|
||||
("logo-github" . "\xf092")
|
||||
("mail" . "\xf03b")
|
||||
("mail-read" . "\xf03c")
|
||||
("mail-reply" . "\xf051")
|
||||
("mark-github" . "\xf00a")
|
||||
("markdown" . "\xf0c9")
|
||||
("megaphone" . "\xf077")
|
||||
("mention" . "\xf0be")
|
||||
("milestone" . "\xf075")
|
||||
("mirror" . "\xf024")
|
||||
("mortar-board" . "\xf0d7")
|
||||
("mute" . "\xf080")
|
||||
("no-newline" . "\xf09c")
|
||||
("octoface" . "\xf008")
|
||||
("organization" . "\xf037")
|
||||
("package" . "\xf0c4")
|
||||
("paintcan" . "\xf0d1")
|
||||
("pencil" . "\xf058")
|
||||
("person" . "\xf018")
|
||||
("pin" . "\xf041")
|
||||
("plug" . "\xf0d4")
|
||||
("plus" . "\xf05d")
|
||||
("primitive-dot" . "\xf052")
|
||||
("primitive-square" . "\xf053")
|
||||
("pulse" . "\xf085")
|
||||
("puzzle" . "\xf0c0")
|
||||
("question" . "\xf02c")
|
||||
("quote" . "\xf063")
|
||||
("radio-tower" . "\xf030")
|
||||
("repo" . "\xf001")
|
||||
("repo-clone" . "\xf04c")
|
||||
("repo-force-push" . "\xf04a")
|
||||
("repo-forked" . "\xf002")
|
||||
("repo-pull" . "\xf006")
|
||||
("repo-push" . "\xf005")
|
||||
("rocket" . "\xf033")
|
||||
("rss" . "\xf034")
|
||||
("ruby" . "\xf047")
|
||||
("search" . "\xf02e")
|
||||
("server" . "\xf097")
|
||||
("settings" . "\xf07c")
|
||||
("sign-in" . "\xf036")
|
||||
("sign-out" . "\xf032")
|
||||
("squirrel" . "\xf0b2")
|
||||
("star" . "\xf02a")
|
||||
("steps" . "\xf0c7")
|
||||
("stop" . "\xf08f")
|
||||
("sync" . "\xf087")
|
||||
("tag" . "\xf015")
|
||||
("telescope" . "\xf088")
|
||||
("terminal" . "\xf0c8")
|
||||
("three-bars" . "\xf05e")
|
||||
("thumbsdown" . "\xf0db")
|
||||
("thumbsup" . "\xf0da")
|
||||
("tools" . "\xf031")
|
||||
("trashcan" . "\xf0d0")
|
||||
("triangle-down" . "\xf05b")
|
||||
("triangle-left" . "\xf044")
|
||||
("triangle-right" . "\xf05a")
|
||||
("triangle-up" . "\xf0aa")
|
||||
("unfold" . "\xf039")
|
||||
("unmute" . "\xf0ba")
|
||||
("versions" . "\xf064")
|
||||
("x" . "\xf081")
|
||||
("zap" . "\x26A1")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-octicons)
|
Binary file not shown.
|
@ -0,0 +1,594 @@
|
|||
(defvar all-the-icons-data/weather-icons-alist
|
||||
'(
|
||||
|
||||
("alien" . "\xf075")
|
||||
("barometer" . "\xf079")
|
||||
("celsius" . "\xf03c")
|
||||
("cloud" . "\xf041")
|
||||
("cloud-down" . "\xf03d")
|
||||
("cloud-refresh" . "\xf03e")
|
||||
("cloud-up" . "\xf040")
|
||||
("cloudy" . "\xf013")
|
||||
("cloudy-gusts" . "\xf011")
|
||||
("cloudy-windy" . "\xf012")
|
||||
("day-cloudy" . "\xf002")
|
||||
("day-cloudy-gusts" . "\xf000")
|
||||
("day-cloudy-high" . "\xf07d")
|
||||
("day-cloudy-windy" . "\xf001")
|
||||
("day-fog" . "\xf003")
|
||||
("day-hail" . "\xf004")
|
||||
("day-haze" . "\xf0b6")
|
||||
("day-light-wind" . "\xf0c4")
|
||||
("day-lightning" . "\xf005")
|
||||
("day-rain" . "\xf008")
|
||||
("day-rain-mix" . "\xf006")
|
||||
("day-rain-wind" . "\xf007")
|
||||
("day-showers" . "\xf009")
|
||||
("day-sleet" . "\xf0b2")
|
||||
("day-sleet-storm" . "\xf068")
|
||||
("day-snow" . "\xf00a")
|
||||
("day-snow-thunderstorm" . "\xf06b")
|
||||
("day-snow-wind" . "\xf065")
|
||||
("day-sprinkle" . "\xf00b")
|
||||
("day-storm-showers" . "\xf00e")
|
||||
("day-sunny" . "\xf00d")
|
||||
("day-sunny-overcast" . "\xf00c")
|
||||
("day-thunderstorm" . "\xf010")
|
||||
("day-windy" . "\xf085")
|
||||
("degrees" . "\xf042")
|
||||
("direction-down" . "\xf044")
|
||||
("direction-down-left" . "\xf043")
|
||||
("direction-down-right" . "\xf088")
|
||||
("direction-left" . "\xf048")
|
||||
("direction-right" . "\xf04d")
|
||||
("direction-up" . "\xf058")
|
||||
("direction-up-left" . "\xf087")
|
||||
("direction-up-right" . "\xf057")
|
||||
("dust" . "\xf063")
|
||||
("earthquake" . "\xf0c6")
|
||||
("fahrenheit" . "\xf045")
|
||||
("fire" . "\xf0c7")
|
||||
("flood" . "\xf07c")
|
||||
("fog" . "\xf014")
|
||||
("forecast-io-clear-day" . "\xf00d")
|
||||
("forecast-io-clear-night" . "\xf02e")
|
||||
("forecast-io-cloudy" . "\xf013")
|
||||
("forecast-io-fog" . "\xf014")
|
||||
("forecast-io-hail" . "\xf015")
|
||||
("forecast-io-partly-cloudy-day" . "\xf002")
|
||||
("forecast-io-partly-cloudy-night" . "\xf031")
|
||||
("forecast-io-rain" . "\xf019")
|
||||
("forecast-io-sleet" . "\xf0b5")
|
||||
("forecast-io-snow" . "\xf01b")
|
||||
("forecast-io-thunderstorm" . "\xf01e")
|
||||
("forecast-io-tornado" . "\xf056")
|
||||
("forecast-io-wind" . "\xf050")
|
||||
("gale-warning" . "\xf0cd")
|
||||
("hail" . "\xf015")
|
||||
("horizon" . "\xf047")
|
||||
("horizon-alt" . "\xf046")
|
||||
("hot" . "\xf072")
|
||||
("humidity" . "\xf07a")
|
||||
("hurricane" . "\xf073")
|
||||
("hurricane-warning" . "\xf0cf")
|
||||
("lightning" . "\xf016")
|
||||
("lunar-eclipse" . "\xf070")
|
||||
("meteor" . "\xf071")
|
||||
("moon-0" . "\xf095")
|
||||
("moon-1" . "\xf096")
|
||||
("moon-10" . "\xf09f")
|
||||
("moon-11" . "\xf0a0")
|
||||
("moon-12" . "\xf0a1")
|
||||
("moon-13" . "\xf0a2")
|
||||
("moon-14" . "\xf0a3")
|
||||
("moon-15" . "\xf0a4")
|
||||
("moon-16" . "\xf0a5")
|
||||
("moon-17" . "\xf0a6")
|
||||
("moon-18" . "\xf0a7")
|
||||
("moon-19" . "\xf0a8")
|
||||
("moon-2" . "\xf097")
|
||||
("moon-20" . "\xf0a9")
|
||||
("moon-21" . "\xf0aa")
|
||||
("moon-22" . "\xf0ab")
|
||||
("moon-23" . "\xf0ac")
|
||||
("moon-24" . "\xf0ad")
|
||||
("moon-25" . "\xf0ae")
|
||||
("moon-26" . "\xf0af")
|
||||
("moon-27" . "\xf0b0")
|
||||
("moon-3" . "\xf098")
|
||||
("moon-4" . "\xf099")
|
||||
("moon-5" . "\xf09a")
|
||||
("moon-6" . "\xf09b")
|
||||
("moon-7" . "\xf09c")
|
||||
("moon-8" . "\xf09d")
|
||||
("moon-9" . "\xf09e")
|
||||
("moon-alt-first-quarter" . "\xf0d6")
|
||||
("moon-alt-full" . "\xf0dd")
|
||||
("moon-alt-new" . "\xf0eb")
|
||||
("moon-alt-third-quarter" . "\xf0e4")
|
||||
("moon-alt-waning-crescent-1" . "\xf0e5")
|
||||
("moon-alt-waning-crescent-2" . "\xf0e6")
|
||||
("moon-alt-waning-crescent-3" . "\xf0e7")
|
||||
("moon-alt-waning-crescent-4" . "\xf0e8")
|
||||
("moon-alt-waning-crescent-5" . "\xf0e9")
|
||||
("moon-alt-waning-crescent-6" . "\xf0ea")
|
||||
("moon-alt-waning-gibbous-1" . "\xf0de")
|
||||
("moon-alt-waning-gibbous-2" . "\xf0df")
|
||||
("moon-alt-waning-gibbous-3" . "\xf0e0")
|
||||
("moon-alt-waning-gibbous-4" . "\xf0e1")
|
||||
("moon-alt-waning-gibbous-5" . "\xf0e2")
|
||||
("moon-alt-waning-gibbous-6" . "\xf0e3")
|
||||
("moon-alt-waxing-crescent-1" . "\xf0d0")
|
||||
("moon-alt-waxing-crescent-2" . "\xf0d1")
|
||||
("moon-alt-waxing-crescent-3" . "\xf0d2")
|
||||
("moon-alt-waxing-crescent-4" . "\xf0d3")
|
||||
("moon-alt-waxing-crescent-5" . "\xf0d4")
|
||||
("moon-alt-waxing-crescent-6" . "\xf0d5")
|
||||
("moon-alt-waxing-gibbous-1" . "\xf0d7")
|
||||
("moon-alt-waxing-gibbous-2" . "\xf0d8")
|
||||
("moon-alt-waxing-gibbous-3" . "\xf0d9")
|
||||
("moon-alt-waxing-gibbous-4" . "\xf0da")
|
||||
("moon-alt-waxing-gibbous-5" . "\xf0db")
|
||||
("moon-alt-waxing-gibbous-6" . "\xf0dc")
|
||||
("moon-first-quarter" . "\xf09c")
|
||||
("moon-full" . "\xf0a3")
|
||||
("moon-new" . "\xf095")
|
||||
("moon-third-quarter" . "\xf0aa")
|
||||
("moon-waning-crescent-1" . "\xf0ab")
|
||||
("moon-waning-crescent-2" . "\xf0ac")
|
||||
("moon-waning-crescent-3" . "\xf0ad")
|
||||
("moon-waning-crescent-4" . "\xf0ae")
|
||||
("moon-waning-crescent-5" . "\xf0af")
|
||||
("moon-waning-crescent-6" . "\xf0b0")
|
||||
("moon-waning-gibbous-1" . "\xf0a4")
|
||||
("moon-waning-gibbous-2" . "\xf0a5")
|
||||
("moon-waning-gibbous-3" . "\xf0a6")
|
||||
("moon-waning-gibbous-4" . "\xf0a7")
|
||||
("moon-waning-gibbous-5" . "\xf0a8")
|
||||
("moon-waning-gibbous-6" . "\xf0a9")
|
||||
("moon-waxing-crescent-1" . "\xf096")
|
||||
("moon-waxing-crescent-2" . "\xf097")
|
||||
("moon-waxing-crescent-3" . "\xf098")
|
||||
("moon-waxing-crescent-4" . "\xf099")
|
||||
("moon-waxing-crescent-5" . "\xf09a")
|
||||
("moon-waxing-crescent-6" . "\xf09b")
|
||||
("moon-waxing-gibbous-1" . "\xf09d")
|
||||
("moon-waxing-gibbous-2" . "\xf09e")
|
||||
("moon-waxing-gibbous-3" . "\xf09f")
|
||||
("moon-waxing-gibbous-4" . "\xf0a0")
|
||||
("moon-waxing-gibbous-5" . "\xf0a1")
|
||||
("moon-waxing-gibbous-6" . "\xf0a2")
|
||||
("moonrise" . "\xf0c9")
|
||||
("moonset" . "\xf0ca")
|
||||
("na" . "\xf07b")
|
||||
("night-alt-cloudy" . "\xf086")
|
||||
("night-alt-cloudy-gusts" . "\xf022")
|
||||
("night-alt-cloudy-high" . "\xf07e")
|
||||
("night-alt-cloudy-windy" . "\xf023")
|
||||
("night-alt-hail" . "\xf024")
|
||||
("night-alt-lightning" . "\xf025")
|
||||
("night-alt-partly-cloudy" . "\xf081")
|
||||
("night-alt-rain" . "\xf028")
|
||||
("night-alt-rain-mix" . "\xf026")
|
||||
("night-alt-rain-wind" . "\xf027")
|
||||
("night-alt-showers" . "\xf029")
|
||||
("night-alt-sleet" . "\xf0b4")
|
||||
("night-alt-sleet-storm" . "\xf06a")
|
||||
("night-alt-snow" . "\xf02a")
|
||||
("night-alt-snow-thunderstorm" . "\xf06d")
|
||||
("night-alt-snow-wind" . "\xf067")
|
||||
("night-alt-sprinkle" . "\xf02b")
|
||||
("night-alt-storm-showers" . "\xf02c")
|
||||
("night-alt-thunderstorm" . "\xf02d")
|
||||
("night-clear" . "\xf02e")
|
||||
("night-cloudy" . "\xf031")
|
||||
("night-cloudy-gusts" . "\xf02f")
|
||||
("night-cloudy-high" . "\xf080")
|
||||
("night-cloudy-windy" . "\xf030")
|
||||
("night-fog" . "\xf04a")
|
||||
("night-hail" . "\xf032")
|
||||
("night-lightning" . "\xf033")
|
||||
("night-partly-cloudy" . "\xf083")
|
||||
("night-rain" . "\xf036")
|
||||
("night-rain-mix" . "\xf034")
|
||||
("night-rain-wind" . "\xf035")
|
||||
("night-showers" . "\xf037")
|
||||
("night-sleet" . "\xf0b3")
|
||||
("night-sleet-storm" . "\xf069")
|
||||
("night-snow" . "\xf038")
|
||||
("night-snow-thunderstorm" . "\xf06c")
|
||||
("night-snow-wind" . "\xf066")
|
||||
("night-sprinkle" . "\xf039")
|
||||
("night-storm-showers" . "\xf03a")
|
||||
("night-thunderstorm" . "\xf03b")
|
||||
("owm-200" . "\xf01e")
|
||||
("owm-201" . "\xf01e")
|
||||
("owm-202" . "\xf01e")
|
||||
("owm-210" . "\xf016")
|
||||
("owm-211" . "\xf016")
|
||||
("owm-212" . "\xf016")
|
||||
("owm-221" . "\xf016")
|
||||
("owm-230" . "\xf01e")
|
||||
("owm-231" . "\xf01e")
|
||||
("owm-232" . "\xf01e")
|
||||
("owm-300" . "\xf01c")
|
||||
("owm-301" . "\xf01c")
|
||||
("owm-302" . "\xf019")
|
||||
("owm-310" . "\xf017")
|
||||
("owm-311" . "\xf019")
|
||||
("owm-312" . "\xf019")
|
||||
("owm-313" . "\xf01a")
|
||||
("owm-314" . "\xf019")
|
||||
("owm-321" . "\xf01c")
|
||||
("owm-500" . "\xf01c")
|
||||
("owm-501" . "\xf019")
|
||||
("owm-502" . "\xf019")
|
||||
("owm-503" . "\xf019")
|
||||
("owm-504" . "\xf019")
|
||||
("owm-511" . "\xf017")
|
||||
("owm-520" . "\xf01a")
|
||||
("owm-521" . "\xf01a")
|
||||
("owm-522" . "\xf01a")
|
||||
("owm-531" . "\xf01d")
|
||||
("owm-600" . "\xf01b")
|
||||
("owm-601" . "\xf01b")
|
||||
("owm-602" . "\xf0b5")
|
||||
("owm-611" . "\xf017")
|
||||
("owm-612" . "\xf017")
|
||||
("owm-615" . "\xf017")
|
||||
("owm-616" . "\xf017")
|
||||
("owm-620" . "\xf017")
|
||||
("owm-621" . "\xf01b")
|
||||
("owm-622" . "\xf01b")
|
||||
("owm-701" . "\xf01a")
|
||||
("owm-711" . "\xf062")
|
||||
("owm-721" . "\xf0b6")
|
||||
("owm-731" . "\xf063")
|
||||
("owm-741" . "\xf014")
|
||||
("owm-761" . "\xf063")
|
||||
("owm-762" . "\xf063")
|
||||
("owm-771" . "\xf011")
|
||||
("owm-781" . "\xf056")
|
||||
("owm-800" . "\xf00d")
|
||||
("owm-801" . "\xf011")
|
||||
("owm-802" . "\xf011")
|
||||
("owm-803" . "\xf012")
|
||||
("owm-804" . "\xf013")
|
||||
("owm-900" . "\xf056")
|
||||
("owm-901" . "\xf01d")
|
||||
("owm-902" . "\xf073")
|
||||
("owm-903" . "\xf076")
|
||||
("owm-904" . "\xf072")
|
||||
("owm-905" . "\xf021")
|
||||
("owm-906" . "\xf015")
|
||||
("owm-957" . "\xf050")
|
||||
("owm-day-200" . "\xf010")
|
||||
("owm-day-201" . "\xf010")
|
||||
("owm-day-202" . "\xf010")
|
||||
("owm-day-210" . "\xf005")
|
||||
("owm-day-211" . "\xf005")
|
||||
("owm-day-212" . "\xf005")
|
||||
("owm-day-221" . "\xf005")
|
||||
("owm-day-230" . "\xf010")
|
||||
("owm-day-231" . "\xf010")
|
||||
("owm-day-232" . "\xf010")
|
||||
("owm-day-300" . "\xf00b")
|
||||
("owm-day-301" . "\xf00b")
|
||||
("owm-day-302" . "\xf008")
|
||||
("owm-day-310" . "\xf008")
|
||||
("owm-day-311" . "\xf008")
|
||||
("owm-day-312" . "\xf008")
|
||||
("owm-day-313" . "\xf008")
|
||||
("owm-day-314" . "\xf008")
|
||||
("owm-day-321" . "\xf00b")
|
||||
("owm-day-500" . "\xf00b")
|
||||
("owm-day-501" . "\xf008")
|
||||
("owm-day-502" . "\xf008")
|
||||
("owm-day-503" . "\xf008")
|
||||
("owm-day-504" . "\xf008")
|
||||
("owm-day-511" . "\xf006")
|
||||
("owm-day-520" . "\xf009")
|
||||
("owm-day-521" . "\xf009")
|
||||
("owm-day-522" . "\xf009")
|
||||
("owm-day-531" . "\xf00e")
|
||||
("owm-day-600" . "\xf00a")
|
||||
("owm-day-601" . "\xf0b2")
|
||||
("owm-day-602" . "\xf00a")
|
||||
("owm-day-611" . "\xf006")
|
||||
("owm-day-612" . "\xf006")
|
||||
("owm-day-615" . "\xf006")
|
||||
("owm-day-616" . "\xf006")
|
||||
("owm-day-620" . "\xf006")
|
||||
("owm-day-621" . "\xf00a")
|
||||
("owm-day-622" . "\xf00a")
|
||||
("owm-day-701" . "\xf009")
|
||||
("owm-day-711" . "\xf062")
|
||||
("owm-day-721" . "\xf0b6")
|
||||
("owm-day-731" . "\xf063")
|
||||
("owm-day-741" . "\xf003")
|
||||
("owm-day-761" . "\xf063")
|
||||
("owm-day-762" . "\xf063")
|
||||
("owm-day-781" . "\xf056")
|
||||
("owm-day-800" . "\xf00d")
|
||||
("owm-day-801" . "\xf000")
|
||||
("owm-day-802" . "\xf000")
|
||||
("owm-day-803" . "\xf000")
|
||||
("owm-day-804" . "\xf00c")
|
||||
("owm-day-900" . "\xf056")
|
||||
("owm-day-902" . "\xf073")
|
||||
("owm-day-903" . "\xf076")
|
||||
("owm-day-904" . "\xf072")
|
||||
("owm-day-906" . "\xf004")
|
||||
("owm-day-957" . "\xf050")
|
||||
("owm-night-200" . "\xf02d")
|
||||
("owm-night-201" . "\xf02d")
|
||||
("owm-night-202" . "\xf02d")
|
||||
("owm-night-210" . "\xf025")
|
||||
("owm-night-211" . "\xf025")
|
||||
("owm-night-212" . "\xf025")
|
||||
("owm-night-221" . "\xf025")
|
||||
("owm-night-230" . "\xf02d")
|
||||
("owm-night-231" . "\xf02d")
|
||||
("owm-night-232" . "\xf02d")
|
||||
("owm-night-300" . "\xf02b")
|
||||
("owm-night-301" . "\xf02b")
|
||||
("owm-night-302" . "\xf028")
|
||||
("owm-night-310" . "\xf028")
|
||||
("owm-night-311" . "\xf028")
|
||||
("owm-night-312" . "\xf028")
|
||||
("owm-night-313" . "\xf028")
|
||||
("owm-night-314" . "\xf028")
|
||||
("owm-night-321" . "\xf02b")
|
||||
("owm-night-500" . "\xf02b")
|
||||
("owm-night-501" . "\xf028")
|
||||
("owm-night-502" . "\xf028")
|
||||
("owm-night-503" . "\xf028")
|
||||
("owm-night-504" . "\xf028")
|
||||
("owm-night-511" . "\xf026")
|
||||
("owm-night-520" . "\xf029")
|
||||
("owm-night-521" . "\xf029")
|
||||
("owm-night-522" . "\xf029")
|
||||
("owm-night-531" . "\xf02c")
|
||||
("owm-night-600" . "\xf02a")
|
||||
("owm-night-601" . "\xf0b4")
|
||||
("owm-night-602" . "\xf02a")
|
||||
("owm-night-611" . "\xf026")
|
||||
("owm-night-612" . "\xf026")
|
||||
("owm-night-615" . "\xf026")
|
||||
("owm-night-616" . "\xf026")
|
||||
("owm-night-620" . "\xf026")
|
||||
("owm-night-621" . "\xf02a")
|
||||
("owm-night-622" . "\xf02a")
|
||||
("owm-night-701" . "\xf029")
|
||||
("owm-night-711" . "\xf062")
|
||||
("owm-night-721" . "\xf0b6")
|
||||
("owm-night-731" . "\xf063")
|
||||
("owm-night-741" . "\xf04a")
|
||||
("owm-night-761" . "\xf063")
|
||||
("owm-night-762" . "\xf063")
|
||||
("owm-night-781" . "\xf056")
|
||||
("owm-night-800" . "\xf02e")
|
||||
("owm-night-801" . "\xf022")
|
||||
("owm-night-802" . "\xf022")
|
||||
("owm-night-803" . "\xf022")
|
||||
("owm-night-804" . "\xf086")
|
||||
("owm-night-900" . "\xf056")
|
||||
("owm-night-902" . "\xf073")
|
||||
("owm-night-903" . "\xf076")
|
||||
("owm-night-904" . "\xf072")
|
||||
("owm-night-906" . "\xf024")
|
||||
("owm-night-957" . "\xf050")
|
||||
("rain" . "\xf019")
|
||||
("rain-mix" . "\xf017")
|
||||
("rain-wind" . "\xf018")
|
||||
("raindrop" . "\xf078")
|
||||
("raindrops" . "\xf04e")
|
||||
("refresh" . "\xf04c")
|
||||
("refresh-alt" . "\xf04b")
|
||||
("sandstorm" . "\xf082")
|
||||
("showers" . "\xf01a")
|
||||
("sleet" . "\xf0b5")
|
||||
("small-craft-advisory" . "\xf0cc")
|
||||
("smog" . "\xf074")
|
||||
("smoke" . "\xf062")
|
||||
("snow" . "\xf01b")
|
||||
("snow" . "\xf01b")
|
||||
("snow-wind" . "\xf064")
|
||||
("snowflake-cold" . "\xf076")
|
||||
("solar-eclipse" . "\xf06e")
|
||||
("sprinkle" . "\xf01c")
|
||||
("stars" . "\xf077")
|
||||
("storm-showers" . "\xf01d")
|
||||
("storm-showers" . "\xf01d")
|
||||
("storm-warning" . "\xf0ce")
|
||||
("strong-wind" . "\xf050")
|
||||
("sunrise" . "\xf051")
|
||||
("sunset" . "\xf052")
|
||||
("thermometer" . "\xf055")
|
||||
("thermometer-exterior" . "\xf053")
|
||||
("thermometer-internal" . "\xf054")
|
||||
("thunderstorm" . "\xf01e")
|
||||
("thunderstorm" . "\xf01e")
|
||||
("time-1" . "\xf08a")
|
||||
("time-10" . "\xf093")
|
||||
("time-11" . "\xf094")
|
||||
("time-12" . "\xf089")
|
||||
("time-2" . "\xf08b")
|
||||
("time-3" . "\xf08c")
|
||||
("time-4" . "\xf08d")
|
||||
("time-5" . "\xf08e")
|
||||
("time-6" . "\xf08f")
|
||||
("time-7" . "\xf090")
|
||||
("time-8" . "\xf091")
|
||||
("time-9" . "\xf092")
|
||||
("tornado" . "\xf056")
|
||||
("train" . "\xf0cb")
|
||||
("tsunami" . "\xf0c5")
|
||||
("umbrella" . "\xf084")
|
||||
("volcano" . "\xf0c8")
|
||||
("wind-beaufort-0" . "\xf0b7")
|
||||
("wind-beaufort-1" . "\xf0b8")
|
||||
("wind-beaufort-10" . "\xf0c1")
|
||||
("wind-beaufort-11" . "\xf0c2")
|
||||
("wind-beaufort-12" . "\xf0c3")
|
||||
("wind-beaufort-2" . "\xf0b9")
|
||||
("wind-beaufort-3" . "\xf0ba")
|
||||
("wind-beaufort-4" . "\xf0bb")
|
||||
("wind-beaufort-5" . "\xf0bc")
|
||||
("wind-beaufort-6" . "\xf0bd")
|
||||
("wind-beaufort-7" . "\xf0be")
|
||||
("wind-beaufort-8" . "\xf0bf")
|
||||
("wind-beaufort-9" . "\xf0c0")
|
||||
("wind-direction" . "\xf0b1")
|
||||
("windy" . "\xf021")
|
||||
("wmo4680-00" . "\xf055")
|
||||
("wmo4680-01" . "\xf013")
|
||||
("wmo4680-02" . "\xf055")
|
||||
("wmo4680-03" . "\xf013")
|
||||
("wmo4680-04" . "\xf014")
|
||||
("wmo4680-05" . "\xf014")
|
||||
("wmo4680-10" . "\xf014")
|
||||
("wmo4680-11" . "\xf014")
|
||||
("wmo4680-12" . "\xf016")
|
||||
("wmo4680-18" . "\xf050")
|
||||
("wmo4680-20" . "\xf014")
|
||||
("wmo4680-21" . "\xf017")
|
||||
("wmo4680-22" . "\xf017")
|
||||
("wmo4680-23" . "\xf019")
|
||||
("wmo4680-24" . "\xf01b")
|
||||
("wmo4680-25" . "\xf015")
|
||||
("wmo4680-26" . "\xf01e")
|
||||
("wmo4680-27" . "\xf063")
|
||||
("wmo4680-28" . "\xf063")
|
||||
("wmo4680-29" . "\xf063")
|
||||
("wmo4680-30" . "\xf014")
|
||||
("wmo4680-31" . "\xf014")
|
||||
("wmo4680-32" . "\xf014")
|
||||
("wmo4680-33" . "\xf014")
|
||||
("wmo4680-34" . "\xf014")
|
||||
("wmo4680-35" . "\xf014")
|
||||
("wmo4680-40" . "\xf017")
|
||||
("wmo4680-41" . "\xf01c")
|
||||
("wmo4680-42" . "\xf019")
|
||||
("wmo4680-43" . "\xf01c")
|
||||
("wmo4680-44" . "\xf019")
|
||||
("wmo4680-45" . "\xf015")
|
||||
("wmo4680-46" . "\xf015")
|
||||
("wmo4680-47" . "\xf01b")
|
||||
("wmo4680-48" . "\xf01b")
|
||||
("wmo4680-50" . "\xf01c")
|
||||
("wmo4680-51" . "\xf01c")
|
||||
("wmo4680-52" . "\xf019")
|
||||
("wmo4680-53" . "\xf019")
|
||||
("wmo4680-54" . "\xf076")
|
||||
("wmo4680-55" . "\xf076")
|
||||
("wmo4680-56" . "\xf076")
|
||||
("wmo4680-57" . "\xf01c")
|
||||
("wmo4680-58" . "\xf019")
|
||||
("wmo4680-60" . "\xf01c")
|
||||
("wmo4680-61" . "\xf01c")
|
||||
("wmo4680-62" . "\xf019")
|
||||
("wmo4680-63" . "\xf019")
|
||||
("wmo4680-64" . "\xf015")
|
||||
("wmo4680-65" . "\xf015")
|
||||
("wmo4680-66" . "\xf015")
|
||||
("wmo4680-67" . "\xf017")
|
||||
("wmo4680-68" . "\xf017")
|
||||
("wmo4680-70" . "\xf01b")
|
||||
("wmo4680-71" . "\xf01b")
|
||||
("wmo4680-72" . "\xf01b")
|
||||
("wmo4680-73" . "\xf01b")
|
||||
("wmo4680-74" . "\xf076")
|
||||
("wmo4680-75" . "\xf076")
|
||||
("wmo4680-76" . "\xf076")
|
||||
("wmo4680-77" . "\xf01b")
|
||||
("wmo4680-78" . "\xf076")
|
||||
("wmo4680-80" . "\xf019")
|
||||
("wmo4680-81" . "\xf01c")
|
||||
("wmo4680-82" . "\xf019")
|
||||
("wmo4680-83" . "\xf019")
|
||||
("wmo4680-84" . "\xf01d")
|
||||
("wmo4680-85" . "\xf017")
|
||||
("wmo4680-86" . "\xf017")
|
||||
("wmo4680-87" . "\xf017")
|
||||
("wmo4680-89" . "\xf015")
|
||||
("wmo4680-90" . "\xf016")
|
||||
("wmo4680-91" . "\xf01d")
|
||||
("wmo4680-92" . "\xf01e")
|
||||
("wmo4680-93" . "\xf01e")
|
||||
("wmo4680-94" . "\xf016")
|
||||
("wmo4680-95" . "\xf01e")
|
||||
("wmo4680-96" . "\xf01e")
|
||||
("wmo4680-99" . "\xf056")
|
||||
("wu-chanceflurries" . "\xf064")
|
||||
("wu-chancerain" . "\xf019")
|
||||
("wu-chancesleat" . "\xf0b5")
|
||||
("wu-chancesnow" . "\xf01b")
|
||||
("wu-chancetstorms" . "\xf01e")
|
||||
("wu-clear" . "\xf00d")
|
||||
("wu-cloudy" . "\xf002")
|
||||
("wu-flurries" . "\xf064")
|
||||
("wu-hazy" . "\xf0b6")
|
||||
("wu-mostlycloudy" . "\xf002")
|
||||
("wu-mostlysunny" . "\xf00d")
|
||||
("wu-partlycloudy" . "\xf002")
|
||||
("wu-partlysunny" . "\xf00d")
|
||||
("wu-rain" . "\xf01a")
|
||||
("wu-sleat" . "\xf0b5")
|
||||
("wu-snow" . "\xf01b")
|
||||
("wu-sunny" . "\xf00d")
|
||||
("wu-tstorms" . "\xf01e")
|
||||
("wu-unknown" . "\xf00d")
|
||||
("yahoo-0" . "\xf056")
|
||||
("yahoo-1" . "\xf00e")
|
||||
("yahoo-10" . "\xf015")
|
||||
("yahoo-11" . "\xf01a")
|
||||
("yahoo-12" . "\xf01a")
|
||||
("yahoo-13" . "\xf01b")
|
||||
("yahoo-14" . "\xf00a")
|
||||
("yahoo-15" . "\xf064")
|
||||
("yahoo-16" . "\xf01b")
|
||||
("yahoo-17" . "\xf015")
|
||||
("yahoo-18" . "\xf017")
|
||||
("yahoo-19" . "\xf063")
|
||||
("yahoo-2" . "\xf073")
|
||||
("yahoo-20" . "\xf014")
|
||||
("yahoo-21" . "\xf021")
|
||||
("yahoo-22" . "\xf062")
|
||||
("yahoo-23" . "\xf050")
|
||||
("yahoo-24" . "\xf050")
|
||||
("yahoo-25" . "\xf076")
|
||||
("yahoo-26" . "\xf013")
|
||||
("yahoo-27" . "\xf031")
|
||||
("yahoo-28" . "\xf002")
|
||||
("yahoo-29" . "\xf031")
|
||||
("yahoo-3" . "\xf01e")
|
||||
("yahoo-30" . "\xf002")
|
||||
("yahoo-31" . "\xf02e")
|
||||
("yahoo-32" . "\xf00d")
|
||||
("yahoo-3200" . "\xf077")
|
||||
("yahoo-33" . "\xf083")
|
||||
("yahoo-34" . "\xf00c")
|
||||
("yahoo-35" . "\xf017")
|
||||
("yahoo-36" . "\xf072")
|
||||
("yahoo-37" . "\xf00e")
|
||||
("yahoo-38" . "\xf00e")
|
||||
("yahoo-39" . "\xf00e")
|
||||
("yahoo-4" . "\xf01e")
|
||||
("yahoo-40" . "\xf01a")
|
||||
("yahoo-41" . "\xf064")
|
||||
("yahoo-42" . "\xf01b")
|
||||
("yahoo-43" . "\xf064")
|
||||
("yahoo-44" . "\xf00c")
|
||||
("yahoo-45" . "\xf00e")
|
||||
("yahoo-46" . "\xf01b")
|
||||
("yahoo-47" . "\xf00e")
|
||||
("yahoo-5" . "\xf017")
|
||||
("yahoo-6" . "\xf017")
|
||||
("yahoo-7" . "\xf017")
|
||||
("yahoo-8" . "\xf015")
|
||||
("yahoo-9" . "\xf01a")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-weathericons)
|
Binary file not shown.
|
@ -0,0 +1,46 @@
|
|||
;;; all-the-icons-ivy-rich-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "all-the-icons-ivy-rich" "all-the-icons-ivy-rich.el"
|
||||
;;;;;; (0 0 0 0))
|
||||
;;; Generated autoloads from all-the-icons-ivy-rich.el
|
||||
|
||||
(defvar all-the-icons-ivy-rich-mode nil "\
|
||||
Non-nil if All-The-Icons-Ivy-Rich mode is enabled.
|
||||
See the `all-the-icons-ivy-rich-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `all-the-icons-ivy-rich-mode'.")
|
||||
|
||||
(custom-autoload 'all-the-icons-ivy-rich-mode "all-the-icons-ivy-rich" nil)
|
||||
|
||||
(autoload 'all-the-icons-ivy-rich-mode "all-the-icons-ivy-rich" "\
|
||||
Better experience with icons for ivy.
|
||||
|
||||
If called interactively, enable All-The-Icons-Ivy-Rich mode if
|
||||
ARG is positive, and disable it if ARG is zero or negative. If
|
||||
called from Lisp, also enable the mode if ARG is omitted or nil,
|
||||
and toggle it if ARG is `toggle'; disable the mode otherwise.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'all-the-icons-ivy-rich-reload "all-the-icons-ivy-rich" "\
|
||||
Reload `all-the-icons-ivy-rich'." t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "all-the-icons-ivy-rich" '("all-the-icons-ivy-rich-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; all-the-icons-ivy-rich-autoloads.el ends here
|
|
@ -0,0 +1,2 @@
|
|||
;;; Generated package description from all-the-icons-ivy-rich.el -*- no-byte-compile: t -*-
|
||||
(define-package "all-the-icons-ivy-rich" "20220625.1332" "Better experience with icons for ivy" '((emacs "25.1") (ivy-rich "0.1.0") (all-the-icons "2.2.0")) :commit "616a39f71484b15d21d89ca40cd174e0ca15b8f4" :authors '(("Vincent Zhang" . "seagle0128@gmail.com")) :maintainer '("Vincent Zhang" . "seagle0128@gmail.com") :keywords '("convenience" "icons" "ivy") :url "https://github.com/seagle0128/all-the-icons-ivy-rich")
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-07-13T06:05:03-0300 using RSA
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-06-06T06:05:03-0300 using RSA
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
|||
(1 (org . [(20210929) ( ) "Outline-based notes management and organizer" tar])
|
||||
(org-plus-contrib . [(20210929) ( ) "Outline-based notes management and organizer" tar]))
|
|
@ -0,0 +1,195 @@
|
|||
;;; async-autoloads.el --- automatically extracted autoloads
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "async" "async.el" (0 0 0 0))
|
||||
;;; Generated autoloads from async.el
|
||||
|
||||
(autoload 'async-start-process "async" "\
|
||||
Start the executable PROGRAM asynchronously named NAME. See `async-start'.
|
||||
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
|
||||
process object when done. If FINISH-FUNC is nil, the future
|
||||
object will return the process object when the program is
|
||||
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
|
||||
working directory.
|
||||
|
||||
\(fn NAME PROGRAM FINISH-FUNC &rest PROGRAM-ARGS)" nil nil)
|
||||
|
||||
(autoload 'async-start "async" "\
|
||||
Execute START-FUNC (often a lambda) in a subordinate Emacs process.
|
||||
When done, the return value is passed to FINISH-FUNC. Example:
|
||||
|
||||
(async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222)
|
||||
|
||||
;; What to do when it finishes
|
||||
(lambda (result)
|
||||
(message \"Async process done, result should be 222: %s\"
|
||||
result)))
|
||||
|
||||
If FINISH-FUNC is nil or missing, a future is returned that can
|
||||
be inspected using `async-get', blocking until the value is
|
||||
ready. Example:
|
||||
|
||||
(let ((proc (async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222))))
|
||||
|
||||
(message \"I'm going to do some work here\") ;; ....
|
||||
|
||||
(message \"Waiting on async process, result should be 222: %s\"
|
||||
(async-get proc)))
|
||||
|
||||
If you don't want to use a callback, and you don't care about any
|
||||
return value from the child process, pass the `ignore' symbol as
|
||||
the second argument (if you don't, and never call `async-get', it
|
||||
will leave *emacs* process buffers hanging around):
|
||||
|
||||
(async-start
|
||||
(lambda ()
|
||||
(delete-file \"a remote file on a slow link\" nil))
|
||||
\\='ignore)
|
||||
|
||||
Special case:
|
||||
If the output of START-FUNC is a string with properties
|
||||
e.g. (buffer-string) RESULT will be transformed in a list where the
|
||||
car is the string itself (without props) and the cdr the rest of
|
||||
properties, this allows using in FINISH-FUNC the string without
|
||||
properties and then apply the properties in cdr to this string (if
|
||||
needed).
|
||||
Properties handling special objects like markers are returned as
|
||||
list to allow restoring them later.
|
||||
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
|
||||
|
||||
Note: Even when FINISH-FUNC is present, a future is still
|
||||
returned except that it yields no value (since the value is
|
||||
passed to FINISH-FUNC). Call `async-get' on such a future always
|
||||
returns nil. It can still be useful, however, as an argument to
|
||||
`async-ready' or `async-wait'.
|
||||
|
||||
\(fn START-FUNC &optional FINISH-FUNC)" nil nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "async" '("async-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (0 0 0
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from async-bytecomp.el
|
||||
|
||||
(autoload 'async-byte-recompile-directory "async-bytecomp" "\
|
||||
Compile all *.el files in DIRECTORY asynchronously.
|
||||
All *.elc files are systematically deleted before proceeding.
|
||||
|
||||
\(fn DIRECTORY &optional QUIET)" nil nil)
|
||||
|
||||
(defvar async-bytecomp-package-mode nil "\
|
||||
Non-nil if Async-Bytecomp-Package mode is enabled.
|
||||
See the `async-bytecomp-package-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `async-bytecomp-package-mode'.")
|
||||
|
||||
(custom-autoload 'async-bytecomp-package-mode "async-bytecomp" nil)
|
||||
|
||||
(autoload 'async-bytecomp-package-mode "async-bytecomp" "\
|
||||
Byte compile asynchronously packages installed with package.el.
|
||||
Async compilation of packages can be controlled by
|
||||
`async-bytecomp-allowed-packages'.
|
||||
|
||||
If called interactively, enable Async-Bytecomp-Package mode if
|
||||
ARG is positive, and disable it if ARG is zero or negative. If
|
||||
called from Lisp, also enable the mode if ARG is omitted or nil,
|
||||
and toggle it if ARG is `toggle'; disable the mode otherwise.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'async-byte-compile-file "async-bytecomp" "\
|
||||
Byte compile Lisp code FILE asynchronously.
|
||||
|
||||
Same as `byte-compile-file' but asynchronous.
|
||||
|
||||
\(fn FILE)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "async-bytecomp" '("async-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "dired-async" "dired-async.el" (0 0 0 0))
|
||||
;;; Generated autoloads from dired-async.el
|
||||
|
||||
(defvar dired-async-mode nil "\
|
||||
Non-nil if Dired-Async mode is enabled.
|
||||
See the `dired-async-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `dired-async-mode'.")
|
||||
|
||||
(custom-autoload 'dired-async-mode "dired-async" nil)
|
||||
|
||||
(autoload 'dired-async-mode "dired-async" "\
|
||||
Do dired actions asynchronously.
|
||||
|
||||
If called interactively, enable Dired-Async mode if ARG is
|
||||
positive, and disable it if ARG is zero or negative. If called
|
||||
from Lisp, also enable the mode if ARG is omitted or nil, and
|
||||
toggle it if ARG is `toggle'; disable the mode otherwise.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'dired-async-do-copy "dired-async" "\
|
||||
Run ‘dired-do-copy’ asynchronously.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'dired-async-do-symlink "dired-async" "\
|
||||
Run ‘dired-do-symlink’ asynchronously.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'dired-async-do-hardlink "dired-async" "\
|
||||
Run ‘dired-do-hardlink’ asynchronously.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(autoload 'dired-async-do-rename "dired-async" "\
|
||||
Run ‘dired-do-rename’ asynchronously.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "dired-async" '("dired-async-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "smtpmail-async" "smtpmail-async.el" (0 0 0
|
||||
;;;;;; 0))
|
||||
;;; Generated autoloads from smtpmail-async.el
|
||||
|
||||
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "smtpmail-async" '("async-smtpmail-")))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil nil ("async-pkg.el") (0 0 0 0))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; async-autoloads.el ends here
|
|
@ -0,0 +1,211 @@
|
|||
;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2014-2019 Free Software Foundation, Inc.
|
||||
|
||||
;; Authors: John Wiegley <jwiegley@gmail.com>
|
||||
;; Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Keywords: dired async byte-compile
|
||||
;; X-URL: https://github.com/jwiegley/dired-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; This package provide the `async-byte-recompile-directory' function
|
||||
;; which allows, as the name says to recompile a directory outside of
|
||||
;; your running emacs.
|
||||
;; The benefit is your files will be compiled in a clean environment without
|
||||
;; the old *.el files loaded.
|
||||
;; Among other things, this fix a bug in package.el which recompile
|
||||
;; the new files in the current environment with the old files loaded, creating
|
||||
;; errors in most packages after upgrades.
|
||||
;;
|
||||
;; NB: This package is advicing the function `package--compile'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'async)
|
||||
(require 'bytecomp)
|
||||
|
||||
(declare-function package-desc-name "package.el")
|
||||
(declare-function package-desc-dir "package.el")
|
||||
|
||||
(defcustom async-bytecomp-allowed-packages 'all
|
||||
"Packages in this list will be compiled asynchronously by `package--compile'.
|
||||
All the dependencies of these packages will be compiled async too,
|
||||
so no need to add dependencies to this list.
|
||||
The value of this variable can also be the symbol `all' (default), in this case
|
||||
all packages are always compiled asynchronously."
|
||||
:group 'async
|
||||
:type '(choice
|
||||
(const :tag "All packages" all)
|
||||
(repeat symbol)))
|
||||
|
||||
(defvar async-byte-compile-log-file
|
||||
(concat user-emacs-directory "async-bytecomp.log"))
|
||||
|
||||
(defvar async-bytecomp-load-variable-regexp "\\`load-path\\'"
|
||||
"The variable used by `async-inject-variables' when (re)compiling async.")
|
||||
|
||||
;;;###autoload
|
||||
(defun async-byte-recompile-directory (directory &optional quiet)
|
||||
"Compile all *.el files in DIRECTORY asynchronously.
|
||||
All *.elc files are systematically deleted before proceeding."
|
||||
(cl-loop with dir = (directory-files directory t "\\.elc\\'")
|
||||
unless dir return nil
|
||||
for f in dir
|
||||
when (file-exists-p f) do (delete-file f))
|
||||
;; Ensure async is reloaded when async.elc is deleted.
|
||||
;; This happen when recompiling its own directory.
|
||||
(load "async")
|
||||
(let ((call-back
|
||||
(lambda (&optional _ignore)
|
||||
(if (file-exists-p async-byte-compile-log-file)
|
||||
(let ((buf (get-buffer-create byte-compile-log-buffer))
|
||||
(n 0))
|
||||
(with-current-buffer buf
|
||||
(goto-char (point-max))
|
||||
(let ((inhibit-read-only t))
|
||||
(insert-file-contents async-byte-compile-log-file)
|
||||
(compilation-mode))
|
||||
(display-buffer buf)
|
||||
(delete-file async-byte-compile-log-file)
|
||||
(unless quiet
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^.*:Error:" nil t)
|
||||
(cl-incf n)))
|
||||
(if (> n 0)
|
||||
(message "Failed to compile %d files in directory `%s'" n directory)
|
||||
(message "Directory `%s' compiled asynchronously with warnings" directory)))))
|
||||
(unless quiet
|
||||
(message "Directory `%s' compiled asynchronously with success" directory))))))
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'bytecomp)
|
||||
,(async-inject-variables async-bytecomp-load-variable-regexp)
|
||||
(let ((default-directory (file-name-as-directory ,directory))
|
||||
error-data)
|
||||
(add-to-list 'load-path default-directory)
|
||||
(byte-recompile-directory ,directory 0 t)
|
||||
(when (get-buffer byte-compile-log-buffer)
|
||||
(setq error-data (with-current-buffer byte-compile-log-buffer
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(unless (string= error-data "")
|
||||
(with-temp-file ,async-byte-compile-log-file
|
||||
(erase-buffer)
|
||||
(insert error-data))))))
|
||||
call-back)
|
||||
(unless quiet (message "Started compiling asynchronously directory %s" directory))))
|
||||
|
||||
(defvar package-archive-contents)
|
||||
(defvar package-alist)
|
||||
(declare-function package-desc-reqs "package.el" (cl-x))
|
||||
|
||||
(defun async-bytecomp--get-package-deps (pkgs)
|
||||
;; Same as `package--get-deps' but parse instead `package-archive-contents'
|
||||
;; because PKG is not already installed and not present in `package-alist'.
|
||||
;; However fallback to `package-alist' in case PKG no more present
|
||||
;; in `package-archive-contents' due to modification to `package-archives'.
|
||||
;; See issue #58.
|
||||
(let ((seen '()))
|
||||
(while pkgs
|
||||
(let ((pkg (pop pkgs)))
|
||||
(unless (memq pkg seen)
|
||||
(let ((pkg-desc (cadr (or (assq pkg package-archive-contents)
|
||||
(assq pkg package-alist)))))
|
||||
(when pkg-desc
|
||||
(push pkg seen)
|
||||
(setq pkgs (append (mapcar #'car (package-desc-reqs pkg-desc))
|
||||
pkgs)))))))
|
||||
seen))
|
||||
|
||||
(defun async--package-compile (orig-fun pkg-desc &rest args)
|
||||
(let ((cur-package (package-desc-name pkg-desc))
|
||||
(pkg-dir (package-desc-dir pkg-desc)))
|
||||
(if (or (member async-bytecomp-allowed-packages '(t all (all)))
|
||||
(memq cur-package (async-bytecomp--get-package-deps
|
||||
async-bytecomp-allowed-packages)))
|
||||
(progn
|
||||
;; FIXME: Why do we use (eq cur-package 'async) once
|
||||
;; and (string= cur-package "async") afterwards?
|
||||
(when (eq cur-package 'async)
|
||||
(fmakunbound 'async-byte-recompile-directory))
|
||||
;; Add to `load-path' the latest version of async and
|
||||
;; reload it when reinstalling async.
|
||||
(when (string= cur-package "async")
|
||||
(cl-pushnew pkg-dir load-path)
|
||||
(load "async-bytecomp"))
|
||||
;; `async-byte-recompile-directory' will add directory
|
||||
;; as needed to `load-path'.
|
||||
(async-byte-recompile-directory (package-desc-dir pkg-desc) t))
|
||||
(apply orig-fun pkg-desc args))))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode async-bytecomp-package-mode
|
||||
"Byte compile asynchronously packages installed with package.el.
|
||||
Async compilation of packages can be controlled by
|
||||
`async-bytecomp-allowed-packages'."
|
||||
:group 'async
|
||||
:global t
|
||||
(if async-bytecomp-package-mode
|
||||
(advice-add 'package--compile :around #'async--package-compile)
|
||||
(advice-remove 'package--compile #'async--package-compile)))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-byte-compile-file (file)
|
||||
"Byte compile Lisp code FILE asynchronously.
|
||||
|
||||
Same as `byte-compile-file' but asynchronous."
|
||||
(interactive "fFile: ")
|
||||
(let ((call-back
|
||||
(lambda (&optional _ignore)
|
||||
(let ((bn (file-name-nondirectory file)))
|
||||
(if (file-exists-p async-byte-compile-log-file)
|
||||
(let ((buf (get-buffer-create byte-compile-log-buffer))
|
||||
start)
|
||||
(with-current-buffer buf
|
||||
(goto-char (setq start (point-max)))
|
||||
(let ((inhibit-read-only t))
|
||||
(insert-file-contents async-byte-compile-log-file)
|
||||
(compilation-mode))
|
||||
(display-buffer buf)
|
||||
(delete-file async-byte-compile-log-file)
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(if (re-search-forward "^.*:Error:" nil t)
|
||||
(message "Failed to compile `%s'" bn)
|
||||
(message "`%s' compiled asynchronously with warnings" bn)))))
|
||||
(message "`%s' compiled asynchronously with success" bn))))))
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'bytecomp)
|
||||
,(async-inject-variables async-bytecomp-load-variable-regexp)
|
||||
(let ((default-directory ,(file-name-directory file)))
|
||||
(add-to-list 'load-path default-directory)
|
||||
(byte-compile-file ,file)
|
||||
(when (get-buffer byte-compile-log-buffer)
|
||||
(setq error-data (with-current-buffer byte-compile-log-buffer
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(unless (string= error-data "")
|
||||
(with-temp-file ,async-byte-compile-log-file
|
||||
(erase-buffer)
|
||||
(insert error-data))))))
|
||||
call-back)))
|
||||
|
||||
(provide 'async-bytecomp)
|
||||
|
||||
;;; async-bytecomp.el ends here
|
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
(define-package "async" "20220630.57" "Asynchronous processing in Emacs"
|
||||
'((emacs "24.4"))
|
||||
:commit "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4" :authors
|
||||
'(("John Wiegley" . "jwiegley@gmail.com"))
|
||||
:maintainer
|
||||
'("Thierry Volpiatto" . "thievol@posteo.net")
|
||||
:keywords
|
||||
'("async")
|
||||
:url "https://github.com/jwiegley/emacs-async")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
|
@ -0,0 +1,439 @@
|
|||
;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: John Wiegley <jwiegley@gmail.com>
|
||||
;; Maintainer: Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Created: 18 Jun 2012
|
||||
;; Version: 1.9.5
|
||||
;; Package-Requires: ((emacs "24.4"))
|
||||
|
||||
;; Keywords: async
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Adds the ability to call asynchronous functions and process with ease. See
|
||||
;; the documentation for `async-start' and `async-start-process'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl-lib))
|
||||
|
||||
(defgroup async nil
|
||||
"Simple asynchronous processing in Emacs"
|
||||
:group 'emacs)
|
||||
|
||||
(defcustom async-variables-noprops-function #'async--purecopy
|
||||
"Default function to remove text properties in variables."
|
||||
:type 'function)
|
||||
|
||||
(defvar async-debug nil)
|
||||
(defvar async-send-over-pipe t)
|
||||
(defvar async-in-child-emacs nil)
|
||||
(defvar async-callback nil)
|
||||
(defvar async-callback-for-process nil)
|
||||
(defvar async-callback-value nil)
|
||||
(defvar async-callback-value-set nil)
|
||||
(defvar async-current-process nil)
|
||||
(defvar async--procvar nil)
|
||||
|
||||
;; For emacs<29 (only exists in emacs-29+).
|
||||
(defvar print-symbols-bare)
|
||||
|
||||
(defun async--purecopy (object)
|
||||
"Remove text properties in OBJECT.
|
||||
|
||||
Argument OBJECT may be a list or a string, if anything else it
|
||||
is returned unmodified."
|
||||
(cond ((stringp object)
|
||||
(substring-no-properties object))
|
||||
((consp object)
|
||||
(cl-loop for elm in object
|
||||
;; A string.
|
||||
if (stringp elm)
|
||||
collect (substring-no-properties elm)
|
||||
else
|
||||
;; Proper lists.
|
||||
if (and (consp elm) (null (cdr (last elm))))
|
||||
collect (async--purecopy elm)
|
||||
else
|
||||
;; Dotted lists.
|
||||
;; We handle here only dotted list where car and cdr
|
||||
;; are atoms i.e. (x . y) and not (x . (x . y)) or
|
||||
;; (x . (x y)) which should fit most cases.
|
||||
if (and (consp elm) (cdr (last elm)))
|
||||
collect (let ((key (car elm))
|
||||
(val (cdr elm)))
|
||||
(cons (if (stringp key)
|
||||
(substring-no-properties key)
|
||||
key)
|
||||
(if (stringp val)
|
||||
(substring-no-properties val)
|
||||
val)))
|
||||
else
|
||||
collect elm))
|
||||
(t object)))
|
||||
|
||||
(defun async-inject-variables
|
||||
(include-regexp &optional predicate exclude-regexp noprops)
|
||||
"Return a `setq' form that replicates part of the calling environment.
|
||||
|
||||
It sets the value for every variable matching INCLUDE-REGEXP and
|
||||
also PREDICATE. It will not perform injection for any variable
|
||||
matching EXCLUDE-REGEXP (if present) or representing a `syntax-table'
|
||||
i.e. ending by \"-syntax-table\".
|
||||
When NOPROPS is non nil it tries to strip out text properties of each
|
||||
variable's value with `async-variables-noprops-function'.
|
||||
|
||||
It is intended to be used as follows:
|
||||
|
||||
(async-start
|
||||
\\=`(lambda ()
|
||||
(require \\='smtpmail)
|
||||
(with-temp-buffer
|
||||
(insert ,(buffer-substring-no-properties (point-min) (point-max)))
|
||||
;; Pass in the variable environment for smtpmail
|
||||
,(async-inject-variables \"\\\\=`\\(smtpmail\\|\\(user-\\)?mail\\)-\")
|
||||
(smtpmail-send-it)))
|
||||
\\='ignore)"
|
||||
`(setq
|
||||
,@(let (bindings)
|
||||
(mapatoms
|
||||
(lambda (sym)
|
||||
(let* ((sname (and (boundp sym) (symbol-name sym)))
|
||||
(value (and sname (symbol-value sym))))
|
||||
(when (and sname
|
||||
(or (null include-regexp)
|
||||
(string-match include-regexp sname))
|
||||
(or (null exclude-regexp)
|
||||
(not (string-match exclude-regexp sname)))
|
||||
(not (string-match "-syntax-table\\'" sname)))
|
||||
(unless (or (stringp value)
|
||||
(memq value '(nil t))
|
||||
(numberp value)
|
||||
(vectorp value))
|
||||
(setq value `(quote ,value)))
|
||||
(when noprops
|
||||
(setq value (funcall async-variables-noprops-function
|
||||
value)))
|
||||
(when (or (null predicate)
|
||||
(funcall predicate sym))
|
||||
(setq bindings (cons value bindings)
|
||||
bindings (cons sym bindings)))))))
|
||||
bindings)))
|
||||
|
||||
(defalias 'async-inject-environment 'async-inject-variables)
|
||||
|
||||
(defun async-handle-result (func result buf)
|
||||
(if (null func)
|
||||
(progn
|
||||
(set (make-local-variable 'async-callback-value) result)
|
||||
(set (make-local-variable 'async-callback-value-set) t))
|
||||
(unwind-protect
|
||||
(if (and (listp result)
|
||||
(eq 'async-signal (nth 0 result)))
|
||||
(signal (car (nth 1 result))
|
||||
(cdr (nth 1 result)))
|
||||
(funcall func result))
|
||||
(unless async-debug
|
||||
(kill-buffer buf)))))
|
||||
|
||||
(defun async-when-done (proc &optional _change)
|
||||
"Process sentinel used to retrieve the value from the child process."
|
||||
(when (eq 'exit (process-status proc))
|
||||
(with-current-buffer (process-buffer proc)
|
||||
(let ((async-current-process proc))
|
||||
(if (= 0 (process-exit-status proc))
|
||||
(if async-callback-for-process
|
||||
(if async-callback
|
||||
(prog1
|
||||
(funcall async-callback proc)
|
||||
(unless async-debug
|
||||
(kill-buffer (current-buffer))))
|
||||
(set (make-local-variable 'async-callback-value) proc)
|
||||
(set (make-local-variable 'async-callback-value-set) t))
|
||||
;; Maybe strip out unreadable "#"; They are replaced by
|
||||
;; empty string unless they are prefixing a special
|
||||
;; object like a marker. See issue #145.
|
||||
(goto-char (point-min))
|
||||
(save-excursion
|
||||
;; Transform markers in list like
|
||||
;; (marker (moves after insertion) at 2338 in
|
||||
;; test\.org) so that remap text properties function
|
||||
;; can parse it to restitute marker.
|
||||
(while (re-search-forward "#<\\([^>]*\\)>" nil t)
|
||||
(replace-match (concat "(" (match-string 1) ")") t t)))
|
||||
(while (re-search-forward "#(" nil t)
|
||||
(replace-match "(" t t))
|
||||
(goto-char (point-max))
|
||||
(backward-sexp)
|
||||
(async-handle-result async-callback (read (current-buffer))
|
||||
(current-buffer)))
|
||||
(set (make-local-variable 'async-callback-value)
|
||||
(list 'error
|
||||
(format "Async process '%s' failed with exit code %d"
|
||||
(process-name proc) (process-exit-status proc))))
|
||||
(set (make-local-variable 'async-callback-value-set) t))))))
|
||||
|
||||
(defun async--receive-sexp (&optional stream)
|
||||
;; FIXME: Why use `utf-8-auto' instead of `utf-8-unix'? This is
|
||||
;; a communication channel over which we have complete control,
|
||||
;; so we get to choose exactly which encoding and EOL we use, isn't it?
|
||||
(let ((sexp (decode-coding-string (base64-decode-string (read stream))
|
||||
'utf-8-auto))
|
||||
;; Parent expects UTF-8 encoded text.
|
||||
(coding-system-for-write 'utf-8-auto))
|
||||
(if async-debug
|
||||
(message "Received sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(setq sexp (read sexp))
|
||||
(if async-debug
|
||||
(message "Read sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(eval sexp t)))
|
||||
|
||||
(defun async--insert-sexp (sexp)
|
||||
(let (print-level
|
||||
print-length
|
||||
(print-escape-nonascii t)
|
||||
(print-circle t)
|
||||
;; Fix bug#153 in emacs-29 with symbol's positions.
|
||||
(print-symbols-bare t))
|
||||
(prin1 sexp (current-buffer))
|
||||
;; Just in case the string we're sending might contain EOF
|
||||
(encode-coding-region (point-min) (point-max) 'utf-8-auto)
|
||||
(base64-encode-region (point-min) (point-max) t)
|
||||
(goto-char (point-min)) (insert ?\")
|
||||
(goto-char (point-max)) (insert ?\" ?\n)))
|
||||
|
||||
(defun async--transmit-sexp (process sexp)
|
||||
(with-temp-buffer
|
||||
(if async-debug
|
||||
(message "Transmitting sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(async--insert-sexp sexp)
|
||||
(process-send-region process (point-min) (point-max))))
|
||||
|
||||
(defun async-batch-invoke ()
|
||||
"Called from the child Emacs process' command line."
|
||||
;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent
|
||||
;; process expects.
|
||||
(let ((coding-system-for-write 'utf-8-auto))
|
||||
(setq async-in-child-emacs t
|
||||
debug-on-error async-debug)
|
||||
(if debug-on-error
|
||||
(prin1 (funcall
|
||||
(async--receive-sexp (unless async-send-over-pipe
|
||||
command-line-args-left))))
|
||||
(condition-case err
|
||||
(prin1 (funcall
|
||||
(async--receive-sexp (unless async-send-over-pipe
|
||||
command-line-args-left))))
|
||||
(error
|
||||
(prin1 (list 'async-signal err)))))))
|
||||
|
||||
(defun async-ready (future)
|
||||
"Query a FUTURE to see if it is ready.
|
||||
|
||||
I.e., if no blocking would result from a call to `async-get' on that FUTURE."
|
||||
(and (memq (process-status future) '(exit signal))
|
||||
(let ((buf (process-buffer future)))
|
||||
(if (buffer-live-p buf)
|
||||
(with-current-buffer buf
|
||||
async-callback-value-set)
|
||||
t))))
|
||||
|
||||
(defun async-wait (future)
|
||||
"Wait for FUTURE to become ready."
|
||||
(while (not (async-ready future))
|
||||
(sleep-for 0.05)))
|
||||
|
||||
(defun async-get (future)
|
||||
"Get the value from process FUTURE when it is ready.
|
||||
FUTURE is returned by `async-start' or `async-start-process' when
|
||||
its FINISH-FUNC is nil."
|
||||
(and future (async-wait future))
|
||||
(let ((buf (process-buffer future)))
|
||||
(when (buffer-live-p buf)
|
||||
(with-current-buffer buf
|
||||
(async-handle-result
|
||||
#'identity async-callback-value (current-buffer))))))
|
||||
|
||||
(defun async-message-p (value)
|
||||
"Return non-nil of VALUE is an async.el message packet."
|
||||
(and (listp value)
|
||||
(plist-get value :async-message)))
|
||||
|
||||
(defun async-send (&rest args)
|
||||
"Send the given messages to the asychronous Emacs PROCESS."
|
||||
(let ((args (append args '(:async-message t))))
|
||||
(if async-in-child-emacs
|
||||
(if async-callback
|
||||
(funcall async-callback args))
|
||||
(async--transmit-sexp (car args) (list 'quote (cdr args))))))
|
||||
|
||||
(defun async-receive ()
|
||||
"Send the given messages to the asychronous Emacs PROCESS."
|
||||
(async--receive-sexp))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-start-process (name program finish-func &rest program-args)
|
||||
"Start the executable PROGRAM asynchronously named NAME. See `async-start'.
|
||||
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
|
||||
process object when done. If FINISH-FUNC is nil, the future
|
||||
object will return the process object when the program is
|
||||
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
|
||||
working directory."
|
||||
(let* ((buf (generate-new-buffer (concat "*" name "*")))
|
||||
(proc (let ((process-connection-type nil))
|
||||
(apply #'start-process name buf program program-args))))
|
||||
(with-current-buffer buf
|
||||
(set (make-local-variable 'async-callback) finish-func)
|
||||
(set-process-sentinel proc #'async-when-done)
|
||||
(unless (string= name "emacs")
|
||||
(set (make-local-variable 'async-callback-for-process) t))
|
||||
proc)))
|
||||
|
||||
(defvar async-quiet-switch "-Q"
|
||||
"The Emacs parameter to use to call emacs without config.
|
||||
Can be one of \"-Q\" or \"-q\".
|
||||
Default is \"-Q\" but it is sometimes useful to use \"-q\" to have a
|
||||
enhanced config or some more variables loaded.")
|
||||
|
||||
;;;###autoload
|
||||
(defun async-start (start-func &optional finish-func)
|
||||
"Execute START-FUNC (often a lambda) in a subordinate Emacs process.
|
||||
When done, the return value is passed to FINISH-FUNC. Example:
|
||||
|
||||
(async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222)
|
||||
|
||||
;; What to do when it finishes
|
||||
(lambda (result)
|
||||
(message \"Async process done, result should be 222: %s\"
|
||||
result)))
|
||||
|
||||
If FINISH-FUNC is nil or missing, a future is returned that can
|
||||
be inspected using `async-get', blocking until the value is
|
||||
ready. Example:
|
||||
|
||||
(let ((proc (async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222))))
|
||||
|
||||
(message \"I'm going to do some work here\") ;; ....
|
||||
|
||||
(message \"Waiting on async process, result should be 222: %s\"
|
||||
(async-get proc)))
|
||||
|
||||
If you don't want to use a callback, and you don't care about any
|
||||
return value from the child process, pass the `ignore' symbol as
|
||||
the second argument (if you don't, and never call `async-get', it
|
||||
will leave *emacs* process buffers hanging around):
|
||||
|
||||
(async-start
|
||||
(lambda ()
|
||||
(delete-file \"a remote file on a slow link\" nil))
|
||||
\\='ignore)
|
||||
|
||||
Special case:
|
||||
If the output of START-FUNC is a string with properties
|
||||
e.g. (buffer-string) RESULT will be transformed in a list where the
|
||||
car is the string itself (without props) and the cdr the rest of
|
||||
properties, this allows using in FINISH-FUNC the string without
|
||||
properties and then apply the properties in cdr to this string (if
|
||||
needed).
|
||||
Properties handling special objects like markers are returned as
|
||||
list to allow restoring them later.
|
||||
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
|
||||
|
||||
Note: Even when FINISH-FUNC is present, a future is still
|
||||
returned except that it yields no value (since the value is
|
||||
passed to FINISH-FUNC). Call `async-get' on such a future always
|
||||
returns nil. It can still be useful, however, as an argument to
|
||||
`async-ready' or `async-wait'."
|
||||
(let ((sexp start-func)
|
||||
;; Subordinate Emacs will send text encoded in UTF-8.
|
||||
(coding-system-for-read 'utf-8-auto))
|
||||
(setq async--procvar
|
||||
(async-start-process
|
||||
"emacs" (file-truename
|
||||
(expand-file-name invocation-name
|
||||
invocation-directory))
|
||||
finish-func
|
||||
async-quiet-switch "-l"
|
||||
;; Using `locate-library' ensure we use the right file
|
||||
;; when the .elc have been deleted.
|
||||
(locate-library "async")
|
||||
"-batch" "-f" "async-batch-invoke"
|
||||
(if async-send-over-pipe
|
||||
"<none>"
|
||||
(with-temp-buffer
|
||||
(async--insert-sexp (list 'quote sexp))
|
||||
(buffer-string)))))
|
||||
(if async-send-over-pipe
|
||||
(async--transmit-sexp async--procvar (list 'quote sexp)))
|
||||
async--procvar))
|
||||
|
||||
(defmacro async-sandbox(func)
|
||||
"Evaluate FUNC in a separate Emacs process, synchronously."
|
||||
`(async-get (async-start ,func)))
|
||||
|
||||
(defun async--fold-left (fn forms bindings)
|
||||
(let ((res forms))
|
||||
(dolist (binding bindings)
|
||||
(setq res (funcall fn res
|
||||
(if (listp binding)
|
||||
binding
|
||||
(list binding)))))
|
||||
res))
|
||||
|
||||
(defmacro async-let (bindings &rest forms)
|
||||
"Implements `let', but each binding is established asynchronously.
|
||||
For example:
|
||||
|
||||
(async-let ((x (foo))
|
||||
(y (bar)))
|
||||
(message \"%s %s\" x y))
|
||||
|
||||
expands to ==>
|
||||
|
||||
(async-start (foo)
|
||||
(lambda (x)
|
||||
(async-start (bar)
|
||||
(lambda (y)
|
||||
(message \"%s %s\" x y)))))"
|
||||
(declare (indent 1))
|
||||
(async--fold-left
|
||||
(lambda (acc binding)
|
||||
(let ((fun (pcase (cadr binding)
|
||||
((and (pred functionp) f) f)
|
||||
(f `(lambda () ,f)))))
|
||||
`(async-start ,fun
|
||||
(lambda (,(car binding))
|
||||
,acc))))
|
||||
`(progn ,@forms)
|
||||
(reverse bindings)))
|
||||
|
||||
(provide 'async)
|
||||
|
||||
;;; async.el ends here
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue