Update 2025-08-07

This commit is contained in:
Kristofers Solo 2025-08-07 23:34:57 +03:00
parent f21e39d445
commit 0b4520aae5
Signed by: kristoferssolo
GPG Key ID: 74FF8144483D82C8
61 changed files with 1499 additions and 581 deletions

View File

@ -159,6 +159,7 @@ depends = [ "zsh", "tmux", "fish" ]
"config/starship.toml" = "~/.config/starship/starship.toml" "config/starship.toml" = "~/.config/starship/starship.toml"
"config/ghostty/" = "~/.config/ghostty/" "config/ghostty/" = "~/.config/ghostty/"
"config/ghostty/config" = {target = "~/.config/ghostty/config", type = "template"} "config/ghostty/config" = {target = "~/.config/ghostty/config", type = "template"}
"config/xdg-desktop-portal-termfilechooser/" = "~/.config/xdg-desktop-portal-termfilechooser/"
[tmux.files] [tmux.files]
"config/tmux/" = "~/.config/tmux/" "config/tmux/" = "~/.config/tmux/"

0
config/HybridBar/scripts/change-active-workspace Normal file → Executable file
View File

0
config/HybridBar/scripts/get-active-workspace Normal file → Executable file
View File

0
config/HybridBar/scripts/get-window-title Normal file → Executable file
View File

0
config/HybridBar/scripts/get-workspaces Normal file → Executable file
View File

0
config/eww/scripts/change-active-workspace Normal file → Executable file
View File

0
config/eww/scripts/get-active-workspace Normal file → Executable file
View File

0
config/eww/scripts/get-window-title Normal file → Executable file
View File

0
config/eww/scripts/get-workspaces Normal file → Executable file
View File

0
config/eww/scripts/mem-ad Normal file → Executable file
View File

0
config/eww/scripts/memory Normal file → Executable file
View File

0
config/eww/scripts/music_info Normal file → Executable file
View File

0
config/eww/scripts/music_info.bak Normal file → Executable file
View File

0
config/eww/scripts/pop Normal file → Executable file
View File

0
config/eww/scripts/wifi Normal file → Executable file
View File

0
config/eww/scripts/workspace Normal file → Executable file
View File

0
config/git/check_email.sh Executable file → Normal file
View File

View File

@ -15,7 +15,7 @@
################ ################
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,prefered,0x0,1 monitor=eDP-1,prefered,0x0,1.5
# monitor=DP-1,prefered,180x-1440,1 # monitor=DP-1,prefered,180x-1440,1
# monitor=HDMI-A-1,prefered,480x-1080,1 # monitor=HDMI-A-1,prefered,480x-1080,1
# monitor=HDMI-A-1,prefered,mirror,eDP-1 # monitor=HDMI-A-1,prefered,mirror,eDP-1
@ -45,7 +45,7 @@ $browser = {{browser}}
exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar
exec-once=dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY exec-once=dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY
exec-once=nextcloud & /usr/lib/hyprpolkitagent & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & dunst & hyprpaper exec-once=nextcloud & /usr/lib/hyprpolkitagent & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & mako & hyprpaper
exec-once=[workspace 1 silent] $browser exec-once=[workspace 1 silent] $browser
exec-once=[workspace 8 silent] kotatogram-desktop & flatpak run dev.vencord.Vesktop exec-once=[workspace 8 silent] kotatogram-desktop & flatpak run dev.vencord.Vesktop
# exec-once=[workspace 9 silent] spotify-launcher # exec-once=[workspace 9 silent] spotify-launcher
@ -286,51 +286,51 @@ bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, H, movewindow, l
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
# bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
# bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
# bind = $mainMod, 3, workspace, 3 bind = $mainMod, 3, workspace, 3
# bind = $mainMod, 4, workspace, 4 bind = $mainMod, 4, workspace, 4
# bind = $mainMod, 5, workspace, 5 bind = $mainMod, 5, workspace, 5
# bind = $mainMod, 6, workspace, 6 bind = $mainMod, 6, workspace, 6
# bind = $mainMod, 7, workspace, 7 bind = $mainMod, 7, workspace, 7
# bind = $mainMod, 8, workspace, 8 bind = $mainMod, 8, workspace, 8
# bind = $mainMod, 9, workspace, 9 bind = $mainMod, 9, workspace, 9
# bind = $mainMod, 0, workspace, 10 bind = $mainMod, 0, workspace, 10
bind = $mainMod, 1, split-workspace, 1 # bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2 # bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3 # bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4 # bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5 # bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6 # bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7 # bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8 # bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9 # bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10 # bind = $mainMod, 0, split-workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Move active window to a workspace with mainMod + SHIFT + [0-9]
# bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 1, movetoworkspace, 1
# bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 2, movetoworkspace, 2
# bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 3, movetoworkspace, 3
# bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 4, movetoworkspace, 4
# bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 5, movetoworkspace, 5
# bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 6, movetoworkspace, 6
# bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 7, movetoworkspace, 7
# bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 8, movetoworkspace, 8
# bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 9, movetoworkspace, 9
# bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1 # bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2 # bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3 # bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4 # bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5 # bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6 # bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7 # bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8 # bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9 # bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10 # bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
bind = $mainMod, O, split-changemonitor, next # bind = $mainMod, O, split-changemonitor, next
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
# bind = $mainMod, S, togglespecialworkspace, magic # bind = $mainMod, S, togglespecialworkspace, magic
# bind = $mainMod SHIFT, S, movetoworkspace, special:magic # bind = $mainMod SHIFT, S, movetoworkspace, special:magic

0
config/lf/cleaner Normal file → Executable file
View File

0
config/lf/lfrc Normal file → Executable file
View File

0
config/nsxiv/exec/image-info Normal file → Executable file
View File

0
config/nsxiv/exec/key-handler Normal file → Executable file
View File

0
config/nsxiv/exec/nsxiv-url Normal file → Executable file
View File

0
config/nsxiv/exec/thumb-info Normal file → Executable file
View File

0
config/nsxiv/exec/win-title Normal file → Executable file
View File

View File

