List of boolean conditions

From Official Kodi Wiki
Jump to navigation Jump to search
Home icon grey.png   ▶ Development ▶ Add-on development ▶ Skinning ▶ List of boolean conditions


Skins can use boolean conditions with the <visible> tag or with condition attributes. Scripts can read boolean conditions with xbmc.getCondVisibility(condition).

Global

Labels Description
true Returns
Always evaluates to true.
false Returns
Always evaluates to false.
yes Returns
same as true.
no Returns
same as false.

Addon

Labels Description Version
Addon.SettingBool(addon_id,setting_id) Returns
True if the setting setting_id belonging to the addon with the id addon_id is True, False otherwise.

Parameters

addon_id - The id of the addon
setting_id - The addon setting

Note
The provided setting with setting_id must be a boolean setting type.
Otherwise it will return the boolean info default value (which is 0).

v20

Container

Labels Description Version
Container.CanFilter Returns
True when the current container can be filtered.
Container.CanFilterAdvanced Returns
True when advanced filtering can be applied to the current container.
Container.Content(parameter) Returns
True if the current container you are in contains the following:
  • actors
  • addons
  • albums
  • artists
  • directors
  • episodes
  • files
  • genres
  • livetv
  • movies
  • musicvideos
  • playlists
  • plugins
  • seasons
  • sets
  • songs
  • studios
  • tags
  • tvshows
  • years

Note
These currently only work in the Video and Music Library, unless a Plugin has set the value.

Container.Filtered Returns
True when a mediafilter is applied to the current container.
Container.HasFiles Returns
True if the container contains files.
Container.HasFolders Returns
True if the container contains folders.
Container.HasThumb Returns
True if the current container you are in has a thumb assigned to it.
Container.IsStacked Returns
True if the container is currently in stacked mode.
Container.SortDirection(ascending) Returns
True if the sort direction of a container is ascending.
Container.SortDirection(descending) Returns
True if the sort direction of a container is descending.
Container.Sortmethod(sortid) Returns
True if the current sort method matches the specified SortID [see list of sort methods].
Container(id).Column(column_number) Returns
True if the container with id is focused on the column given.

Parameters

column_number - The column number.

Note
If no id is specified it grabs the current container.

Container(id).HasFocus(item_number) Returns
True if the container with id has static content and is focused on the item with id item_number.

Note
If no id is specified it grabs the current container.

Container(id).HasNext Returns
True if the container or textbox with id has a next page.

Note
If no id is specified it grabs the current container.

Container(id).HasParent Returns
True when the container with id contains a parent ('..') item.

Note
If no id is specified it grabs the current container.

Container(id).HasPrevious Returns
True if the container or textbox with id has a previous page.

Note
If no id is specified it grabs the current container.

Container(id).IsUpdating Returns
True if the container with dynamic list content is currently updating.

Note
If no id is specified it grabs the current container.

Container(id).OnNext Returns
True if the container with id is moving to the next item.
Allows views to be custom-designed, such as 3D cover views, etc.

Note
If no id is specified it grabs the current container.

Container(id).OnPrevious Returns
True if the container with id is moving to the previous item.
Allows views to be custom-designed, such as 3D cover views, etc.

Note
If no id is specified it grabs the current container.

Container(id).OnScrollNext Returns
True if the container with id is scrolling to the next item.
Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.

Note
If no id is specified it grabs the current container.

Container(id).OnScrollPrevious Returns
True if the container with id is scrolling to the previous item.
Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.

Note
If no id is specified it grabs the current container.

Container(id).Position(position_number) Returns
True if the container with id is focused on the position given.

Parameters

position_number - The position number.

Note
If no id is specified it grabs the current container.

Container(id).Row(row_number) Returns
True if the container with id is focused on the row given.

Parameters

row_number - The row number.

Note
If no id is specified it grabs the current container.

Container(id).Scrolling Returns
True if the user is currently scrolling through the container with id.

