VLC:失焦时始终在顶部且透明

Thi*_*ter 20 vlc-media-player always-on-top

是否可以使用 VLC 执行以下操作?

  • 使播放窗口始终在顶部
  • 当另一个窗口获得焦点时使播放窗口透明?

这将允许在做其他事情(例如检查电子邮件)的同时观看视频,因为您仍然可以访问其他窗口(假设播放器未最大化)。

小智 22

要使播放窗口始终在顶部,请从菜单中选择视频 -> 始终在顶部。(Mac 视频 ->“浮动在顶部”)

在不使用具有此功能的窗口管理器的情况下,当 VLC 失去焦点时,我看不到改变透明度的方法。不过,您可以手动更改 VLC 中的透明度。

要使播放窗口透明:

  • 工具 -> 首选项
  • 显示所有设置 -> 点击界面旁边的加号 -> 主界面
  • 将接口模块改为Qt接口
  • 点击主界面旁边的加号 -> Qt
  • 将窗口不透明度更改为所需的量
  • 关闭并重新打开 VLC 以使更改生效


Luk*_*uke 7

我从这里改编了一个 AutoHotKey 脚本,它可以满足你的要求(在 Windows 上 - 我不知道是否有适用于 Linux 的 AutoHotKey)。

当脚本运行时,它会在标题中找到一个带有“VLC 媒体播放器”的窗口,并使其 60% 透明且“不可点击”。要退出脚本并重新激活 VLC,请右键单击任务栏中的绿色 H,然后选择退出。

如果您相信我,这里有一个(可反编译的)编译版本,它将一个正在运行的 VLC 实例设置为 60% 透明度并且不可点击:https : //www.dropbox.com/s/to4wrlmnuym9kjb/TransparentVLC.exe

如果您不信任我,想将其改编为与 Media Player Classic 一起使用(它只是更好 =),或者只是想学习,请安装AutoHotKey并运行此脚本:https : //www.dropbox.com/s/ exj00fpssx761lc/TransparentVLC.ahk

如果我的链接被破坏,AHK 代码如下:

/*
WinSet_Click_Through - Makes a window unclickable. Written by Wicked & SKAN.
I - ID of the window to set as unclickable.
T - The transparency to set the window. Leaving it blank will set it to 254. It can also be set On or Off. Any numbers lower then 0 or greater then 254 will simply be changed to 254.
If the window ID doesn't exist, it returns 0.
*/

WinSet_Click_Through(I, T="254") {
   IfWinExist, % "ahk_id " I
   {
      If (T == "Off")
      {
         WinSet, AlwaysOnTop, Off, % "ahk_id " I
         WinSet, Transparent, Off, % "ahk_id " I
         WinSet, ExStyle, -0x20, % "ahk_id " I
      }
      Else
      {
         WinSet, AlwaysOnTop, On, % "ahk_id " I
         If(T < 0 || T > 254 || T == "On")
            T := 254
         WinSet, Transparent, % T, % "ahk_id " I
         WinSet, ExStyle, +0x20, % "ahk_id " I
      }
   }
   Else
      Return 0
}
#SingleInstance force
#Persistent
;app code starts here
;get window ID for a VLC instance
ID := WinExist("VLC media player")

;set it to 60% transparent and unclickable
WinSet_Click_Through(ID, 0.6 * 255)

;wait until the user quits, then show window again
OnExit, AppEnd
Return

AppEnd:
;set it back to clickable
WinSet_Click_Through(ID, "Off")
ExitApp
Run Code Online (Sandbox Code Playgroud)