@ -1,431 +1,27 @@
[sqlfluff] [sqlfluff]
# verbose is an integer (0-2) indicating the level of log output dialect = postgres
verbose = 0
# Turn off color formatting of output
nocolor = False
# Supported dialects https://docs.sqlfluff.com/en/stable/dialects.html
# Or run 'sqlfluff dialects'
dialect = None
# See templater docs for options
templater = raw
# Comma separated list of rules to check, default to core
rules = core
# Comma separated list of rules to exclude, or None
exclude_rules = None
# Below controls SQLFluff output, see max_line_length for SQL output
output_line_length = 80
# Number of passes to run before admitting defeat
runaway_limit = 10
# Ignore errors by category (one or more of the following, separated by commas: lexing,linting,parsing,templating)
ignore = None
# Warn only for rule codes (one of more rule codes, seperated by commas: e.g. LT01,LT02)
# Also works for templating and parsing errors by using TMP or PRS
warnings = None
# Whether to warn about unneeded '-- noqa:' comments.
warn_unused_ignores = False
# Ignore linting errors found within sections of code coming directly from
# templated code (e.g. from within Jinja curly braces. Note that it does not
# ignore errors from literal code found within template loops.
ignore_templated_areas = True
# can either be autodetect or a valid encoding e.g. utf-8, utf-8-sig
encoding = autodetect
# Ignore inline overrides (e.g. to test if still required)
disable_noqa = False
# Comma separated list of file extensions to lint
# NB: This config will only apply in the root folder
sql_file_exts = .sql,.sql.j2,.dml,.ddl
# Allow fix to run on files, even if they contain parsing errors
# Note altering this is NOT RECOMMENDED as can corrupt SQL
fix_even_unparsable = False
# Very large files can make the parser effectively hang.
# The more efficient check is the _byte_ limit check which
# is enabled by default. The previous _character_ limit check
# is still present for backward compatibility. This will be
# removed in a future version.
# Set either to 0 to disable.
large_file_skip_char_limit = 0
large_file_skip_byte_limit = 20000
# CPU processes to use while linting.
# If positive, just implies number of processes.
# If negative or zero, implies number_of_cpus - specified_number.
# e.g. -1 means use all processors but one. 0 means all cpus.
processes = 1
# Max line length is set by default to be in line with the dbt style guide.
# https://github.com/dbt-labs/corp/blob/main/dbt_style_guide.md
# Set to zero or negative to disable checks.
max_line_length = 80
[sqlfluff:indentation] [sqlfluff:indentation]
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-indent-locations indented_joins = True
indent_unit = space indented_ctes = True
tab_space_size = 4
indented_joins = False
indented_ctes = False
indented_using_on = True
indented_on_contents = True
indented_then = True
indented_then_contents = True
allow_implicit_indents = False
template_blocks_indent = True
# This is a comma seperated list of elements to skip
# indentation edits to.
skip_indentation_in = script_content
# If comments are found at the end of long lines, we default to moving
# them to the line _before_ their current location as the convention is
# that a comment precedes the line it describes. However if you prefer
# comments moved _after_, this configuration setting can be set to "after".
trailing_comments = before
# Layout configuration
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-layout-and-spacing
[sqlfluff:layout:type:comma]
spacing_before = touch
line_position = trailing
[sqlfluff:layout:type:binary_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:statement_terminator]
spacing_before = touch
line_position = trailing
[sqlfluff:layout:type:end_of_file]
spacing_before = touch
[sqlfluff:layout:type:set_operator]
line_position = alone:strict
[sqlfluff:layout:type:start_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_bracket]
spacing_before = touch
[sqlfluff:layout:type:start_square_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_square_bracket]
spacing_before = touch
[sqlfluff:layout:type:start_angle_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_angle_bracket]
spacing_before = touch
[sqlfluff:layout:type:casting_operator]
spacing_before = touch
spacing_after = touch:inline
[sqlfluff:layout:type:slice]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:dot]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:comparison_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:assignment_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:object_reference]
spacing_within = touch:inline
[sqlfluff:layout:type:numeric_literal]
spacing_within = touch:inline
[sqlfluff:layout:type:sign_indicator]
spacing_after = touch:inline
[sqlfluff:layout:type:tilde]
spacing_after = touch:inline
[sqlfluff:layout:type:function_name]
spacing_within = touch:inline
[sqlfluff:layout:type:function_contents]
spacing_before = touch:inline
[sqlfluff:layout:type:function_parameter_list]
spacing_before = touch:inline
[sqlfluff:layout:type:array_type]
spacing_within = touch:inline
[sqlfluff:layout:type:typed_array_literal]
spacing_within = touch
[sqlfluff:layout:type:sized_array_type]
spacing_within = touch
[sqlfluff:layout:type:struct_type]
spacing_within = touch:inline
[sqlfluff:layout:type:bracketed_arguments]
spacing_before = touch:inline
[sqlfluff:layout:type:typed_struct_literal]
spacing_within = touch
[sqlfluff:layout:type:semi_structured_expression]
spacing_within = touch:inline
spacing_before = touch:inline
[sqlfluff:layout:type:array_accessor]
spacing_before = touch:inline
[sqlfluff:layout:type:colon]
spacing_before = touch
[sqlfluff:layout:type:colon_delimiter]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:path_segment]
spacing_within = touch
[sqlfluff:layout:type:sql_conf_option]
spacing_within = touch
[sqlfluff:layout:type:sqlcmd_operator]
# NOTE: This is the spacing between the operator and the colon
spacing_before = touch
[sqlfluff:layout:type:comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:inline_comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:block_comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:pattern_expression]
# Snowflake pattern expressions shouldn't have their spacing changed.
spacing_within = any
[sqlfluff:layout:type:placeholder]
# Placeholders exist "outside" the rendered SQL syntax
# so we shouldn't enforce any particular spacing around
# them.
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:common_table_expression]
# The definition part of a CTE should fit on one line where possible.
# For users which regularly define column names in their CTEs they
# may which to relax this config to just `single`.
spacing_within = single:inline
# By setting a selection of clauses to "alone", we hint to the reflow
# algorithm that in the case of a long single line statement, the
# first place to add newlines would be around these clauses.
# Setting this to "alone:strict" would always _force_ line breaks
# around them even if the line isn't too long.
[sqlfluff:layout:type:select_clause]
line_position = alone
[sqlfluff:layout:type:where_clause]
line_position = alone
[sqlfluff:layout:type:from_clause]
line_position = alone
[sqlfluff:layout:type:join_clause]
line_position = alone
[sqlfluff:layout:type:groupby_clause]
line_position = alone
[sqlfluff:layout:type:orderby_clause]
# NOTE: Order by clauses appear in many places other than in a select
# clause. To avoid unexpected behaviour we use `leading` in this
# case rather than `alone`.
line_position = leading
[sqlfluff:layout:type:having_clause]
line_position = alone
[sqlfluff:layout:type:limit_clause]
line_position = alone
# Template loop tokens shouldn't dictate spacing around them.
[sqlfluff:layout:type:template_loop]
spacing_before = any
spacing_after = any
[sqlfluff:templater]
unwrap_wrapped_queries = True
[sqlfluff:templater:jinja]
apply_dbt_builtins = True
# Some rules can be configured directly from the config common to other rules
[sqlfluff:rules]
allow_scalar = True
single_table_references = consistent
unquoted_identifiers_policy = all
[sqlfluff:rules:capitalisation.keywords] [sqlfluff:rules:capitalisation.keywords]
# Keywords capitalisation_policy = upper
capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.identifiers]
# Unquoted identifiers
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.functions]
# Function names
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.literals]
# Null & Boolean Literals
capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.types] [sqlfluff:rules:capitalisation.types]
# Data Types extended_capitalisation_policy = upper
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:ambiguous.join]
# Fully qualify JOIN clause
fully_qualify_join_types = inner
[sqlfluff:rules:ambiguous.column_references] [sqlfluff:rules:ambiguous.column_references]
# GROUP BY/ORDER BY column references group_by_and_order_by_style = explicit
group_by_and_order_by_style = consistent
[sqlfluff:rules:aliasing.table]
# Aliasing preference for tables
aliasing = explicit
[sqlfluff:rules:aliasing.column]
# Aliasing preference for columns
aliasing = explicit
[sqlfluff:rules:aliasing.length]
min_alias_length = None
max_alias_length = None
[sqlfluff:rules:aliasing.forbid]
# Avoid table aliases in from clauses and join conditions.
# Disabled by default for all dialects unless explicitly enabled.
# We suggest instead using aliasing.length (AL06) in most cases.
force_enable = False
[sqlfluff:rules:convention.select_trailing_comma]
# Trailing commas
select_clause_trailing_comma = forbid
[sqlfluff:rules:convention.count_rows]
# Consistent syntax to count all rows
prefer_count_1 = False
prefer_count_0 = False
[sqlfluff:rules:convention.terminator]
# Semi-colon formatting approach
multiline_newline = False
require_final_semicolon = False
[sqlfluff:rules:convention.blocked_words]
# Comma separated list of blocked words that should not be used
blocked_words = None
blocked_regex = None
match_source = False
[sqlfluff:rules:convention.quoted_literals]
# Consistent usage of preferred quotes for quoted literals
preferred_quoted_literal_style = consistent
# Disabled for dialects that do not support single and double quotes for quoted literals (e.g. Postgres)
force_enable = False
[sqlfluff:rules:convention.casting_style] [sqlfluff:rules:convention.casting_style]
# SQL type casting preferred_type_casting_style = cast
preferred_type_casting_style = consistent
[sqlfluff:rules:convention.not_equal] [sqlfluff:rules:convention.not_equal]
# Consistent usage of preferred "not equal to" comparison preferred_not_equal_style = c_style
preferred_not_equal_style = consistent
[sqlfluff:rules:references.from]
# References must be in FROM clause
# Disabled for some dialects (e.g. bigquery)
force_enable = False
[sqlfluff:rules:references.qualification]
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:references.consistent] [sqlfluff:rules:references.consistent]
# References must be consistently used single_table_references = consistent
# Disabled for some dialects (e.g. bigquery)
force_enable = False
[sqlfluff:rules:references.keywords]
# Keywords should not be used as identifiers.
unquoted_identifiers_policy = aliases
quoted_identifiers_policy = none
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:references.special_chars]
# Special characters in identifiers
unquoted_identifiers_policy = all
quoted_identifiers_policy = all
allow_space_in_identifier = False
additional_allowed_characters = None
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:references.quoting]
# Policy on quoted and unquoted identifiers
prefer_quoted_identifiers = False
prefer_quoted_keywords = False
ignore_words = None
ignore_words_regex = None
force_enable = False
[sqlfluff:rules:layout.long_lines]
# Line length
ignore_comment_lines = False
ignore_comment_clauses = False
[sqlfluff:rules:layout.select_targets] [sqlfluff:rules:layout.select_targets]
wildcard_policy = single wildcard_policy = multiple
[sqlfluff:rules:layout.newlines]
# Consecutive blank lines
maximum_empty_lines_between_statements = 2
maximum_empty_lines_inside_statements = 1
[sqlfluff:rules:structure.subquery]
# By default, allow subqueries in from clauses, but not join clauses
forbid_subquery_in = join
[sqlfluff:rules:structure.join_condition_order]
preferred_first_table_in_join_clause = earlier

