epgsearchuservars.conf(5)
β¨ epgsearchuservars.conf β¨
okay so you're looking at the epgsearchuservars.conf manual page, bestie β this is the EPGSearch Version 2.4.6 docs and we're about to make user-defined variables make sense. stick with me π
π NAME
epgsearchuservars.conf β user-defined variables. literally just vibes and variables, no cap π
πΈ DESCRIPTION
This file is where you define variables that you can then use all over EPGSearch, anywhere variables are applicable. like, for example: the default recording directory of a manually created timer, the recording directory of a search timer, or a customized EPG menu. it's giving "one config file to rule them all" π
π¦ SYNTAX
A variable has the syntax '%VariableName%'. its name can be made of all alphanumeric characters, but no spaces and no other special characters β keep it clean, bestie.
examples of possible names:
%Series%
%DocuVar1%
%ThemesSubtitleDate%
variable names are case-insensitive. so %Series% and %series% are the same girlie, periodt.
π Assignment
Variables always get assigned strings, and the spaces in those strings are retained. the examples below show exactly what I mean:
%Series%=New series~Thrillers
the variable '%Series%' gets the string "New series~Thrillers" assigned to it. and you can use that arbitrarily, like:
%Path%=%Series%
here '%Path%' gets the content of the variable '%Series%' assigned. slay.
%Path%=%Series%~Lost
and now '%Path%' contains the string "New series~Thrillers~Lost". iconic behavior, honestly.
π Conditional assignment
Simple if-then-else constructs for assignments? supported, queen. you do it with conditional expressions like 'if ? then : else'. heads up though: conditional expressions cannot contain strings β only variables β and spaces are ignored.
%Foo%=Other
%Variable%=%Path% ? %Path% : %Foo%
so for the ternary operator '?:', the expression '%Path% ?' means "path not empty?". if that's true, '%Variable%' gets assigned the content of '%Path%', else it gets the content of '%Foo%'.
other checks are supported too:
== equal
!= not equal
so, for example:
%Variable%=%Path%!=5 ? %Path% : %Foo%
the condition '%Path%!=5 ?' means "is '%Path%' not equal 5?".
and comparing variables against each other is also feasible:
%Five%=5
%Variable%=%Path%!=%Five% ? %Path% : %Foo%
chef's kiss π§
π Calling a system command
External commands can be called during variable evaluation too β the returned string gets assigned to the respective variable:
%UserVar%=system(<script-name>[, <parameters>])
this calls the script script-name with the parameters supplied in the optional list parameters. such a parameter can be an arbitrary expression, optionally containing other variables, but no system call or conditional expression. don't push it π
example:
%Result%=system(/usr/local/bin/my-script.sh, -t %Title% -s %Subtitle% -u %MyOtherVar%)
variables used as parameters will be enclosed in single quotes (apostrophes), if needed.
the script should return a string without line feeds, since their removal may cause undesired results. π if the script doesn't return anything, an empty string will be assigned to the variable '%Result%'.
π Calling a TCP service
a TCP service can be called with the following syntax:
%Result%=connect(<address>, <port>, [<data>])
this will connect to address through the given port and pass the optional data. the parameter address can be an IP address or the domain name of a TCP service. the result returned by the service must be terminated with a line feed β that part is not optional, bestie.
β Getting the length of an argument
when you're passing values to the connect or system command, it can be helpful to have the length of an argument for simple parsing. you grab the length like this:
%Result%=length(<any arguments>)
example:
%TitleLength%=length(%title%)
π Other variables
refer to epgsearchmenu.conf(5) for a list of built-in variables. furthermore, every variable defined in epgsearchcats.conf can be used; see epgsearchcats.conf(5) for details. iykyk π«Ά
π₯ Example
# Weekday, Date, Time
%DateStr%=%time_w% %date% %time%
# Themes or Subtitle or Date
%SubtitleDate%=%Subtitle% ? %Subtitle% : %DateStr%
%ThemesSubtitleDate%=%Themes% ? %Themes% : %SubtitleDate%
# Calls a script to get a recording path
%DocuScript%=system(docu.pl, -t %Title% -s %Subtitle% -e %Episode% -th %Themes% -c %Category% -g %Genre%)
%Docu%=%DocuScript%
π AUTHORS (man pages)
originally provided by Mike Constabel <epgsearch (at) constabel (dot) net>.
revised and adapted to recent plugin features by the current maintainers. giving credit where credit is due π
πΈ PROJECT SITE
the plugin is maintained as a GitHub project:
<https://github.com/vdr-projects/vdr-plugin-epgsearch/>
π¦ REPORTING BUGS
issues can be reported, and features be suggested, through the project's bug tracker:
<https://github.com/vdr-projects/vdr-plugin-epgsearch/issues/>
go off, file that bug π
π COPYRIGHT and LICENSE
Copyright (C) 2004-2010 Christian Wieninger
Copyright Β© 2011-2025 TomJoad (VDR-Portal), et al.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point your browser to <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
the original author can be reached via cwieninger@gmx.de.
current maintainers can be reached via the project's GitHub site (see above).
the MD5 code has been derived from the MD5 Message-Digest Algorithm of RSA Data Security, Inc.
fr fr read the license, it's the whole vibe check for using this thing π
β SEE ALSO
epgsearch(1), epgsearch(4), epgsearchcats.conf(5), epgsearchmenu.conf(5)
and that's the whole page, bestie π«Ά this was epgsearchuservars.conf(5), perl v5.40.1, dated 2026-04-19 β now go define some variables and absolutely slay β¨π
π
π¦ where this page comes from
- ubuntu stonking: vdr-plugin-epgsearch 2.4.6-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms