From what I know OSMC is based upon Kodi.
The hard way
You can remove features using skinning. If you're trying to remove a feature from an embedded skin such as Confluence the file system on which it resides might be read-only (this is true with OpenELEC, for instance). In that case, you'll have to re-package the skin in a ZIP file with your modifications and install the modified skin from a USB stick, for instance.
Kodi skin addons have a file named Home.xml
, which defines the controls, animations and styles of the home page. Run the following instruction to get a grasp of how windows are activated from the home page:
# grep -Rni ActivateWindow Home.xml
37: <onclick>ActivateWindow(Videos)</onclick>
123: <onclick>ActivateWindow(Music)</onclick>
164: <onclick>ActivateWindow(Programs)</onclick>
255: <onclick>ActivateWindow(1102)</onclick>
307: <onclick>ActivateWindow(Settings)</onclick>
336: <onclick>ActivateWindow(Favourites)</onclick>
In Home.xml
find the line where window Music is shown. You'll probably find something like this:
<control type="group" id="4250">
<include>Window_OpenClose_Animation_Zoom</include>
<posx>560r</posx>
<posy>165</posy>
<include>VisibleFadeEffect</include>
<control type="button" id="4251">
<onup>Control.SetFocus(4241)</onup>
<ondown>Control.SetFocus(4261)</ondown>
<onleft>Control.SetFocus(4201)</onleft>
<description>Music Button</description>
<posx>0</posx>
<posy>0</posy>
<width>540</width>
<height>130</height>
<font>-</font>
<texturenofocus >home_4.png</texturenofocus>
<texturefocus border="5">home_4_p.png</texturefocus>
<onclick>ActivateWindow(Music)</onclick>
</control>
<control type="image">
<description>Music Button Image</description>
<posx>140r</posx>
<posy>30</posy>
<width>80</width>
<height>80</height>
<texture>music2.png</texture>
</control>
<control type="label">
<description>Music label</description>
<posx>170</posx>
<posy>22</posy>
<height>90</height>
<width>250</width>
<label>Music</label>
<align>center</align>
<aligny>center</aligny>
<font>font40_title</font>
<textcolor>FFFFFFFF</textcolor>
</control>
</control>
In the above excerpt the "Music" button is part of a group, which is to be removed. Add an XML tag <visible>false</visible>
to the group, like this:
<control type="group" id="4250">
<include>Window_OpenClose_Animation_Zoom</include>
<posx>560r</posx>
<posy>165</posy>
<include>VisibleFadeEffect</include>
<visible>false</visible>
<control type="button" id="4251">
...
Also note that in the above example <include>VisibleFadeEffect</include>
is meant to apply visibility effects, which is useless here and can safely be removed.
Where to add the <visible>false</visible>
tag depends on what skin you're modding. For example, in OpenELEC, you will find Confluence skin's Home.xml
in directory /storage/.kodi/addons/skin.<skin name>/720p/
. You can also search through OSMC for that file:
find / -name Home.xml
The file location includes the active skin name. Use nano
or any available editor on OSMC to edit the file and apply your modifications.
EDIT: If you modify a skin that is currently in use you'll have to reload the skin for your changes to take effect:
kodi-send --action="ReloadSkin()"
The above command needs to be run on the Pi itself.
The easy way
Some skins, such as Amber have additional settings to configure which home buttons are visible.