✨ feat(launcher): improve launcher experience with mouse tracking, application search, and visual enhancements
This commit is contained in:
19 files changed
+513
-339
No files matched your search
@@ -2,10 +2,8 @@ import subprocess
|
||||
from typing import List
|
||||
|
||||
from fabric.utils import get_relative_path
|
||||
|
||||
from modules.launcher.plugin_base import PluginBase
|
||||
from modules.launcher.result import Result
|
||||
from utils.icons import screenrecord, screenshots, ssfull, ssregion, stop
|
||||
|
||||
|
||||
class ScreencapturePlugin(PluginBase):
|
||||
@@ -17,7 +15,6 @@ class ScreencapturePlugin(PluginBase):
|
||||
super().__init__()
|
||||
self.display_name = "Screencapture"
|
||||
self.description = "Take screenshots and screen recordings"
|
||||
# Path to the screen-capture script
|
||||
self.script_path = get_relative_path("../../../scripts/screen-capture.sh")
|
||||
|
||||
def initialize(self):
|
||||
@@ -121,290 +118,290 @@ class ScreencapturePlugin(PluginBase):
|
||||
"screenshot": (
|
||||
"Take Screenshot (eDP-1)",
|
||||
"Capture the main display",
|
||||
ssfull,
|
||||
"camera-photo-symbolic",
|
||||
lambda: self._run_script("screenshot", "eDP-1"),
|
||||
),
|
||||
"ss": (
|
||||
"Take Screenshot (eDP-1)",
|
||||
"Capture the main display",
|
||||
ssfull,
|
||||
"camera-photo-symbolic",
|
||||
lambda: self._run_script("screenshot", "eDP-1"),
|
||||
),
|
||||
"screenshot-region": (
|
||||
"Take Region Screenshot",
|
||||
"Capture a selected region",
|
||||
ssregion,
|
||||
"camera-photo-symbolic",
|
||||
lambda: self._run_script("screenshot", "selection"),
|
||||
),
|
||||
"ss-region": (
|
||||
"Take Region Screenshot",
|
||||
"Capture a selected region",
|
||||
ssregion,
|
||||
"camera-photo-symbolic",
|
||||
lambda: self._run_script("screenshot", "selection"),
|
||||
),
|
||||
"screenshot-both": (
|
||||
"Take Screenshot (Both Displays)",
|
||||
"Capture both displays combined",
|
||||
screenshots,
|
||||
"video-joined-displays-symbolic",
|
||||
lambda: self._run_script("screenshot", "both"),
|
||||
),
|
||||
"ss-both": (
|
||||
"Take Screenshot (Both Displays)",
|
||||
"Capture both displays combined",
|
||||
screenshots,
|
||||
"video-joined-displays-symbolic",
|
||||
lambda: self._run_script("screenshot", "both"),
|
||||
),
|
||||
"screenshot-hdmi": (
|
||||
"Take Screenshot (HDMI-A-1)",
|
||||
"Capture HDMI display",
|
||||
ssfull,
|
||||
"video-display-symbolic",
|
||||
lambda: self._run_script("screenshot", "HDMI-A-1"),
|
||||
),
|
||||
"ss-hdmi": (
|
||||
"Take Screenshot (HDMI-A-1)",
|
||||
"Capture HDMI display",
|
||||
ssfull,
|
||||
"video-display-symbolic",
|
||||
lambda: self._run_script("screenshot", "HDMI-A-1"),
|
||||
),
|
||||
# Recording commands (with audio)
|
||||
"record": (
|
||||
"Start Recording (eDP-1)",
|
||||
"Record the main display with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "eDP-1"),
|
||||
),
|
||||
"rec": (
|
||||
"Start Recording (eDP-1)",
|
||||
"Record the main display with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "eDP-1"),
|
||||
),
|
||||
"record-region": (
|
||||
"Start Region Recording",
|
||||
"Record a selected region with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "selection"),
|
||||
),
|
||||
"rec-region": (
|
||||
"Start Region Recording",
|
||||
"Record a selected region with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "selection"),
|
||||
),
|
||||
"record-hdmi": (
|
||||
"Start Recording (HDMI-A-1)",
|
||||
"Record HDMI display with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "HDMI-A-1"),
|
||||
),
|
||||
"rec-hdmi": (
|
||||
"Start Recording (HDMI-A-1)",
|
||||
"Record HDMI display with audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record", "HDMI-A-1"),
|
||||
),
|
||||
# Recording commands (no audio)
|
||||
"record-noaudio": (
|
||||
"Start Recording No Audio (eDP-1)",
|
||||
"Record the main display without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "eDP-1"),
|
||||
),
|
||||
"rec-noaudio": (
|
||||
"Start Recording No Audio (eDP-1)",
|
||||
"Record the main display without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "eDP-1"),
|
||||
),
|
||||
"record-noaudio-region": (
|
||||
"Start Region Recording No Audio",
|
||||
"Record a selected region without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "selection"),
|
||||
),
|
||||
"rec-noaudio-region": (
|
||||
"Start Region Recording No Audio",
|
||||
"Record a selected region without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "selection"),
|
||||
),
|
||||
"record-noaudio-hdmi": (
|
||||
"Start Recording No Audio (HDMI-A-1)",
|
||||
"Record HDMI display without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "HDMI-A-1"),
|
||||
),
|
||||
"rec-noaudio-hdmi": (
|
||||
"Start Recording No Audio (HDMI-A-1)",
|
||||
"Record HDMI display without audio",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-noaudio", "HDMI-A-1"),
|
||||
),
|
||||
# High-quality recording commands
|
||||
"record-hq": (
|
||||
"Start HQ Recording (eDP-1)",
|
||||
"High-quality recording for YouTube",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "eDP-1"),
|
||||
),
|
||||
"rec-hq": (
|
||||
"Start HQ Recording (eDP-1)",
|
||||
"High-quality recording for YouTube",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "eDP-1"),
|
||||
),
|
||||
"record-hq-region": (
|
||||
"Start HQ Region Recording",
|
||||
"High-quality region recording",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "selection"),
|
||||
),
|
||||
"rec-hq-region": (
|
||||
"Start HQ Region Recording",
|
||||
"High-quality region recording",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "selection"),
|
||||
),
|
||||
"record-hq-hdmi": (
|
||||
"Start HQ Recording (HDMI-A-1)",
|
||||
"High-quality HDMI recording",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "HDMI-A-1"),
|
||||
),
|
||||
"rec-hq-hdmi": (
|
||||
"Start HQ Recording (HDMI-A-1)",
|
||||
"High-quality HDMI recording",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-hq", "HDMI-A-1"),
|
||||
),
|
||||
# GIF recording commands
|
||||
"record-gif": (
|
||||
"Start GIF Recording (eDP-1)",
|
||||
"Record as optimized GIF",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-gif", "eDP-1"),
|
||||
),
|
||||
"rec-gif": (
|
||||
"Start GIF Recording (eDP-1)",
|
||||
"Record as optimized GIF",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-gif", "eDP-1"),
|
||||
),
|
||||
"record-gif-region": (
|
||||
"Start GIF Region Recording",
|
||||
"Record selected region as GIF",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-gif", "selection"),
|
||||
),
|
||||
"rec-gif-region": (
|
||||
"Start GIF Region Recording",
|
||||
"Record selected region as GIF",
|
||||
screenrecord,
|
||||
"media-record-symbolic",
|
||||
lambda: self._run_script("record-gif", "selection"),
|
||||
),
|
||||
# Control commands
|
||||
"stop": (
|
||||
"Stop Recording",
|
||||
"Stop the current screen recording",
|
||||
stop,
|
||||
"media-playback-stop-symbolic",
|
||||
lambda: self._run_script("record", "stop"),
|
||||
),
|
||||
# Conversion commands
|
||||
"convert-webm": (
|
||||
"Convert Latest to WebM",
|
||||
"Convert latest MKV recording to WebM format",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "webm"),
|
||||
),
|
||||
"conv-webm": (
|
||||
"Convert Latest to WebM",
|
||||
"Convert latest MKV recording to WebM format",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "webm"),
|
||||
),
|
||||
"convert-iphone": (
|
||||
"Convert Latest for iPhone",
|
||||
"Convert latest MKV recording for iPhone compatibility",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "iphone"),
|
||||
),
|
||||
"conv-iphone": (
|
||||
"Convert Latest for iPhone",
|
||||
"Convert latest MKV recording for iPhone compatibility",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "iphone"),
|
||||
),
|
||||
"convert-youtube": (
|
||||
"Convert Latest for YouTube",
|
||||
"Convert latest recording for YouTube upload",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "youtube"),
|
||||
),
|
||||
"conv-youtube": (
|
||||
"Convert Latest for YouTube",
|
||||
"Convert latest recording for YouTube upload",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "youtube"),
|
||||
),
|
||||
"convert-gif": (
|
||||
"Convert Latest to GIF",
|
||||
"Convert latest recording to GIF format",
|
||||
screenrecord,
|
||||
"image-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "gif"),
|
||||
),
|
||||
"conv-gif": (
|
||||
"Convert Latest to GIF",
|
||||
"Convert latest recording to GIF format",
|
||||
screenrecord,
|
||||
"image-x-generic-symbolic",
|
||||
lambda: self._run_script("convert", "gif"),
|
||||
),
|
||||
# File-based conversion commands (these will be handled specially)
|
||||
"convert-webm-file": (
|
||||
"Convert File to WebM",
|
||||
"Type filename after command (e.g., convert-webm-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"conv-webm-file": (
|
||||
"Convert File to WebM",
|
||||
"Type filename after command (e.g., conv-webm-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"convert-iphone-file": (
|
||||
"Convert File for iPhone",
|
||||
"Type filename after command (e.g., convert-iphone-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"conv-iphone-file": (
|
||||
"Convert File for iPhone",
|
||||
"Type filename after command (e.g., conv-iphone-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"convert-youtube-file": (
|
||||
"Convert File for YouTube",
|
||||
"Type filename after command (e.g., convert-youtube-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"conv-youtube-file": (
|
||||
"Convert File for YouTube",
|
||||
"Type filename after command (e.g., conv-youtube-file video.mkv)",
|
||||
screenrecord,
|
||||
"video-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"convert-gif-file": (
|
||||
"Convert File to GIF",
|
||||
"Type filename after command (e.g., convert-gif-file video.mkv)",
|
||||
screenrecord,
|
||||
"image-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
"conv-gif-file": (
|
||||
"Convert File to GIF",
|
||||
"Type filename after command (e.g., conv-gif-file video.mkv)",
|
||||
screenrecord,
|
||||
"image-x-generic-symbolic",
|
||||
None, # Will be handled in query method
|
||||
),
|
||||
}
|
||||
@@ -415,7 +412,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
return Result(
|
||||
title=title,
|
||||
subtitle=subtitle,
|
||||
icon_markup=icon,
|
||||
icon_name=icon,
|
||||
action=action,
|
||||
relevance=1.0,
|
||||
plugin_name=self.display_name,
|
||||
@@ -424,7 +421,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
return Result(
|
||||
title=title,
|
||||
subtitle=subtitle,
|
||||
icon_markup=icon,
|
||||
icon_name=icon,
|
||||
action=lambda: None, # No action for instruction
|
||||
relevance=1.0,
|
||||
plugin_name=self.display_name,
|
||||
@@ -465,7 +462,11 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title=f"Convert {file_param} to {format_type.upper()}",
|
||||
subtitle=f"Convert specified file to {format_type} format",
|
||||
icon_markup=screenrecord,
|
||||
icon_name=(
|
||||
"video-x-generic-symbolic"
|
||||
if format_type != "gif"
|
||||
else "image-x-generic-symbolic"
|
||||
),
|
||||
action=lambda fp=file_param, ft=format_type: self._run_script_with_file(
|
||||
ft, fp
|
||||
),
|
||||
@@ -488,7 +489,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Stop Recording",
|
||||
subtitle="Stop the current screen recording",
|
||||
icon_markup=stop,
|
||||
icon_name="media-playback-stop-symbolic",
|
||||
action=lambda: self._run_script("record", "stop"),
|
||||
relevance=2.0, # Highest relevance to appear at top
|
||||
plugin_name=self.display_name,
|
||||
@@ -501,7 +502,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Take Screenshot",
|
||||
subtitle="Capture the entire screen (eDP-1)",
|
||||
icon_markup=ssfull,
|
||||
icon_name="camera-photo-symbolic",
|
||||
action=lambda: self._run_script("screenshot", "eDP-1"),
|
||||
relevance=1.0,
|
||||
plugin_name=self.display_name,
|
||||
@@ -509,7 +510,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Take Region Screenshot",
|
||||
subtitle="Capture a selected region",
|
||||
icon_markup=ssregion,
|
||||
icon_name="camera-photo-symbolic",
|
||||
action=lambda: self._run_script("screenshot", "selection"),
|
||||
relevance=0.9,
|
||||
plugin_name=self.display_name,
|
||||
@@ -517,7 +518,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Take Screenshot (Both Displays)",
|
||||
subtitle="Capture both displays combined",
|
||||
icon_markup=screenshots,
|
||||
icon_name="video-joined-displays-symbolic",
|
||||
action=lambda: self._run_script("screenshot", "both"),
|
||||
relevance=0.8,
|
||||
plugin_name=self.display_name,
|
||||
@@ -525,7 +526,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Take Screenshot (HDMI-A-1)",
|
||||
subtitle="Capture HDMI display",
|
||||
icon_markup=ssfull,
|
||||
icon_name="video-display-symbolic",
|
||||
action=lambda: self._run_script("screenshot", "HDMI-A-1"),
|
||||
relevance=0.7,
|
||||
plugin_name=self.display_name,
|
||||
@@ -539,7 +540,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Recording (eDP-1)",
|
||||
subtitle="Record the main display with audio",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record", "eDP-1"),
|
||||
relevance=0.7,
|
||||
plugin_name=self.display_name,
|
||||
@@ -547,7 +548,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Region Recording",
|
||||
subtitle="Record a selected region",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record", "selection"),
|
||||
relevance=0.6,
|
||||
plugin_name=self.display_name,
|
||||
@@ -555,7 +556,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Recording (HDMI-A-1)",
|
||||
subtitle="Record HDMI display with audio",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record", "HDMI-A-1"),
|
||||
relevance=0.5,
|
||||
plugin_name=self.display_name,
|
||||
@@ -569,7 +570,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Recording No Audio (eDP-1)",
|
||||
subtitle="Record the main display without audio",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-noaudio", "eDP-1"),
|
||||
relevance=0.65,
|
||||
plugin_name=self.display_name,
|
||||
@@ -577,7 +578,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Region Recording No Audio",
|
||||
subtitle="Record a selected region without audio",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-noaudio", "selection"),
|
||||
relevance=0.55,
|
||||
plugin_name=self.display_name,
|
||||
@@ -585,7 +586,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start Recording No Audio (HDMI-A-1)",
|
||||
subtitle="Record HDMI display without audio",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-noaudio", "HDMI-A-1"),
|
||||
relevance=0.45,
|
||||
plugin_name=self.display_name,
|
||||
@@ -599,7 +600,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start HQ Recording (eDP-1)",
|
||||
subtitle="High-quality recording for YouTube",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-hq", "eDP-1"),
|
||||
relevance=0.4,
|
||||
plugin_name=self.display_name,
|
||||
@@ -607,7 +608,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start HQ Region Recording",
|
||||
subtitle="High-quality region recording",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-hq", "selection"),
|
||||
relevance=0.3,
|
||||
plugin_name=self.display_name,
|
||||
@@ -615,7 +616,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start HQ Recording (HDMI-A-1)",
|
||||
subtitle="High-quality HDMI recording",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-hq", "HDMI-A-1"),
|
||||
relevance=0.2,
|
||||
plugin_name=self.display_name,
|
||||
@@ -629,7 +630,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start GIF Recording (eDP-1)",
|
||||
subtitle="Record as optimized GIF",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-gif", "eDP-1"),
|
||||
relevance=0.1,
|
||||
plugin_name=self.display_name,
|
||||
@@ -637,7 +638,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Start GIF Region Recording",
|
||||
subtitle="Record selected region as GIF",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="media-record-symbolic",
|
||||
action=lambda: self._run_script("record-gif", "selection"),
|
||||
relevance=0.05,
|
||||
plugin_name=self.display_name,
|
||||
@@ -651,7 +652,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Convert Latest to WebM",
|
||||
subtitle="Convert latest MKV recording to WebM format",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="video-x-generic-symbolic",
|
||||
action=lambda: self._run_script("convert", "webm"),
|
||||
relevance=0.01,
|
||||
plugin_name=self.display_name,
|
||||
@@ -659,7 +660,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Convert Latest for iPhone",
|
||||
subtitle="Convert latest MKV recording for iPhone compatibility",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="video-x-generic-symbolic",
|
||||
action=lambda: self._run_script("convert", "iphone"),
|
||||
relevance=0.01,
|
||||
plugin_name=self.display_name,
|
||||
@@ -667,7 +668,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Convert Latest for YouTube",
|
||||
subtitle="Convert latest recording for YouTube upload",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="video-x-generic-symbolic",
|
||||
action=lambda: self._run_script("convert", "youtube"),
|
||||
relevance=0.01,
|
||||
plugin_name=self.display_name,
|
||||
@@ -675,7 +676,7 @@ class ScreencapturePlugin(PluginBase):
|
||||
Result(
|
||||
title="Convert Latest to GIF",
|
||||
subtitle="Convert latest recording to GIF format",
|
||||
icon_markup=screenrecord,
|
||||
icon_name="image-x-generic-symbolic",
|
||||
action=lambda: self._run_script("convert", "gif"),
|
||||
relevance=0.01,
|
||||
plugin_name=self.display_name,
|
||||
|
||||
Reference in new issue
Block a user