Note
If no id is specified it grabs the current container.
This is slightly delayed from the actual scroll start.
Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.

Container(id).SubItem Returns
True if the container with id is focused on the specified subitem.

Note
If no id is specified it grabs the current container.

Control

Labels Description Version
Control.HasFocus(id) Returns
True if the currently focused control has id "id".

Parameters

id - The id of the control.
Control.IsEnabled(id) Returns
True if the control with id "id" is enabled.

Parameters

id - The id of the control.
Control.IsVisible(id) Returns
True if the control with id "id" is visible.

Parameters

id - The id of the control.
ControlGroup(group).HasFocus(id) Returns
True if the control group with id “group” has control id “id” as its focused item.

Parameters

group - The id of the group.
id - The id of the focused item.

Note
If “id” is not present, or is 0, then it will return true if the currently focused control is in the control group with id “group”.
If the control group with id “group” does not have focus, then this will still return true if the last focused item in the group had control id “id”.
WARNING
Avoid using IDs 9000-9999 as this is the range assigned to groups with no ID value.

Integer

Labels Description Version
Integer.IsEqual(info,number) Returns true if the value of the infolabel is equal to the supplied number.
Example: Integer.IsEqual(ListItem.Year,2000)
v17
Integer.IsEven(info) Returns true if the value of the infolabel is even.
Example: Integer.IsEven(ListItem.CurrentItem)
v19
Integer.IsGreater(info,number) Returns true if the value of the infolabel is greater than to the supplied number.
Example: Integer.IsGreater(ListItem.Year,2000)
v17
Integer.IsGreaterOrEqual(info,number) Returns true if the value of the infolabel is greater or equal to the supplied number.
Example: Integer.IsGreaterOrEqual(ListItem.Year,2000)
v17
Integer.IsLess(info,number) Returns true if the value of the infolabel is less than the supplied number.
Example: Integer.IsLess(ListItem.Year,2000)
v17
Integer.IsLessOrEqual(info,number) Returns true if the value of the infolabel is less or equal to the supplied number.
Example: Integer.IsLessOrEqual(ListItem.Year,2000)
v17
Integer.IsOdd(info) Returns true if the value of the infolabel is odd.
Example: Integer.IsOdd(ListItem.CurrentItem)
v19

Library

