[HowTo] OSMC Skin, Hiding the Pause OSD (On-Screen-Display) After Amount of X Seconds

OSMC: 2015.10-1
Active Skin: OSMC
Tested with: Raspberry Pi 2 Model B and Vero

Some people would like to have a paused video scene without the Pause OSD (pause symbol, seekbar, video info, etc.). Possible purposes could be to be able to make a screenshot from a specific scene without these additional display information, in general do not like OSD in this situation, etc.

This can be quite easy implemented by changing the related file DialogSeekBar.xml of the OSMC skin:

  1. Locate the file using command

    find / -name DialogSeekBar.xml 2>/dev/null
    (Sometimes you have to invoke the command twice to see the result!)

  2. It should show you a list of files but we are only interested in the one belonging to the OSMC skin. On the current test systems it was

    /usr/share/kodi/addons/skin.osmc/16x9/DialogSeekBar.xml

  3. Edit the file and look at the beginning which should look like this

    <?xml version="1.0" encoding="UTF-8"?> 901 [VideoPlayer.IsFullscreen | Window.IsVisible(visualisation)] + [Player.Seeking | Player.DisplayAfterSeek | Player.Paused | ...
  4. Change the | Player.Paused | condition in this first <visible>...</visible> tag to

    | Player.Paused + !System.IdleTime(5) |

which means “make it only visible if player is paused AND there was (user) input within the last five seconds”.

  1. reboot the device

You’re done, enjoy your vanishing Pause OSD after five seconds. Of course you can vary the time in seconds.

.

1 Like

Unfortunately this change would get over written when the osmc skin is updated. But it is a simple edit.

Well, perhaps something you can integrade in the OSMC skin as default? :wink:

I suspect it’s an artistic/design decision to leave the overlay active when paused - many skins seem do this, (including Refocus, which is what I use) and some don’t. I’m not involved in the creation of the OSMC skin and don’t use it myself so this is just speculation on my part.

You’re free to use a skin which doesn’t leave the overlay up, of course. The reason why there are many skins available for Kodi is because not everybody has the same artistic tastes or functional needs from a skin, and no one skin will suit everyone.

You prefer pause to not show an overlay but if that was changed there would probably be just as many people who wanted it back the way it was. A lot of people were critical of the first incarnation of the OSMC skin, particularly the huge fonts, when a major redesign was done to address that just as many people complained about the new design and wanted it back to how it was before - it’s hard to win sometimes.

For some things you could add a preference setting in the skin but if you go too far in that direction you have dozens of preferences settings and a big unmaintainable mess.

At its core I think the OSMC skin strives to be a very clean, minimalistic, non-resource hogging skin, and that includes not having dozens of configuration options, unlike some of the more powerful but complex skins. Not everyone will like it, but you’re not forced to use it either. I choose not to use it and so can you. :wink:

Do you guys happen to know if there’s a way to know if the pause screen of a certain skin does remove the overlay without actually downloading EVERY skin?
Also, do you know how to delete a skin once it’s downloaded?
Thank you!

Black Glass Nova (my current favourite) has a preferences option to disable the OSD overlay in pause.

That seems to have been added fairly recently as I switched to Refocus for a few months and when I went back it had been added.

Skins can be deleted in System->Addons->My Addons->Skin. Obviously you can’t delete the currently active skin.

Be aware that skins typically cause other addons to be installed as well (such as TV Tunes, artist slideshow etc) and you must remove these manually after removing the skin if you wish.

1 Like

Thank you. Couldn’t get to the DialogSeekBar.xml of the osmc skin at all. Was nowhere on my microSD card.

I did try Black Glass Nova but my goodness I find it so ugly. I guess I’ll keep trying others until I find one that looks good and has no OSD on pause. I really like the OSMC skin for being so clean and looking more like regular file lists. I never liked the XBMC-type side scrolling main menu.

Thanks anyway!

Some skins will hide the visible element in an includes brought in from a different file, but other than that this same trick can work for them too.

FYI I am working on a small addon that runs on startup making this specific edit. It would mean that the changes will take effect on next boot. But I won’t release it until it can follow the includes links.

On skins with this feature already, the lesser of the skins timing and the addons timing would take effect.

Repeat the find command if the first run comes back with no result.
I do not know why but I often have to invoke the command twice.

Example:

login as: root
root@osmc-pi's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Nov  5 00:13:43 2015 from 192.168.178.28
root@osmc:~# find / -name DialogSeekBar.xml 2>/dev/null
root@osmc:~# find / -name DialogSeekBar.xml 2>/dev/null
/usr/share/kodi/addons/skin.osmc/16x9/DialogSeekBar.xml
/usr/share/kodi/addons/skin.confluence/720p/DialogSeekBar.xml
root@osmc:~#

It’s this working this ad today ?

I know it’s a two years thread but it’s an interesting feature.

I have tryed (but i don’t know if i applyed correctly) on today release of osmc but apparently it’s no works.

I like to try to add this feature also on currently Estuary skin…

EDIT
For obtain a workaround:
I remove:

 Player.DisplayAfterSeek | [Player.Paused + !Player.Caching] 

From DialogSeekBar.xml

Now when a video it’s on pause no more bar appears as OSD. The OSD it’s appears only if i click “OK”…

It’s not same idea but it’s better than nothigs.

@FaustoGSR If you want the seekbar to disappear after 5 seconds when having pressed the PAUSE button you can change the file /usr/share/kodi/addons/skin.osmc/16x9/DialogSeekBar.xml that way

<window>
        <!-- seekbar -->
        <defaultcontrol always="true">901</defaultcontrol>
        <visible> ... Player.DisplayAfterSeek  + !System.IdleTime(5)| Player.Paused  + !System.IdleTime(5)...
        <animation 

means extend Player.DisplayAfterSeek and Player.Paused in the visible tag of the seekbar block in the beginning with “+ !SystemIdleTime(5)”.

Set @Chillbo to this post. Perhaps, this is something we want to consider being in the OSMC skin in long term or make it configurable?

See also On screen display removal? - #18 by JimKnopf in another thread.

I setup a poll for this: Poll, OSMC Skin, Automatic OSD/Seekbar Hiding While Videoplay + Paused.

You speak about skim.osmc… i usually used the Estuary… the default line it’s like:

<visible>Player.Seeking | Player.DisplayAfterSeek | [Player.Paused + !Player.Caching] | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Window.IsActive(fullscreeninfo) | Window.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !IsEmpty(Player.SeekNumeric)</visible>

I have edited the Player.DisplayAfterSeek adding this !System.IdleTime(5) but nothigs append.
On Player.Paused how i need to add the !SystemIdle ? Inside of Outside of [ xxxx ] text ?

@FaustoGSR With skin Estuary you have to change one line in file /usr/share/kodi/addons/skin.estuary/xml/DialogSeekBar.xml:

<visible>Player.Seeking | Player.DisplayAfterSeek + !System.IdleTime(5) | [Player.Paused + !System.IdleTime(5) + !Player.Caching] | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Window.IsActive(fullscreeninfo) | Window
.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !IsEmpty(Player.SeekNumeric)</visible>

mmmmm… yeah… i have tryed but it’s not works:
Apparently it’s works whit “normal” OSD during reproduction (example… i press ok on my remote and i see the normal buttons on osd like pause->info->stop etc etc) but if i press pause the osd remain on tv.

@FaustoGSR: That is strange. I just retested and it works with Estuary as I wrote in the post before. Here, it does not work with the normal OSD if you press OK but that was intended, it should only vanish if you pressed the pause button while playback.

Look again in the file. Perhaps, you have inserted a typo or forgot an exclamation mark (!) befor both System.IdleTime(5).

Announcement: There will be a new option for this in the next update which will allow to adjust the behaviour of the video OSD during pause. :+1:t2:

1 Like

Hi @Chillbo, @sam_nazarko ,

Did this ever get implemented?

I’m running the default theme on the latest update on my Vero4K, and cannot find the option anywhere.

Maybe I’m mussing something obvious…

I think you mean this: Hiding the OSD when paused - #2 by joakim_s

Hi,

[Edit: wondering if I’m not actually using the default theme… checking now]

Before posting, I went through all options within

Settings->Interface->Skin->Configure skin

There are three sub menus: General, Main menu items, and Artwork

Unfortunately none contain ->OSD->Display time of video OSD during pause

Not sure why