feat(mpv): add touch and mouse gesture scripts
This commit is contained in:
parent
ae75463df5
commit
12cec706fa
4 changed files with 71 additions and 5 deletions
|
@ -1,11 +1,42 @@
|
||||||
{pkgs, ...}: let
|
{pkgs, ...}: {
|
||||||
mpvScripts = import ./scripts pkgs;
|
|
||||||
in {
|
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
scripts = with mpvScripts; [
|
scripts = with (import ./scripts pkgs); [
|
||||||
modernx
|
modernx
|
||||||
|
# Dep of touch-gestures
|
||||||
|
pointer-event
|
||||||
|
touch-gestures
|
||||||
];
|
];
|
||||||
|
|
||||||
|
scriptOpts = {
|
||||||
|
# Touch gestures default
|
||||||
|
pointer-event = {
|
||||||
|
margin_left = 0;
|
||||||
|
margin_right = 80;
|
||||||
|
margin_top = 50;
|
||||||
|
margin_bottom = 130;
|
||||||
|
ignore_left_single_long_while_window_dragging = true;
|
||||||
|
left_single = "cycle pause";
|
||||||
|
left_double = "script-message-to touch_gestures double";
|
||||||
|
left_long = "script-binding uosc/menu-blurred";
|
||||||
|
left_drag_start = "script-message-to touch_gestures drag_start";
|
||||||
|
left_drag_end = "script-message-to touch_gestures drag_end";
|
||||||
|
left_drag = "script-message-to touch_gestures drag";
|
||||||
|
};
|
||||||
|
|
||||||
|
touch-gestures = {
|
||||||
|
# valid options are:
|
||||||
|
# 'playlist' for changing the playlist item by swiping
|
||||||
|
# 'seek' for seeking by dragging
|
||||||
|
horizontal_drag = "seek";
|
||||||
|
|
||||||
|
# scale seeking based on the duration of the video
|
||||||
|
proportional_seek = true;
|
||||||
|
|
||||||
|
# scale factor for seeking
|
||||||
|
seek_scale = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,12 @@
|
||||||
buildLua =
|
buildLua =
|
||||||
pkgs.callPackage
|
pkgs.callPackage
|
||||||
"${pkgs.path}/pkgs/applications/video/mpv/scripts/buildLua.nix" {};
|
"${pkgs.path}/pkgs/applications/video/mpv/scripts/buildLua.nix" {};
|
||||||
|
|
||||||
|
buildLuaScript = file:
|
||||||
|
pkgs.callPackage file {inherit buildLua;};
|
||||||
in
|
in
|
||||||
pkgs.recurseIntoAttrs {
|
pkgs.recurseIntoAttrs {
|
||||||
modernx = pkgs.callPackage ./modernx.nix {inherit buildLua;};
|
modernx = buildLuaScript ./modernx.nix;
|
||||||
|
pointer-event = buildLuaScript ./pointer-event.nix;
|
||||||
|
touch-gestures = buildLuaScript ./touch-gestures.nix;
|
||||||
}
|
}
|
||||||
|
|
15
home/mpv/scripts/pointer-event.nix
Normal file
15
home/mpv/scripts/pointer-event.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
buildLua,
|
||||||
|
}:
|
||||||
|
buildLua {
|
||||||
|
pname = "pointer-event";
|
||||||
|
version = "unstable";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "christoph-heinrich";
|
||||||
|
repo = "mpv-pointer-event";
|
||||||
|
rev = "33c5ede5977817596ace5a9942a8c801ad3b3d28";
|
||||||
|
hash = "sha256-h2E8wiQX2Vh9qyi2VsXzeOE5vnD9Xin5HZ2Wu2LZUOY=";
|
||||||
|
};
|
||||||
|
}
|
15
home/mpv/scripts/touch-gestures.nix
Normal file
15
home/mpv/scripts/touch-gestures.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
buildLua,
|
||||||
|
}:
|
||||||
|
buildLua {
|
||||||
|
pname = "touch-gestures";
|
||||||
|
version = "unstable";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "christoph-heinrich";
|
||||||
|
repo = "mpv-touch-gestures";
|
||||||
|
rev = "f4aa499f038997c1824ff3bfa64ee1d5438d72f2";
|
||||||
|
hash = "sha256-gmo6sTwN85WS/+wtlylfI22LxyZH48DvXYP5JGCnyU4=";
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue