yazi: update & niri: minor adjustments
This commit is contained in:
@@ -335,7 +335,7 @@ binds {
|
||||
|
||||
// Actions
|
||||
Mod+V { spawn-sh "pkill -x rofi || rofi-cliphist"; }
|
||||
Mod+Period { spawn "pkill -x rofi || rofi-emoji"; }
|
||||
Mod+Period { spawn-sh "pkill -x rofi || rofi-emoji"; }
|
||||
Ctrl+Alt+Delete { spawn "pkill -x wlogout || wlogout -p layer-shell"; }
|
||||
Print { spawn "screenshot-script" "full"; }
|
||||
Mod+Shift+S { spawn "screenshot-script" "area"; }
|
||||
@@ -451,8 +451,6 @@ binds {
|
||||
Mod+Alt+Space { toggle-window-floating; }
|
||||
Alt+Tab { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
Mod+Ctrl+W { toggle-column-tabbed-display; }
|
||||
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
Mod+M allow-inhibiting=false { quit; }
|
||||
|
||||
1
config/shell/.config/fish/post.d/.gitignore
vendored
1
config/shell/.config/fish/post.d/.gitignore
vendored
@@ -1,6 +1,5 @@
|
||||
*
|
||||
!.gitignore
|
||||
!fetch.fish
|
||||
!fetch.fish.template
|
||||
!sshs.fish
|
||||
!alias.fish
|
||||
@@ -1,11 +1,11 @@
|
||||
[[plugin.deps]]
|
||||
use = "yazi-rs/plugins:git"
|
||||
rev = "d1c8baa"
|
||||
hash = "63b6c222bf2103b3023389dde5e2ecfe"
|
||||
rev = "2301ff8"
|
||||
hash = "27ca02f49fd236b5cc7bf03c243859fe"
|
||||
|
||||
[[plugin.deps]]
|
||||
use = "yazi-rs/plugins:smart-enter"
|
||||
rev = "d1c8baa"
|
||||
rev = "2301ff8"
|
||||
hash = "56fdabc96fc1f4d53c96eb884b02a5be"
|
||||
|
||||
[[plugin.deps]]
|
||||
@@ -20,8 +20,8 @@ hash = "e17c11b605d989568a1d1741ca17c584"
|
||||
|
||||
[[plugin.deps]]
|
||||
use = "llanosrocas/yaziline"
|
||||
rev = "e79b067"
|
||||
hash = "f590c5b7d0730e8d6023b1b34ddf7ead"
|
||||
rev = "e7042a8"
|
||||
hash = "9c2ab18ff5368056904e4ebb61b17571"
|
||||
|
||||
[flavor]
|
||||
deps = []
|
||||
|
||||
@@ -190,7 +190,7 @@ local function setup(st, opts)
|
||||
|
||||
Linemode:children_add(function(self)
|
||||
local url = self._file.url
|
||||
local repo = st.dirs[tostring(url.base)]
|
||||
local repo = st.dirs[tostring(url.base or url.parent)]
|
||||
local code
|
||||
if repo then
|
||||
code = repo == CODES.excluded and CODES.ignored or st.repos[repo][tostring(url):sub(#repo + 2)]
|
||||
@@ -208,7 +208,7 @@ end
|
||||
|
||||
---@type UnstableFetcher
|
||||
local function fetch(_, job)
|
||||
local cwd = job.files[1].url.base
|
||||
local cwd = job.files[1].url.base or job.files[1].url.parent
|
||||
local repo = root(cwd)
|
||||
if not repo then
|
||||
remove(tostring(cwd))
|
||||
|
||||
@@ -2,37 +2,59 @@
|
||||
|
||||
Simple lualine-like status line for yazi.
|
||||
|
||||
Read more about features and configuration [here](#features).
|
||||

|
||||

|
||||
|
||||

|
||||
All supported features are listed [here](#features). More presets are available [here](#presets).
|
||||
|
||||
## Requirements
|
||||
|
||||
- yazi version >= [25.5.28](https://github.com/sxyazi/yazi/releases/tag/v25.5.28)
|
||||
- yazi version >= [917e1f5](https://github.com/sxyazi/yazi/commit/917e1f54a10445f2e25147c4b81a3c77d8233632)
|
||||
- Font with symbol support. For example [Nerd Fonts](https://www.nerdfonts.com/).
|
||||
|
||||
## Compatibility
|
||||
|
||||
To keep the plugin up to date, there are two branches: `main` and `nightly`.
|
||||
The `main` branch follows major yazi releases, while `nightly` is linked to specific yazi commits or changes.
|
||||
|
||||
This setup allows shipping stable versions on time, while giving early access to "cutting-edge" changes. See matrix below.
|
||||
|
||||
<details close>
|
||||
<summary>Compatibility matrix</summary>
|
||||
|
||||
| yaziline | yazi |
|
||||
| :------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------- |
|
||||
| [v2.5.2](https://github.com/llanosrocas/yaziline.yazi/releases/tag/v2.5.2) | [917e1f5](https://github.com/sxyazi/yazi/commit/917e1f54a10445f2e25147c4b81a3c77d8233632) |
|
||||
| [v2.5.1](https://github.com/llanosrocas/yaziline.yazi/releases/tag/v2.5.1) | [917e1f5](https://github.com/sxyazi/yazi/commit/917e1f54a10445f2e25147c4b81a3c77d8233632) |
|
||||
| [v2.5.0](https://github.com/llanosrocas/yaziline.yazi/releases/tag/v2.5.0) | [v25.5.28](https://github.com/sxyazi/yazi/releases/tag/v25.5.28) |
|
||||
| [v2.4.0](https://github.com/llanosrocas/yaziline.yazi/releases/tag/v2.4.0) | [v25.4.8](https://github.com/sxyazi/yazi/releases/tag/v25.4.8) |
|
||||
|
||||
</details>
|
||||
|
||||
## Installation
|
||||
|
||||
1. Using yazi package manager
|
||||
|
||||
```sh
|
||||
ya pkg add llanosrocas/yaziline
|
||||
```
|
||||
|
||||
Or manually copy `main.lua` to the `~/.config/yazi/plugins/yaziline.yazi/main.lua`
|
||||
_Or manually copy `main.lua` to the `~/.config/yazi/plugins/yaziline.yazi/main.lua`_
|
||||
|
||||
## Usage
|
||||
|
||||
Add this to your `~/.config/yazi/init.lua`:
|
||||
2. Add this line to your `~/.config/yazi/init.lua`:
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup()
|
||||
```
|
||||
|
||||
Optionally, configure line:
|
||||
## Configuration
|
||||
|
||||
This is default config, if you want to see presets go to [this section](#presets).
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup({
|
||||
color = "#98c379", -- main theme color
|
||||
secondary_color = "#5A6078", -- secondary color
|
||||
color = "#98c379",
|
||||
secondary_color = "#5A6078",
|
||||
default_files_color = "darkgray", -- color of the file counter when it's inactive
|
||||
selected_files_color = "white",
|
||||
yanked_files_color = "green",
|
||||
@@ -51,10 +73,18 @@ require("yaziline"):setup({
|
||||
|
||||
filename_max_length = 24, -- truncate when filename > 24
|
||||
filename_truncate_length = 6, -- leave 6 chars on both sides
|
||||
filename_truncate_separator = "..." -- the separator of the truncated filename
|
||||
filename_truncate_separator = "..."
|
||||
})
|
||||
```
|
||||
|
||||
By default yaziline uses color values from your `theme.toml`:
|
||||
|
||||
- mode and position font color: th.which.mask.bg
|
||||
- default_files_color: which.separator_style.fg
|
||||
- selected_files_color: mgr.count_selected.bg
|
||||
- yanked_files_color: mgr.count_copied.bg
|
||||
- cut_files_color: mgr.count_cut.bg
|
||||
|
||||
```
|
||||
MODE size long_file...name.md S 0 Y 0
|
||||
| | | | | | | | |
|
||||
@@ -71,73 +101,16 @@ require("yaziline"):setup({
|
||||
|
||||
## Features
|
||||
|
||||
### Preconfigured separators
|
||||
|
||||
Choose your style:
|
||||
### Presets
|
||||
|
||||
- `angly`
|
||||

|
||||

|
||||
- `curvy`
|
||||

|
||||

|
||||
- `liney`
|
||||

|
||||

|
||||
- `empty`
|
||||

|
||||
|
||||
### Separator customization
|
||||
|
||||
You can provide your own symbols for separators combined with preconfigured separators. For example:
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup({
|
||||
-- Optinal config
|
||||
separator_style = "angly", -- preconfigured style
|
||||
separator_open = "", -- instead of
|
||||
separator_close = "", -- instead of
|
||||
separator_open_thin = "", -- change to anything
|
||||
separator_close_thin = "", -- change to anything
|
||||
separator_head = "", -- to match the style
|
||||
separator_tail = "" -- to match the style
|
||||
})
|
||||
```
|
||||
|
||||

|
||||
|
||||
_You can find more symbols [here](https://www.nerdfonts.com/cheat-sheet)_
|
||||
|
||||
### File actions icons
|
||||
|
||||
You can provide your own symbols for `select` and `yank`. For example:
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup({
|
||||
-- Optinal config
|
||||
select_symbol = "", -- "S" by default
|
||||
yank_symbol = "" -- "Y" by default
|
||||
})
|
||||
```
|
||||
|
||||

|
||||
|
||||
_You can find more symbols [here](https://www.nerdfonts.com/cheat-sheet)_
|
||||
|
||||
### Colors and font weight
|
||||
|
||||
By default yaziline uses color values from your `theme.toml` (or flavor) but you can set custom colors in the `init.lua`:
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup({
|
||||
color = "#98c379",
|
||||
default_files_color = "darkgray",
|
||||
selected_files_color = "white",
|
||||
yanked_files_color = "green",
|
||||
cut_files_color = "red",
|
||||
})
|
||||
```
|
||||
|
||||
For example, here is how my line looks like:
|
||||
|
||||

|
||||

|
||||
|
||||
### Selected and Yanked Counter
|
||||
|
||||
@@ -149,9 +122,9 @@ Displays the truncated filename on the left, which is useful for smaller windows
|
||||
|
||||
```lua
|
||||
require("yaziline"):setup({
|
||||
filename_max_length = 24, -- truncate when filename > 24
|
||||
filename_truncate_length = 6, -- leave 6 chars on both sides
|
||||
filename_truncate_separator = "..." -- the separator of the truncated filename
|
||||
filename_max_length = 24,
|
||||
filename_truncate_length = 6,
|
||||
filename_truncate_separator = "..."
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
@@ -30,16 +30,16 @@ local function setup(_, options)
|
||||
color = options.color or nil,
|
||||
secondary_color = options.secondary_color or nil,
|
||||
default_files_color = options.default_files_color
|
||||
or th.which.separator_style.fg
|
||||
or th.which.separator_style:fg()
|
||||
or "darkgray",
|
||||
selected_files_color = options.selected_files_color
|
||||
or th.mgr.count_selected.bg
|
||||
or th.mgr.count_selected:bg()
|
||||
or "white",
|
||||
yanked_files_color = options.selected_files_color
|
||||
or th.mgr.count_copied.bg
|
||||
or th.mgr.count_copied:bg()
|
||||
or "green",
|
||||
cut_files_color = options.cut_files_color
|
||||
or th.mgr.count_cut.bg
|
||||
or th.mgr.count_cut:bg()
|
||||
or "red",
|
||||
}
|
||||
|
||||
@@ -55,10 +55,10 @@ local function setup(_, options)
|
||||
local style = self:style()
|
||||
return ui.Line({
|
||||
ui.Span(current_separator_style.separator_head)
|
||||
:fg(config.color or style.main.bg),
|
||||
:fg(config.color or style.main:bg()),
|
||||
ui.Span(" " .. mode .. " ")
|
||||
:fg(th.which.mask.bg)
|
||||
:bg(config.color or style.main.bg),
|
||||
:fg(th.which.mask:bg())
|
||||
:bg(config.color or style.main:bg()),
|
||||
})
|
||||
end
|
||||
|
||||
@@ -68,8 +68,8 @@ local function setup(_, options)
|
||||
|
||||
local style = self:style()
|
||||
return ui.Span(current_separator_style.separator_close .. " " .. ya.readable_size(size) .. " ")
|
||||
:fg(config.color or style.main.bg)
|
||||
:bg(config.secondary_color or th.which.separator_style.fg)
|
||||
:fg(config.color or style.main:bg())
|
||||
:bg(config.secondary_color or th.which.separator_style:fg())
|
||||
end
|
||||
|
||||
function Status:utf8_sub(str, start_char, end_char)
|
||||
@@ -99,23 +99,23 @@ local function setup(_, options)
|
||||
|
||||
function Status:name()
|
||||
local h = self._current.hovered
|
||||
local style = self:style()
|
||||
if not h then
|
||||
return ui.Line({
|
||||
ui.Span(current_separator_style.separator_close .. " ")
|
||||
:fg(config.secondary_color or th.which.separator_style.fg),
|
||||
:fg(config.secondary_color or th.which.separator_style:fg()),
|
||||
ui.Span("Empty dir")
|
||||
:fg(config.color or style.main.bg),
|
||||
:fg(config.color or style.main:bg()),
|
||||
})
|
||||
end
|
||||
|
||||
local truncated_name = self:truncate_name(h.name, config.filename_max_length)
|
||||
|
||||
local style = self:style()
|
||||
return ui.Line({
|
||||
ui.Span(current_separator_style.separator_close .. " ")
|
||||
:fg(config.secondary_color or th.which.separator_style.fg),
|
||||
:fg(config.secondary_color or th.which.separator_style:fg()),
|
||||
ui.Span(truncated_name)
|
||||
:fg(config.color or style.main.bg),
|
||||
:fg(config.color or style.main:bg()),
|
||||
})
|
||||
end
|
||||
|
||||
@@ -141,7 +141,7 @@ local function setup(_, options)
|
||||
|
||||
return ui.Line({
|
||||
ui.Span(" " .. current_separator_style.separator_close_thin .. " ")
|
||||
:fg(th.which.separator_style.fg),
|
||||
:fg(th.which.separator_style:fg()),
|
||||
ui.Span(config.select_symbol .. " " .. files_selected .. " ")
|
||||
:fg(selected_fg),
|
||||
ui.Span(yanked_text .. " ")
|
||||
@@ -160,7 +160,7 @@ local function setup(_, options)
|
||||
local time = (cha.mtime or 0) // 1
|
||||
|
||||
return ui.Span(os.date("%Y-%m-%d %H:%M", time) .. " " .. current_separator_style.separator_open_thin .. " ")
|
||||
:fg(th.which.separator_style.fg)
|
||||
:fg(th.which.separator_style:fg())
|
||||
end
|
||||
|
||||
function Status:percent()
|
||||
@@ -182,13 +182,13 @@ local function setup(_, options)
|
||||
local style = self:style()
|
||||
return ui.Line({
|
||||
ui.Span(" " .. current_separator_style.separator_open)
|
||||
:fg(config.secondary_color or th.which.separator_style.fg),
|
||||
:fg(config.secondary_color or th.which.separator_style:fg()),
|
||||
ui.Span(percent)
|
||||
:fg(config.color or style.main.bg)
|
||||
:bg(config.secondary_color or th.which.separator_style.fg),
|
||||
:fg(config.color or style.main:bg())
|
||||
:bg(config.secondary_color or th.which.separator_style:fg()),
|
||||
ui.Span(current_separator_style.separator_open)
|
||||
:fg(config.color or style.main.bg)
|
||||
:bg(config.secondary_color or th.which.separator_style.fg),
|
||||
:fg(config.color or style.main:bg())
|
||||
:bg(config.secondary_color or th.which.separator_style:fg()),
|
||||
})
|
||||
end
|
||||
|
||||
@@ -199,9 +199,9 @@ local function setup(_, options)
|
||||
local style = self:style()
|
||||
return ui.Line({
|
||||
ui.Span(string.format(" %2d/%-2d ", math.min(cursor + 1, length), length))
|
||||
:fg(th.which.mask.bg)
|
||||
:bg(config.color or style.main.bg),
|
||||
ui.Span(current_separator_style.separator_tail):fg(config.color or style.main.bg),
|
||||
:fg(th.which.mask:bg())
|
||||
:bg(config.color or style.main:bg()),
|
||||
ui.Span(current_separator_style.separator_tail):fg(config.color or style.main:bg()),
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user