Thann / uosc

Minimalist proximity based UI for MPV player.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uosc

Minimalist proximity based UI for MPV player.


All UI elements hide and show based on their proximity to cursor. Click on the preview above to see it in action.

Installation

uosc is a replacement for the built in osc, so that has to be disabled first.

In your mpv.conf:

osc=no     # required so that the 2 UIs don't fight each other
border=no  # if you disable window border, uosc will draw
           # its own pretty proximity based window controls

Download and save uosc.lua into scripts/ folder.

To configure uosc, create a script-opts/uosc.conf file, or download uosc.conf from this repository.

Options

All available options with their default values:

title=no                       # display window title (filename) in no-border mode
progressbar_size=4             # progressbar size in pixels, 0 to disable
progressbar_size_fullscreen=4  # same as ^ but when in fullscreen
seekbar_size=40                # seekbar size in pixels, 0 to disable
seekbar_size_fullscreen=40     # same as ^ but when in fullscreen
min_proximity=60               # proximity below which opacity equals 1
max_proximity=120              # proximity above which opacity equals 0
bar_opacity=0.8                # max opacity of progress and seek bars
bar_color_foreground=FFFFFF    # BBGGRR - BLUE GREEN RED hex code
bar_color_background=000000    # BBGGRR - BLUE GREEN RED hex code

Progressbar: thin always visible discrete video progress bar. Seekbar: thick seeking bar with times that appears when mouse is near it.

Keybindings

By default, uosc doesn't create any keybinds, but provides commands to bind your preferred keys to. To add a keybind, open your input.conf file and add one on a new line.

For example, this will bind the p key to toggle progress bar:

p  script-binding uosc/toggleprogressbar

Commands

Available commands uosc listens on:

toggleprogressbar

Toggle the thin discrete progress bar.

Tips

If the UI feels sluggish to you, it's probably because the rendering is chained to video frame rate. Add this to your mpv.conf file to enable interpolation and get a more responsive UI:

interpolation=yes
video-sync=display-resample

Though it does come at the cost of a higher CPU load.

About

Minimalist proximity based UI for MPV player.


Languages

Language:Lua 100.0%