6
config/sqruff/foo.sql Normal file
View File

@ -0,0 +1,6 @@
SELECT
id, password
FROM
users
WHERE
username = $1

0
config/waybar/scripts/mediaplayer.py Executable file → Normal file
View File

0
config/x11/opt-apps Normal file → Executable file
View File

View File

@ -0,0 +1,11 @@
[filechooser]
cmd=yazi-wrapper.sh
default_dir=$HOME
; Uncomment to skip creating destination save files with instructions in them
; create_help_file=0
; Uncomment and edit the line below to change the terminal emulator command
; env=TERMCMD=foot
; Mode must be one of 'suggested', 'default', or 'last'.
open_mode=suggested
save_mode=suggested

View File

@ -0,0 +1,59 @@
#!/usr/bin/env sh
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
#
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
set -e
if [ "$6" -ge 4 ]; then
set -x
fi
multiple="$1"
directory="$2"
save="$3"
path="$4"
out="$5"
cmd="yazi"
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
if [ "$save" = "1" ]; then
# save a file
set -- --chooser-file="$out" "$path"
elif [ "$directory" = "1" ]; then
# upload files from a directory
set -- --chooser-file="$out" --cwd-file="$out"".1" "$path"
elif [ "$multiple" = "1" ]; then
# upload multiple files
set -- --chooser-file="$out" "$path"
else
# upload only 1 file
set -- --chooser-file="$out" "$path"
fi
command="$termcmd $cmd"
for arg in "$@"; do
# escape double quotes
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
# escape special
case "$termcmd" in
*"ghostty"*)
command="$command \"\\\"$escaped\\\"\""
;;
*)
command="$command \"$escaped\""
;;
esac
done
sh -c "$command"
if [ "$directory" = "1" ]; then
if [ ! -s "$out" ] && [ -s "$out"".1" ]; then
cat "$out"".1" >"$out"
rm "$out"".1"
else
rm "$out"".1"
fi
fi

View File

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2025 Kristofers Solo Copyright (c) 2025 Mintass
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Rosé Pine
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,36 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Rosé Pine Dawn Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```sh
ya pkg add Mintass/rose-pine-dawn
```
## ⚙️ Usage
To set it as your dark flavor, change the content of your `theme.toml` to:
```toml
[flavor]
light = "rose-pine-dawn"
```
Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor.
See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details.
## 📜 License
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.

