diff options
author | Nightwing <94565465+Nightwing13@users.noreply.github.com> | 2021-12-06 21:31:13 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-06 21:31:13 +0900 |
commit | 982cc12cd6095d5d74853b8638aeeba8e10bd5d8 (patch) | |
tree | da869bec40f62dab60617324cc67e27a67529a26 /plugins/opacity.lua | |
parent | 2fa38447cfe056be3c36a0c51800e788890edb08 (diff) | |
parent | a6be89eb28208a670b2f83ad2983f503410d5f6c (diff) | |
download | lite-xl-plugins-982cc12cd6095d5d74853b8638aeeba8e10bd5d8.tar.gz lite-xl-plugins-982cc12cd6095d5d74853b8638aeeba8e10bd5d8.zip |
Merge branch 'lite-xl:master' into dev1
Diffstat (limited to 'plugins/opacity.lua')
-rw-r--r-- | plugins/opacity.lua | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/plugins/opacity.lua b/plugins/opacity.lua new file mode 100644 index 0000000..8dd0d9a --- /dev/null +++ b/plugins/opacity.lua @@ -0,0 +1,62 @@ +-- mod-version:2 -- lite-xl 2.0 +local common = require "core.common" +local command = require "core.command" +local keymap = require "core.keymap" +local RootView = require "core.rootview" + +local opacity_on = true +local use_mousewheel = true +local opacity_steps = 0.05 +local default_opacity = 1 +local current_opacity = default_opacity + +local function set_opacity(opacity) + if not opacity_on then opacity_on = true end + current_opacity = common.clamp(opacity, 0.2, 1) + system.set_window_opacity(current_opacity) +end + +local on_mouse_wheel = RootView.on_mouse_wheel + +function RootView:on_mouse_wheel(d, ...) + if keymap.modkeys["shift"] and use_mousewheel then + if d < 0 then command.perform "opacity:decrease" end + if d > 0 then command.perform "opacity:increase" end + else + return on_mouse_wheel(self, d, ...) + end +end + +local function tog_opacity() + opacity_on = not opacity_on + if opacity_on then + system.set_window_opacity(current_opacity) + else + system.set_window_opacity(default_opacity) + end +end + +local function res_opacity() + set_opacity(default_opacity) +end + +local function inc_opacity() + set_opacity(current_opacity + opacity_steps) +end + +local function dec_opacity() + set_opacity(current_opacity - opacity_steps) +end + +command.add(nil, { + ["opacity:toggle" ] = function() tog_opacity() end, + ["opacity:reset" ] = function() res_opacity() end, + ["opacity:decrease"] = function() dec_opacity() end, + ["opacity:increase"] = function() inc_opacity() end, + ["opacity:toggle mouse wheel use"] = function() use_mousewheel = not use_mousewheel end, +}) + +keymap.add { + ["shift+f11"] = "opacity:toggle", + ["ctrl+f11"] = "opacity:toggle mouse wheel use", +} |