Compare commits

...

3 commits

Author SHA1 Message Date
c006891022
Add swayimg 2025-02-03 23:20:44 +01:00
9d2ca44d2d
update sway 2025-02-03 23:20:13 +01:00
0ab5a672c4
update yazi 2025-02-03 23:19:51 +01:00
4 changed files with 354 additions and 58 deletions

View file

@ -111,7 +111,8 @@ floating_modifier $mod normal
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+q exec rofi -show power-menu -modi power-menu:rofi-power-menu
# bindsym $mod+q exec rofi -show power-menu -modi power-menu:rofi-power-menu
bindsym $mod+q exec wlogout -p layer-shell
bindsym $mod+Shift+q exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+$left focus left
@ -409,7 +410,7 @@ set $ws1ids "footclient|kitty|foot"
for_window [app_id=$ws1ids] workspace $ws1
assign [app_id=$ws1ids] $ws1
set $ws2ids "LibreWolf|firefox"
set $ws2ids "LibreWolf|firefox|zen"
for_window [app_id=$ws2ids] workspace $ws2
assign [app_id=$ws2ids] $ws2

223
dot_config/swayimg/config Normal file
View file

@ -0,0 +1,223 @@
# Swayimg configuration file.
# vim: filetype=dosini
# This file contains the default configuration.
# The viewer searches for the config file in the following locations:
# 1. $XDG_CONFIG_HOME/swayimg/config
# 2. $HOME/.config/swayimg/config
# 3. $XDG_CONFIG_DIRS/swayimg/config
# 4. /etc/xdg/swayimg/config
# Any of these options can be overridden using the --config argument
# on the command line, for instance:
# $ swayimg --config="general.mode=gallery"
################################################################################
# General configuration
################################################################################
[general]
# Mode at startup (viewer/gallery)
mode = viewer
# Window position (parent or absolute coordinates, e.g. 100,200)
position = parent
# Window size (fullscreen/parent/image, or absolute size, e.g. 800,600)
size = parent
# Use window decoration (yes/no)
decoration = no
# Action performed by SIGUSR1 signal (same format as for key bindings)
sigusr1 = reload
# Action performed by SIGUSR2 signal (same format as for key bindings)
sigusr2 = next_file
# Application ID and window class name
app_id = swayimg
################################################################################
# Viewer mode configuration
################################################################################
[viewer]
# Window background color (RGBA)
window = #00000000
# Background for transparent images (grid/RGBA)
transparency = grid
# Default image scale (optimal/fit/width/height/fill/real)
scale = optimal
# Fix position of the image on the window surface (yes/no)
fixed = yes
# Anti-aliasing mode (none/box/bilinear/bicubic/mks13)
antialiasing = mks13
# Run slideshow at startup (yes/no)
slideshow = no
# Slideshow image display time (seconds)
slideshow_time = 3
# Number of previously viewed images to store in cache
history = 1
# Number of preloaded images (read ahead)
preload = 1
################################################################################
# Gallery mode configuration
################################################################################
[gallery]
# Size of the thumbnail (pixels)
size = 200
# Max number of thumbnails in memory cache, 0 for unlimited
cache = 100
# Enable/disable storing thumbnails in persistent storage (yes/no)
pstore = no
# Fill the entire tile with thumbnail (yes/no)
fill = yes
# Anti-aliasing mode for thumbnails (none/box/bilinear/bicubic/mks13)
antialiasing = mks13
# Background color of the window (RGBA)
window = #00000000
# Background color of the tile (RGBA)
background = #202020ff
# Background color of the selected tile (RGBA)
select = #404040ff
# Border color of the selected tile (RGBA)
border = #000000ff
# Shadow color of the selected tile (RGBA)
shadow = #000000ff
################################################################################
# Image list configuration
################################################################################
[list]
# Default order (none/alpha/reverse/random)
order = alpha
# Looping list of images (yes/no)
loop = yes
# Read directories recursively (yes/no)
recursive = no
# Open all files in the directory of the specified file (yes/no)
all = yes
################################################################################
# Font configuration
################################################################################
[font]
# Font name
name = monospace
# Font size (pt)
size = 14
# Font color (RGBA)
color = #ccccccff
# Shadow color (RGBA)
shadow = #000000a0
################################################################################
# Image meta info scheme (format, size, EXIF, etc)
################################################################################
[info]
# Show on startup (yes/no)
show = yes
# Timeout to hide info (seconds, 0 to always show)
info_timeout = 5
# Timeout to hide status message (seconds)
status_timeout = 3
# Display scheme for viewer mode (position = content)
[info.viewer]
top_left = +name,+format,+filesize,+imagesize,+exif
top_right = index
bottom_left = scale,frame
bottom_right = status
# Display scheme for gallery mode (position = content)
[info.gallery]
top_left = none
top_right = none
bottom_left = none
bottom_right = name,status
################################################################################
# Viewer mode key binding configuration: key = action [parameters]
################################################################################
[keys.viewer]
F1 = help
Home = first_file
End = last_file
Prior = prev_file
Next = next_file
Space = next_file
h = prev_file
j = next_file
k = prev_file
l = next_file
Shift+d = prev_dir
d = next_dir
Shift+o = prev_frame
o = next_frame
c = skip_file
Shift+s = slideshow
s = animation
f = fullscreen
Return = mode
Left = step_left 10
Right = step_right 10
Up = step_up 10
Down = step_down 10
Equal = zoom +10
Plus = zoom +10
Minus = zoom -10
w = zoom width
Shift+w = zoom height
z = zoom fit
Shift+z = zoom fill
0 = zoom real
BackSpace = zoom optimal
bracketleft = rotate_left
bracketright = rotate_right
m = flip_vertical
Shift+m = flip_horizontal
a = antialiasing
r = reload
i = info
Shift+Delete = exec rm "%"; skip_file
Escape = exit
q = exit
# Mouse related
ScrollLeft = step_right 5
ScrollRight = step_left 5
ScrollUp = prev_file
ScrollDown = next_file
Alt+s = scale
Alt+z = keep_zoom
Ctrl+ScrollUp = zoom +10
Ctrl+ScrollDown = zoom -10
Alt+ScrollUp = prev_frame
Alt+ScrollDown = next_frame
Shift+ScrollUp = step_up 5
Shift+ScrollDown = step_down 5
################################################################################
# Gallery mode key binding configuration: key = action [parameters]
################################################################################
[keys.gallery]
F1 = help
Home = first_file
End = last_file
Left = step_left
Right = step_right
Up = step_up
Down = step_down
l = step_right
h = step_left
k = step_up
j = step_down
Prior = page_up
Next = page_down
c = skip_file
f = fullscreen
Return = mode
a = antialiasing
r = reload
i = info
Shift+Delete = exec rm "%"; skip_file
Escape = exit
q = exit
# Mouse related
ScrollLeft = step_right
ScrollRight = step_left
ScrollUp = step_up
ScrollDown = step_down

View file

@ -42,22 +42,27 @@ keymap = [
{ on = "H", run = "back", desc = "Go back to the previous directory" },
{ on = "L", run = "forward", desc = "Go forward to the next directory" },
# Toggle
{ on = "<Space>", run = [ "toggle", "arrow 1" ], desc = "Toggle the current selection state" },
{ on = "<C-a>", run = "toggle_all --state=on", desc = "Select all files" },
{ on = "<C-r>", run = "toggle_all", desc = "Invert selection of all files" },
# Visual mode
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
# Seeking
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
# Selection
{ on = "<Space>", run = [ "toggle --state=none", "arrow 1" ], desc = "Toggle the current selection state" },
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
{ on = "<C-a>", run = "toggle_all --state=true", desc = "Select all files" },
{ on = "<C-r>", run = "toggle_all --state=none", desc = "Inverse selection of all files" },
# Spotting
{ on = "<Tab>", run = "spot", desc = "Spot hovered file" },
# Operation
{ on = "o", run = "open", desc = "Open selected files" },
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
{ on = "<Enter>", run = "open", desc = "Open selected files" },
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
{ on = "<Enter>", run = "enter", desc = "Open selected files" },
{ on = "<S-Enter>", run = "enter", desc = "Open selected files interactively" },
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
{ on = "p", run = "paste", desc = "Paste yanked files" },
@ -74,19 +79,22 @@ keymap = [
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
{ on = "s", run = "search fd", desc = "Search files by name using fd" },
{ on = "S", run = "search rg", desc = "Search files by content using ripgrep" },
{ on = "s", run = "search --via=fd", desc = "Search files by name using fd" },
{ on = "S", run = "search --via=rg", desc = "Search files by content using ripgrep" },
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
{ on = "z", run = "plugin zoxide", desc = "Jump to a directory using zoxide" },
{ on = "Z", run = "plugin fzf", desc = "Jump to a directory or reveal a file using fzf" },
{ on = [ "<C-n>" ], run = '''
shell 'ripdrag "$@" -x 2>/dev/null &' --confirm
''' },
# Linemode
{ on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" },
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" },
{ on = [ "m", "c" ], run = "linemode ctime", desc = "Set linemode to ctime" },
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" },
{ on = [ "m", "o" ], run = "linemode owner", desc = "Set linemode to owner" },
{ on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" },
{ on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" },
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" },
{ on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" },
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" },
{ on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" },
{ on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" },
# Copy
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
@ -104,10 +112,10 @@ keymap = [
{ on = "N", run = "find_arrow --previous", desc = "Go to the previous found" },
# Sorting
{ on = [ ",", "m" ], run = [ "sort modified --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
{ on = [ ",", "M" ], run = [ "sort modified --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
{ on = [ ",", "c" ], run = [ "sort created --reverse=no", "linemode ctime" ], desc = "Sort by created time" },
{ on = [ ",", "C" ], run = [ "sort created --reverse", "linemode ctime" ], desc = "Sort by created time (reverse)" },
{ on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
{ on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
{ on = [ ",", "c" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" },
{ on = [ ",", "C" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" },
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
@ -149,9 +157,6 @@ keymap = [
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
{ on = [ "<C-n>" ], run = '''
shell 'ripdrag "$@" -x 2>/dev/null &' --confirm
''' },
]
[tasks]
@ -176,13 +181,39 @@ keymap = [
{ on = "<F1>", run = "help", desc = "Open help" },
]
[select]
[spot]
keymap = [
{ on = "<Esc>", run = "close", desc = "Cancel selection" },
{ on = "<C-[>", run = "close", desc = "Cancel selection" },
{ on = "<C-c>", run = "close", desc = "Cancel selection" },
{ on = "<Enter>", run = "close --submit", desc = "Submit the selection" },
{ on = "<Esc>", run = "close", desc = "Close the spot" },
{ on = "<C-[>", run = "close", desc = "Close the spot" },
{ on = "<C-c>", run = "close", desc = "Close the spot" },
{ on = "<Tab>", run = "close", desc = "Close the spot" },
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
{ on = "h", run = "swipe -1", desc = "Swipe to the next file" },
{ on = "l", run = "swipe 1", desc = "Swipe to the previous file" },
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
{ on = "<Left>", run = "swipe -1", desc = "Swipe to the next file" },
{ on = "<Right>", run = "swipe 1", desc = "Swipe to the previous file" },
# Copy
{ on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[pick]
keymap = [
{ on = "<Esc>", run = "close", desc = "Cancel pick" },
{ on = "<C-[>", run = "close", desc = "Cancel pick" },
{ on = "<C-c>", run = "close", desc = "Cancel pick" },
{ on = "<Enter>", run = "close --submit", desc = "Submit the pick" },
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
@ -265,6 +296,28 @@ keymap = [
{ on = "<F1>", run = "help", desc = "Open help" },
]
[confirm]
keymap = [
{ on = "<Esc>", run = "close", desc = "Cancel the confirm" },
{ on = "<C-[>", run = "close", desc = "Cancel the confirm" },
{ on = "<C-c>", run = "close", desc = "Cancel the confirm" },
{ on = "<Enter>", run = "close --submit", desc = "Submit the confirm" },
{ on = "n", run = "close", desc = "Cancel the confirm" },
{ on = "y", run = "close --submit", desc = "Submit the confirm" },
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
# Help
{ on = "~", run = "help", desc = "Open help" },
{ on = "<F1>", run = "help", desc = "Open help" },
]
[completion]
keymap = [

View file

@ -17,6 +17,7 @@ mouse_events = [ "click", "scroll" ]
title_format = "Yazi: {cwd}"
[preview]
wrap = "no"
tab_size = 2
max_width = 600
max_height = 900
@ -90,6 +91,19 @@ fetchers = [
# Mimetype
{ id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
]
spotters = [
{ name = "*/", run = "folder" },
# Code
{ mime = "text/*", run = "code" },
{ mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
# Image
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# Fallback
{ name = "*", run = "file" },
]
preloaders = [
# Image
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
@ -100,15 +114,15 @@ preloaders = [
{ mime = "application/pdf", run = "pdf" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/vnd.ms-opentype", run = "font" },
{ mime = "application/ms-opentype", run = "font" },
]
previewers = [
{ name = "*/", run = "folder", sync = true },
# Code
{ mime = "text/*", run = "code" },
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
{ mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
# JSON
{ mime = "application/{json,x-ndjson}", run = "json" },
{ mime = "application/{json,ndjson}", run = "json" },
# Image
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
{ mime = "image/*", run = "image" },
@ -117,13 +131,18 @@ previewers = [
# PDF
{ mime = "application/pdf", run = "pdf" },
# Archive
{ mime = "application/{,g}zip", run = "archive" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar,iso9660-image}", run = "archive" },
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
{ mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
{ name = "*.{AppImage,appimage}", run = "archive" },
# Virtual Disk / Disk Image
{ mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
{ mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
{ name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/vnd.ms-opentype", run = "font" },
{ mime = "application/ms-opentype", run = "font" },
# Empty file
{ mime = "inode/x-empty", run = "empty" },
{ mime = "inode/empty", run = "empty" },
# Fallback
{ name = "*", run = "file" },
]
@ -137,7 +156,7 @@ cd_origin = "top-center"
cd_offset = [ 0, 2, 50, 3 ]
# create
create_title = ["Create:", "Create (dir):"]
create_title = [ "Create:", "Create (dir):" ]
create_origin = "top-center"
create_offset = [ 0, 2, 50, 3 ]
@ -146,16 +165,6 @@ rename_title = "Rename:"
rename_origin = "hovered"
rename_offset = [ 0, 1, 50, 3 ]
# trash
trash_title = "Move {n} selected file{s} to trash? (y/N)"
trash_origin = "top-center"
trash_offset = [ 0, 2, 50, 3 ]
# delete
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
delete_origin = "top-center"
delete_offset = [ 0, 2, 50, 3 ]
# filter
filter_title = "Filter:"
filter_origin = "top-center"
@ -176,17 +185,30 @@ shell_title = [ "Shell:", "Shell (block):" ]
shell_origin = "top-center"
shell_offset = [ 0, 2, 50, 3 ]
[confirm]
# trash
trash_title = "Trash {n} selected file{s}?"
trash_origin = "center"
trash_offset = [ 0, 0, 70, 20 ]
# delete
delete_title = "Permanently delete {n} selected file{s}?"
delete_origin = "center"
delete_offset = [ 0, 0, 70, 20 ]
# overwrite
overwrite_title = "Overwrite an existing file? (y/N)"
overwrite_origin = "top-center"
overwrite_offset = [ 0, 2, 50, 3 ]
overwrite_title = "Overwrite file?"
overwrite_content = "Will overwrite the following file:"
overwrite_origin = "center"
overwrite_offset = [ 0, 0, 50, 15 ]
# quit
quit_title = "{n} task{s} running, sure to quit? (y/N)"
quit_origin = "top-center"
quit_offset = [ 0, 2, 50, 3 ]
quit_title = "Quit?"
quit_content = "The following task is still running, are you sure you want to quit?"
quit_origin = "center"
quit_offset = [ 0, 0, 50, 15 ]
[select]
[pick]
open_title = "Open with:"
open_origin = "hovered"
open_offset = [ 0, 1, 50, 7 ]
@ -196,6 +218,3 @@ sort_by = "none"
sort_sensitive = false
sort_reverse = false
sort_translit = false
[log]
enabled = false