View File

@ -0,0 +1,230 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[mgr]
cwd = { fg = "#56949f" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#ea9d34", bold = true, italic = true, underline = true }
find_position = { fg = "#907aa9", bg = "reset", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# Marker
marker_copied = { fg = "#286983", bg = "#286983" }
marker_cut = { fg = "#b4637a", bg = "#b4637a" }
marker_marked = { fg = "#d7827e", bg = "#d7827e" }
marker_selected = { fg = "#ea9d34", bg = "#ea9d34" }
# Count
count_copied = { fg = "#575279", bg = "#286983" }
count_cut = { fg = "#575279", bg = "#b4637a" }
count_selected = { fg = "#faf4ed", bg = "#ea9d34" }
# Border
border_symbol = "│"
border_style = { fg = "#cecacd" }
# Highlighting
syntect_theme = ""
# : }}}
# : Tabs {{{
[tabs]
active = { fg = "#575279", bg = "#286983", bold = true }
inactive = { fg = "#286983", bg = "#575279" }
# Separator
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#faf4ed", bg = "#56949f", bold = true }
normal_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# Select mode
select_main = { fg = "#faf4ed", bg = "#b4637a", bold = true }
select_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# Unset mode
unset_main = { fg = "#faf4ed", bg = "#b4637a", bold = true }
unset_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# : }}}
# : Status bar {{{
[status]
overall = { bg = "#faf4ed" }
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Permissions
perm_sep = { fg = "#9893a5" }
perm_type = { fg = "#907aa9" }
perm_read = { fg = "#ea9d34" }
perm_write = { fg = "#b4637a" }
perm_exec = { fg = "#56949f" }
# Progress
progress_label = { fg = "#575279", bold = true }
progress_normal = { fg = "#286983", bg = "#f4ede8" }
progress_error = { fg = "#b4637a", bg = "#f4ede8" }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "#fffaf3" }
cand = { fg = "#56949f" }
rest = { fg = "#9893a5" }
desc = { fg = "#ea9d34" }
separator = "  "
separator_style = { fg = "#9893a5" }
# : }}}
# : Confirmation {{{
[confirm]
border = { fg = "#cecacd" }
title = { fg = "#b4637a", bold = true }
body = { fg = "#575279" }
list = { fg = "#575279" }
btn_yes = { fg = "#faf4ed", bg = "#286983", bold = true }
btn_no = { fg = "#faf4ed", bg = "#575279", bold = true }
btn_labels = [ " [y]es ", " (n)o " ]
# : }}}
# : Spotter {{{
[spot]
border = { fg = "#cecacd" }
title = { fg = "#56949f", bold = true }
# Table
tbl_col = { fg = "#56949f" }
tbl_cell = { fg = "#faf4ed", bg = "#ea9d34", bold = true }
# : }}}
# : Notification {{{
[notify]
title_info = { fg = "#286983" }
title_warn = { fg = "#ea9d34" }
title_error = { fg = "#b4637a" }
# : }}}
# : Picker {{{
[pick]
border = { fg = "#286983" }
active = { fg = "#907aa9", bold = true }
inactive = { fg = "#797593"}
# : }}}
# : Input {{{
[input]
border = { fg = "#286983" }
title = { bold = true }
value = { fg = "#575279"}
selected = { reversed = true }
# : }}}
# : Completion {{{
[cmp]
border = { fg = "#286983" }
active = { bg = "#575279", fg = "#faf4ed", bold = true }
inactive = { fg = "#797593" }
# : }}}
# : Task manager {{{
[tasks]
border = { fg = "#286983" }
title = { bold = true}
hovered = { fg = "#907aa9", bold = true, reversed = true }
# : }}}
# : Help menu {{{
[help]
on = { fg = "#56949f" }
run = { fg = "#907aa9" }
desc = { fg = "#ea9d34"}
hovered = { reversed = true, bold = true }
footer = { fg = "#faf4ed", bg = "#575279" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#907aa9" },
# Media
{ mime = "{audio,video}/*", fg = "#ea9d34" },
# Archives
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#b4637a" },
# Documents
{ mime = "application/{pdf,doc,rtf}", fg = "#d7827e" },
# Empty files
# { mime = "inode/empty", fg = "#b4637a" },
# Special files
{ name = "*", is = "orphan", fg = "#faf4ed", bg = "#b4637a" },
{ name = "*", is = "exec" , fg = "#56949f" },
# Dummy files
{ name = "*", is = "dummy", fg = "#faf4ed", bg = "#b4637a" },
{ name = "*/", is = "dummy", fg = "#faf4ed", bg = "#b4637a" },
# Fallback
{ name = "*", fg = "#575279" },
{ name = "*/", fg = "#286983" }
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Rosé Pine Dawn</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#faf4ed</string>
<key>caret</key>
<string>#cecacd</string>
<key>foreground</key>
<string>#575279</string>
<key>invisibles</key>
<string>#fffaf3</string>
<key>lineHighlight</key>
<string>#f4ede8</string>
<key>selection</key>
<string>#dfdad9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#797593</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string, punctuation.definition.string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic </string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#d7827e</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#907aa9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#907aa9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#d7827e</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class&#x2f;type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#b4637a</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#b4637a</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#907aa9</string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation, Operators</string>
<key>scope</key>
<string>punctuation, keyword.operator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#797593</string>
</dict>
</dict>
</array>
<key>colorSpaceName</key>
<string>sRGB</string>
<key>semanticClass</key>
<string>theme.light.rosé-pine-dawn</string>
<key>author</key>
<string>arrrgi</string>
<key>comment</key>
<string>All natural pine, faux fur and a bit of soho vibes for the classy minimalist</string>
<key>uuid</key>
<string>BB4B4616-E742-41D5-BB5B-63D45FA614F</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Mintass
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Rosé Pine
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,36 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Rosé Pine Moon Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```sh
ya pkg add Mintass/rose-pine-moon
```
## ⚙️ Usage
To set it as your dark flavor, change the content of your `theme.toml` to:
```toml
[flavor]
dark = "rose-pine-moon"
```
Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor.
See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details.
## 📜 License
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.

View File

@ -0,0 +1,230 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[mgr]
cwd = { fg = "#9ccfd8" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#f6c177", bold = true, italic = true, underline = true }
find_position = { fg = "#c4a7e7", bg = "reset", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# Marker
marker_copied = { fg = "#3e8fb0", bg = "#3e8fb0" }
marker_cut = { fg = "#eb6f92", bg = "#eb6f92" }
marker_marked = { fg = "#ea9a97", bg = "#ea9a97" }
marker_selected = { fg = "#f6c177", bg = "#f6c177" }
# Count
count_copied = { fg = "#e0def4", bg = "#3e8fb0" }
count_cut = { fg = "#e0def4", bg = "#eb6f92" }
count_selected = { fg = "#232136", bg = "#f6c177" }
# Border
border_symbol = "│"
border_style = { fg = "#56526e" }
# Highlighting
syntect_theme = ""
# : }}}
# : Tabs {{{
[tabs]
active = { fg = "#e0def4", bg = "#3e8fb0", bold = true }
inactive = { fg = "#3e8fb0", bg = "#e0def4" }
# Separator
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#232136", bg = "#9ccfd8", bold = true }
normal_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# Select mode
select_main = { fg = "#232136", bg = "#eb6f92", bold = true }
select_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# Unset mode
unset_main = { fg = "#232136", bg = "#eb6f92", bold = true }
unset_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# : }}}
# : Status bar {{{
[status]
overall = { bg = "#232136" }
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Permissions
perm_sep = { fg = "#6e6a86" }
perm_type = { fg = "#c4a7e7" }
perm_read = { fg = "#f6c177" }
perm_write = { fg = "#eb6f92" }
perm_exec = { fg = "#9ccfd8" }
# Progress
progress_label = { fg = "#e0def4", bold = true }
progress_normal = { fg = "#3e8fb0", bg = "#2a283e" }
progress_error = { fg = "#eb6f92", bg = "#2a283e" }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "#2a273f" }
cand = { fg = "#9ccfd8" }
rest = { fg = "#6e6a86" }
desc = { fg = "#f6c177" }
separator = "  "
separator_style = { fg = "#6e6a86" }
# : }}}
# : Confirmation {{{
[confirm]
border = { fg = "#56526e" }
title = { fg = "#eb6f92", bold = true }
body = { fg = "#e0def4" }
list = { fg = "#e0def4" }
btn_yes = { fg = "#232136", bg = "#3e8fb0", bold = true }
btn_no = { fg = "#232136", bg = "#e0def4", bold = true }
btn_labels = [ " [y]es ", " (n)o " ]
# : }}}
# : Spotter {{{
[spot]
border = { fg = "#56526e" }
title = { fg = "#9ccfd8", bold = true }
# Table
tbl_col = { fg = "#9ccfd8" }
tbl_cell = { fg = "#232136", bg = "#f6c177", bold = true }
# : }}}
# : Notification {{{
[notify]
title_info = { fg = "#3e8fb0" }
title_warn = { fg = "#f6c177" }
title_error = { fg = "#eb6f92" }
# : }}}
# : Picker {{{
[pick]
border = { fg = "#3e8fb0" }
active = { fg = "#c4a7e7", bold = true }
inactive = { fg = "#908caa"}
# : }}}
# : Input {{{
[input]
border = { fg = "#3e8fb0" }
title = { bold = true }
value = { fg = "#e0def4"}
selected = { reversed = true }
# : }}}
# : Completion {{{
[cmp]
border = { fg = "#3e8fb0" }
active = { bg = "#e0def4", fg = "#232136", bold = true }
inactive = { fg = "#908caa" }
# : }}}
# : Task manager {{{
[tasks]
border = { fg = "#3e8fb0" }
title = { bold = true}
hovered = { fg = "#c4a7e7", bold = true, reversed = true }
# : }}}
# : Help menu {{{
[help]
on = { fg = "#9ccfd8" }
run = { fg = "#c4a7e7" }
desc = { fg = "#f6c177"}
hovered = { reversed = true, bold = true }
footer = { fg = "#232136", bg = "#e0def4" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#c4a7e7" },
# Media
{ mime = "{audio,video}/*", fg = "#f6c177" },
# Archives
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#eb6f92" },
# Documents
{ mime = "application/{pdf,doc,rtf}", fg = "#ea9a97" },
# Empty files
# { mime = "inode/empty", fg = "#eb6f92" },
# Special files
{ name = "*", is = "orphan", fg = "#232136", bg = "#eb6f92" },
{ name = "*", is = "exec" , fg = "#9ccfd8" },
# Dummy files
{ name = "*", is = "dummy", fg = "#232136", bg = "#eb6f92" },
{ name = "*/", is = "dummy", fg = "#232136", bg = "#eb6f92" },
# Fallback
{ name = "*", fg = "#e0def4" },
{ name = "*/", fg = "#3e8fb0" }
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Rosé Pine Moon</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#232136</string>
<key>caret</key>
<string>#56526e</string>
<key>foreground</key>
<string>#e0def4</string>
<key>invisibles</key>
<string>#2a273f</string>
<key>lineHighlight</key>
<string>#2a283e</string>
<key>selection</key>
<string>#6e6a86</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#908caa</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string, punctuation.definition.string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic </string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#ea9a97</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#c4a7e7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#c4a7e7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9a97</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class&#x2f;type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#eb6f92</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#eb6f92</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#c4a7e7</string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation, Operators</string>
<key>scope</key>
<string>punctuation, keyword.operator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#908caa</string>
</dict>
</dict>
</array>
<key>colorSpaceName</key>
<string>sRGB</string>
<key>semanticClass</key>
<string>theme.dark.rosé-pine-moon</string>
<key>author</key>
<string>arrrgi</string>
<key>comment</key>
<string>All natural pine, faux fur and a bit of soho vibes for the classy minimalist</string>
<key>uuid</key>
<string>CC28B8FB-96BA-43EB-B71F-5AA3D3EBB0BB</string>
</dict>
</plist>

View File

@ -20,52 +20,3 @@ require("augment-command"):setup({
wraparound_file_navigation = false, wraparound_file_navigation = false,
}) })
require("git"):setup() require("git"):setup()
-- require("yatline"):setup({
-- show_background = false,
-- section_separator = { open = "", close = "" },
-- part_separator = { open = "", close = "" },
-- inverse_separator = { open = "", close = "" },
--
-- header_line = {
-- left = {
-- section_a = {
-- { type = "line", custom = false, name = "tabs", params = { "left" } },
-- },
-- section_b = {},
-- section_c = {},
-- },
-- right = {
-- section_a = {
-- { type = "string", custom = false, name = "date", params = { "%A, %d %B %Y" } },
-- },
-- section_b = {
-- { type = "string", custom = false, name = "date", params = { "%X" } },
-- },
-- section_c = {},
-- },
-- },
--
-- status_line = {
-- left = {
-- section_a = {},
-- section_b = {},
-- section_c = {
-- { type = "string", custom = false, name = "hovered_path" },
-- { type = "coloreds", custom = false, name = "task_states" },
-- },
-- },
-- right = {
-- section_a = {
-- { type = "string", custom = false, name = "cursor_position" },
-- { type = "string", custom = false, name = "cursor_percentage" },
-- },
-- section_b = {
-- { type = "string", custom = false, name = "hovered_file_extension", params = { true } },
-- },
-- section_c = {
-- { type = "coloreds", custom = false, name = "permissions" },
-- { type = "coloreds", custom = false, name = "count", params = "true" },
-- },
-- },
-- },
-- })

View File

@ -155,8 +155,6 @@ prepend_keymap = [
{on = [ "y" ], run = [ 'shell -- echo "$@" | xclip -selection clipboard', "yank" ], desc = "Yank the selected files"}, {on = [ "y" ], run = [ 'shell -- echo "$@" | xclip -selection clipboard', "yank" ], desc = "Yank the selected files"},
{on = [ "y" ], run = [ 'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list', "yank" ], desc = "Yank the selected files"}, {on = [ "y" ], run = [ 'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list', "yank" ], desc = "Yank the selected files"},
{on = [ "b", "g" ], run = [ ''' shell 'setbg "$1"' --confirm ''' ], desc = "Set the background image"}, {on = [ "b", "g" ], run = [ ''' shell 'setbg "$1"' --confirm ''' ], desc = "Set the background image"},
# vidir
{on = "B", run = [ "escape --visual", "plugin --sync vidir" ], desc = "Bulk rename with vidir"},
# chmod # chmod
{on = [ "c", "m" ], run = "plugin chmod", desc = "Chmod on selected files"}, {on = [ "c", "m" ], run = "plugin chmod", desc = "Chmod on selected files"},
# Archive # Archive

View File

@ -10,8 +10,8 @@ hash = "e02a788e5b8ae0fb47fd0193dda589cc"
[[plugin.deps]] [[plugin.deps]]
use = "hankertrix/augment-command" use = "hankertrix/augment-command"
rev = "edc1bcf" rev = "120406f"
hash = "d5874bfb59265c96e8d9d5ef53c9450" hash = "e83ccc99739cd500fb1b1014dc45824a"
[[plugin.deps]] [[plugin.deps]]
use = "kirasok/torrent-preview" use = "kirasok/torrent-preview"
@ -30,32 +30,32 @@ hash = "62251f94eb67648d42cdfcfb8be0fad2"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:git" use = "yazi-rs/plugins:git"
rev = "b886025" rev = "de53d90"
hash = "63b6c222bf2103b3023389dde5e2ecfe" hash = "63b6c222bf2103b3023389dde5e2ecfe"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:chmod" use = "yazi-rs/plugins:chmod"
rev = "b886025" rev = "de53d90"
hash = "1adc12c2b2b025411ab61eb8f0879574" hash = "1adc12c2b2b025411ab61eb8f0879574"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:full-border" use = "yazi-rs/plugins:full-border"
rev = "b886025" rev = "de53d90"
hash = "3996fc74044bc44144b323686f887e1" hash = "3996fc74044bc44144b323686f887e1"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:mount" use = "yazi-rs/plugins:mount"
rev = "b886025" rev = "de53d90"
hash = "f10a14e823382d90fab5b3ee54cb38fe" hash = "f10a14e823382d90fab5b3ee54cb38fe"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:smart-filter" use = "yazi-rs/plugins:smart-filter"
rev = "b886025" rev = "de53d90"
hash = "a9d553bd19a3cd7f4eab3abaac5d67ff" hash = "e56b7abf3c06e8ce496eadcca168c093"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:diff" use = "yazi-rs/plugins:diff"
rev = "b886025" rev = "de53d90"
hash = "47865a70cade14a0b9b6bc6a54f16bdb" hash = "47865a70cade14a0b9b6bc6a54f16bdb"
[[plugin.deps]] [[plugin.deps]]
@ -65,13 +65,13 @@ hash = "b4040931f0d2f9670ddb4923e55cd881"
[[plugin.deps]] [[plugin.deps]]
use = "macydnah/office" use = "macydnah/office"
rev = "4002d36" rev = "33cc61a"
hash = "9c68763dd4f2799f7cfee1e9c3e819a9" hash = "d7e31c616cc6c8a1f05fdff7c47dae98"
[[plugin.deps]] [[plugin.deps]]
use = "boydaihungst/mediainfo" use = "boydaihungst/mediainfo"
rev = "cc12f3f" rev = "0e2ae47"
hash = "b92e44ad5004f1b45e5c3d717a60ed24" hash = "6656f2869ae2274a0e1860876f15186f"
[[plugin.deps]] [[plugin.deps]]
use = "iynaix/time-travel" use = "iynaix/time-travel"
@ -83,10 +83,17 @@ use = "imsi32/yatline"
rev = "88bd1c5" rev = "88bd1c5"
hash = "981acbe9b758b1af3a8154c932bb936d" hash = "981acbe9b758b1af3a8154c932bb936d"
[[plugin.deps]] [[flavor.deps]]
use = "kristoferssolo/vidir" use = "Mintass/rose-pine"
rev = "54ef22b" rev = "8343340"
hash = "e3fe41820f43c3511be9846cc7bdf638" hash = "e2336631865c0f90276dcbc553d532fc"
[flavor] [[flavor.deps]]
deps = [] use = "Mintass/rose-pine-moon"
rev = "aa2d937"
hash = "97cd4819252cb1a9d0f55daa14e481e"
[[flavor.deps]]
use = "Mintass/rose-pine-dawn"
rev = "5c6d353"
hash = "d9d9463d5d43ced18e18986d05439ace"

View File

@ -32,6 +32,7 @@ plugin.
- [Arrow (`arrow`)](#arrow-arrow) - [Arrow (`arrow`)](#arrow-arrow)
- [New commands](#new-commands) - [New commands](#new-commands)
- [Parent arrow (`parent_arrow`)](#parent-arrow-parent_arrow) - [Parent arrow (`parent_arrow`)](#parent-arrow-parent_arrow)
- [First file (`first_file`)](#first-file-first_file)
- [Archive (`archive`)](#archive-archive) - [Archive (`archive`)](#archive-archive)
- [Emit (`emit`)](#emit-emit) - [Emit (`emit`)](#emit-emit)
- [Editor (`editor`)](#editor-editor) - [Editor (`editor`)](#editor-editor)
@ -995,6 +996,33 @@ in your `keymap.toml` file.
wrapping around, wrapping around,
even when `wraparound_file_navigation` is set to `true`. even when `wraparound_file_navigation` is set to `true`.
### First file (`first_file`)
- This command just moves the cursor to the first file
in the current directory, regardless of the current cursor position.
- It is useful for quickly getting to the first file
in the current directory when `sort_dir_first` is set to `true`,
which is the case by default.
Video:
[first-file-video]
- It also works with smooth scrolling, so when `smooth_scrolling`
is set to `true`, the command will smoothly scroll the cursor
to the first file.
Video:
[smooth-first-file-video]
- Alternatively, if you just want to get to a file
in the current directory, you can use the built-in `G` key bind
that calls `arrow bot` to get to the last item
in the current directory, which would be a file
if `sort_dir_first` is set to `true`,
which is the case by default.
### Archive (`archive`) ### Archive (`archive`)
- The `archive` command adds the selected or hovered items - The `archive` command adds the selected or hovered items
@ -1410,7 +1438,7 @@ and [my `yazi.toml` file][my-yazi-toml].
## [Licence] ## [Licence]
This plugin is licenced under the [GNU AGPL v3 licence][Licence]. This plugin is licensed under the [GNU AGPL v3 licence][Licence].
You can view the full licence in the [`LICENSE`][Licence] file. You can view the full licence in the [`LICENSE`][Licence] file.
<!-- Regular links --> <!-- Regular links -->
@ -1426,15 +1454,15 @@ You can view the full licence in the [`LICENSE`][Licence] file.
[gnu-tar-link]: https://www.gnu.org/software/tar/ [gnu-tar-link]: https://www.gnu.org/software/tar/
[apple-tar-link]: https://ss64.com/mac/tar.html [apple-tar-link]: https://ss64.com/mac/tar.html
[brew-link]: https://brew.sh/ [brew-link]: https://brew.sh/
[yazi-yazi-toml-extract-openers]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml#L51-L54 [yazi-yazi-toml-extract-openers]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml#L50-L53
[yazi-yazi-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml [yazi-yazi-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml
[yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.shell [yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.shell
[thunderbird-tip]: https://yazi-rs.github.io/docs/tips#email-selected-files-using-thunderbird [thunderbird-tip]: https://yazi-rs.github.io/docs/tips/#email-selected-files
[input-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#input [input-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#input
[confirm-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#confirm [confirm-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#confirm
[yazi-keymap-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml [yazi-keymap-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml
[my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/keymap.toml [my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/tilde/dot_config/yazi/keymap.toml.tmpl
[my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/yazi.toml [my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/tilde/dot_config/yazi/yazi.toml
[Licence]: LICENSE [Licence]: LICENSE
<!-- Videos --> <!-- Videos -->
@ -1532,6 +1560,11 @@ You can view the full licence in the [`LICENSE`][Licence] file.
[wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/ce35b55f-98dc-485d-a5e4-005ebe3ea169 [wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/ce35b55f-98dc-485d-a5e4-005ebe3ea169
[smooth-wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/5256f0c5-b96b-4f4c-ac1d-f4a3f087cc57 [smooth-wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/5256f0c5-b96b-4f4c-ac1d-f4a3f087cc57
<!-- First file command -->
[first-file-video]: https://github.com/user-attachments/assets/4b4a1e6d-b013-47b5-919f-90279977fd98
[smooth-first-file-video]: https://github.com/user-attachments/assets/f4c9c191-fa9f-428e-87e2-9bf654e60f72
<!-- Archive command --> <!-- Archive command -->
[archive-must-have-hovered-item-video]: https://github.com/user-attachments/assets/a49929b3-3b0d-4a50-b5d6-9dae7c119e7e [archive-must-have-hovered-item-video]: https://github.com/user-attachments/assets/a49929b3-3b0d-4a50-b5d6-9dae7c119e7e

View File

@ -131,6 +131,7 @@ local Commands = {
Emit = "emit", Emit = "emit",
Editor = "editor", Editor = "editor",
Pager = "pager", Pager = "pager",
FirstFile = "first_file",
} }
-- The enum for which group of items to operate on -- The enum for which group of items to operate on
@ -4233,6 +4234,56 @@ local function handle_parent_arrow(args, config)
) )
end end
-- Function to execute the first file command
---@type fun(): nil
local execute_first_file = ya.sync(function()
--
-- Get the current working directory
local current = cx.active.current
-- Get the files in the current working directory
local files = current.files
-- Initialise the index of the first file
local first_file_index = nil
-- Iterate over the files
for index, file in ipairs(files) do
--
-- If the file isn't a directory,
if not file.cha.is_dir then
--
-- Set the first file index
first_file_index = index
-- Break out of the loop
break
end
end
-- Get the amount to move the cursor by.
--
-- The cursor index needs to be increased by 1
-- because the cursor index is 0-indexed
-- while Lua tables are 1-indexed.
local move_by = first_file_index - (current.cursor + 1)
-- Emit the augmented arrow command
emit_augmented_command("arrow", { move_by })
end)
-- Function to handle the first file command
---@type CommandFunction
local function handle_first_file()
--
-- Call the function to execute the first file command
execute_first_file()
end
-- Function to check if an archive supports header encryption -- Function to check if an archive supports header encryption
---@param archive_path string The path to the archive ---@param archive_path string The path to the archive
---@param wanted boolean Whether header encryption is wanted ---@param wanted boolean Whether header encryption is wanted
@ -4666,6 +4717,7 @@ local function run_command_func(command, args, config)
[Commands.Quit] = handle_quit, [Commands.Quit] = handle_quit,
[Commands.Arrow] = handle_arrow, [Commands.Arrow] = handle_arrow,
[Commands.ParentArrow] = handle_parent_arrow, [Commands.ParentArrow] = handle_parent_arrow,
[Commands.FirstFile] = handle_first_file,
[Commands.Archive] = handle_archive, [Commands.Archive] = handle_archive,
[Commands.Emit] = handle_emit, [Commands.Emit] = handle_emit,
[Commands.Editor] = handle_editor, [Commands.Editor] = handle_editor,

View File

@ -34,7 +34,7 @@ using `ffmpeg` if available and media metadata using `mediainfo`.
![subrip](assets/2025-02-15-16-51-11.png) ![subrip](assets/2025-02-15-16-51-11.png)
- SVG+XML file doesn't have useful information, so it only show the image preview. - SVG+XML file doesn't have useful information, so it only show the image preview.
- There are more file extensions which are supported by mediainfo. Just add file's MIME type to `previewers`, `preloaders`. - There are more file extensions which are supported by mediainfo. Just add file's MIME type to `prepend_previewers`, `prepend_preloaders`.
Use `spotter` to determine File's MIME type. [Default is `<Tab>` key](https://github.com/sxyazi/yazi/blob/1a6abae974370702c8865459344bf256de58359e/yazi-config/preset/keymap-default.toml#L59) Use `spotter` to determine File's MIME type. [Default is `<Tab>` key](https://github.com/sxyazi/yazi/blob/1a6abae974370702c8865459344bf256de58359e/yazi-config/preset/keymap-default.toml#L59)
## Installation ## Installation
@ -58,8 +58,10 @@ using `ffmpeg` if available and media metadata using `mediainfo`.
## Configuration: ## Configuration:
> [!IMPORTANT] > `mediainfo` use video, image, svg, magick built-in plugins behind the scene to render preview image, song cover. > [!IMPORTANT]
> So you can remove those 3 plugins from `preloaders` and `previewers` sections in `yazi.toml`. >
> `mediainfo` use built-in video, image, svg, magick plugins behind the scene to render preview image, song cover.
> So you can remove those 4 plugins from `prepend_preloaders` and `prepend_previewers` sections in `yazi.toml`.
If you have cache problem, run this cmd, and follow the tips: `yazi --clear-cache` If you have cache problem, run this cmd, and follow the tips: `yazi --clear-cache`
@ -67,25 +69,36 @@ Config folder for each OS: https://yazi-rs.github.io/docs/configuration/overview
Create `.../yazi/yazi.toml` and add: Create `.../yazi/yazi.toml` and add:
> [!IMPORTANT]
>
> For yazi nightly replace `name` with `url`
```toml ```toml
[plugin] [plugin]
prepend_preloaders = [ prepend_preloaders = [
# Replace magick, image, video with mediainfo # Replace magick, image, video with mediainfo
{ mime = "{audio,video,image}/*", run = "mediainfo" }, { mime = "{audio,video,image}/*", run = "mediainfo" },
{ mime = "application/subrip", run = "mediainfo" }, { mime = "application/subrip", run = "mediainfo" },
# Adobe Illustrator # Adobe Illustrator, Adobe Photoshop is image/adobe.photoshop, already handled above
{ mime = "application/postscript", run = "mediainfo" }, { mime = "application/postscript", run = "mediainfo" },
] ]
prepend_previewers = [ prepend_previewers = [
# Replace magick, image, video with mediainfo # Replace magick, image, video with mediainfo
{ mime = "{audio,video,image}/*", run = "mediainfo"}, { mime = "{audio,video,image}/*", run = "mediainfo"},
{ mime = "application/subrip", run = "mediainfo" }, { mime = "application/subrip", run = "mediainfo" },
# Adobe Illustrator # Adobe Illustrator, Adobe Photoshop is image/adobe.photoshop, already handled above
{ mime = "application/postscript", run = "mediainfo" }, { mime = "application/postscript", run = "mediainfo" },
] ]
# There are more extensions which are supported by mediainfo. # There are more extensions which are supported by mediainfo.
# Just add file's MIME type to `previewers`, `preloaders` above. # Just add file's MIME type to `previewers`, `preloaders` above.
# https://mediaarea.net/en/MediaInfo/Support/Formats # https://mediaarea.net/en/MediaInfo/Support/Formats
# For a large file like Adobe Illustrator, Adobe Photoshop, etc
# you may need to increase the memory limit if no image is rendered.
# https://yazi-rs.github.io/docs/configuration/yazi#tasks
[tasks]
image_alloc = 1073741824 # = 1024*1024*1024 = 1024MB
``` ```
## Custom theme ## Custom theme

View File

@ -165,7 +165,8 @@ function M:peek(job)
or (is_video and job.skip >= 90) or (is_video and job.skip >= 90)
or ( or (
(job.mime == "image/adobe.photoshop" or job.mime == "application/postscript") (job.mime == "image/adobe.photoshop" or job.mime == "application/postscript")
and image_layer_count(job) < (1 + math.floor(math.max(0, job.skip / (get_state("units") or 0)))) and image_layer_count(job)
< (1 + math.floor(math.max(0, get_state("units") and (job.skip / get_state("units")) or 0)))
) )
) )
then then

View File

@ -16,7 +16,7 @@
> >
> To install it with `ya` run: > To install it with `ya` run:
> ```sh > ```sh
> ya pack -a macydnah/office > ya pkg add macydnah/office
> ``` > ```
> Or if you prefer a manual approach: > Or if you prefer a manual approach:

View File

@ -43,6 +43,7 @@ local function entry()
elseif event == 1 then elseif event == 1 then
ya.emit("escape", { filter = true }) ya.emit("escape", { filter = true })
ya.emit(h.is_dir and "enter" or "open", { h.url }) ya.emit(h.is_dir and "enter" or "open", { h.url })
break
end end
end end
end end

View File

@ -1,29 +0,0 @@
# vidir.yazi
This plugin is a bulk-rename plugin using [vidir](https://linux.die.net/man/1/vidir).
## Requirements
- [yazi >= v25.2.7](https://github.com/sxyazi/yazi)
- [vidir](https://linux.die.net/man/1/vidir) (sometimes included in [moreutils](https://man.archlinux.org/listing/extra/moreutils/) package)
## Installation
```bash
ya pack -a kristoferssolo/vidir
```
## Usage
Add this to your `~/.config/yazi/keymap.toml`:
```toml
[[manager.prepend_keymap]]
on = "B"
run = [ "escape --visual", "plugin --sync vidir" ]
desc = "Bulk rename with vidir"
```
## License
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.

View File

@ -1,9 +0,0 @@
--- @sync entry
--- @since 25.2.7
return {
entry = function()
-- If no selection, use current directory (.)
ya.manager_emit("shell", { "vidir .", block = true, confirm = true })
end,
}

View File

@ -5,5 +5,5 @@ export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland export XDG_SESSION_TYPE=wayland
export XDG_SESSION_DESKTOP=Hyprland export XDG_SESSION_DESKTOP=Hyprland
[ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session # [ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session
# [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland

0
dotter Normal file → Executable file
View File

0
dotter.arm Normal file → Executable file
View File

0
dotter.exe Normal file → Executable file
View File

0
local/bin/ani-skip.bak Executable file → Normal file
View File

0
local/bin/get-spotify-id Executable file → Normal file
View File

0
local/share/fonts/jetbrainsmono/AUTHORS.txt Executable file → Normal file
View File