Labels Description Version
Library.HasContent(string) Returns true if the Kodi libraries have the content from string. Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets, BoxSets)
Library.IsScanningMusic Returns true if the music library is being updated
Library.IsScanningVideo Returns true if the video library is being updated
Library.HasContent(Role,Composer) Tag can be Composer, Conductor, Orchestra, Lyricist, Remixer, Arranger, Engineer, Producer, DJMixer or Mixer. Returns true if there are any artists with that role in the library v17
Library.HasNode(path) Returns True if the specified node is available (example: Library.HasNode(library://video/movies/titles.xml)) v19

ListItem

Labels Description Version
ListItem.HasVideoVersions Returns true if the ListItem has video versions
ListItem.HasVideoExtras Returns true if the ListItem has video extras
ListItem.IsFolder Returns whether the current ListItem is a folder
ListItem.IsPlaying Returns whether the current ListItem.* info labels and images are currently Playing media
ListItem.IsResumable Returns true when the current ListItem has been partially played
ListItem.IsCollection Returns true when the current ListItem is a movie set
ListItem.IsSelected Returns whether the current ListItem is selected (f.e. currently playing in playlist window)
ListItem.HasArchive Returns True when the selected channel has a server-side back buffer (PVR) v19
ListItem.HasEpg Returns true when the selected programme has epg info (PVR)
ListItem.HasReminder Returns True if the item has a reminder set (PVR) v19
ListItem.HasReminderRule Returns True if the item was scheduled by a reminder timer rule (PVR) v19
ListItem.HasTimer Returns true when a recording timer has been set for the selected programme (PVR)
ListItem.IsRecording Returns true when the selected programme is being recorded (PVR)
ListItem.IsEncrypted Returns true when the selected programme is encrypted (PVR)
ListItem.IsStereoscopic Returns true when the selected video is a 3D (stereoscopic) video
ListItem.Property(Stream.Is3D) Returns true if the video stream is a 3D (stereoscopic) video, for use in dialogselect.xml v22
ListItem.Property(Stream.IsDefault) Returns true if the audio/video/subtitle stream is default, for use in dialogselect.xml v22
ListItem.Property(Stream.IsExternal) Returns true if the subtitle stream is external, for use in dialogselect.xml v22
ListItem.Property(Stream.IsForced) Returns true if the audio/subtitle stream is forced, for use in dialogselect.xml v22
ListItem.Property(Stream.IsHearingImpaired) Returns true if the subtitle stream is for the hearing impaired (aka SDH-Subtitles for the Deaf or Hard-of-Hearing/CC-Closed Captions), for use in dialogselect.xml v22
ListItem.Property(Stream.IsOriginal) Returns true if the audio/subtitle stream is in the original language, for use in dialogselect.xml v22
ListItem.Property(Stream.IsVisualImpaired) Returns true if the audio stream is for the visually impaired (aka AD-Audio Description), for use in dialogselect.xml v22
ListItem.Property(IsSpecial) Returns whether the current Season/Episode is a Special
ListItem.Property(DateLabel) Can be used in the rulerlayout of the epggrid control. Will return true if the item is a date label, returns false if the item is a time label.
ListItem.Property(Addon.IsEnabled) Returns true when the selected addon is enabled (for use in the addon info dialog only).
ListItem.Property(Addon.IsInstalled) Returns true when the selected addon is installed (for use in the addon info dialog only).
ListItem.Property(Addon.HasUpdate) Returns true when there's an update available for the selected addon.
ListItem.HasTimerSchedule Whether the item is part of a repeating timer schedule (PVR). v16
ListItem.TimerHasError Whether the item has a timer and it won't be recorded because of an error (PVR). v17
ListItem.TimerHasConflict Whether the item has a timer and it won't be recorded because of a conflict (PVR). v17
ListItem.TimerIsActive Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR). v17
ListItem.Property(Addon.Orphaned) Returns true if the slected addon is orphaned (not needed anymore by any other addon) v17
ListItem.IsParentFolder Returns true is the slected item is the 'up' item v17
ListItem.IsNew Returns true if the item is a premiere (for example, a Live TV show that will be first aired) (PVR) v19
ListItem.IsPlayable Returns True when the selected programme can be played (PVR) v19
ListItem.IsBoxset Returns True if the item is part of a boxset album v19
ListItem.IsPremiere Returns true if the item is a premiere (for example, a Movie first showing or season first on Live TV) v19
ListItem.IsFinale Returns true if the item is a finale (for example, a season finale showing on Live TV) v19
ListItem.IsLive Returns true if the item is live (for example, a Live TV sports event) v19
ListItem.Property(Addon.IsFromOfficialRepo) Returns true if the addon is from an official repository v19
ListItem.Property(Addon.IsBinary) Returns true for binary addons v19
ListItem.Property(Addon.IsUpdate) Returns True if this add-on is a valid update of an installed outdated add-on v19
ListItem.IsAutoUpdateable Returns True if this add-on can be updated automatically v19

Network

InfoLabels Description Version
Network.IsDHCP Returns
The type of network.

Note
Network type can be either DHCP or FIXED.

Player

Labels Description Version
Player.HasMedia Returns true if the player has an audio or video file.
Player.HasAudio Returns true if the player has an audio file.
Player.HasDuration Returns true if Media isn't a true stream
Player.HasVideo Returns true if the player has a video file.
Player.Passthrough Returns true if the player is using audio passthrough.
Player.Playing Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)
Player.Paused Returns true if the player is paused.
Player.Forwarding Returns true if the player is fast forwarding.
Player.Forwarding2x Returns true if the player is fast forwarding at 2x.
Player.Forwarding4x Returns true if the player is fast forwarding at 4x.
Player.Forwarding8x Returns true if the player is fast forwarding at 8x.
Player.Forwarding16x Returns true if the player is fast forwarding at 16x.
Player.Forwarding32x Returns true if the player is fast forwarding at 32x.
Player.Rewinding Returns true if the player is rewinding.
Player.Rewinding2x Returns true if the player is rewinding at 2x.
Player.Rewinding4x Returns true if the player is rewinding at 4x.
Player.Rewinding8x Returns true if the player is rewinding at 8x.
Player.Rewinding16x Returns true if the player is rewinding at 16x.
Player.Rewinding32x Returns true if the player is rewinding at 32x.
Player.PauseEnabled Returns true if the currently playing stream can be paused.
Player.Caching Returns true if the player is current re-caching data (internet based video playback).
Player.DisplayAfterSeek Returns true for the first 2.5 seconds after a seek.
Player.Seeking Returns true if a seek is in progress
Player.SeekEnabled Returns true if player can seek
Player.ShowTime Returns true if the user has requested the time to show (occurs in video fullscreen)
Player.ShowInfo Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)
Player.IsInternetStream Returns true if the player is playing an internet stream.
Player.Muted Returns true if the volume is muted.
Player.Process(videohwdecoder) Returns true if the currently playing video is decoded in hardware v17
Player.TempoEnabled Returns true if the current player supports changing the playback speed v17
Player.IsTempo Returns true if the current playbackspeed is not equal to 1 v17
Player.HasGame Returns true if the player is playing a game v18
Player.HasResolutions Returns true when multiple resolutions are available v18
Player.FrameAdvance Returns true if player is in frame advance mode v18
Player.ChannelPreviewActive Returns true if PVR channel preview is active (used channel tag different from played tag)

MusicPlayer

Labels Description Version
MusicPlayer.HasNext Returns true if the music player has a next song queued in the Playlist.
MusicPlayer.HasPrevious Returns true if the music player has a a Previous Song in the Playlist .
MusicPlayer.Offset(number).Exists Returns true if the music players playlist has a song queued in position (number).
MusicPlayer.Content(parameter) Returns true if the current audio you are playing matches the specified content. The following values are accepted: files, livetv
MusicPartyMode.Enabled Returns true if Party Mode is enabled
MusicPlayer.IsMultiDisc Returns true if the current album consists of two or more discs v19

VideoPlayer

Labels Description Version
VideoPlayer.HasVideoVersions Returns true if the currently playing video has versions. v21
VideoPlayer.UsingOverlays Returns true if the video player is using the hardware overlays render method. Useful, as with hardware overlays you have no alpha blending to the video image, so shadows, etc. need redoing, or disabling.
VideoPlayer.IsFullscreen Returns true if the video player is in fullscreen mode.
VideoPlayer.HasMenu Returns true if the video player has a menu (ie is playing a DVD)
VideoPlayer.HasInfo Returns true if the current playing video has information from the library or from a plugin (e.g. director, plot, etc).
VideoPlayer.Content(parameter) Returns true if the current Video you are playing is contained in corresponding Video Library sections. The following values are accepted : files, movies, episodes, musicvideos, livetv
VideoPlayer.HasSubtitles Returns true if there are subtitles available for video. (available for version 11.0 and above)
VideoPlayer.IsStereoscopic Returns true when the currently playing video is a 3D (stereoscopic) video
VideoPlayer.SubtitlesEnabled Returns true if subtitles are turned on for video. (available for version 11.0 and above)
VideoPlayer.HasEpg Returns true when epg information is available for the currently playing programme (PVR).
VideoPlayer.HasTeletext Returns true when teletext is available.

PlayList

