new: add screenshot bind
This commit is contained in:
@@ -7,6 +7,7 @@ local pieces = {
|
||||
"window",
|
||||
"workspace",
|
||||
"passthrough",
|
||||
"screenshot",
|
||||
}
|
||||
|
||||
M.binds = {}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
local bind = require("lua.lib.bind")
|
||||
|
||||
local M = {}
|
||||
|
||||
local function screenshot_fullscreen()
|
||||
local home = os.getenv("HOME")
|
||||
local dir = home .. "/Pictures/screenshots/"
|
||||
local name = "screenshot_" .. os.date("%Y%d%m_%H%M%S") .. ".png"
|
||||
local file = dir .. name
|
||||
|
||||
local monitor = hl.get_active_monitor()
|
||||
if monitor == nil then
|
||||
return
|
||||
end
|
||||
|
||||
hl.exec_cmd(
|
||||
string.format(
|
||||
"grim -o %q %q && " .. "wl-copy --type image/png < %q && " .. "notify-send %q %q && " .. "swappy -f %q",
|
||||
monitor.name,
|
||||
file,
|
||||
file,
|
||||
"Screenshot created and copied to clipboard",
|
||||
"Mode: Fullscreen",
|
||||
file
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
M.binds = {
|
||||
{
|
||||
keys = bind.with_leader("SHIFT + Print"),
|
||||
dispatcher = screenshot_fullscreen,
|
||||
desc = "Make fullscreen screenshot",
|
||||
},
|
||||
}
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user