1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-01-09 19:03:53 +00:00
ultima/modules/home/programs/gui/swayimg/default.nix
2024-11-21 18:24:15 +09:00

170 lines
3.7 KiB
Nix

{ pkgs, lib, config, ... }:
with lib;
let cfg = config.module.programs.gui.swayimg;
in {
options = { module.programs.gui.swayimg = { enable = mkEnableOption ""; }; };
config = mkIf cfg.enable {
home.packages = with pkgs; [ swayimg ];
xdg.configFile = with config.lib.stylix.colors; {
"swayimg/config".text = ''
[general]
mode = viewer
position = parent
size = fullscreen
sigusr1 = reload
sigusr2 = next_file
app_id = swayimg
[viewer]
window = #000000ff
transparency = grid
scale = optimal
fixed = yes
antialiasing = no
slideshow = no
slideshow_time = 3
history = 1
preload = 1
[gallery]
size = 200
cache = 100
fill = yes
antialiasing = yes
window = #${base00}ff
background = #${base01}ff
select = #${base02}ff
border = #${base0E}ff
shadow = #${base00}a0
[list]
order = alpha
loop = yes
recursive = no
all = yes
[font]
name = JetBrainsMono NerdFont
size = 14
color = #${base06}ff
shadow = #${base00}a0
[info]
show = yes
info_timeout = 5
status_timeout = 3
[info.viewer]
top_left = none
top_right = index
bottom_left = none
bottom_right = none
[info.gallery]
top_left = none
top_right = index
bottom_left = none
bottom_right = none
[keys.viewer]
F1 = help
Home = first_file
g = first_file
End = last_file
Shift+g = last_file
Prior = prev_file
Next = next_file
h = zoom +10
j = next_file
k = prev_file
l = zoom -10
Space = 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 = step_up 5
ScrollDown = step_down 5
Ctrl+ScrollUp = zoom +10
Ctrl+ScrollDown = zoom -10
Shift+ScrollUp = prev_file
Shift+ScrollDown = next_file
Alt+ScrollUp = prev_frame
Alt+ScrollDown = next_frame
[keys.gallery]
F1 = help
Home = first_file
g = first_file
End = last_file
Shift+g = last_file
Left = step_left
Right = step_right
Up = step_up
Down = step_down
h = step_left
j = step_down
k = step_up
l = step_right
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
'';
};
};
}