Update dotfiles
After Width: | Height: | Size: 323 KiB |
Before Width: | Height: | Size: 623 KiB After Width: | Height: | Size: 623 KiB |
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
### Rice
|
### Rice
|
||||||
|
|
||||||
![](./Pictures/rices/rice1.png)
|
![](./Pictures/rices/rice.png)
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,459 +0,0 @@
|
||||||
# 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 = (111,444)
|
|
||||||
|
|
||||||
# The maximum height of a single notification, excluding the frame.
|
|
||||||
height = 200
|
|
||||||
|
|
||||||
# Position the notification in the top right corner
|
|
||||||
origin = top-right
|
|
||||||
|
|
||||||
# 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 = 0
|
|
||||||
|
|
||||||
# Draw a line of "separator_height" pixel height between two
|
|
||||||
# notifications.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
# If gap_size is greater than 0, this setting will be ignored.
|
|
||||||
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 = "#16161E"
|
|
||||||
|
|
||||||
# Size of gap to display between notifications - requires a compositor.
|
|
||||||
# If value is greater than 0, separator_height will be ignored and a border
|
|
||||||
# of size frame_width will be drawn around each notification instead.
|
|
||||||
# Click events on gaps do not currently propagate to applications below.
|
|
||||||
gap_size = 0
|
|
||||||
|
|
||||||
# Define a color for the separator.
|
|
||||||
# possible values are:
|
|
||||||
# * auto: dunst tries to find a color fitting to the background;
|
|
||||||
# * foreground: use the same color as the foreground;
|
|
||||||
# * frame: use the same color as the frame;
|
|
||||||
# * anything else will be interpreted as a X color.
|
|
||||||
separator_color = frame
|
|
||||||
|
|
||||||
# Sort messages by urgency.
|
|
||||||
sort = yes
|
|
||||||
|
|
||||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
|
||||||
# for longer than idle_threshold seconds.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
# A client can set the 'transient' hint to bypass this. See the rules
|
|
||||||
# section for how to disable this if necessary
|
|
||||||
# idle_threshold = 120
|
|
||||||
|
|
||||||
### Text ###
|
|
||||||
|
|
||||||
font = Iosevka 10
|
|
||||||
|
|
||||||
# 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 = left
|
|
||||||
|
|
||||||
# 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 ###
|
|
||||||
|
|
||||||
# Recursive icon lookup. You can set a single theme, instead of having to
|
|
||||||
# define all lookup paths.
|
|
||||||
enable_recursive_icon_lookup = true
|
|
||||||
|
|
||||||
# Set icon theme (only used for recursive icon lookup)
|
|
||||||
icon_theme = Adwaita
|
|
||||||
# You can also set multiple icon themes, with the leftmost one being used first.
|
|
||||||
# icon_theme = "Adwaita, breeze"
|
|
||||||
|
|
||||||
# Align icons left/right/top/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 = 32
|
|
||||||
|
|
||||||
# Scale larger icons down to this size, set to 0 to disable
|
|
||||||
max_icon_size = 100
|
|
||||||
|
|
||||||
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
|
||||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
|
||||||
|
|
||||||
### History ###
|
|
||||||
|
|
||||||
# Should a notification popped up from history be sticky or timeout
|
|
||||||
# as if it would normally do.
|
|
||||||
sticky_history = yes
|
|
||||||
|
|
||||||
# Maximum amount of notifications kept in history
|
|
||||||
history_length = 20
|
|
||||||
|
|
||||||
### Misc/Advanced ###
|
|
||||||
|
|
||||||
# dmenu path.
|
|
||||||
dmenu = /usr/bin/dmenu -p dunst:
|
|
||||||
|
|
||||||
# Browser for opening urls in context menu.
|
|
||||||
browser = /usr/bin/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 = 5
|
|
||||||
|
|
||||||
# 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 = "#1A1B26"
|
|
||||||
foreground = "#A9B1D6"
|
|
||||||
highlight = "#A9B1D6"
|
|
||||||
timeout = 6
|
|
||||||
# Icon for notifications with low urgency, uncomment to enable
|
|
||||||
# default_icon = ~/.config/dunst/icons/notification.png
|
|
||||||
|
|
||||||
[urgency_normal]
|
|
||||||
background = "#1A1B26"
|
|
||||||
foreground = "#A9B1D6"
|
|
||||||
highlight = "#A9B1D6"
|
|
||||||
timeout = 6
|
|
||||||
# Icon for notifications with normal urgency, uncomment to enable
|
|
||||||
default_icon = /home/q/.config/dunst/icons/notification.png
|
|
||||||
|
|
||||||
[urgency_critical]
|
|
||||||
background = "#1A1B26"
|
|
||||||
foreground = "#A9B1D6"
|
|
||||||
highlight = "#A9B1D6"
|
|
||||||
|
|
||||||
timeout = 10
|
|
||||||
# Icon for notifications with critical urgency, uncomment to enable
|
|
||||||
# default_icon = ~/.config/dunst/icons/notification.png
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# icon_position
|
|
||||||
# skip_display
|
|
||||||
# history_ignore
|
|
||||||
# action_name
|
|
||||||
# word_wrap
|
|
||||||
# ellipsize
|
|
||||||
# alignment
|
|
||||||
# hide_text
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
#[gotify]
|
|
||||||
# appname = Gotify
|
|
||||||
|
|
||||||
#[twitter]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *twitter.com*
|
|
||||||
# urgency = normal
|
|
||||||
#
|
|
||||||
#[stack-volumes]
|
|
||||||
# appname = "some_volume_notifiers"
|
|
||||||
# set_stack_tag = "volume"
|
|
||||||
#
|
|
||||||
# vim: ft=cfg
|
|
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,7 +0,0 @@
|
||||||
complete --command fisher --exclusive --long help --description "Print help"
|
|
||||||
complete --command fisher --exclusive --long version --description "Print version"
|
|
||||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
|
||||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
|
||||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
|
||||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
|
||||||
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
|
|
@ -1,21 +0,0 @@
|
||||||
complete --command nvm --exclusive
|
|
||||||
complete --command nvm --exclusive --long version --description "Print version"
|
|
||||||
complete --command nvm --exclusive --long help --description "Print help"
|
|
||||||
complete --command nvm --long silent --description "Suppress standard output"
|
|
||||||
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments install --description "Download and activate the specified Node version"
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments use --description "Activate a version in the current shell"
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed versions"
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List versions available to install matching optional regex"
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active version"
|
|
||||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from install" --arguments "(
|
|
||||||
test -e $nvm_data && string split ' ' <$nvm_data/.index
|
|
||||||
)"
|
|
||||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use" --arguments "(_nvm_list | string split ' ')"
|
|
||||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments uninstall --description "Uninstall a version"
|
|
||||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from uninstall" --arguments "(
|
|
||||||
_nvm_list | string split ' ' | string replace system ''
|
|
||||||
)"
|
|
||||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use uninstall" --arguments "(
|
|
||||||
set --query nvm_default_version && echo default
|
|
||||||
)"
|
|
|
@ -1,39 +0,0 @@
|
||||||
status is-interactive || exit
|
|
||||||
|
|
||||||
set --global autopair_left "(" "[" "{" '"' "'"
|
|
||||||
set --global autopair_right ")" "]" "}" '"' "'"
|
|
||||||
set --global autopair_pairs "()" "[]" "{}" '""' "''"
|
|
||||||
|
|
||||||
function _autopair_fish_key_bindings --on-variable fish_key_bindings
|
|
||||||
set --query fish_key_bindings[1] || return
|
|
||||||
|
|
||||||
test $fish_key_bindings = fish_default_key_bindings &&
|
|
||||||
set --local mode default insert ||
|
|
||||||
set --local mode insert default
|
|
||||||
|
|
||||||
bind --mode $mode[-1] --erase \177 \b \t
|
|
||||||
|
|
||||||
bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫
|
|
||||||
bind --mode $mode[1] \b _autopair_backspace
|
|
||||||
bind --mode $mode[1] \t _autopair_tab
|
|
||||||
|
|
||||||
printf "%s\n" $autopair_pairs | while read --local left right --delimiter ""
|
|
||||||
bind --mode $mode[-1] --erase $left $right
|
|
||||||
if test $left = $right
|
|
||||||
bind --mode $mode[1] $left "_autopair_insert_same \\$left"
|
|
||||||
else
|
|
||||||
bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right"
|
|
||||||
bind --mode $mode[1] $right "_autopair_insert_right \\$right"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
_autopair_fish_key_bindings
|
|
||||||
|
|
||||||
function _autopair_uninstall --on-event autopair_uninstall
|
|
||||||
string collect (
|
|
||||||
bind --all | string replace --filter --regex -- "_autopair.*" --erase
|
|
||||||
set --names | string replace --filter --regex -- "^autopair" "set --erase autopair"
|
|
||||||
) | source
|
|
||||||
functions --erase (functions --all | string match "_autopair_*")
|
|
||||||
end
|
|
|
@ -1,221 +0,0 @@
|
||||||
set -Ux LF_ICONS "\
|
|
||||||
*.7z=:\
|
|
||||||
*.aac=:\
|
|
||||||
*.ace=:\
|
|
||||||
*.alz=:\
|
|
||||||
*.arc=:\
|
|
||||||
*.arj=:\
|
|
||||||
*.asf=:\
|
|
||||||
*.atom=:\
|
|
||||||
*.au=:\
|
|
||||||
*.avi=:\
|
|
||||||
*.bash=:\
|
|
||||||
*.bash_history=:\
|
|
||||||
*.bashprofile=:\
|
|
||||||
*.bashrc=:\
|
|
||||||
*.bmp=:\
|
|
||||||
*.bz2=:\
|
|
||||||
*.bz=:\
|
|
||||||
*.c=:\
|
|
||||||
*.cab=:\
|
|
||||||
*.cc=:\
|
|
||||||
*.cfg=:\
|
|
||||||
*.cgm=:\
|
|
||||||
*.clang-format=:\
|
|
||||||
*.clj=:\
|
|
||||||
*.cmd=:\
|
|
||||||
*.coffee=:\
|
|
||||||
*.cpio=:\
|
|
||||||
*.cpp=:\
|
|
||||||
*.css=:\
|
|
||||||
*.d=:\
|
|
||||||
*.dart=:\
|
|
||||||
*.deb=:\
|
|
||||||
*.dl=:\
|
|
||||||
*.DS_Store=:\
|
|
||||||
*.dwm=:\
|
|
||||||
*.dz=:\
|
|
||||||
*.ear=:\
|
|
||||||
*.emf=:\
|
|
||||||
*.env=:\
|
|
||||||
*.erl=:\
|
|
||||||
*.esd=:\
|
|
||||||
*.exs=:\
|
|
||||||
*.fish=:\
|
|
||||||
*.flac=:\
|
|
||||||
*.flc=:\
|
|
||||||
*.fli=:\
|
|
||||||
*.flv=:\
|
|
||||||
*.fs=:\
|
|
||||||
*.gif=:\
|
|
||||||
*.git=:\
|
|
||||||
*.gitattributes=:\
|
|
||||||
*.gitconfig=:\
|
|
||||||
*.github=:\
|
|
||||||
*.gitignore=:\
|
|
||||||
*.gitignore_global=:\
|
|
||||||
*.gitkeep=:\
|
|
||||||
*.gitmodules=:\
|
|
||||||
*.gl=:\
|
|
||||||
*.go=:\
|
|
||||||
*.gz=:\
|
|
||||||
*.h=:\
|
|
||||||
*.hh=:\
|
|
||||||
*.hidden=:\
|
|
||||||
*.hpp=:\
|
|
||||||
*.hs=:\
|
|
||||||
*.html=:\
|
|
||||||
*.hyper.js=:\
|
|
||||||
*.jar=:\
|
|
||||||
*.java=:\
|
|
||||||
*.jl=:\
|
|
||||||
*.jpeg=:\
|
|
||||||
*.jpg=:\
|
|
||||||
*.js=:\
|
|
||||||
*.json=:\
|
|
||||||
*.jsx=:\
|
|
||||||
*.lha=:\
|
|
||||||
*.lrz=:\
|
|
||||||
*.lua=:\
|
|
||||||
*.lz4=:\
|
|
||||||
*.lz=:\
|
|
||||||
*.lzh=:\
|
|
||||||
*.lzma=:\
|
|
||||||
*.lzo=:\
|
|
||||||
*.m2v=:\
|
|
||||||
*.m4a=:\
|
|
||||||
*.m4v=:\
|
|
||||||
*.map=:\
|
|
||||||
*.md=:\
|
|
||||||
*.mdx=:\
|
|
||||||
*.mid=:\
|
|
||||||
*.midi=:\
|
|
||||||
*.mjpeg=:\
|
|
||||||
*.mjpg=:\
|
|
||||||
*.mka=:\
|
|
||||||
*.mkv=:\
|
|
||||||
*.mng=:\
|
|
||||||
*.mov=:\
|
|
||||||
*.mp3=:\
|
|
||||||
*.mp4=:\
|
|
||||||
*.mp4v=:\
|
|
||||||
*.mpc=:\
|
|
||||||
*.mpeg=:\
|
|
||||||
*.mpg=:\
|
|
||||||
*.nix=:\
|
|
||||||
*.npmignore=:\
|
|
||||||
*.npmrc=:\
|
|
||||||
*.nuv=:\
|
|
||||||
*.nvmrc=:\
|
|
||||||
*.oga=:\
|
|
||||||
*.ogg=:\
|
|
||||||
*.ogm=:\
|
|
||||||
*.ogv=:\
|
|
||||||
*.ogx=:\
|
|
||||||
*.opus=:\
|
|
||||||
*.pbm=:\
|
|
||||||
*.pcx=:\
|
|
||||||
*.pdf=:\
|
|
||||||
*.pgm=:\
|
|
||||||
*.php=:\
|
|
||||||
*.pl=:\
|
|
||||||
*.png=:\
|
|
||||||
*.ppm=:\
|
|
||||||
*.pro=:\
|
|
||||||
*.ps1=:\
|
|
||||||
*.py=:\
|
|
||||||
*.qt=:\
|
|
||||||
*.ra=:\
|
|
||||||
*.rar=:\
|
|
||||||
*.rb=:\
|
|
||||||
*.rm=:\
|
|
||||||
*.rmvb=:\
|
|
||||||
*.rpm=:\
|
|
||||||
*.rs=:\
|
|
||||||
*.rvm=:\
|
|
||||||
*.rz=:\
|
|
||||||
*.sar=:\
|
|
||||||
*.scala=:\
|
|
||||||
*.sh=:\
|
|
||||||
*.skhdrc=:\
|
|
||||||
*.sol=ﲹ:\
|
|
||||||
*.spx=:\
|
|
||||||
*.svg=:\
|
|
||||||
*.svgz=:\
|
|
||||||
*.swm=:\
|
|
||||||
*.t7z=:\
|
|
||||||
*.tar=:\
|
|
||||||
*.taz=:\
|
|
||||||
*.tbz2=:\
|
|
||||||
*.tbz=:\
|
|
||||||
*.tga=:\
|
|
||||||
*.tgz=:\
|
|
||||||
*.tif=:\
|
|
||||||
*.tiff=:\
|
|
||||||
*.tlz=:\
|
|
||||||
*.tmux.conf=:\
|
|
||||||
*.trash=:\
|
|
||||||
*.ts=:\
|
|
||||||
*.tsx=:\
|
|
||||||
*.txz=:\
|
|
||||||
*.tz=:\
|
|
||||||
*.tzo=:\
|
|
||||||
*.tzst=:\
|
|
||||||
*.vim=:\
|
|
||||||
*.vimrc=:\
|
|
||||||
*.vob=:\
|
|
||||||
*.vscode=:\
|
|
||||||
*.war=:\
|
|
||||||
*.wav=:\
|
|
||||||
*.webm=:\
|
|
||||||
*.wim=:\
|
|
||||||
*.xbm=:\
|
|
||||||
*.xcf=:\
|
|
||||||
*.xpm=:\
|
|
||||||
*.xspf=:\
|
|
||||||
*.xwd=:\
|
|
||||||
*.xz=:\
|
|
||||||
*.yabairc=:\
|
|
||||||
*.yaml=פּ:\
|
|
||||||
*.yarn-integrity=:\
|
|
||||||
*.yarnrc=:\
|
|
||||||
*.yml=פּ:\
|
|
||||||
*.yuv=:\
|
|
||||||
*.z=:\
|
|
||||||
*.zip=:\
|
|
||||||
*.zoo=:\
|
|
||||||
*.zprofile=:\
|
|
||||||
*.zprofile=:\
|
|
||||||
*.zsh=:\
|
|
||||||
*.zsh_history=:\
|
|
||||||
*.zshrc=:\
|
|
||||||
*.zst=:\
|
|
||||||
*bin=:\
|
|
||||||
*config=:\
|
|
||||||
*docker-compose.yml=:\
|
|
||||||
*dockerfile=:\
|
|
||||||
*gradle=:\
|
|
||||||
*gruntfile.coffee=:\
|
|
||||||
*gruntfile.js=:\
|
|
||||||
*gruntfile.ls=:\
|
|
||||||
*gulpfile.coffee=:\
|
|
||||||
*gulpfile.js=:\
|
|
||||||
*gulpfile.ls=:\
|
|
||||||
*include=:\
|
|
||||||
*lib=:\
|
|
||||||
*localized=:\
|
|
||||||
*node_modules=:\
|
|
||||||
*package.json=:\
|
|
||||||
*rubydoc=:\
|
|
||||||
*tsconfig.json=:\
|
|
||||||
*yarn.lock=:\
|
|
||||||
di=:\
|
|
||||||
dt=:\
|
|
||||||
ex=:\
|
|
||||||
fi=:\
|
|
||||||
ln=:\
|
|
||||||
or=:\
|
|
||||||
ow=:\
|
|
||||||
st=:\
|
|
||||||
tw=:\
|
|
||||||
"
|
|
|
@ -1,28 +0,0 @@
|
||||||
function _nvm_install --on-event nvm_install
|
|
||||||
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
|
||||||
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
|
||||||
set --universal nvm_data $XDG_DATA_HOME/nvm
|
|
||||||
|
|
||||||
test ! -d $nvm_data && command mkdir -p $nvm_data
|
|
||||||
echo "Downloading the Node distribution index..." 2>/dev/null
|
|
||||||
_nvm_index_update
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_update --on-event nvm_update
|
|
||||||
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
|
||||||
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
|
||||||
set --universal nvm_data $XDG_DATA_HOME/nvm
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_uninstall --on-event nvm_uninstall
|
|
||||||
command rm -rf $nvm_data
|
|
||||||
|
|
||||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
|
||||||
|
|
||||||
set --names | string replace --filter --regex -- "^nvm" "set --erase nvm" | source
|
|
||||||
functions --erase (functions --all | string match --entire --regex -- "^_nvm_")
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-interactive && set --query nvm_default_version && ! set --query nvm_current_version
|
|
||||||
nvm use --silent $nvm_default_version
|
|
||||||
end
|
|
|
@ -1,49 +0,0 @@
|
||||||
if status --is-login
|
|
||||||
if test -z "$DISPLAY" -a $XDG_VTNR = 1
|
|
||||||
exec Hyprland > ~/.hyprland.log
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-interactive
|
|
||||||
set -x XDG_CONFIG_HOME "$HOME/.config"
|
|
||||||
set -x XDG_STATE_HOME "$HOME/.local/state"
|
|
||||||
set -x XDG_CACHE_HOME "$HOME/.cache"
|
|
||||||
|
|
||||||
set -x DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
|
|
||||||
set -x CARGO_HOME "$XDG_DATA_HOME/cargo"
|
|
||||||
set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
|
||||||
set -x WINEPREFIX "$XDG_DATA_HOME/wine"
|
|
||||||
set -x JUPYTER_CONFIG_DIR "$XDG_CONFIG_HOME/jupyter"
|
|
||||||
set -x ANDROID_HOME "$XDG_DATA_HOME/android"
|
|
||||||
|
|
||||||
alias ls="lsd"
|
|
||||||
|
|
||||||
alias v="vim"
|
|
||||||
alias nv="nvim"
|
|
||||||
|
|
||||||
alias gc="git clone"
|
|
||||||
alias gst="git status"
|
|
||||||
alias bat="bat -p"
|
|
||||||
|
|
||||||
alias la="lsd -la"
|
|
||||||
|
|
||||||
set -U fish_user_paths $HOME/bin $fish_user_paths
|
|
||||||
set -U fish_user_paths $HOME/.local/bin $fish_user_paths
|
|
||||||
alias dotfiles="git --git-dir=/home/q/repos/dotfiles --work-tree=$HOME"
|
|
||||||
alias chromium-browser-stable="chromium-browser-stable --disable-gpu --disable-software-rasterizer"
|
|
||||||
|
|
||||||
set -x PF_INFO "ascii title os kernel wm shell pkgs memory"
|
|
||||||
|
|
||||||
set -x TERM "xterm-256color"
|
|
||||||
set -x EDITOR "nvim"
|
|
||||||
set -x VISUAL "nvim"
|
|
||||||
|
|
||||||
set -x XDG_DATA_HOME $HOME/.local/share
|
|
||||||
|
|
||||||
set srcdir "$HOME/.cache/"
|
|
||||||
set pkgdir "$HOME/.npm/"
|
|
||||||
alias npm="npm --cache $srcir/npm-cache"
|
|
||||||
|
|
||||||
set fish_greeting
|
|
||||||
# Commands to run in interactive sessions can go here
|
|
||||||
end
|
|
|
@ -1,6 +0,0 @@
|
||||||
jorgebucaran/fisher
|
|
||||||
jorgebucaran/nvm.fish
|
|
||||||
derekstavis/fish-neovim
|
|
||||||
catppuccin/fish
|
|
||||||
jorgebucaran/autopair.fish
|
|
||||||
joshmedeski/fish-lf-icons
|
|
|
@ -1,9 +0,0 @@
|
||||||
function _autopair_backspace
|
|
||||||
set --local index (commandline --cursor)
|
|
||||||
set --local buffer (commandline)
|
|
||||||
|
|
||||||
test $index -ge 1 &&
|
|
||||||
contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
|
|
||||||
commandline --function delete-char
|
|
||||||
commandline --function backward-delete-char
|
|
||||||
end
|
|
|
@ -1,13 +0,0 @@
|
||||||
function _autopair_insert_left --argument-names left right
|
|
||||||
set --local buffer (commandline)
|
|
||||||
set --local before (commandline --cut-at-cursor)
|
|
||||||
|
|
||||||
commandline --insert -- $left
|
|
||||||
|
|
||||||
switch "$buffer"
|
|
||||||
case "$before"{," "\*,$autopair_right\*}
|
|
||||||
set --local index (commandline --cursor)
|
|
||||||
commandline --insert -- $right
|
|
||||||
commandline --cursor $index
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,11 +0,0 @@
|
||||||
function _autopair_insert_right --argument-names key
|
|
||||||
set --local buffer (commandline)
|
|
||||||
set --local before (commandline --cut-at-cursor)
|
|
||||||
|
|
||||||
switch "$buffer"
|
|
||||||
case "$before$key"\*
|
|
||||||
commandline --cursor (math (commandline --cursor) + 1)
|
|
||||||
case \*
|
|
||||||
commandline --insert -- $key
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,20 +0,0 @@
|
||||||
function _autopair_insert_same --argument-names key
|
|
||||||
set --local buffer (commandline)
|
|
||||||
set --local index (commandline --cursor)
|
|
||||||
set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
|
|
||||||
|
|
||||||
if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
|
|
||||||
test $key = $next && commandline --cursor (math $index + 1) && return
|
|
||||||
|
|
||||||
commandline --insert -- $key
|
|
||||||
|
|
||||||
if test $index -lt 1 ||
|
|
||||||
contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
|
|
||||||
contains -- $next "" " " $autopair_right
|
|
||||||
commandline --insert -- $key
|
|
||||||
commandline --cursor (math $index + 1)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
commandline --insert -- $key
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,7 +0,0 @@
|
||||||
function _autopair_tab
|
|
||||||
commandline --paging-mode && down-or-search && return
|
|
||||||
|
|
||||||
string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
|
|
||||||
commandline --function end-of-line --function backward-delete-char
|
|
||||||
commandline --function complete
|
|
||||||
end
|
|
|
@ -1,20 +0,0 @@
|
||||||
function _nvm_index_update
|
|
||||||
test ! -d $nvm_data && command mkdir -p $nvm_data
|
|
||||||
|
|
||||||
set --local index $nvm_data/.index
|
|
||||||
|
|
||||||
if not command curl --location --silent $nvm_mirror/index.tab >$index.temp
|
|
||||||
command rm -f $index.temp
|
|
||||||
echo "nvm: Can't update index, host unavailable: \"$nvm_mirror\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
command awk -v OFS=\t '
|
|
||||||
/v0.9.12/ { exit } # Unsupported
|
|
||||||
NR > 1 {
|
|
||||||
print $1 (NR == 2 ? " latest" : $10 != "-" ? " lts/" tolower($10) : "")
|
|
||||||
}
|
|
||||||
' $index.temp >$index
|
|
||||||
|
|
||||||
command rm -f $index.temp
|
|
||||||
end
|
|
|
@ -1,11 +0,0 @@
|
||||||
function _nvm_list
|
|
||||||
set --local versions $nvm_data/*
|
|
||||||
set --query versions[1] &&
|
|
||||||
string match --entire --regex -- (string match --regex -- "v\d.+" $versions |
|
|
||||||
string escape --style=regex |
|
|
||||||
string join "|"
|
|
||||||
) <$nvm_data/.index
|
|
||||||
|
|
||||||
command --all node |
|
|
||||||
string match --quiet --invert --regex -- "^$nvm_data" && echo system
|
|
||||||
end
|
|
|
@ -1,4 +0,0 @@
|
||||||
function _nvm_version_activate --argument-names ver
|
|
||||||
set --global --export nvm_current_version $ver
|
|
||||||
set --prepend PATH $nvm_data/$ver/bin
|
|
||||||
end
|
|
|
@ -1,5 +0,0 @@
|
||||||
function _nvm_version_deactivate --argument-names ver
|
|
||||||
test "$nvm_current_version" = "$ver" && set --erase nvm_current_version
|
|
||||||
set --local index (contains --index -- $nvm_data/$ver/bin $PATH) &&
|
|
||||||
set --erase PATH[$index]
|
|
||||||
end
|
|
|
@ -1,56 +0,0 @@
|
||||||
function fish_prompt --description 'Write out the prompt'
|
|
||||||
set -l last_status $status
|
|
||||||
|
|
||||||
prompt_login
|
|
||||||
|
|
||||||
echo -n ':'
|
|
||||||
|
|
||||||
# PWD
|
|
||||||
set_color $fish_color_cwd
|
|
||||||
echo -n (prompt_pwd)
|
|
||||||
set_color normal
|
|
||||||
|
|
||||||
set -q __fish_git_prompt_showdirtystate
|
|
||||||
or set -g __fish_git_prompt_showdirtystate 1
|
|
||||||
set -q __fish_git_prompt_showuntrackedfiles
|
|
||||||
or set -g __fish_git_prompt_showuntrackedfiles 1
|
|
||||||
set -q __fish_git_prompt_showcolorhints
|
|
||||||
or set -g __fish_git_prompt_showcolorhints 1
|
|
||||||
set -q __fish_git_prompt_color_untrackedfiles
|
|
||||||
or set -g __fish_git_prompt_color_untrackedfiles yellow
|
|
||||||
set -q __fish_git_prompt_char_untrackedfiles
|
|
||||||
or set -g __fish_git_prompt_char_untrackedfiles '?'
|
|
||||||
set -q __fish_git_prompt_color_invalidstate
|
|
||||||
or set -g __fish_git_prompt_color_invalidstate red
|
|
||||||
set -q __fish_git_prompt_char_invalidstate
|
|
||||||
or set -g __fish_git_prompt_char_invalidstate '!'
|
|
||||||
set -q __fish_git_prompt_color_dirtystate
|
|
||||||
or set -g __fish_git_prompt_color_dirtystate blue
|
|
||||||
set -q __fish_git_prompt_char_dirtystate
|
|
||||||
or set -g __fish_git_prompt_char_dirtystate '*'
|
|
||||||
set -q __fish_git_prompt_char_stagedstate
|
|
||||||
or set -g __fish_git_prompt_char_stagedstate '✚'
|
|
||||||
set -q __fish_git_prompt_color_cleanstate
|
|
||||||
or set -g __fish_git_prompt_color_cleanstate green
|
|
||||||
set -q __fish_git_prompt_char_cleanstate
|
|
||||||
or set -g __fish_git_prompt_char_cleanstate '✓'
|
|
||||||
set -q __fish_git_prompt_color_stagedstate
|
|
||||||
or set -g __fish_git_prompt_color_stagedstate yellow
|
|
||||||
set -q __fish_git_prompt_color_branch_dirty
|
|
||||||
or set -g __fish_git_prompt_color_branch_dirty red
|
|
||||||
set -q __fish_git_prompt_color_branch_staged
|
|
||||||
or set -g __fish_git_prompt_color_branch_staged yellow
|
|
||||||
set -q __fish_git_prompt_color_branch
|
|
||||||
or set -g __fish_git_prompt_color_branch green
|
|
||||||
set -q __fish_git_prompt_char_stateseparator
|
|
||||||
or set -g __fish_git_prompt_char_stateseparator '⚡'
|
|
||||||
fish_vcs_prompt '|%s'
|
|
||||||
echo
|
|
||||||
|
|
||||||
if not test $last_status -eq 0
|
|
||||||
set_color $fish_color_error
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -n '➤ '
|
|
||||||
set_color normal
|
|
||||||
end
|
|
|
@ -1,240 +0,0 @@
|
||||||
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
|
||||||
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
|
||||||
set --local fisher_version 4.4.2
|
|
||||||
set --local fish_plugins $__fish_config_dir/fish_plugins
|
|
||||||
|
|
||||||
switch "$cmd"
|
|
||||||
case -v --version
|
|
||||||
echo "fisher, version $fisher_version"
|
|
||||||
case "" -h --help
|
|
||||||
echo "Usage: fisher install <plugins...> Install plugins"
|
|
||||||
echo " fisher remove <plugins...> Remove installed plugins"
|
|
||||||
echo " fisher update <plugins...> Update installed plugins"
|
|
||||||
echo " fisher update Update all installed plugins"
|
|
||||||
echo " fisher list [<regex>] List installed plugins matching regex"
|
|
||||||
echo "Options:"
|
|
||||||
echo " -v or --version Print version"
|
|
||||||
echo " -h or --help Print this help message"
|
|
||||||
echo "Variables:"
|
|
||||||
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
|
||||||
case ls list
|
|
||||||
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
|
||||||
case install update remove
|
|
||||||
isatty || read --local --null --array stdin && set --append argv $stdin
|
|
||||||
|
|
||||||
set --local install_plugins
|
|
||||||
set --local update_plugins
|
|
||||||
set --local remove_plugins
|
|
||||||
set --local arg_plugins $argv[2..-1]
|
|
||||||
set --local old_plugins $_fisher_plugins
|
|
||||||
set --local new_plugins
|
|
||||||
|
|
||||||
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
|
|
||||||
|
|
||||||
if ! set --query argv[2]
|
|
||||||
if test "$cmd" != update
|
|
||||||
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
|
||||||
else if ! set --query file_plugins
|
|
||||||
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
|
||||||
end
|
|
||||||
set arg_plugins $file_plugins
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $arg_plugins
|
|
||||||
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
|
||||||
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
|
||||||
end
|
|
||||||
|
|
||||||
if set --query argv[2]
|
|
||||||
for plugin in $new_plugins
|
|
||||||
if contains -- "$plugin" $old_plugins
|
|
||||||
test "$cmd" = remove &&
|
|
||||||
set --append remove_plugins $plugin ||
|
|
||||||
set --append update_plugins $plugin
|
|
||||||
else if test "$cmd" = install
|
|
||||||
set --append install_plugins $plugin
|
|
||||||
else
|
|
||||||
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
for plugin in $new_plugins
|
|
||||||
contains -- "$plugin" $old_plugins &&
|
|
||||||
set --append update_plugins $plugin ||
|
|
||||||
set --append install_plugins $plugin
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $old_plugins
|
|
||||||
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set --local pid_list
|
|
||||||
set --local source_plugins
|
|
||||||
set --local fetch_plugins $update_plugins $install_plugins
|
|
||||||
set --local fish_path (status fish-path)
|
|
||||||
|
|
||||||
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
|
||||||
|
|
||||||
for plugin in $fetch_plugins
|
|
||||||
set --local source (command mktemp -d)
|
|
||||||
set --append source_plugins $source
|
|
||||||
|
|
||||||
command mkdir -p $source/{completions,conf.d,themes,functions}
|
|
||||||
|
|
||||||
$fish_path --command "
|
|
||||||
if test -e $plugin
|
|
||||||
command cp -Rf $plugin/* $source
|
|
||||||
else
|
|
||||||
set temp (command mktemp -d)
|
|
||||||
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
|
||||||
|
|
||||||
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
|
||||||
set name (string split -- / \$path)[-1]
|
|
||||||
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
|
||||||
else
|
|
||||||
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
|
||||||
end
|
|
||||||
|
|
||||||
echo Fetching (set_color --underline)\$url(set_color normal)
|
|
||||||
|
|
||||||
if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
|
|
||||||
command cp -Rf \$temp/*/* $source
|
|
||||||
else
|
|
||||||
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
|
||||||
command rm -rf $source
|
|
||||||
end
|
|
||||||
|
|
||||||
command rm -rf \$temp
|
|
||||||
end
|
|
||||||
|
|
||||||
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
|
||||||
" &
|
|
||||||
|
|
||||||
set --append pid_list (jobs --last --pid)
|
|
||||||
end
|
|
||||||
|
|
||||||
wait $pid_list 2>/dev/null
|
|
||||||
|
|
||||||
for plugin in $fetch_plugins
|
|
||||||
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
|
||||||
if set --local index (contains --index -- "$plugin" $install_plugins)
|
|
||||||
set --erase install_plugins[$index]
|
|
||||||
else
|
|
||||||
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $update_plugins $remove_plugins
|
|
||||||
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
|
||||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
|
||||||
|
|
||||||
if contains -- "$plugin" $remove_plugins
|
|
||||||
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
|
||||||
emit {$name}_uninstall
|
|
||||||
end
|
|
||||||
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
|
||||||
set --erase _fisher_plugins[$index]
|
|
||||||
end
|
|
||||||
|
|
||||||
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
|
||||||
|
|
||||||
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
|
||||||
|
|
||||||
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
|
||||||
complete --erase --command $name
|
|
||||||
end
|
|
||||||
|
|
||||||
set --erase $plugin_files_var
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if set --query update_plugins[1] || set --query install_plugins[1]
|
|
||||||
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $update_plugins $install_plugins
|
|
||||||
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
|
||||||
set --local files $source/{functions,themes,conf.d,completions}/*
|
|
||||||
|
|
||||||
if set --local index (contains --index -- $plugin $install_plugins)
|
|
||||||
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
|
||||||
set --local conflict_files
|
|
||||||
|
|
||||||
for file in (string replace -- $source/ $fisher_path/ $files)
|
|
||||||
contains -- $file $user_files && set --append conflict_files $file
|
|
||||||
end
|
|
||||||
|
|
||||||
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
|
||||||
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
|
||||||
continue
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for file in (string replace -- $source/ "" $files)
|
|
||||||
command cp -Rf $source/$file $fisher_path/$file
|
|
||||||
end
|
|
||||||
|
|
||||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
|
||||||
|
|
||||||
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
|
||||||
|
|
||||||
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
|
||||||
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
|
||||||
|
|
||||||
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
|
||||||
|
|
||||||
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
|
||||||
source $file
|
|
||||||
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
|
||||||
emit {$name}_$event
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
command rm -rf $source_plugins
|
|
||||||
|
|
||||||
if set --query _fisher_plugins[1]
|
|
||||||
set --local commit_plugins
|
|
||||||
|
|
||||||
for plugin in $file_plugins
|
|
||||||
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $_fisher_plugins
|
|
||||||
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
|
||||||
end
|
|
||||||
|
|
||||||
printf "%s\n" $commit_plugins >$fish_plugins
|
|
||||||
else
|
|
||||||
set --erase _fisher_plugins
|
|
||||||
command rm -f $fish_plugins
|
|
||||||
end
|
|
||||||
|
|
||||||
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
|
||||||
|
|
||||||
test "$total" != "0 0 0" && echo (string join ", " (
|
|
||||||
test $total[1] = 0 || echo "Installed $total[1]") (
|
|
||||||
test $total[2] = 0 || echo "Updated $total[2]") (
|
|
||||||
test $total[3] = 0 || echo "Removed $total[3]")
|
|
||||||
) plugin/s
|
|
||||||
case \*
|
|
||||||
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if ! set --query _fisher_upgraded_to_4_4
|
|
||||||
set --universal _fisher_upgraded_to_4_4
|
|
||||||
if functions --query _fisher_list
|
|
||||||
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
|
||||||
command rm -rf $XDG_DATA_HOME/fisher
|
|
||||||
functions --erase _fisher_{list,plugin_parse}
|
|
||||||
fisher update >/dev/null 2>/dev/null
|
|
||||||
else
|
|
||||||
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
|
||||||
set $var (string replace -- ~ \~ $$var)
|
|
||||||
end
|
|
||||||
functions --erase _fisher_fish_postexec
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,230 +0,0 @@
|
||||||
function nvm --description "Node version manager"
|
|
||||||
for silent in --silent -s
|
|
||||||
if set --local index (contains --index -- $silent $argv)
|
|
||||||
set --erase argv[$index] && break
|
|
||||||
end
|
|
||||||
set --erase silent
|
|
||||||
end
|
|
||||||
|
|
||||||
set --local cmd $argv[1]
|
|
||||||
set --local ver $argv[2]
|
|
||||||
|
|
||||||
if set --query silent && ! set --query cmd[1]
|
|
||||||
echo "nvm: Version number not specified (see nvm -h for usage)" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if ! set --query ver[1] && contains -- "$cmd" install use
|
|
||||||
for file in .nvmrc .node-version
|
|
||||||
set file (_nvm_find_up $PWD $file) && read ver <$file && break
|
|
||||||
end
|
|
||||||
|
|
||||||
if ! set --query ver[1]
|
|
||||||
echo "nvm: Invalid version or missing \".nvmrc\" file" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set --local their_version $ver
|
|
||||||
|
|
||||||
switch "$cmd"
|
|
||||||
case -v --version
|
|
||||||
echo "nvm, version 2.2.11"
|
|
||||||
case "" -h --help
|
|
||||||
echo "Usage: nvm install <version> Download and activate the specified Node version"
|
|
||||||
echo " nvm install Install version from nearest .nvmrc file"
|
|
||||||
echo " nvm use <version> Activate a version in the current shell"
|
|
||||||
echo " nvm use Activate version from nearest .nvmrc file"
|
|
||||||
echo " nvm list List installed versions"
|
|
||||||
echo " nvm list-remote List versions available to install"
|
|
||||||
echo " nvm list-remote <regex> List versions matching a given regular expression"
|
|
||||||
echo " nvm current Print the currently-active version"
|
|
||||||
echo " nvm uninstall <version> Uninstall a version"
|
|
||||||
echo "Options:"
|
|
||||||
echo " -s or --silent Suppress standard output"
|
|
||||||
echo " -v or --version Print version"
|
|
||||||
echo " -h or --help Print this help message"
|
|
||||||
echo "Variables:"
|
|
||||||
echo " nvm_arch Override architecture, e.g. x64-musl"
|
|
||||||
echo " nvm_mirror Use a mirror of the Node binaries"
|
|
||||||
echo " nvm_default_version Set the default version for new shells"
|
|
||||||
echo " nvm_default_packages Install a list of packages every time you install a Node version"
|
|
||||||
case install
|
|
||||||
_nvm_index_update
|
|
||||||
|
|
||||||
string match --entire --regex -- (_nvm_version_match $ver) <$nvm_data/.index | read ver alias
|
|
||||||
|
|
||||||
if ! set --query ver[1]
|
|
||||||
echo "nvm: Invalid version number or alias: \"$their_version\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if test ! -e $nvm_data/$ver
|
|
||||||
set --local os (command uname -s | string lower)
|
|
||||||
set --local ext tar.gz
|
|
||||||
set --local arch (command uname -m)
|
|
||||||
|
|
||||||
switch $os
|
|
||||||
case aix
|
|
||||||
set arch ppc64
|
|
||||||
case sunos
|
|
||||||
case linux
|
|
||||||
case darwin
|
|
||||||
case {MSYS_NT,MINGW\*_NT}\*
|
|
||||||
set os win
|
|
||||||
set ext zip
|
|
||||||
case \*
|
|
||||||
echo "nvm: Unsupported operating system: \"$os\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
switch $arch
|
|
||||||
case i\*86
|
|
||||||
set arch x86
|
|
||||||
case x86_64
|
|
||||||
set arch x64
|
|
||||||
case arm64
|
|
||||||
string match --regex --quiet "v(?<major>\d+)" $ver
|
|
||||||
if test "$os" = darwin -a $major -lt 16
|
|
||||||
set arch x64
|
|
||||||
end
|
|
||||||
case armv6 armv6l
|
|
||||||
set arch armv6l
|
|
||||||
case armv7 armv7l
|
|
||||||
set arch armv7l
|
|
||||||
case armv8 armv8l aarch64
|
|
||||||
set arch arm64
|
|
||||||
end
|
|
||||||
|
|
||||||
set --query nvm_arch && set arch $nvm_arch
|
|
||||||
|
|
||||||
set --local dir "node-$ver-$os-$arch"
|
|
||||||
set --local url $nvm_mirror/$ver/$dir.$ext
|
|
||||||
|
|
||||||
command mkdir -p $nvm_data/$ver
|
|
||||||
|
|
||||||
if ! set --query silent
|
|
||||||
echo -e "Installing Node \x1b[1m$ver\x1b[22m $alias"
|
|
||||||
echo -e "Fetching \x1b[4m$url\x1b[24m\x1b[7m"
|
|
||||||
end
|
|
||||||
|
|
||||||
if ! command curl $silent --progress-bar --location $url |
|
|
||||||
command tar --extract --gzip --directory $nvm_data/$ver 2>/dev/null
|
|
||||||
command rm -rf $nvm_data/$ver
|
|
||||||
echo -e "\033[F\33[2K\x1b[0mnvm: Invalid mirror or host unavailable: \"$url\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set --query silent || echo -en "\033[F\33[2K\x1b[0m"
|
|
||||||
|
|
||||||
if test "$os" = win
|
|
||||||
command mv $nvm_data/$ver/$dir $nvm_data/$ver/bin
|
|
||||||
else
|
|
||||||
command mv $nvm_data/$ver/$dir/* $nvm_data/$ver
|
|
||||||
command rm -rf $nvm_data/$ver/$dir
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if test $ver != "$nvm_current_version"
|
|
||||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
|
||||||
_nvm_version_activate $ver
|
|
||||||
|
|
||||||
set --query nvm_default_packages[1] && npm install --global $silent $nvm_default_packages
|
|
||||||
end
|
|
||||||
|
|
||||||
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
|
||||||
case use
|
|
||||||
test $ver = default && set ver $nvm_default_version
|
|
||||||
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
|
||||||
|
|
||||||
if ! set --query ver[1]
|
|
||||||
echo "nvm: Can't use Node \"$their_version\", version must be installed first" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if test $ver != "$nvm_current_version"
|
|
||||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
|
||||||
test $ver != system && _nvm_version_activate $ver
|
|
||||||
end
|
|
||||||
|
|
||||||
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
|
||||||
case uninstall
|
|
||||||
if test -z "$ver"
|
|
||||||
echo "nvm: Not enough arguments for command: \"$cmd\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
test $ver = default && test ! -z "$nvm_default_version" && set ver $nvm_default_version
|
|
||||||
|
|
||||||
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
|
||||||
|
|
||||||
if ! set -q ver[1]
|
|
||||||
echo "nvm: Node version not installed or invalid: \"$their_version\"" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set --query silent || printf "Uninstalling Node %s %s\n" $ver (string replace ~ \~ "$nvm_data/$ver/bin/node")
|
|
||||||
|
|
||||||
_nvm_version_deactivate $ver
|
|
||||||
|
|
||||||
command rm -rf $nvm_data/$ver
|
|
||||||
case current
|
|
||||||
_nvm_current
|
|
||||||
case ls list
|
|
||||||
_nvm_list | _nvm_list_format (_nvm_current) $argv[2]
|
|
||||||
case lsr {ls,list}-remote
|
|
||||||
_nvm_index_update || return
|
|
||||||
_nvm_list | command awk '
|
|
||||||
FILENAME == "-" && (is_local[$1] = FNR == NR) { next } {
|
|
||||||
print $0 (is_local[$1] ? " ✓" : "")
|
|
||||||
}
|
|
||||||
' - $nvm_data/.index | _nvm_list_format (_nvm_current) $argv[2]
|
|
||||||
case \*
|
|
||||||
echo "nvm: Unknown command or option: \"$cmd\" (see nvm -h for usage)" >&2
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_find_up --argument-names path file
|
|
||||||
test -e "$path/$file" && echo $path/$file || begin
|
|
||||||
test ! -z "$path" || return
|
|
||||||
_nvm_find_up (string replace --regex -- '/[^/]*$' "" $path) $file
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_version_match --argument-names ver
|
|
||||||
string replace --regex -- '^v?(\d+|\d+\.\d+)$' 'v$1.' $ver |
|
|
||||||
string replace --filter --regex -- '^v?(\d+)' 'v$1' |
|
|
||||||
string escape --style=regex ||
|
|
||||||
string lower '\b'$ver'(?:/\w+)?$'
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_list_format --argument-names current regex
|
|
||||||
command awk -v current="$current" -v regex="$regex" '
|
|
||||||
$0 ~ regex {
|
|
||||||
aliases[versions[i++] = $1] = $2 " " $3
|
|
||||||
pad = (n = length($1)) > pad ? n : pad
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
if (!i) exit 1
|
|
||||||
while (i--)
|
|
||||||
printf((current == versions[i] ? " ▶ " : " ") "%"pad"s %s\n",
|
|
||||||
versions[i], aliases[versions[i]])
|
|
||||||
}
|
|
||||||
'
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_current
|
|
||||||
command --search --quiet node || return
|
|
||||||
set --query nvm_current_version && echo $nvm_current_version || echo system
|
|
||||||
end
|
|
||||||
|
|
||||||
function _nvm_node_info
|
|
||||||
set --local npm_path (string replace bin/npm-cli.js "" (realpath (command --search npm)))
|
|
||||||
test -f $npm_path/package.json || set --local npm_version_default (command npm --version)
|
|
||||||
command node --eval "
|
|
||||||
console.log(process.version)
|
|
||||||
console.log('$npm_version_default' ? '$npm_version_default': require('$npm_path/package.json').version)
|
|
||||||
console.log(process.execPath.replace(require('os').homedir(), '~'))
|
|
||||||
"
|
|
||||||
end
|
|
|
@ -1,232 +0,0 @@
|
||||||
# -*- conf -*-
|
|
||||||
|
|
||||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
|
||||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
|
||||||
# login-shell=no
|
|
||||||
|
|
||||||
# app-id=foot
|
|
||||||
# title=foot
|
|
||||||
# locked-title=no
|
|
||||||
|
|
||||||
font=JetBrainsMono Nerd Font Mono:size=13
|
|
||||||
|
|
||||||
# font=monospace:size=8
|
|
||||||
# font-bold=<bold variant of regular font>
|
|
||||||
# font-italic=<italic variant of regular font>
|
|
||||||
# font-bold-italic=<bold+italic variant of regular font>
|
|
||||||
# line-height=<font metrics>
|
|
||||||
# letter-spacing=0
|
|
||||||
# horizontal-letter-offset=0
|
|
||||||
# vertical-letter-offset=0
|
|
||||||
# underline-offset=<font metrics>
|
|
||||||
# box-drawings-uses-font-glyphs=no
|
|
||||||
# dpi-aware=auto
|
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
|
||||||
# initial-window-mode=windowed
|
|
||||||
# pad=2x2 # optionally append 'center'
|
|
||||||
# resize-delay-ms=100
|
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
|
||||||
|
|
||||||
# bold-text-in-bright=no
|
|
||||||
# word-delimiters=,│`|:"'()[]{}<>
|
|
||||||
# selection-target=primary
|
|
||||||
# workers=<number of logical CPUs>
|
|
||||||
|
|
||||||
[environment]
|
|
||||||
# name=value
|
|
||||||
|
|
||||||
[bell]
|
|
||||||
# urgent=no
|
|
||||||
# notify=no
|
|
||||||
# command=
|
|
||||||
# command-focused=no
|
|
||||||
|
|
||||||
[scrollback]
|
|
||||||
# lines=1000
|
|
||||||
# multiplier=3.0
|
|
||||||
# indicator-position=relative
|
|
||||||
# indicator-format=
|
|
||||||
|
|
||||||
[url]
|
|
||||||
# launch=xdg-open ${url}
|
|
||||||
# label-letters=sadfjklewcmpgh
|
|
||||||
# osc8-underline=url-mode
|
|
||||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
|
||||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
# style=block
|
|
||||||
# color=<inverse foreground/background>
|
|
||||||
# blink=no
|
|
||||||
# beam-thickness=1.5
|
|
||||||
# underline-thickness=<font underline thickness>
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
hide-when-typing=no
|
|
||||||
alternate-scroll-mode=yes
|
|
||||||
|
|
||||||
[colors]
|
|
||||||
|
|
||||||
alpha = 0.95
|
|
||||||
|
|
||||||
foreground = d8dee9
|
|
||||||
background = 2e3440
|
|
||||||
|
|
||||||
# selection-foreground = d8dee9
|
|
||||||
# selection-background = 4c566a
|
|
||||||
|
|
||||||
regular0 = 3b4252
|
|
||||||
regular1 = bf616a
|
|
||||||
regular2 = a3be8c
|
|
||||||
regular3 = ebcb8b
|
|
||||||
regular4 = 81a1c1
|
|
||||||
regular5 = b48ead
|
|
||||||
regular6 = 88c0d0
|
|
||||||
regular7 = e5e9f0
|
|
||||||
|
|
||||||
bright0 = 4c566a
|
|
||||||
bright1 = bf616a
|
|
||||||
bright2 = a3be8c
|
|
||||||
bright3 = ebcb8b
|
|
||||||
bright4 = 81a1c1
|
|
||||||
bright5 = b48ead
|
|
||||||
bright6 = 8fbcbb
|
|
||||||
bright7 = eceff4
|
|
||||||
|
|
||||||
dim0 = 373e4d
|
|
||||||
dim1 = 94545d
|
|
||||||
dim2 = 809575
|
|
||||||
dim3 = b29e75
|
|
||||||
dim4 = 68809a
|
|
||||||
dim5 = 8c738c
|
|
||||||
dim6 = 6d96a5
|
|
||||||
dim7 = aeb3bb
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#background=141b1e
|
|
||||||
#foreground=dadada
|
|
||||||
#regular0=232a2d
|
|
||||||
#regular1=e57474
|
|
||||||
#regular2=8ccf7e
|
|
||||||
#regular3=e5c76b
|
|
||||||
#regular4=67b0e8
|
|
||||||
#regular5=c47fd5
|
|
||||||
#regular6=6cbfbf
|
|
||||||
#regular7=b3b9b8
|
|
||||||
|
|
||||||
#bright0=2d3437
|
|
||||||
#bright1=ef7e7e
|
|
||||||
#bright2=96d988
|
|
||||||
#bright3=f4d67a
|
|
||||||
#bright4=71baf2
|
|
||||||
#bright5=ce89df
|
|
||||||
#bright6=67cbe7
|
|
||||||
#bright7=bdc3c2
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
# urls=<regular3>
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
# preferred=server
|
|
||||||
# size=26
|
|
||||||
# font=<primary font>
|
|
||||||
# color=<foreground color>
|
|
||||||
# hide-when-typing=no
|
|
||||||
# border-width=0
|
|
||||||
# border-color=<csd.color>
|
|
||||||
# button-width=26
|
|
||||||
# button-color=<background color>
|
|
||||||
# button-minimize-color=<regular4>
|
|
||||||
# button-maximize-color=<regular2>
|
|
||||||
# button-close-color=<regular1>
|
|
||||||
|
|
||||||
[key-bindings]
|
|
||||||
# scrollback-up-page=Shift+Page_Up
|
|
||||||
# scrollback-up-half-page=none
|
|
||||||
# scrollback-up-line=none
|
|
||||||
# scrollback-down-page=Shift+Page_Down
|
|
||||||
# scrollback-down-half-page=none
|
|
||||||
# scrollback-down-line=none
|
|
||||||
# clipboard-copy=Control+Shift+c XF86Copy
|
|
||||||
# clipboard-paste=Control+Shift+v XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# search-start=Control+Shift+r
|
|
||||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
|
||||||
# font-decrease=Control+minus Control+KP_Subtract
|
|
||||||
# font-reset=Control+0 Control+KP_0
|
|
||||||
# spawn-terminal=Control+Shift+n
|
|
||||||
# minimize=none
|
|
||||||
# maximize=none
|
|
||||||
# fullscreen=none
|
|
||||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-selected=[xargs -r firefox] none
|
|
||||||
# show-urls-launch=Control+Shift+u
|
|
||||||
# show-urls-copy=none
|
|
||||||
# show-urls-persistent=none
|
|
||||||
# prompt-prev=Control+Shift+z
|
|
||||||
# prompt-next=Control+Shift+x
|
|
||||||
# unicode-input=none
|
|
||||||
# noop=none
|
|
||||||
|
|
||||||
[search-bindings]
|
|
||||||
# cancel=Control+g Control+c Escape
|
|
||||||
# commit=Return
|
|
||||||
# find-prev=Control+r
|
|
||||||
# find-next=Control+s
|
|
||||||
# cursor-left=Left Control+b
|
|
||||||
# cursor-left-word=Control+Left Mod1+b
|
|
||||||
# cursor-right=Right Control+f
|
|
||||||
# cursor-right-word=Control+Right Mod1+f
|
|
||||||
# cursor-home=Home Control+a
|
|
||||||
# cursor-end=End Control+e
|
|
||||||
# delete-prev=BackSpace
|
|
||||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
|
||||||
# delete-next=Delete
|
|
||||||
# delete-next-word=Mod1+d Control+Delete
|
|
||||||
# extend-to-word-boundary=Control+w
|
|
||||||
# extend-to-next-whitespace=Control+Shift+w
|
|
||||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# unicode-input=none
|
|
||||||
|
|
||||||
[url-bindings]
|
|
||||||
# cancel=Control+g Control+c Control+d Escape
|
|
||||||
# toggle-url-visible=t
|
|
||||||
|
|
||||||
[text-bindings]
|
|
||||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
|
||||||
|
|
||||||
[mouse-bindings]
|
|
||||||
# selection-override-modifiers=Shift
|
|
||||||
# primary-paste=BTN_MIDDLE
|
|
||||||
# select-begin=BTN_LEFT
|
|
||||||
# select-begin-block=Control+BTN_LEFT
|
|
||||||
# select-extend=BTN_RIGHT
|
|
||||||
# select-extend-character-wise=Control+BTN_RIGHT
|
|
||||||
# select-word=BTN_LEFT-2
|
|
||||||
# select-word-whitespace=Control+BTN_LEFT-2
|
|
||||||
# select-row=BTN_LEFT-3
|
|
||||||
|
|
||||||
# vim: ft=dosini
|
|
|
@ -1,207 +0,0 @@
|
||||||
# This is an example Hyprland config file.
|
|
||||||
#
|
|
||||||
# Refer to the wiki for more information.
|
|
||||||
|
|
||||||
#
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
#
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=,1920x1080,auto,1
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
||||||
|
|
||||||
# Execute your favorite apps at launch
|
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
|
||||||
|
|
||||||
|
|
||||||
exec-once = swww init
|
|
||||||
exec-once = waybar
|
|
||||||
exec-once = light -S 50
|
|
||||||
exec-once = kotatogram-desktop
|
|
||||||
exec-once = dunst -config ~/.config/dunst/dunstrc
|
|
||||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
|
||||||
exec-once = /usr/bin/chromium-browser-stable --disable-gpu --disable-software-rasterizer
|
|
||||||
exec-once = $HOME/bin/battery-daemon &
|
|
||||||
|
|
||||||
# Source a file (multi-file configs)
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
input {
|
|
||||||
kb_layout = us,ru,ua
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options = grp:caps_toggle
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = no
|
|
||||||
}
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 10
|
|
||||||
border_size = 3
|
|
||||||
|
|
||||||
col.active_border = rgb(88c0d0) 45deg
|
|
||||||
col.inactive_border = rgb(2e3440)
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
rounding = 10
|
|
||||||
blur: 3
|
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
|
|
||||||
dim_inactive = 1
|
|
||||||
dim_strength = 0.4
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = yes
|
|
||||||
|
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
||||||
|
|
||||||
animation = windows, 1, 7, myBezier
|
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = yes # you probably want this
|
|
||||||
}
|
|
||||||
|
|
||||||
master {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
workspace_swipe = off
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
|
||||||
device:epic mouse V1 {
|
|
||||||
sensitivity = -0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example windowrule v1
|
|
||||||
# windowrule = float, ^(kitty)$
|
|
||||||
# Example windowrule v2
|
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
|
|
||||||
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
|
|
||||||
windowrulev2 = move 196 127,class:^(xdg-desktop-portal-gtk)$
|
|
||||||
windowrulev2 = size 791 667,class:^(xdg-desktop-portal-gtk)$
|
|
||||||
|
|
||||||
|
|
||||||
windowrulev2 = float,title:^(Kotatogram)$
|
|
||||||
windowrulev2 = workspace 2 silent,title:^(Kotatogram)$
|
|
||||||
windowrulev2 = size 641 1022,title:^(Kotatogram)$
|
|
||||||
windowrulev2 = move 25 45,title:^(Kotatogram)$
|
|
||||||
|
|
||||||
|
|
||||||
windowrulev2 = workspace 1 silent,title:^(chromium-browser)$
|
|
||||||
|
|
||||||
$mainMod = SUPER
|
|
||||||
|
|
||||||
bind = $mainMod SHIFT, S,exec, bin/w-screenrecord
|
|
||||||
|
|
||||||
# bindl=,switch:[switch name],exec,$HOME/bin/lockscreen
|
|
||||||
|
|
||||||
|
|
||||||
bind = $mainMod, C, killactive,
|
|
||||||
bind = $mainMod, X, exit,
|
|
||||||
bind = $mainMod, F, fullscreen, 2
|
|
||||||
bind = $mainMod, S, togglefloating,
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
bind = $mainMod ALT, J, togglesplit, # dwindle
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
||||||
|
|
||||||
# Example volume button that allows press and hold
|
|
||||||
binde= ,F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
|
|
||||||
binde= ,F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
|
|
||||||
|
|
||||||
bind = $mainMod, b, exec, foot -e bluetuith
|
|
||||||
bind = $mainMod, RETURN, exec, foot
|
|
||||||
bind = $mainMod, N, exec, foot -e lf
|
|
||||||
bind = $mainMod, M, exec, foot -e cmus
|
|
||||||
bind = $mainMod, d, exec, wofi --show drun -I -i
|
|
||||||
bind = ,Print, exec, makescreenshot
|
|
||||||
# bind = $mainMod, SHIFT, L, exec, lockscreen
|
|
||||||
bind = ALT, L, exec, lockscreen
|
|
||||||
|
|
||||||
# not forget install xdg-desktop-portal 1.14.6
|
|
||||||
# Modify file /usr/share/xdg-desktop-portal/portals/{}.portal UserIn=sway;wlroots
|
|
||||||
|
|
||||||
# Move focus with mainMod + kjlh
|
|
||||||
bind = $mainMod, k, movefocus,u
|
|
||||||
bind = $mainMod, j, movefocus,d
|
|
||||||
bind = $mainMod, l, movefocus,r
|
|
||||||
bind = $mainMod, h, movefocus,l
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, 1, workspace, 1
|
|
||||||
bind = $mainMod, 2, workspace, 2
|
|
||||||
bind = $mainMod, 3, workspace, 3
|
|
||||||
bind = $mainMod, 4, workspace, 4
|
|
||||||
bind = $mainMod, 5, workspace, 5
|
|
||||||
bind = $mainMod, 6, workspace, 6
|
|
||||||
bind = $mainMod, 7, workspace, 7
|
|
||||||
bind = $mainMod, 8, workspace, 8
|
|
||||||
bind = $mainMod, 9, workspace, 9
|
|
||||||
bind = $mainMod, 0, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
||||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
||||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
||||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
|
|
||||||
# Move windows
|
|
||||||
bind = $mainMod SHIFT,k, movewindow, u
|
|
||||||
bind = $mainMod SHIFT,j, movewindow, d
|
|
||||||
bind = $mainMod SHIFT,l, movewindow, r
|
|
||||||
bind = $mainMod SHIFT,h, movewindow, l
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
}
|
|
|
@ -1,174 +0,0 @@
|
||||||
# vim:ft=dircolors
|
|
||||||
# (This is not a dircolors file but it helps to highlight colors and comments)
|
|
||||||
|
|
||||||
# default values from dircolors
|
|
||||||
# (entries with a leading # are not implemented in lf)
|
|
||||||
# #no 00 # NORMAL
|
|
||||||
# fi 00 # FILE
|
|
||||||
# #rs 0 # RESET
|
|
||||||
# di 01;34 # DIR
|
|
||||||
# ln 01;36 # LINK
|
|
||||||
# #mh 00 # MULTIHARDLINK
|
|
||||||
# pi 40;33 # FIFO
|
|
||||||
# so 01;35 # SOCK
|
|
||||||
# #do 01;35 # DOOR
|
|
||||||
# bd 40;33;01 # BLK
|
|
||||||
# cd 40;33;01 # CHR
|
|
||||||
# or 40;31;01 # ORPHAN
|
|
||||||
# #mi 00 # MISSING
|
|
||||||
# su 37;41 # SETUID
|
|
||||||
# sg 30;43 # SETGID
|
|
||||||
# #ca 30;41 # CAPABILITY
|
|
||||||
# tw 30;42 # STICKY_OTHER_WRITABLE
|
|
||||||
# ow 34;42 # OTHER_WRITABLE
|
|
||||||
# st 37;44 # STICKY
|
|
||||||
# ex 01;32 # EXEC
|
|
||||||
|
|
||||||
# default values from lf (with matching order)
|
|
||||||
# ln 01;36 # LINK
|
|
||||||
# or 31;01 # ORPHAN
|
|
||||||
# tw 01;34 # STICKY_OTHER_WRITABLE
|
|
||||||
# ow 01;34 # OTHER_WRITABLE
|
|
||||||
# st 01;34 # STICKY
|
|
||||||
# di 01;34 # DIR
|
|
||||||
# pi 33 # FIFO
|
|
||||||
# so 01;35 # SOCK
|
|
||||||
# bd 33;01 # BLK
|
|
||||||
# cd 33;01 # CHR
|
|
||||||
# su 01;32 # SETUID
|
|
||||||
# sg 01;32 # SETGID
|
|
||||||
# ex 01;32 # EXEC
|
|
||||||
# fi 00 # FILE
|
|
||||||
|
|
||||||
# file types (with matching order)
|
|
||||||
ln 01;36 # LINK
|
|
||||||
or 31;01 # ORPHAN
|
|
||||||
tw 34 # STICKY_OTHER_WRITABLE
|
|
||||||
ow 34 # OTHER_WRITABLE
|
|
||||||
st 01;34 # STICKY
|
|
||||||
di 01;34 # DIR
|
|
||||||
pi 33 # FIFO
|
|
||||||
so 01;35 # SOCK
|
|
||||||
bd 33;01 # BLK
|
|
||||||
cd 33;01 # CHR
|
|
||||||
su 01;32 # SETUID
|
|
||||||
sg 01;32 # SETGID
|
|
||||||
ex 01;32 # EXEC
|
|
||||||
fi 00 # FILE
|
|
||||||
|
|
||||||
# archives or compressed (dircolors defaults)
|
|
||||||
*.tar 01;31
|
|
||||||
*.tgz 01;31
|
|
||||||
*.arc 01;31
|
|
||||||
*.arj 01;31
|
|
||||||
*.taz 01;31
|
|
||||||
*.lha 01;31
|
|
||||||
*.lz4 01;31
|
|
||||||
*.lzh 01;31
|
|
||||||
*.lzma 01;31
|
|
||||||
*.tlz 01;31
|
|
||||||
*.txz 01;31
|
|
||||||
*.tzo 01;31
|
|
||||||
*.t7z 01;31
|
|
||||||
*.zip 01;31
|
|
||||||
*.z 01;31
|
|
||||||
*.dz 01;31
|
|
||||||
*.gz 01;31
|
|
||||||
*.lrz 01;31
|
|
||||||
*.lz 01;31
|
|
||||||
*.lzo 01;31
|
|
||||||
*.xz 01;31
|
|
||||||
*.zst 01;31
|
|
||||||
*.tzst 01;31
|
|
||||||
*.bz2 01;31
|
|
||||||
*.bz 01;31
|
|
||||||
*.tbz 01;31
|
|
||||||
*.tbz2 01;31
|
|
||||||
*.tz 01;31
|
|
||||||
*.deb 01;31
|
|
||||||
*.rpm 01;31
|
|
||||||
*.jar 01;31
|
|
||||||
*.war 01;31
|
|
||||||
*.ear 01;31
|
|
||||||
*.sar 01;31
|
|
||||||
*.rar 01;31
|
|
||||||
*.alz 01;31
|
|
||||||
*.ace 01;31
|
|
||||||
*.zoo 01;31
|
|
||||||
*.cpio 01;31
|
|
||||||
*.7z 01;31
|
|
||||||
*.rz 01;31
|
|
||||||
*.cab 01;31
|
|
||||||
*.wim 01;31
|
|
||||||
*.swm 01;31
|
|
||||||
*.dwm 01;31
|
|
||||||
*.esd 01;31
|
|
||||||
|
|
||||||
# image formats (dircolors defaults)
|
|
||||||
*.jpg 01;35
|
|
||||||
*.jpeg 01;35
|
|
||||||
*.mjpg 01;35
|
|
||||||
*.mjpeg 01;35
|
|
||||||
*.gif 01;35
|
|
||||||
*.bmp 01;35
|
|
||||||
*.pbm 01;35
|
|
||||||
*.pgm 01;35
|
|
||||||
*.ppm 01;35
|
|
||||||
*.tga 01;35
|
|
||||||
*.xbm 01;35
|
|
||||||
*.xpm 01;35
|
|
||||||
*.tif 01;35
|
|
||||||
*.tiff 01;35
|
|
||||||
*.png 01;35
|
|
||||||
*.svg 01;35
|
|
||||||
*.svgz 01;35
|
|
||||||
*.mng 01;35
|
|
||||||
*.pcx 01;35
|
|
||||||
*.mov 01;35
|
|
||||||
*.mpg 01;35
|
|
||||||
*.mpeg 01;35
|
|
||||||
*.m2v 01;35
|
|
||||||
*.mkv 01;35
|
|
||||||
*.webm 01;35
|
|
||||||
*.ogm 01;35
|
|
||||||
*.mp4 01;35
|
|
||||||
*.m4v 01;35
|
|
||||||
*.mp4v 01;35
|
|
||||||
*.vob 01;35
|
|
||||||
*.qt 01;35
|
|
||||||
*.nuv 01;35
|
|
||||||
*.wmv 01;35
|
|
||||||
*.asf 01;35
|
|
||||||
*.rm 01;35
|
|
||||||
*.rmvb 01;35
|
|
||||||
*.flc 01;35
|
|
||||||
*.avi 01;35
|
|
||||||
*.fli 01;35
|
|
||||||
*.flv 01;35
|
|
||||||
*.gl 01;35
|
|
||||||
*.dl 01;35
|
|
||||||
*.xcf 01;35
|
|
||||||
*.xwd 01;35
|
|
||||||
*.yuv 01;35
|
|
||||||
*.cgm 01;35
|
|
||||||
*.emf 01;35
|
|
||||||
*.ogv 01;35
|
|
||||||
*.ogx 01;35
|
|
||||||
|
|
||||||
# audio formats (dircolors defaults)
|
|
||||||
*.aac 00;36
|
|
||||||
*.au 00;36
|
|
||||||
*.flac 00;36
|
|
||||||
*.m4a 00;36
|
|
||||||
*.mid 00;36
|
|
||||||
*.midi 00;36
|
|
||||||
*.mka 00;36
|
|
||||||
*.mp3 00;36
|
|
||||||
*.mpc 00;36
|
|
||||||
*.ogg 00;36
|
|
||||||
*.ra 00;36
|
|
||||||
*.wav 00;36
|
|
||||||
*.oga 00;36
|
|
||||||
*.opus 00;36
|
|
||||||
*.spx 00;36
|
|
||||||
*.xspf 00;36
|
|
|
@ -1,357 +0,0 @@
|
||||||
# vim:ft=conf
|
|
||||||
|
|
||||||
# These examples require Nerd Fonts or a compatible font to be used.
|
|
||||||
# See https://www.nerdfonts.com for more information.
|
|
||||||
|
|
||||||
# default values from lf (with matching order)
|
|
||||||
# ln l # LINK
|
|
||||||
# or l # ORPHAN
|
|
||||||
# tw t # STICKY_OTHER_WRITABLE
|
|
||||||
# ow d # OTHER_WRITABLE
|
|
||||||
# st t # STICKY
|
|
||||||
# di d # DIR
|
|
||||||
# pi p # FIFO
|
|
||||||
# so s # SOCK
|
|
||||||
# bd b # BLK
|
|
||||||
# cd c # CHR
|
|
||||||
# su u # SETUID
|
|
||||||
# sg g # SETGID
|
|
||||||
# ex x # EXEC
|
|
||||||
# fi - # FILE
|
|
||||||
|
|
||||||
# file types (with matching order)
|
|
||||||
ln # LINK
|
|
||||||
or # ORPHAN
|
|
||||||
tw t # STICKY_OTHER_WRITABLE
|
|
||||||
ow # OTHER_WRITABLE
|
|
||||||
st t # STICKY
|
|
||||||
di # DIR
|
|
||||||
pi p # FIFO
|
|
||||||
so s # SOCK
|
|
||||||
bd b # BLK
|
|
||||||
cd c # CHR
|
|
||||||
su u # SETUID
|
|
||||||
sg g # SETGID
|
|
||||||
ex # EXEC
|
|
||||||
fi # FILE
|
|
||||||
|
|
||||||
# file extensions (vim-devicons)
|
|
||||||
*.styl
|
|
||||||
*.sass
|
|
||||||
*.scss
|
|
||||||
*.htm
|
|
||||||
*.html
|
|
||||||
*.slim
|
|
||||||
*.haml
|
|
||||||
*.ejs
|
|
||||||
*.css
|
|
||||||
*.less
|
|
||||||
*.md
|
|
||||||
*.mdx
|
|
||||||
*.markdown
|
|
||||||
*.rmd
|
|
||||||
*.json
|
|
||||||
*.webmanifest
|
|
||||||
*.js
|
|
||||||
*.mjs
|
|
||||||
*.jsx
|
|
||||||
*.rb
|
|
||||||
*.gemspec
|
|
||||||
*.rake
|
|
||||||
*.php
|
|
||||||
*.py
|
|
||||||
*.pyc
|
|
||||||
*.pyo
|
|
||||||
*.pyd
|
|
||||||
*.coffee
|
|
||||||
*.mustache
|
|
||||||
*.hbs
|
|
||||||
*.conf
|
|
||||||
*.ini
|
|
||||||
*.yml
|
|
||||||
*.yaml
|
|
||||||
*.toml
|
|
||||||
*.bat
|
|
||||||
*.mk
|
|
||||||
*.jpg
|
|
||||||
*.jpeg
|
|
||||||
*.bmp
|
|
||||||
*.png
|
|
||||||
*.webp
|
|
||||||
*.gif
|
|
||||||
*.ico
|
|
||||||
*.twig
|
|
||||||
*.cpp
|
|
||||||
*.c++
|
|
||||||
*.cxx
|
|
||||||
*.cc
|
|
||||||
*.cp
|
|
||||||
*.c
|
|
||||||
*.cs
|
|
||||||
*.h
|
|
||||||
*.hh
|
|
||||||
*.hpp
|
|
||||||
*.hxx
|
|
||||||
*.hs
|
|
||||||
*.lhs
|
|
||||||
*.nix
|
|
||||||
*.lua
|
|
||||||
*.java
|
|
||||||
*.sh
|
|
||||||
*.fish
|
|
||||||
*.bash
|
|
||||||
*.zsh
|
|
||||||
*.ksh
|
|
||||||
*.csh
|
|
||||||
*.awk
|
|
||||||
*.ps1
|
|
||||||
*.ml λ
|
|
||||||
*.mli λ
|
|
||||||
*.diff
|
|
||||||
*.db
|
|
||||||
*.sql
|
|
||||||
*.dump
|
|
||||||
*.clj
|
|
||||||
*.cljc
|
|
||||||
*.cljs
|
|
||||||
*.edn
|
|
||||||
*.scala
|
|
||||||
*.go
|
|
||||||
*.dart
|
|
||||||
*.xul
|
|
||||||
*.sln
|
|
||||||
*.suo
|
|
||||||
*.pl
|
|
||||||
*.pm
|
|
||||||
*.t
|
|
||||||
*.rss
|
|
||||||
'*.f#'
|
|
||||||
*.fsscript
|
|
||||||
*.fsx
|
|
||||||
*.fs
|
|
||||||
*.fsi
|
|
||||||
*.rs
|
|
||||||
*.rlib
|
|
||||||
*.d
|
|
||||||
*.erl
|
|
||||||
*.hrl
|
|
||||||
*.ex
|
|
||||||
*.exs
|
|
||||||
*.eex
|
|
||||||
*.leex
|
|
||||||
*.heex
|
|
||||||
*.vim
|
|
||||||
*.ai
|
|
||||||
*.psd
|
|
||||||
*.psb
|
|
||||||
*.ts
|
|
||||||
*.tsx
|
|
||||||
*.jl
|
|
||||||
*.pp
|
|
||||||
*.vue
|
|
||||||
*.elm
|
|
||||||
*.swift
|
|
||||||
*.xcplayground
|
|
||||||
*.tex ﭨ
|
|
||||||
*.r ﳒ
|
|
||||||
*.rproj 鉶
|
|
||||||
*.sol ﲹ
|
|
||||||
*.pem
|
|
||||||
|
|
||||||
# file names (vim-devicons) (case-insensitive not supported in lf)
|
|
||||||
*gruntfile.coffee
|
|
||||||
*gruntfile.js
|
|
||||||
*gruntfile.ls
|
|
||||||
*gulpfile.coffee
|
|
||||||
*gulpfile.js
|
|
||||||
*gulpfile.ls
|
|
||||||
*mix.lock
|
|
||||||
*dropbox
|
|
||||||
*.ds_store
|
|
||||||
*.gitconfig
|
|
||||||
*.gitignore
|
|
||||||
*.gitattributes
|
|
||||||
*.gitlab-ci.yml
|
|
||||||
*.bashrc
|
|
||||||
*.zshrc
|
|
||||||
*.zshenv
|
|
||||||
*.zprofile
|
|
||||||
*.vimrc
|
|
||||||
*.gvimrc
|
|
||||||
*_vimrc
|
|
||||||
*_gvimrc
|
|
||||||
*.bashprofile
|
|
||||||
*favicon.ico
|
|
||||||
*license
|
|
||||||
*node_modules
|
|
||||||
*react.jsx
|
|
||||||
*procfile
|
|
||||||
*dockerfile
|
|
||||||
*docker-compose.yml
|
|
||||||
*rakefile
|
|
||||||
*config.ru
|
|
||||||
*gemfile
|
|
||||||
*makefile
|
|
||||||
*cmakelists.txt
|
|
||||||
*robots.txt ﮧ
|
|
||||||
|
|
||||||
# file names (case-sensitive adaptations)
|
|
||||||
*Gruntfile.coffee
|
|
||||||
*Gruntfile.js
|
|
||||||
*Gruntfile.ls
|
|
||||||
*Gulpfile.coffee
|
|
||||||
*Gulpfile.js
|
|
||||||
*Gulpfile.ls
|
|
||||||
*Dropbox
|
|
||||||
*.DS_Store
|
|
||||||
*LICENSE
|
|
||||||
*React.jsx
|
|
||||||
*Procfile
|
|
||||||
*Dockerfile
|
|
||||||
*Docker-compose.yml
|
|
||||||
*Rakefile
|
|
||||||
*Gemfile
|
|
||||||
*Makefile
|
|
||||||
*CMakeLists.txt
|
|
||||||
|
|
||||||
# file patterns (vim-devicons) (patterns not supported in lf)
|
|
||||||
# .*jquery.*\.js$
|
|
||||||
# .*angular.*\.js$
|
|
||||||
# .*backbone.*\.js$
|
|
||||||
# .*require.*\.js$
|
|
||||||
# .*materialize.*\.js$
|
|
||||||
# .*materialize.*\.css$
|
|
||||||
# .*mootools.*\.js$
|
|
||||||
# .*vimrc.*
|
|
||||||
# Vagrantfile$
|
|
||||||
|
|
||||||
# file patterns (file name adaptations)
|
|
||||||
*jquery.min.js
|
|
||||||
*angular.min.js
|
|
||||||
*backbone.min.js
|
|
||||||
*require.min.js
|
|
||||||
*materialize.min.js
|
|
||||||
*materialize.min.css
|
|
||||||
*mootools.min.js
|
|
||||||
*vimrc
|
|
||||||
Vagrantfile
|
|
||||||
|
|
||||||
# archives or compressed (extensions from dircolors defaults)
|
|
||||||
*.tar
|
|
||||||
*.tgz
|
|
||||||
*.arc
|
|
||||||
*.arj
|
|
||||||
*.taz
|
|
||||||
*.lha
|
|
||||||
*.lz4
|
|
||||||
*.lzh
|
|
||||||
*.lzma
|
|
||||||
*.tlz
|
|
||||||
*.txz
|
|
||||||
*.tzo
|
|
||||||
*.t7z
|
|
||||||
*.zip
|
|
||||||
*.z
|
|
||||||
*.dz
|
|
||||||
*.gz
|
|
||||||
*.lrz
|
|
||||||
*.lz
|
|
||||||
*.lzo
|
|
||||||
*.xz
|
|
||||||
*.zst
|
|
||||||
*.tzst
|
|
||||||
*.bz2
|
|
||||||
*.bz
|
|
||||||
*.tbz
|
|
||||||
*.tbz2
|
|
||||||
*.tz
|
|
||||||
*.deb
|
|
||||||
*.rpm
|
|
||||||
*.jar
|
|
||||||
*.war
|
|
||||||
*.ear
|
|
||||||
*.sar
|
|
||||||
*.rar
|
|
||||||
*.alz
|
|
||||||
*.ace
|
|
||||||
*.zoo
|
|
||||||
*.cpio
|
|
||||||
*.7z
|
|
||||||
*.rz
|
|
||||||
*.cab
|
|
||||||
*.wim
|
|
||||||
*.swm
|
|
||||||
*.dwm
|
|
||||||
*.esd
|
|
||||||
|
|
||||||
# image formats (extensions from dircolors defaults)
|
|
||||||
*.jpg
|
|
||||||
*.jpeg
|
|
||||||
*.mjpg
|
|
||||||
*.mjpeg
|
|
||||||
*.gif
|
|
||||||
*.bmp
|
|
||||||
*.pbm
|
|
||||||
*.pgm
|
|
||||||
*.ppm
|
|
||||||
*.tga
|
|
||||||
*.xbm
|
|
||||||
*.xpm
|
|
||||||
*.tif
|
|
||||||
*.tiff
|
|
||||||
*.png
|
|
||||||
*.svg
|
|
||||||
*.svgz
|
|
||||||
*.mng
|
|
||||||
*.pcx
|
|
||||||
*.mov
|
|
||||||
*.mpg
|
|
||||||
*.mpeg
|
|
||||||
*.m2v
|
|
||||||
*.mkv
|
|
||||||
*.webm
|
|
||||||
*.ogm
|
|
||||||
*.mp4
|
|
||||||
*.m4v
|
|
||||||
*.mp4v
|
|
||||||
*.vob
|
|
||||||
*.qt
|
|
||||||
*.nuv
|
|
||||||
*.wmv
|
|
||||||
*.asf
|
|
||||||
*.rm
|
|
||||||
*.rmvb
|
|
||||||
*.flc
|
|
||||||
*.avi
|
|
||||||
*.fli
|
|
||||||
*.flv
|
|
||||||
*.gl
|
|
||||||
*.dl
|
|
||||||
*.xcf
|
|
||||||
*.xwd
|
|
||||||
*.yuv
|
|
||||||
*.cgm
|
|
||||||
*.emf
|
|
||||||
*.ogv
|
|
||||||
*.ogx
|
|
||||||
|
|
||||||
# audio formats (extensions from dircolors defaults)
|
|
||||||
*.aac
|
|
||||||
*.au
|
|
||||||
*.flac
|
|
||||||
*.m4a
|
|
||||||
*.mid
|
|
||||||
*.midi
|
|
||||||
*.mka
|
|
||||||
*.mp3
|
|
||||||
*.mpc
|
|
||||||
*.ogg
|
|
||||||
*.ra
|
|
||||||
*.wav
|
|
||||||
*.oga
|
|
||||||
*.opus
|
|
||||||
*.spx
|
|
||||||
*.xspf
|
|
||||||
|
|
||||||
# other formats
|
|
||||||
*.pdf
|
|
|
@ -1,228 +0,0 @@
|
||||||
set drawbox
|
|
||||||
set icons true
|
|
||||||
set ignorecase true
|
|
||||||
|
|
||||||
# interpreter for shell commands
|
|
||||||
set shell sh
|
|
||||||
set shellopts '-eu'
|
|
||||||
|
|
||||||
set previewer ctpv
|
|
||||||
set cleaner ctpvclear
|
|
||||||
&ctpv -d -s $id >> ~/temp/lf_ctpv.log
|
|
||||||
&ctpvquit $id >> ~/temp/lf_ctpvquit.log
|
|
||||||
|
|
||||||
cmd edit-config ${{
|
|
||||||
$EDITOR ~/.config/lf/lfrc
|
|
||||||
lf -remote "send $id source ~/.config/lf/lfrc"
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd open &{{
|
|
||||||
case $(file --mime-type "$f" -bL) in
|
|
||||||
text/*|application/json) lf -remote "send $id \$$EDITOR \"$fx\"";;
|
|
||||||
image/*) swayimg -f "$f";;
|
|
||||||
audio/*) lf -remote "send $id \$mpv --audio-display=no \"$fx\" && clear";;
|
|
||||||
video/*) mpv "$f";;
|
|
||||||
application/pdf|application/epub) zathura "$f";;
|
|
||||||
*) xdg-open "$f";;
|
|
||||||
esac
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd setwallpaper %swww img "$f" --transition-type wipe --transition-fps 60
|
|
||||||
|
|
||||||
cmd fzf_jump ${{
|
|
||||||
res="$(find . | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
|
||||||
if [ -d "$res" ] ; then
|
|
||||||
cmd="cd"
|
|
||||||
elif [ -f "$res" ] ; then
|
|
||||||
cmd="select"
|
|
||||||
else
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
lf -remote "send $id $cmd \"$res\""
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd rg_search ${{
|
|
||||||
res="$( \
|
|
||||||
RG_PREFIX="rg --column --line-number --no-heading --color=always \
|
|
||||||
--smart-case "
|
|
||||||
FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
|
|
||||||
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
|
|
||||||
--ansi --layout=reverse --header 'Search in files' \
|
|
||||||
| cut -d':' -f1
|
|
||||||
)"
|
|
||||||
[ ! -z "$res" ] && lf -remote "send $id select \"$res\""
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd unarchive ${{
|
|
||||||
set -f
|
|
||||||
case $f in
|
|
||||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf "$f";;
|
|
||||||
*.tar.gz|*.tgz) tar xzvf "$f";;
|
|
||||||
*.tar.xz|*.txz) tar xJvf "$f";;
|
|
||||||
*.zip) unzip "$f";;
|
|
||||||
*.rar) unrar x "$f";;
|
|
||||||
*.7z) 7z x "$f";;
|
|
||||||
esac
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd tar ${{
|
|
||||||
set -f
|
|
||||||
mkdir $1
|
|
||||||
cp -r $fx $1
|
|
||||||
tar czf $1.tar.gz $1
|
|
||||||
rm -rf $1
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd zip ${{
|
|
||||||
set -f
|
|
||||||
mkdir $1
|
|
||||||
cp -r $fx $1
|
|
||||||
zip -r $1.zip $1
|
|
||||||
rm -rf $1
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
# Trash bindings
|
|
||||||
cmd move-to-trash ${{
|
|
||||||
files=$(printf "$fx" | tr '\n' ';')
|
|
||||||
while [ "$files" ]; do
|
|
||||||
file=${files%%;*}
|
|
||||||
|
|
||||||
trash-put "$(basename "$file")"
|
|
||||||
|
|
||||||
if [ "$files" = "$file" ]; then
|
|
||||||
files=''
|
|
||||||
else
|
|
||||||
files="${files#*;}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd delete-from-trash ${{
|
|
||||||
files=$(printf "$fx" | tr '\n' ';')
|
|
||||||
while [ "$files" ]; do
|
|
||||||
file=${files%%;*}
|
|
||||||
|
|
||||||
if [[ "$(pwd)" == "$HOME/.local/share/Trash/files" ]]; then
|
|
||||||
rm -rf "$file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$files" = "$file" ]; then
|
|
||||||
files=''
|
|
||||||
else
|
|
||||||
files="${files#*;}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}}
|
|
||||||
|
|
||||||
# cmd trash ${{
|
|
||||||
# files=$(printf "$fx" | tr '\n' ';')
|
|
||||||
# while [ "$files" ]; do
|
|
||||||
# file=${files%%;*}
|
|
||||||
# if [[ $PWD == "$HOME/.local/share/Trash/files" ]]; then
|
|
||||||
# rm -rf "$file"
|
|
||||||
# else
|
|
||||||
# trash-put "$(basename "$filename")"
|
|
||||||
# fi
|
|
||||||
#
|
|
||||||
# if [ "$files" = "$file" ]; then
|
|
||||||
# files=''
|
|
||||||
# else
|
|
||||||
# files="${files#*;}"
|
|
||||||
# fi
|
|
||||||
# done
|
|
||||||
# }}
|
|
||||||
|
|
||||||
# lfrc
|
|
||||||
|
|
||||||
|
|
||||||
cmd trash-restore-list ${{
|
|
||||||
ids="$(echo -ne '\n' | \
|
|
||||||
trash-restore | \
|
|
||||||
awk '$1 ~ /^[0-9]+/ {print $0}' | \
|
|
||||||
fzf --multi | \
|
|
||||||
awk '{print $1}' | \
|
|
||||||
sed -z 's/\n/,/g;s/,$/\n/')"
|
|
||||||
echo $ids | trash-restore
|
|
||||||
clear
|
|
||||||
}}
|
|
||||||
|
|
||||||
cmd restore-from-trash ${{
|
|
||||||
files=$(printf "$fx" | tr '\n' ';')
|
|
||||||
while [ "$files" ]; do
|
|
||||||
file=${files%%;*}
|
|
||||||
|
|
||||||
Id="$(echo -ne '\n'|
|
|
||||||
trash-restore ~ |
|
|
||||||
grep $(basename "$file") |
|
|
||||||
awk '{print $1}'
|
|
||||||
)"
|
|
||||||
|
|
||||||
echo $Id | trash-restore ~
|
|
||||||
|
|
||||||
if [ "$files" = "$file" ]; then
|
|
||||||
files=''
|
|
||||||
else
|
|
||||||
files="${files#*;}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}}
|
|
||||||
|
|
||||||
map m
|
|
||||||
map o
|
|
||||||
map n
|
|
||||||
map "'"
|
|
||||||
map '"'
|
|
||||||
map d
|
|
||||||
map e
|
|
||||||
map f
|
|
||||||
map t
|
|
||||||
map u
|
|
||||||
map a
|
|
||||||
|
|
||||||
map ua unarchive
|
|
||||||
|
|
||||||
map . set hidden!
|
|
||||||
|
|
||||||
map md push %mkdir<space>
|
|
||||||
map gp jump-prev
|
|
||||||
|
|
||||||
map y copy
|
|
||||||
map p paste
|
|
||||||
map x cut
|
|
||||||
|
|
||||||
map <enter> open
|
|
||||||
|
|
||||||
map f :fzf_jump
|
|
||||||
map gf :rg_search
|
|
||||||
|
|
||||||
map C edit-config
|
|
||||||
map bg setwallpaper
|
|
||||||
|
|
||||||
map mt move-to-trash
|
|
||||||
map dt delete-from-trash
|
|
||||||
map tr restore-from-trash
|
|
||||||
map trl trash-restore-list
|
|
||||||
|
|
||||||
|
|
||||||
map R reload
|
|
||||||
|
|
||||||
map gh cd ~
|
|
||||||
map gd cd ~/Downloads
|
|
||||||
map gD cd ~/Documents
|
|
||||||
|
|
||||||
map gc cd ~/.config
|
|
||||||
map gr cd ~/repos
|
|
||||||
|
|
||||||
map gC cd ~/code
|
|
||||||
|
|
||||||
map gp cd ~/Pictures
|
|
||||||
map gw cd ~/Pictures/wallpapers
|
|
||||||
map gs cd ~/Pictures/screenshots
|
|
||||||
|
|
||||||
map gv cd ~/Videos
|
|
||||||
map gm cd ~/Music
|
|
||||||
map gA cd ~/Anime
|
|
||||||
|
|
||||||
map gt cd ~/.local/share/Trash/files
|
|
||||||
map tc %rm -rf ~/.local/share/Trash/files/*
|
|
|
@ -1,134 +0,0 @@
|
||||||
{
|
|
||||||
"layer": "top", // Waybar at top layer
|
|
||||||
"position": "top",
|
|
||||||
|
|
||||||
"height": 39,
|
|
||||||
"width": 1895,
|
|
||||||
"spacing": 3,
|
|
||||||
|
|
||||||
"modules-left": ["hyprland/window", "pulseaudio","tray"],
|
|
||||||
"modules-center": ["wlr/workspaces"],
|
|
||||||
"modules-right": ["custom/cmus", "custom/weather", "custom/language", "clock", "battery"],
|
|
||||||
|
|
||||||
"wlr/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
|
||||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
|
||||||
"on-click": "activate",
|
|
||||||
"all-outputs": false,
|
|
||||||
"format": "{icon}",
|
|
||||||
|
|
||||||
// "format-icons": {
|
|
||||||
// "1": "",
|
|
||||||
// "2": "",
|
|
||||||
// "3": "",
|
|
||||||
// "4": "",
|
|
||||||
// "5": "",
|
|
||||||
// "6": "",
|
|
||||||
// "urgent": "",
|
|
||||||
// "focused": "",
|
|
||||||
// "default": ""
|
|
||||||
//}
|
|
||||||
|
|
||||||
"format-icons": {
|
|
||||||
"1": "",
|
|
||||||
"2": "",
|
|
||||||
"3": "",
|
|
||||||
"4": "",
|
|
||||||
"5": "",
|
|
||||||
"6": "",
|
|
||||||
"7": "",
|
|
||||||
"8": "",
|
|
||||||
"9": "",
|
|
||||||
"focused": " ",
|
|
||||||
"urgent": " ",
|
|
||||||
//"default": " ",
|
|
||||||
},
|
|
||||||
"icon-size": 14
|
|
||||||
},
|
|
||||||
|
|
||||||
"sway/mode": {
|
|
||||||
"format": "<span style=\"italic\">{}</span>"
|
|
||||||
},
|
|
||||||
|
|
||||||
"tray": {
|
|
||||||
"spacing": 10,
|
|
||||||
"icon-size": 15
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"format": "{:%a, %d/%m/%Y %I:%M %p}",
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/cmus": {
|
|
||||||
"format": " {}",
|
|
||||||
"max-length": 45,
|
|
||||||
"interval": 10,
|
|
||||||
"exec": "cmus-remote -C \"format_print '%F'\"",
|
|
||||||
"exec-if": "pgrep cmus",
|
|
||||||
"on-click": "cmus-remote -u",
|
|
||||||
"on-scroll-up": "cmus-remote --next",
|
|
||||||
"on-scroll-down": "cmus-remote --prev",
|
|
||||||
"escape": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/weather": {
|
|
||||||
"format": "{}",
|
|
||||||
"exec": "~/.config/waybar/openweathermap-simple.sh",
|
|
||||||
// "exec": "curl 'https://wttr.in/?format=1'",
|
|
||||||
"interval": 3600
|
|
||||||
},
|
|
||||||
|
|
||||||
"hyprland/window": {
|
|
||||||
"format": "{}",
|
|
||||||
"separate-outputs": false,
|
|
||||||
"max-length": 20
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/language": {
|
|
||||||
"exec": "~/.config/hypr/scripts/kb_hypr",
|
|
||||||
"interval": 1,
|
|
||||||
"format": " {}",
|
|
||||||
},
|
|
||||||
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
"good": 60,
|
|
||||||
"warning": 40,
|
|
||||||
"critical": 30
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format-plugged": " {capacity}%",
|
|
||||||
"format-full": " full charged",
|
|
||||||
"format-warning": " {capacity}%",
|
|
||||||
"format-critical": " {capacity}%",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": ["", "", "", "", ""]
|
|
||||||
},
|
|
||||||
|
|
||||||
"bluetooth": {
|
|
||||||
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
|
|
||||||
"format": " {status}",
|
|
||||||
"format-disabled": "", // an empty format will hide the module
|
|
||||||
"format-connected": " {device_alias} connected",
|
|
||||||
"tooltip-format": "{controller_alias}\t{controller_address}",
|
|
||||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}"
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"scroll-step": 1,
|
|
||||||
"format": "{volume}% {icon}",
|
|
||||||
"format-bluetooth": "{volume}% {icon} ",
|
|
||||||
"format-bluetooth-muted": " {icon} ",
|
|
||||||
"format-muted": "",
|
|
||||||
"format-source": "",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
"on-click": "pkill pulsemixer; foot -e pulsemixer"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
@define-color background #2e3440;
|
|
||||||
@define-color foreground #eceff4;
|
|
||||||
@define-color white #e5e9f0;
|
|
||||||
@define-color black #3b4252;
|
|
||||||
@define-color red #bf616a;
|
|
||||||
@define-color blue #88c0d0;
|
|
||||||
@define-color green #a3be8c;
|
|
||||||
@define-color yellow #ebcb8b;
|
|
||||||
@define-color magenta #b48ead;
|
|
||||||
@define-color cyan #88c0d0;
|
|
||||||
@define-color orange #d08770;
|
|
|
@ -1,75 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
get_icon() {
|
|
||||||
case $1 in
|
|
||||||
# Icons for weather-icons
|
|
||||||
01d) icon="";;
|
|
||||||
01n) icon="";;
|
|
||||||
02d) icon="";;
|
|
||||||
02n) icon="";;
|
|
||||||
03*) icon="";;
|
|
||||||
04*) icon="";;
|
|
||||||
09d) icon="";;
|
|
||||||
09n) icon="";;
|
|
||||||
10d) icon="";;
|
|
||||||
10n) icon="";;
|
|
||||||
11d) icon="";;
|
|
||||||
11n) icon="";;
|
|
||||||
13d) icon="";;
|
|
||||||
13n) icon="";;
|
|
||||||
50d) icon="";;
|
|
||||||
50n) icon="";;
|
|
||||||
*) icon="";
|
|
||||||
|
|
||||||
# Icons for Font Awesome 5 Pro
|
|
||||||
#01d) icon="";;
|
|
||||||
#01n) icon="";;
|
|
||||||
#02d) icon="";;
|
|
||||||
#02n) icon="";;
|
|
||||||
#03d) icon="";;
|
|
||||||
#03n) icon="";;
|
|
||||||
#04*) icon="";;
|
|
||||||
#09*) icon="";;
|
|
||||||
#10d) icon="";;
|
|
||||||
#10n) icon="";;
|
|
||||||
#11*) icon="";;
|
|
||||||
#13*) icon="";;
|
|
||||||
#50*) icon="";;
|
|
||||||
#*) icon="";
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo $icon
|
|
||||||
}
|
|
||||||
|
|
||||||
KEY="e434b5435a979de6e155570590bee89b"
|
|
||||||
CITY="Novosibirsk"
|
|
||||||
UNITS="metric"
|
|
||||||
SYMBOL="°"
|
|
||||||
|
|
||||||
API="https://api.openweathermap.org/data/2.5"
|
|
||||||
|
|
||||||
if [ -n "$CITY" ]; then
|
|
||||||
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
|
||||||
CITY_PARAM="id=$CITY"
|
|
||||||
else
|
|
||||||
CITY_PARAM="q=$CITY"
|
|
||||||
fi
|
|
||||||
|
|
||||||
weather=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
|
||||||
else
|
|
||||||
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
|
||||||
|
|
||||||
if [ -n "$location" ]; then
|
|
||||||
location_lat="$(echo "$location" | jq '.location.lat')"
|
|
||||||
location_lon="$(echo "$location" | jq '.location.lng')"
|
|
||||||
|
|
||||||
weather=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$weather" ]; then
|
|
||||||
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
|
|
||||||
weather_icon=$(echo "$weather" | jq -r ".weather[0].icon")
|
|
||||||
|
|
||||||
echo "$(get_icon "$weather_icon")" "$weather_temp$SYMBOL"
|
|
||||||
fi
|
|
|
@ -1,194 +0,0 @@
|
||||||
* {
|
|
||||||
/* `otf-font-awesome` is required to be installed for icons */
|
|
||||||
font-family: FontAwesome, JetBrainsMono, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "./nord.css";
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: rgba(43, 48, 59, 0.0);
|
|
||||||
color: @foreground;
|
|
||||||
transition-property: background-color;
|
|
||||||
transition-duration: .5s;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-left > widget:first-child > #workspaces {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modules-right > widget:last-child > #workspaces {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
button {
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: @background;
|
|
||||||
color: #d8dee8;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:hover {
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: @background;
|
|
||||||
color: #d8dee8;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:focus {
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: @background;
|
|
||||||
color: #d8dee8;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: @white;
|
|
||||||
border-radius: 14px;
|
|
||||||
/* margin: 0; */
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0 5px;
|
|
||||||
margin: 5px;
|
|
||||||
/* background-color: ; */
|
|
||||||
color: #444b6a;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
color: @background;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
background-color: @background;
|
|
||||||
color: @white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: #eb4d4b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
padding: 7px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: #d8dee8;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray > .passive {
|
|
||||||
-gtk-icon-effect: dim;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray > .needs-attention {
|
|
||||||
-gtk-icon-effect: highlight;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#custom-cmus {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: #b9f27c;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#window {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: @white;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: @white;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#mode,
|
|
||||||
#custom-weather {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
background-color: @background;
|
|
||||||
color: #d8dee8;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
label:focus {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-language {
|
|
||||||
background-color: @background;
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#pulseaudio {
|
|
||||||
background-color: @background;
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth {
|
|
||||||
background-color: @background;
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
margin: 5px 0 5px 0;
|
|
||||||
border-radius: 8px;
|
|
||||||
color: @blue;
|
|
||||||
background: @background;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging, #battery.plugged {
|
|
||||||
color: @green;
|
|
||||||
background-color: @background;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
background-color: @background;
|
|
||||||
color: @orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
background-color: @barkground;
|
|
||||||
color: @red;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
### Rice
|
|
||||||
|
|
||||||
![Nord Rice](rice.png)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
# Setup
|
|
||||||
- **wm** [**`hyprland`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/hypr)
|
|
||||||
- **terminal** [**`foot`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/foot)
|
|
||||||
- **editor** [**`neovim`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/nvim)
|
|
||||||
- **status bar** [**`waybar`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/waybar)
|
|
||||||
- **launcher** [**`wofi`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/wofi)
|
|
||||||
- **shell** [**`fish`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/fish)
|
|
||||||
- **notifications** [**`dunst`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/dunst)
|
|
||||||
- [**`shell scripts`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/scripts)
|
|
||||||
- [**`user systemd units`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/systemd/user)
|
|
Before Width: | Height: | Size: 623 KiB |