USAnick

theme_or

Jan 17th, 2026
1,903
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.60 KB | None | 0 0
  1. <!--
  2. theme name: Art Book Next (Batocera Edition)
  3. author: Anthony Caccese
  4. contributor: Szalik
  5. license: creative commons CC-BY-NC-SA
  6. -->
  7.  
  8. <theme defaultTransition="instant">
  9. <formatVersion>7</formatVersion>
  10.  
  11. <!-- User Customizations -->
  12. <include>${themeCustomizationsPath}theme.xml</include>
  13.  
  14. <!-- Distribution -->
  15. <subset ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="distribution" displayName="Distribution">
  16. <include name="batocera" displayName="Batocera" />
  17. <include name="emuelec" displayName="EmuElec" />
  18. <include name="retrobat" displayName="RetroBat" />
  19. </subset>
  20.  
  21. <!-- Variables -->
  22. <variables>
  23. <logoFont>./_inc/fonts/ChangaOne-Italic.ttf</logoFont>
  24. <bodyFont>./_inc/fonts/Oxygen-Bold.ttf</bodyFont>
  25. <spacerImage>./_inc/images/utility/space.png</spacerImage>
  26. <distributionPath ifSubset="distribution:batocera">~/</distributionPath>
  27. <distributionPath ifSubset="distribution:emuelec">~/roms/emuelec/</distributionPath>
  28. <distributionPath ifSubset="distribution:retrobat">~/.emulationstation/</distributionPath>
  29. <distributionPath ifArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v">~/roms/jelos/</distributionPath>
  30. <distributionPath ifArch="amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v">~/roms/amberelec/</distributionPath>
  31. <themeCustomizationsPath>${distributionPath}theme-customizations/art-book-next/</themeCustomizationsPath>
  32. </variables>
  33.  
  34. <!-- Aspect Ratio -->
  35. <subset name="aspect-ratio" displayName="Aspect Ratio">
  36. <include ifArch="rg552,amberelec-rg552" name="5-3" displayName="5:3" />
  37. <include ifArch="rg351p,amberelec-rg351p" name="3-2" displayName="3:2" />
  38. <include ifArch="rg353p,rg351mp,rg351v,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
  39. <include ifArch="handheld,rg353p,rg503,rg552,amberelec-rg353,amberelec-rg503,amberelec-rg552" name="16-9" displayName="16:9" />
  40. <include ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="16-9" displayName="16:9" />
  41. <include ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
  42. <include ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="5-3" displayName="5:3" />
  43. <include ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="3-2" displayName="3:2" />
  44. <include ifNotArch="handheld,rg503,rg552,rg351p,rg353p,rg351mp,rg351v,amberelec-rg503,amberelec-rg552,amberelec-rg351p,amberelec-rg353p,amberelec-rg351mp,amberelec-rg351v" name="16-10" displayName="16:10" />
  45. </subset>
  46.  
  47. <!-- Color Scheme -->
  48. <subset name="color-scheme" displayName="Color Scheme">
  49. <include name="art-book-next" displayName="Art Book Next">./color-scheme-art-book-next.xml</include>
  50. <include name="art-book" displayName="Art Book">./color-scheme-art-book.xml</include>
  51. <include name="snes" displayName="SNES">./color-scheme-snes.xml</include>
  52. <include name="famicom" displayName="Famicom">./color-scheme-famicom.xml</include>
  53. <include name="steam-deck" displayName="Steam Deck">./color-scheme-steam-deck.xml</include>
  54. <include name="custom" displayName="Custom" />
  55. </subset>
  56.  
  57. <!-- Scroll Sound -->
  58. <subset name="scroll-sound" displayName="Scroll Sound">
  59. <include name="steam-deck" displayName="Steam Deck" />
  60. <include name="es-de" displayName="ES-DE" />
  61. </subset>
  62.  
  63. <!-- Status Bar Display -->
  64. <subset name="status-bar" displayName="Status Bar Display">
  65. <include name="on" displayName="On" />
  66. <include name="off" displayName="Off" />
  67. </subset>
  68.  
  69. <!-- System View Style -->
  70. <subset name="system-view" displayName="System View Style">
  71. <include name="centered-default" displayName="Centered + Multi Logo" />
  72. <include name="multi" displayName="Multi System" />
  73. <include name="centered-single" displayName="Centered + Single Logo" />
  74. <include name="no-artwork" displayName="No Artwork" />
  75. <include name="centered-custom" displayName="Centered + Custom Artwork" />
  76. <include name="fullscreen-custom" displayName="Fullscreen + Custom Artwork" />
  77. </subset>
  78.  
  79. <view name="system,basic,detailed,video">
  80. <helpsystem name="help">
  81. <pos>1 1</pos>
  82. </helpsystem>
  83. <image name="logo">
  84. <path>./_inc/images/systems/${system.theme}.svg</path>
  85. </image>
  86. <text name="logoText">
  87. <fontPath>${logoFont}</fontPath>
  88. <forceUppercase>true</forceUppercase>
  89. <lineSpacing>1</lineSpacing>
  90. <alignment>center</alignment>
  91. <color>${logoTextColor}</color>
  92. </text>
  93. <image ifSubset="status-bar:on" name="status-bar" extra="true">
  94. <origin>1 0</origin>
  95. <pos>1 0</pos>
  96. <size ifSubset="aspect-ratio:4-3">.14 .08</size>
  97. <size ifSubset="aspect-ratio:5-3">.110 .08</size>
  98. <size ifSubset="aspect-ratio:3-2">.160 .12</size>
  99. <size ifSubset="aspect-ratio:16-9|16-10">.115 .08</size>
  100. <path>${spacerImage}</path>
  101. <tile>true</tile>
  102. <color>${systemBackgroundColor}</color>
  103. <zIndex>50</zIndex>
  104. </image>
  105. </view>
  106.  
  107. <view name="system">
  108. <image name="background" extra="true">
  109. <origin>0 0</origin>
  110. <pos>0 0</pos>
  111. <size>1 1</size>
  112. <path>${spacerImage}</path>
  113. <tile>true</tile>
  114. <color>${systemBackgroundColor}</color>
  115. <zIndex>0</zIndex>
  116. </image>
  117. <carousel name="systemcarousel">
  118. <origin>0 0</origin>
  119. <pos>0 0</pos>
  120. <type>horizontal</type>
  121. <color>00000000</color>
  122. <size>1 1</size>
  123. <logoScale>2</logoScale>
  124. <logoSize>0.25 0.15</logoSize>
  125. <maxLogoCount>1.5</maxLogoCount>
  126. <maxLogoCount ifSubset="system-view:centered-single">1</maxLogoCount>
  127. </carousel>
  128. <text name="systemInfo">
  129. <pos>1 1</pos>
  130. </text>
  131. <!-- System View Mask: Centered, Centered Single System & Centered Custom -->
  132. <image ifSubset="system-view:centered-default|centered-single|centered-custom" name="background-art-mask" extra="true">
  133. <origin>0.5 0</origin>
  134. <pos>0.5 0</pos>
  135. <size>0 1</size>
  136. <zIndex>2</zIndex>
  137. <color>${systemBackgroundColor}</color>
  138. </image>
  139. <!-- System View Art: Centered, Centered Single System, Centered Custom & Fullscreen Custom -->
  140. <image ifSubset="system-view:centered-default|centered-single" name="background-art" extra="true">
  141. <origin>0.5 0.5</origin>
  142. <pos>0.5 0.5</pos>
  143. <size>0 1</size>
  144. <color>ffffffcc</color>
  145. <path>./_inc/images/systems/${system.theme}.png</path>
  146. <zIndex>1</zIndex>
  147. </image>
  148. <image ifSubset="system-view:centered-custom|fullscreen-custom" name="background-art" extra="true">
  149. <origin>0.5 0.5</origin>
  150. <pos>0.5 0.5</pos>
  151. <size>0 1</size>
  152. <color>ffffffcc</color>
  153. <path ifSubset="system-view:centered-custom">./_inc/images/systems/${system.theme}.png</path>
  154. <path>${themeCustomizationsPath}backgrounds/default.jpg</path>
  155. <path>${themeCustomizationsPath}backgrounds/default.png</path>
  156. <path>${themeCustomizationsPath}backgrounds/${system.theme}.jpg</path>
  157. <path>${themeCustomizationsPath}backgrounds/${system.theme}.png</path>
  158. <zIndex>1</zIndex>
  159. </image>
  160. <!-- System View: No Artwork -->
  161. <image ifSubset="system-view:no-artwork" name="background-art" extra="true">
  162. <origin>0.5 0</origin>
  163. <pos>0.5 0</pos>
  164. <size>1 1</size>
  165. <tile>true</tile>
  166. <color>${systemBackgroundColor}</color>
  167. <path>${spacerImage}</path>
  168. <zIndex>1</zIndex>
  169. </image>
  170. <!-- System View: Multi System -->
  171. <carousel ifSubset="system-view:multi" name="systemcarousel">
  172. <size>1 1</size>
  173. <logoScale>1</logoScale>
  174. <logoSize>1 1</logoSize>
  175. <zIndex>3</zIndex>
  176. </carousel>
  177. <image ifSubset="system-view:multi" name="logo-art" extra="true">
  178. <origin>0.5 0.5</origin>
  179. <pos>0.5 0.5</pos>
  180. <maxSize>0.5 0.3</maxSize>
  181. <color>ffffff</color>
  182. <path>./_inc/images/systems/${system.theme}.svg</path>
  183. <zIndex>50</zIndex>
  184. </image>
  185. <image ifSubset="system-view:multi" name="logo">
  186. <path>./_inc/images/utility/background-missing.png</path>
  187. <path>./_inc/images/systems/${system.theme}.png</path>
  188. <color>ffffffcc</color>
  189. </image>
  190. </view>
  191.  
  192. <view name="basic,detailed,video">
  193. <image name="logo">
  194. <origin>0.5 0.5</origin>
  195. <color>${logoColor}</color>
  196. <zIndex>5</zIndex>
  197. </image>
  198. <text name="logoText">
  199. <origin>0.5 0.5</origin>
  200. <color>${logoTextColor}</color>
  201. <zIndex>5</zIndex>
  202. </text>
  203. <textlist name="gamelist">
  204. <origin>0 0</origin>
  205. <alignment>left</alignment>
  206. <fontPath>${bodyFont}</fontPath>
  207. <selectorColor>00000000</selectorColor>
  208. <selectedColor>${gamelistSelectedColor}</selectedColor>
  209. <primaryColor>${gamelistUnSelectedColor}</primaryColor>
  210. <secondaryColor>${gamelistUnSelectedColor}</secondaryColor>
  211. <scrollSound ifSubset="scroll-sound:es-de">./_inc/sounds/es-de/scroll.wav</scrollSound>
  212. <scrollSound ifSubset="scroll-sound:steam-deck">./_inc/sounds/steam-deck/scroll.wav</scrollSound>
  213. <zIndex>5</zIndex>
  214. </textlist>
  215. <image name="gamelist-background" extra="true">
  216. <origin>0 0</origin>
  217. <path>${spacerImage}</path>
  218. <tile>true</tile>
  219. <color>${gamelistBackgroundColor}</color>
  220. <zIndex>4</zIndex>
  221. </image>
  222. <image name="background" extra="true">
  223. <origin>0 0</origin>
  224. <pos>0 0</pos>
  225. <size>1 1</size>
  226. <path>${spacerImage}</path>
  227. <tile>true</tile>
  228. <color>${backgroundColor}</color>
  229. <zIndex>0</zIndex>
  230. </image>
  231. </view>
  232.  
  233. <view name="detailed,video">
  234. <text name="md_lbl_rating,md_lbl_developer,md_developer,md_lbl_publisher,md_publisher,md_lbl_playcount,md_playcount,md_lbl_lastplayed,md_lbl_players,md_players,md_lbl_releasedate,md_lbl_genre,md_genre,md_description,md_name,md_lbl_gametime,md_gametime">
  235. <pos>1 1</pos>
  236. <fontPath>${bodyFont}</fontPath>
  237. <alignment>left</alignment>
  238. </text>
  239. <text name="md_genre,md_lbl_players,md_players">
  240. <color>${metadataColor}</color>
  241. </text>
  242. <text name="md_description">
  243. <color>${descriptionColor}</color>
  244. </text>
  245. <text name="md_lbl_lastplayed,md_lbl_playcount,md_playcount,md_lbl_developer,md_developer,md_lbl_publisher,md_publisher,md_lbl_gametime,md_gametime">
  246. <color>${metadataColor}</color>
  247. </text>
  248. <datetime name="md_releasedate,md_lastplayed">
  249. <pos>1 1</pos>
  250. <fontPath>${bodyFont}</fontPath>
  251. <color>${metadataColor}</color>
  252. <alignment>left</alignment>
  253. </datetime>
  254. <rating name="md_rating">
  255. <pos>1 1</pos>
  256. <color>${ratingColor}</color>
  257. </rating>
  258. </view>
  259.  
  260. <view name="video">
  261. <video name="md_video">
  262. <origin>0.5 0.5</origin>
  263. <delay>2</delay>
  264. <effect>none</effect>
  265. <showSnapshotDelay>true</showSnapshotDelay>
  266. <showSnapshotNoVideo>true</showSnapshotNoVideo>
  267. <zIndex>1</zIndex>
  268. </video>
  269. </view>
  270.  
  271. <view name="menu">
  272. <menuText name="menutitle">
  273. <fontPath>${bodyFont}</fontPath>
  274. <fontSize>0.04</fontSize>
  275. <color>ffffff</color>
  276. </menuText>
  277. <menuText name="menufooter">
  278. <fontPath>${bodyFont}</fontPath>
  279. <fontSize>0.025</fontSize>
  280. <color>777777ff</color>
  281. </menuText>
  282. <menuText name="menutext">
  283. <fontPath>${bodyFont}</fontPath>
  284. <fontSize>0.035</fontSize>
  285. <color>777777</color>
  286. <separatorColor>111111</separatorColor>
  287. <selectorColor>555555</selectorColor>
  288. <selectedColor>ffffff</selectedColor>
  289. </menuText>
  290. <menuTextSmall name="menutextsmall">
  291. <fontPath>${bodyFont}</fontPath>
  292. <fontSize>0.0325</fontSize>
  293. <color>777777</color>
  294. </menuTextSmall>
  295. <menuGroup name="menugroup">
  296. <fontPath>${bodyFont}</fontPath>
  297. <fontSize>0.0325</fontSize>
  298. <color>ffffff</color>
  299. <separatorColor>999999</separatorColor>
  300. <backgroundColor>00000000</backgroundColor>
  301. <lineSpacing>2.5</lineSpacing>
  302. </menuGroup>
  303. <menuBackground name="menubg">
  304. <color>111111</color>
  305. <cornerSize>20 20</cornerSize>
  306. </menuBackground>
  307. </view>
  308.  
  309. <view name="screen">
  310. <text name="clock">
  311. <pos>1 1</pos>
  312. </text>
  313. <batteryIndicator name="batteryIndicator">
  314. <color>ffffff99</color>
  315. <itemSpacing>0</itemSpacing>
  316. </batteryIndicator>
  317. <batteryIndicator ifSubset="aspect-ratio:5-3|16-9|16-10" name="batteryIndicator">
  318. <pos>0.022 0.011</pos>
  319. <pos ifSubset="status-bar:off">1 1</pos>
  320. <size ifSubset="aspect-ratio:5-3">0.969981238273921 0.046875</size><!-- 1862.36397748592832 54 - sized off of 1920x1152 to make the icon clear -->
  321. <size ifSubset="aspect-ratio:16-9|16-10">0.969981238273921 0.05</size><!-- 1862.36397748592832 54 - sized off of 1920x1080 to make the icon clear -->
  322. <full>./_inc/images/utility/icons/bigscreen/battery-100-vertical.svg</full>
  323. <at75>./_inc/images/utility/icons/bigscreen/battery-75-vertical.svg</at75>
  324. <at50>./_inc/images/utility/icons/bigscreen/battery-50-vertical.svg</at50>
  325. <at25>./_inc/images/utility/icons/bigscreen/battery-25-vertical.svg</at25>
  326. <empty>./_inc/images/utility/icons/bigscreen/battery-0-vertical.svg</empty>
  327. <incharge>./_inc/images/utility/icons/bigscreen/battery-charging-vertical.svg</incharge>
  328. <networkIcon>./_inc/images/utility/icons/bigscreen/wifi-vertical.svg</networkIcon>
  329. </batteryIndicator>
  330. <batteryIndicator ifSubset="aspect-ratio:3-2|4-3" name="batteryIndicator">
  331. <pos ifSubset="aspect-ratio:3-2">0.016666666666667 0.025</pos>
  332. <size ifSubset="aspect-ratio:3-2">0.966666666666667 0.0625</size><!-- 464 20 - sized off of 480x320 to make the icon clear -->
  333. <pos ifSubset="aspect-ratio:4-3">0.036 0.012</pos>
  334. <size ifSubset="aspect-ratio:4-3">0.953125 0.05</size><!-- 610 24 - sized off of 640x480 to make the icon clear -->
  335. <pos ifSubset="status-bar:off">1 1</pos>
  336. <full>./_inc/images/utility/icons/tinyscreen/battery-100-vertical.svg</full>
  337. <at75>./_inc/images/utility/icons/tinyscreen/battery-75-vertical.svg</at75>
  338. <at50>./_inc/images/utility/icons/tinyscreen/battery-50-vertical.svg</at50>
  339. <at25>./_inc/images/utility/icons/tinyscreen/battery-25-vertical.svg</at25>
  340. <empty>./_inc/images/utility/icons/tinyscreen/battery-0-vertical.svg</empty>
  341. <incharge>./_inc/images/utility/icons/tinyscreen/battery-charging-vertical.svg</incharge>
  342. <networkIcon>./_inc/images/utility/icons/tinyscreen/wifi-vertical.svg</networkIcon>
  343. </batteryIndicator>
  344. <controllerActivity name="controllerActivity">
  345. <visible>false</visible>
  346. </controllerActivity>
  347. </view>
  348.  
  349. <!-- Aspect Ratio -->
  350. <include ifSubset="aspect-ratio:16-9">./aspect-ratio-16-9.xml</include>
  351. <include ifSubset="aspect-ratio:4-3">./aspect-ratio-4-3.xml</include>
  352. <include ifSubset="aspect-ratio:5-3">./aspect-ratio-5-3.xml</include>
  353. <include ifSubset="aspect-ratio:3-2">./aspect-ratio-3-2.xml</include>
  354. <include ifSubset="aspect-ratio:16-10">./aspect-ratio-16-10.xml</include>
  355.  
  356. <!-- User Customizations -->
  357. <include>${themeCustomizationsPath}theme.xml</include>
  358.  
  359. </theme>
Advertisement