Labels Description Version
Playlist.IsRandom Returns true if the player is in random mode.
Playlist.IsRepeat Returns true if the player is in repeat all mode.
Playlist.IsRepeatOne Returns true if the player is in repeat one mode.

PVR

Labels Description Version
Pvr.HasTimer Returns true when a recording timer is active.
Pvr.HasNonRecordingTimer Returns true when a non recording timer is active.
Pvr.HasTVChannels Returns true if there are tv channels available
Pvr.HasRadioChannels Returns true if there are radio channels available
Pvr.IsPlayingTv Returns true when live tv is being watched.
Pvr.IsPlayingRadio Returns true when live radio is being listened to.
Pvr.IsPlayingRecording Returns true when a recording is being watched.
Pvr.IsRecording Returns true when the system is recording a tv programme.
Pvr.IsTimeShift Returns true when the playback is timeshifted.
Pvr.ActStreamIsEncrypted Returns true if the stream is encrypted
Pvr.RadioNextRecordingChannelIcon Icon of the next recording radio channel v17
Pvr.IsRecordingTV Returns true when the system is recording a tv programme. v17
Pvr.HasTVTimer Returns true if at least one tv timer is active. v17
Pvr.HasNonRecordingTVTimer Returns true if there are tv timers present who currently not do recording v17
Pvr.IsRecordingRadio Returns true when the system is recording a radio programme. v17
Pvr.HasRadioTimer Returns true if at least one radio timer is active. v17
Pvr.HasNonRecordingRadioTimer Returns true if there are radio timers present who currently not do recording v17
Pvr.CanRecordPlayingChannel Returns true if the player can record the current internet stream. v18
Pvr.IsRecordingPlayingChannel Returns true if the player is recording the current internet stream. v18
Pvr.IsPlayingActiveRecording Returns true when Kodi is currently playing a recording that is in progress. v19

RDS

Labels Description Version
RDS.HasRds Returns true if RDS is present
RDS.HasRadioText Returns true if RDS contains also Radiotext
RDS.HasRadioTextPlus Returns true if RDS with Radiotext contains also the plus information
RDS.HasHotline Returns true if a hotline phone number is present (Only be available on RadiotextPlus)
RDS.HasStudio Returns true if a studio name is present (Only be available on RadiotextPlus)

Skin

