VLC: Always on top and transparent when out of focus

To make the playback window always on top select Video -> Always On Top from the menu. (Mac Video -> "Float on Top")

I don't see a way to change the transparency when VLC goes out of focus without using a window manager that has this capability. You can change the transparency in VLC manually though.

To make the playback window transparent:

  • Tools -> Preferences
  • Show All Settings -> Click the plus next to Interface -> Main Interface
  • Change the Interface Module to Qt Interface
  • Click the plus next to Main Interface -> Qt
  • Change the Window Opacity to the desired amount
  • Close and reopen VLC for the change to take effect

I've adapted an AutoHotKey script from here which will do what you ask (on Windows - I don't know if there's an AutoHotKey for Linux).

When the script is run, it finds a window with "VLC media player" in the title and makes it 60% transparent and 'unclickable'. To exit the script and reactivate VLC, right click the green H in the taskbar and choose Exit.

If you trust me, a (decompilable) compiled version of this which sets one running VLC instance to 60% transparency and unclickable is here: https://www.dropbox.com/s/to4wrlmnuym9kjb/TransparentVLC.exe

If you don't trust me, want to adapt it for use with Media Player Classic (it's just better =), or just want to learn, install AutoHotKey and run this script: https://www.dropbox.com/s/exj00fpssx761lc/TransparentVLC.ahk

If my links are broken, the AHK code follows:

/*
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

On OSX, when you set Opaqueness in the Interface > macosx, it's sufficient to enter fullscreen and exit fullscreen for the changes to take effect.