List of boolean conditions

From Official Kodi Wiki
Revision as of 18:32, 9 April 2024 by Hitcher (talk | contribs) (→‎VideoPlayer)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Home icon grey.png   ▶ Development ▶ Add-on development ▶ Skinning ▶ List of boolean conditions


Time.png THIS PAGE IS OUTDATED:

This page has become too large and complex to maintain by volunteer editors, and has been only sporadically updated over the last few years.
This page has missing data, and also shows data that has been deprecated.
Refer to the up to date Doxygen documentation


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


Container

InfoLabels Definition Version
Container.HasThumb Returns true if the current container you are in has a thumb assigned to it
Container.Content(parameter) Returns true if the current container you are in contains the following: files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags, countries, roles, images (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are Addons true when a list of add-ons is shown LiveTV true when a htsp (tvheadend) directory is shown
Container(id).OnNext Returns true if the container with id (or current container if id is omitted) is moving to the next item. Allows views to be custom-designed (such as 3D coverviews etc.)
Container(id).OnScrollNext Returns true if the container with id (or current container if id is omitted) is scrolling to the next item. Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.
Container(id).OnPrevious Returns true if the container with id (or current container if id is omitted) is moving to the previous item. Allows views to be custom-designed (such as 3D coverviews etc.)
Container(id).OnScrollPrevious Returns true if the container with id (or current container if id is omitted) is scrolling to the previous item. Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.
Container(id).HasFocus(item_number) Returns true if the container with id (or current container if id is omitted) has static content and is focused on the item with id item_number.
Container.HasFiles Returns true if the container contains files.
Container.HasFolders Returns true if the container contains folders.
Container(id).HasNext Returns true if the container or textbox with id (id) has a next page.
Container(id).HasPrevious Returns true if the container or textbox with id (id) has a previous page.
Container(id).IsUpdating Returns true if the container with dynamic list content is currently updating.
Container.IsStacked Returns true if the container is currently in stacked mode.
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.Filtered Returns true when a mediafilter is applied to the current container.
Container(id).HasParent Return true when the container with id (or current container if id is omitted) contains a parent ('..') item.
Container.SortDirection(ascending) Returns true the sort direction of a container is ascending.
Container.SortDirection(descending) Returns true the sort direction of a container is descending.
Container(id).Row(row) Returns true if the container with id (or current container if id is omitted) is focused on the row given.
Container(id).Column(col) Returns true if the container with id (or current container if id is omitted) is focused on the column given.
Container(id).Position(pos) Returns true if the container with id (or current container if id is omitted) is focused on the position given.
Container(id).Scrolling Returns true if the user is currently scrolling through the container with id (or current container if id is omitted). Note that 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 (or current container if id is omitted) is focused on the specified subitem.
Container.Sortmethod(id) Returns true if the current sort method matches the specified SortID [see list of sort methods].

Control

InfoLabels Definition Version
Control.IsEnabled(id) Returns true if the control with id "id" is enabled.
Control.IsVisible(id) Returns true if the control with id "id" is visible.
Control.HasFocus(id) Returns true if the currently focused control has id "id".
ControlGroup(group).HasFocus(id) Returns true if the control group with id “group” has control id “id” as it's focused item. 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”.Note that 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

InfoLabels Definition 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 Addition
Integer.IsEven(info) Returns true if the value of the infolabel is even.
Example: Integer.IsEven(ListItem.CurrentItem)
v19 Addition
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 Addition
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 Addition
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 Addition
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 Addition
Integer.IsOdd(info) Returns true if the value of the infolabel is odd.
Example: Integer.IsOdd(ListItem.CurrentItem)
v19 Addition

Library

InfoLabels Definition 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 addition
Library.HasNode(path) Returns True if the specified node is available (example: Library.HasNode(library://video/movies/titles.xml)) v19 addition

ListItem

InfoLabels Definition 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 addition
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 addition
ListItem.HasReminderRule returns True if the item was scheduled by a reminder timer rule (PVR) v19 addition
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(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 addition
ListItem.TimerHasError Whether the item has a timer and it won't be recorded because of an error (PVR). v17 addition
ListItem.TimerHasConflict Whether the item has a timer and it won't be recorded because of a conflict (PVR). v17 addition
ListItem.TimerIsActive Whether the item has a timer that will be recorded, i.e. the timer is enabled (PVR). v17 addition
ListItem.Property(Addon.Orphaned) Returns true if the slected addon is orphaned (not needed anymore by any other addon) v17 addition
ListItem.IsParentFolder Returns true is the slected item is the 'up' item v17 addition
ListItem.IsNew [PVR] will return true if the item is a premiere (for example, a Live TV show that will be first aired). v19 addition
ListItem.IsPlayable Returns True when the selected programme can be played (PVR) v19 addition
ListItem.IsBoxset Returns True if the item is part of a boxset album v19 addition
ListItem.IsPremiere Returns true if the item is a premiere (for example, a Movie first showing or season first on Live TV) v19 addition
ListItem.IsFinale Returns true if the item is a finale (for example, a season finale showing on Live TV) v19 addition
ListItem.IsLive Returns true if the item is live (for example, a Live TV sports event) v19 addition
ListItem.Property(Addon.IsFromOfficialRepo) Returns true if the addon is from an official repository v19 addition
ListItem.Property(Addon.IsBinary) Returns true for binary addons v19 addition
ListItem.Property(Addon.IsUpdate) Returns True if this add-on is a valid update of an installed outdated add-on v19 addition
ListItem.IsAutoUpdateable Returns True if this add-on can be updated automatically v19 addition

Player

InfoLabels Definition 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 addition
Player.TempoEnabled Returns true if the current player supports changing the playback speed v17 addition
Player.IsTempo Returns true if the current playbackspeed is not equal to 1 v17 addition
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

InfoLabels Definition 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 addition

VideoPlayer

InfoLabels Definition 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 (eg 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

InfoLabels Definition 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

InfoLabels Definition 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 Addition
Pvr.IsRecordingTV Returns true when the system is recording a tv programme. v17 Addition
Pvr.HasTVTimer Returns true if at least one tv timer is active. v17 Addition
Pvr.HasNonRecordingTVTimer Returns true if there are tv timers present who currently not do recording v17 Addition
Pvr.IsRecordingRadio Returns true when the system is recording a radio programme. v17 Addition
Pvr.HasRadioTimer Returns true if at least one radio timer is active. v17 Addition
Pvr.HasNonRecordingRadioTimer Returns true if there are radio timers present who currently not do recording v17 Addition
Pvr.CanRecordPlayingChannel Returns true if the player can record the current internet stream. v18 Addition
Pvr.IsRecordingPlayingChannel Returns true if the player is recording the current internet stream. v18 Addition
Pvr.IsPlayingActiveRecording Returns true when Kodi is currently playing a recording that is in progress. v19 Addition

RDS

InfoLabels Definition 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

InfoLabels Definition 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

InfoLabels Definition 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

InfoLabels Definition 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 Addition
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 Addition
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 Addition
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 Addition
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 Addition

System

InfoLabels Definition Version
System.AddonIsEnabled(id) Returns true if the specified addon is enabled on the system v19 addition
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 Addition
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, eg 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 Addition
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 Addition
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 Addition

Visualisation

InfoLabels Definition 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 (eg in Milkdrop.)

Weather

InfoLabels Definition Version
Weather.IsFetched Returns true if the weather data has been downloaded.

Window

InfoLabels Definition 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 addition


See also

Development:


Return to top