Labels Description Version
Skin.HasTheme(theme) Returns true if the user has selected the theme with name ?theme?.
Skin.HasSetting(setting) Returns the state of the skin-specified setting ?setting?. You can toggle a setting from a button by using <onclick>Skin.ToggleSetting(setting)</onclick>.
Skin.String(string) Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is non-empty.
Skin.String(string1,string2) Same as String.IsEqual(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.

SlideShow

Labels Description Version
Slideshow.IsActive Returns true if the picture slideshow is running
Slideshow.IsPaused Returns true if the picture slideshow is paused
Slideshow.IsRandom Returns true if the picture slideshow is in random mode
Slideshow.IsVideo Returns true if the picture slideshow is playing a video

String

Labels Description Version
String.IsEmpty(info) Returns true if the info is empty.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[]. Also note that in a panelview or similar this only works on the focused item.
v17
String.IsEqual(info,string) Returns true if the info is equal to the given string.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.StartsWith(info,substring) Returns true if the info starts with the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.EndsWith(info,substring) Returns true if the info ends with the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17
String.Contains(info,substring) Returns true if the info contains the given substring.
Example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.
v17

System

Labels Description Version
System.AddonIsEnabled(id) Returns true if the specified addon is enabled on the system v19
System.HasAddon(id) Returns true if the specified addon is installed on the system.
System.HasPVRAddon Returns true if at least one PVR addon is installed on the system.
System.HasAlarm(alarm) Returns true if the system has the ?alarm? alarm set.
System.AlarmLessOrEqual(alarmname,seconds) Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.
System.HasNetwork Returns true if the ethernet cable is plugged in.
System.InternetState Returns true if the system is connected to the internet, returns false in case no internet connection is available.
System.HasMediadvd Returns true if there is a CD or DVD in the DVD-ROM drive.
System.HasMediaAudioCD Returns true if there is an audio CD in the optical drive. False if no drive available, empty drive or other medium. v18
System.IdleTime(time) Returns true if Kodi has had no input for ?time? amount of seconds.
System.IsStandalone Returns true if Kodi is running in standalone mode.
System.IsFullscreen Returns true if Kodi is running fullscreen.
System.IsLoggedOn Returns true if a user is currently logged on under a profile
System.HasLoginScreen Returns true if the profile login screen is enabled
System.HasActiveModalDialog Returns true true when a modal dialog is active, disregarding any animations (Leia (v18) and newer versions) v18
System.HasVisibleModalDialog Returns true if a modal dialog is visible, e.g. when the animations are finished (Leia (v18) and newer versions) v18
System.Time(startTime,endTime) Returns true if the current system time is >= startTime and < endTime. endTime is optional. Time must be specified in the format HH:mm, using a 24 hour clock.
System.Date(startDate,endDate) Returns true if the current system date is >= startDate and < endDate. endDate is optional. Date must be specified in the format MM-DD.
System.Platform.Linux Returns true if Kodi is running on a linux/unix based computer.
System.Platform.Windows Returns true if Kodi is running on a windows based computer.
System.Platform.OSX Returns true if Kodi is running on an OSX based computer.
System.Platform.IOS Returns true if Kodi is running on an IOS device.
System.Platform.Darwin Returns true if Kodi is running on an OSX or IOS system.
System.Platform.Android Returns true if Kodi is running on an android device.
System.Platform.UWP Returns true if Kodi is running on Universal Windows Platform (UWP). v18
System.CanPowerDown Returns true if Kodi can powerdown the system.
System.CanSuspend Returns true if Kodi can suspend the system.
System.CanHibernate Returns true if Kodi can hibernate the system.
System.HasHiddenInput Return true when to osd keyboard/numeric dialog requests a password/pincode.
System.CanReboot Returns true if Kodi can reboot the system.
System.ScreenSaverActive Returns true if ScreenSaver is active.
System.Setting(hidewatched) Returns true if 'hide watched items' is selected.
System.IsInhibit Returns true when shutdown on idle is disabled.
System.HasShutdown Returns true when shutdown on idle is enabled.
System.HasCMS Returns true if colour management is supported in Kodi. v17
System.GetBool(boolean) Returns the value of any standard system boolean setting. Will not work with settings in advancedsettings.xml
System.HasLocks Returns true if the profile has lock preferences configured
System.IsMaster Returns true if the profile has entered the master mode
System.SupportsCPUUsage Return True if the system provides CPU info v19

Visualisation

Labels Description Version
Visualisation.Enabled Returns true if any visualisation has been set in settings (so not None).
Visualisation.HasPresets Returns true if the visualisation has built in presets.
Visualisation.Locked Returns true if the current visualisation preset is locked (e.g. in Milkdrop.)

Weather

Labels Description Version
Weather.IsFetched Returns true if the weather data has been downloaded.

Window

Labels Description Version
Window.IsVisible(window) Returns true if the window is visible (includes fade out time on dialogs)
Window.IsActive(window) Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) See here for a list of windows
Window.IsTopMost(window) Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) See here for a list of windows
Window.IsMedia Returns true if this window is a media window (programs, music, video, scripts, pictures)
Window.Next(window) Returns true if the window with id or title ?window? is being moved to. See here for a list of windows. Only valid while windows are changing.
Window.Previous(window) Returns true if the window with id or title ?window? is being moved from. See here for a list of windows. Only valid while windows are changing.
Window.Is(name) Useful in xml files that are shared between multiple windows/dialogs. Will return true if the window with the given name is visible v17


See also

Development:


Return to top