aboutsummaryrefslogtreecommitdiffstats
path: root/modules/media/swayimg/init.lua
blob: fccb126acf19fd1abb5e01fdd4a9384a524ed071 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---@diagnostic disable-next-line: undefined-global
local swayimg = swayimg

-- Panning around the image (HJKL)
swayimg.viewer.on_key("h", function()
  local pos = swayimg.viewer.get_position()
  swayimg.viewer.set_abs_position(pos.x + 20, pos.y)
end)
swayimg.viewer.on_key("j", function()
  local pos = swayimg.viewer.get_position()
  swayimg.viewer.set_abs_position(pos.x, pos.y - 20)
end)
swayimg.viewer.on_key("k", function()
  local pos = swayimg.viewer.get_position()
  swayimg.viewer.set_abs_position(pos.x, pos.y + 20)
end)
swayimg.viewer.on_key("l", function()
  local pos = swayimg.viewer.get_position()
  swayimg.viewer.set_abs_position(pos.x - 20, pos.y)
end)

-- File switching
swayimg.viewer.on_key("n", function()
  swayimg.viewer.open("next")
end)
swayimg.viewer.on_key("p", function()
  swayimg.viewer.open("prev")
end)

-- Zoom controls
swayimg.viewer.on_key("equal", function()
  swayimg.viewer.reset()
end)
swayimg.viewer.on_key("plus", function()
  swayimg.viewer.scale = swayimg.viewer.scale + 0.1
end)
swayimg.viewer.on_key("minus", function()
  swayimg.viewer.scale = swayimg.viewer.scale - 0.1
end)

-- Actions
swayimg.viewer.on_key("q", function()
  swayimg.exit()
end)
swayimg.viewer.on_key("f", function()
  swayimg.fullscreen = not swayimg.fullscreen
end)