window.style 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. using "ui/basic.style";
  8. using "ui/widgets/widgets.style";
  9. using "chat_helpers/chat_helpers.style";
  10. using "boxes/boxes.style"; // UserpicButton
  11. windowMinWidth: 380px;
  12. windowMinHeight: 480px;
  13. windowDefaultWidth: 800px;
  14. windowDefaultHeight: 600px;
  15. windowBigDefaultWidth: 1024px;
  16. windowBigDefaultHeight: 768px;
  17. columnMinimalWidthLeft: 260px;
  18. columnMaximalWidthLeft: 540px;
  19. columnMinimalWidthMain: 380px;
  20. columnMinimalWidthThird: 292px;
  21. columnMaximalWidthThird: 392px;
  22. adaptiveChatWideWidth: 880px;
  23. notifyBorder: windowShadowFgFallback;
  24. notifyBorderWidth: 1px;
  25. notifySlowHide: 4000;
  26. notifyPhotoSize: 62px;
  27. notifyMacPhotoSize: 64px;
  28. notifyPhotoPos: point(9px, 9px);
  29. notifyClosePos: point(1px, 2px);
  30. notifyClose: IconButton {
  31. width: 30px;
  32. height: 30px;
  33. icon: smallCloseIcon;
  34. iconOver: smallCloseIconOver;
  35. iconPosition: point(10px, 10px);
  36. rippleAreaPosition: point(5px, 5px);
  37. rippleAreaSize: 20px;
  38. ripple: defaultRippleAnimationBgOver;
  39. }
  40. notifyItemTop: 12px;
  41. notifyTextLeft: 12px;
  42. notifyTextTop: 7px;
  43. notifyWaitLongHide: 3000;
  44. notifyFastAnim: 150;
  45. notifyWidth: 320px;
  46. notifyMinHeight: 80px;
  47. notifyDeltaX: 6px;
  48. notifyDeltaY: 7px;
  49. notifyActionsDuration: 200;
  50. notifyHideAllHeight: 36px;
  51. notifyReplyArea: InputField(defaultInputField) {
  52. style: defaultTextStyle;
  53. textMargins: margins(8px, 8px, 8px, 6px);
  54. heightMin: 36px;
  55. heightMax: 72px;
  56. placeholderFg: placeholderFg;
  57. placeholderFgActive: placeholderFgActive;
  58. placeholderFgError: placeholderFgActive;
  59. placeholderMargins: margins(2px, 0px, 2px, 0px);
  60. placeholderScale: 0.;
  61. placeholderFont: normalFont;
  62. border: 0px;
  63. borderActive: 0px;
  64. }
  65. notifySendReply: IconButton {
  66. width: 36px;
  67. height: 36px;
  68. icon: historySendIcon;
  69. iconOver: historySendIconOver;
  70. iconPosition: point(6px, 6px);
  71. }
  72. notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
  73. titleUnreadCounterTop: 6px;
  74. titleUnreadCounterRight: 35px;
  75. mainMenuWidth: 274px;
  76. mainMenuCoverHeight: 134px;
  77. mainMenuUserpicLeft: 24px;
  78. mainMenuUserpicTop: 20px;
  79. mainMenuUserpic: UserpicButton(defaultUserpicButton) {
  80. size: size(48px, 48px);
  81. photoSize: 48px;
  82. }
  83. mainMenuCloudButton: IconButton {
  84. width: 48px;
  85. height: 48px;
  86. icon: icon {
  87. // { "menu_cloud", mainMenuCloudFg },
  88. };
  89. iconPosition: point(22px, 22px);
  90. }
  91. mainMenuCloudSize: 32px;
  92. mainMenuResetScaleFont: font(20px semibold);
  93. mainMenuResetScaleLeft: 36px;
  94. mainMenuResetScaleRight: 12px;
  95. mainMenuResetScaleTop: 2px;
  96. mainMenuResetScaleIconLeft: 5px;
  97. mainMenuCoverNameLeft: 26px;
  98. mainMenuCoverNameTop: 84px;
  99. mainMenuCoverStatusLeft: mainMenuCoverNameLeft;
  100. mainMenuCoverStatusTop: 103px;
  101. mainMenuSkip: 6px;
  102. mainMenuFooterHeightMin: 80px;
  103. mainMenu: Menu(defaultMenu) {
  104. itemFg: windowBoldFg;
  105. itemFgOver: windowBoldFgOver;
  106. itemStyle: semiboldTextStyle;
  107. itemIconPosition: point(26px, 8px);
  108. itemPadding: margins(76px, 13px, 28px, 13px);
  109. itemToggle: Toggle(defaultMenuToggle) {
  110. toggledFg: mainMenuCoverBg;
  111. }
  112. itemToggleOver: Toggle(defaultMenuToggleOver) {
  113. toggledFg: mainMenuCoverBg;
  114. }
  115. itemToggleShift: 11px;
  116. }
  117. mainMenuButton: SettingsButton(defaultSettingsButton) {
  118. style: semiboldTextStyle;
  119. padding: margins(61px, 11px, 20px, 9px);
  120. toggleSkip: 19px;
  121. iconLeft: 21px;
  122. }
  123. mainMenuAddAccountButton: SettingsButton(mainMenuButton) {
  124. iconLeft: 23px;
  125. }
  126. mainMenuAccountSize: 26px;
  127. mainMenuAccountLine: 2px;
  128. mainMenuBadgeFont: font(11px bold);
  129. mainMenuBadgeSize: 18px;
  130. mainMenuFooterLeft: 25px;
  131. mainMenuTelegramLabel: FlatLabel(defaultFlatLabel) {
  132. align: align(left);
  133. textFg: windowSubTextFg;
  134. style: TextStyle(defaultTextStyle) {
  135. font: semiboldFont;
  136. }
  137. palette: TextPalette(defaultTextPalette) {
  138. linkFg: windowSubTextFg;
  139. }
  140. }
  141. mainMenuTelegramBottom: 38px;
  142. mainMenuVersionLabel: FlatLabel(mainMenuTelegramLabel) {
  143. style: defaultTextStyle;
  144. }
  145. mainMenuVersionBottom: 17px;
  146. mainMenuToggleSize: 6px;
  147. mainMenuToggleFourStrokes: 3px;
  148. mainMenuTogglePosition: point(30px, 30px);
  149. themeEditorSampleSize: size(90px, 51px);
  150. themeEditorMargin: margins(17px, 10px, 17px, 10px);
  151. themeEditorDescriptionSkip: 10px;
  152. themeEditorNameFont: font(15px semibold);
  153. themeEditorCopyNameFont: font(fsize semibold);
  154. connectingLeftShadow: icon {{ "connecting_left_shadow", windowShadowFg }};
  155. connectingLeft: icon {{ "connecting_left", windowBg }};
  156. connectingRightShadow: icon {{ "connecting_right_shadow", windowShadowFg }};
  157. connectingRight: icon {{ "connecting_right", windowBg }};
  158. connectingBodyShadow: icon {{ "connecting_body_shadow", windowShadowFg }};
  159. connectingBody: icon {{ "connecting_body", windowBg }};
  160. connectingMargin: margins(2px, 2px, 2px, 2px);
  161. connectingTextPadding: margins(18px, 11px, 18px, 0px);
  162. connectingRadial: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
  163. color: menuIconFg;
  164. thickness: 2px;
  165. size: size(20px, 20px);
  166. }
  167. connectingRetryLink: LinkButton(defaultLinkButton) {
  168. padding: margins(6px, 11px, 6px, 0px);
  169. }
  170. connectingProxyOff: icon {{ "proxy_off", menuIconFg }};
  171. connectingProxyOn: icon {{ "proxy_on", windowBgActive }};
  172. connectingDuration: 150;
  173. windowOutdatedDetails: FlatLabel(defaultFlatLabel) {
  174. align: align(top);
  175. minWidth: 100px;
  176. textFg: outdatedFg;
  177. }
  178. windowOutdatedTitle: FlatLabel(windowOutdatedDetails) {
  179. style: semiboldTextStyle;
  180. }
  181. windowOutdatedPadding: margins(10px, 10px, 10px, 10px);
  182. windowOutdatedSkip: 6px;
  183. windowOutdatedClose: IconButton(defaultIconButton) {
  184. width: 60px;
  185. height: 60px;
  186. icon: icon {{ "info/info_close", outdatedFg }};
  187. iconOver: icon {{ "info/info_close", outdatedFg }};
  188. iconPosition: point(-1px, -1px);
  189. }
  190. createThemeImportButton: SettingsButton(defaultSettingsButton) {
  191. textFg: lightButtonFg;
  192. textFgOver: lightButtonFgOver;
  193. textBg: windowBg;
  194. textBgOver: windowBgOver;
  195. style: semiboldTextStyle;
  196. height: 20px;
  197. padding: margins(22px, 10px, 22px, 8px);
  198. ripple: defaultRippleAnimation;
  199. }
  200. createThemeLink: InputField(defaultInputField) {
  201. textMargins: margins(0px, 7px, 0px, 0px);
  202. textBg: boxBg;
  203. placeholderFg: placeholderFg;
  204. placeholderFgActive: placeholderFgActive;
  205. placeholderFgError: placeholderFgActive;
  206. placeholderMargins: margins(0px, 0px, 0px, 0px);
  207. placeholderScale: 0.;
  208. placeholderFont: boxTextFont;
  209. heightMin: 34px;
  210. }
  211. windowFiltersWidth: 72px;
  212. windowFiltersButton: SideBarButton(defaultSideBarButton) {
  213. textTop: 40px;
  214. textSkip: 6px;
  215. minHeight: 62px;
  216. minTextWidth: 48px;
  217. style: TextStyle(defaultTextStyle) {
  218. font: font(11px semibold);
  219. }
  220. badgeStyle: TextStyle(defaultTextStyle) {
  221. font: font(12px semibold);
  222. }
  223. badgeSkip: 4px;
  224. badgeHeight: 17px;
  225. badgeStroke: 2px;
  226. badgePosition: point(3px, 7px);
  227. iconPosition: point(-1px, 6px);
  228. }
  229. windowFiltersMainMenu: SideBarButton(windowFiltersButton) {
  230. icon: icon {{ "dialogs/dialogs_menu", sideBarIconFg }};
  231. iconPosition: point(-1px, -1px);
  232. minHeight: 54px;
  233. }
  234. windowFiltersMainMenuUnread: icon {
  235. { "dialogs/dialogs_menu_unread", sideBarIconFg },
  236. { "dialogs/dialogs_menu_unread_dot", sideBarBadgeBg },
  237. };
  238. windowFiltersMainMenuUnreadMuted: icon {
  239. { "dialogs/dialogs_menu_unread", sideBarIconFg },
  240. { "dialogs/dialogs_menu_unread_dot", sideBarBadgeBgMuted },
  241. };
  242. windowFilterSmallItem: PeerListItem(defaultPeerListItem) {
  243. height: 44px;
  244. photoPosition: point(13px, 5px);
  245. namePosition: point(59px, 14px);
  246. photoSize: 34px;
  247. checkbox: RoundImageCheckbox(defaultPeerListCheckbox) {
  248. imageRadius: 17px;
  249. imageSmallRadius: 14px;
  250. }
  251. }
  252. windowFilterSmallList: PeerList(defaultPeerList) {
  253. item: windowFilterSmallItem;
  254. }
  255. windowFilterSmallRemove: IconButton(notifyClose) {
  256. }
  257. windowFilterSmallRemoveRight: 10px;
  258. windowFilterNameInput: InputField(defaultInputField) {
  259. textMargins: margins(0px, 26px, 36px, 4px);
  260. }
  261. windowFilterStaticTitlePosition: point(0px, 5px);
  262. windowFilterIconToggleSize: size(36px, 36px);
  263. windowFilterIconTogglePosition: point(-4px, 18px);
  264. windwoFilterIconPanelPosition: point(-2px, -1px);
  265. windowFilterIconSingle: size(44px, 42px);
  266. windowFilterIconPadding: margins(10px, 36px, 10px, 8px);
  267. windowFilterIconHeaderPosition: point(18px, 14px);
  268. windowFilterTypeContacts: icon {{ "folders/folders_type_contacts", historyPeerUserpicFg }};
  269. windowFilterTypeNonContacts: icon {{ "folders/folders_type_noncontacts", historyPeerUserpicFg }};
  270. windowFilterTypeGroups: icon {{ "folders/folders_type_groups", historyPeerUserpicFg }};
  271. windowFilterTypeChannels: icon {{ "folders/folders_type_channels", historyPeerUserpicFg }};
  272. windowFilterTypeBots: icon {{ "folders/folders_type_bots", historyPeerUserpicFg }};
  273. windowFilterTypeNoMuted: icon {{ "folders/folders_type_muted", historyPeerUserpicFg }};
  274. windowFilterTypeNoArchived: icon {{ "folders/folders_type_archived", historyPeerUserpicFg }};
  275. windowFilterTypeNoRead: icon {{ "folders/folders_type_read", historyPeerUserpicFg }};
  276. windowFilterTypeNewChats: icon {{ "folders/folder_new_chats", historyPeerUserpicFg }};
  277. windowFilterTypeExistingChats: icon {{ "folders/folder_existing_chats", historyPeerUserpicFg }};
  278. windowFilterChatsSectionSubtitleHeight: 28px;
  279. windowFilterChatsSectionSubtitle: FlatLabel(defaultFlatLabel) {
  280. style: TextStyle(defaultTextStyle) {
  281. font: semiboldFont;
  282. }
  283. textFg: searchedBarFg;
  284. }
  285. windowFilterChatsSectionSubtitlePadding: margins(22px, 5px, 22px, 5px);
  286. windowArchiveToast: Toast(defaultToast) {
  287. minWidth: boxWideWidth;
  288. maxWidth: boxWideWidth;
  289. }
  290. ivWidthMin: 380px;
  291. ivHeightMin: 480px;
  292. ivWidthDefault: 600px;
  293. ivHeightDefault: 800px;
  294. maxWidthSharedMediaWindow: 419px;
  295. // Windows specific
  296. winQuitIcon: icon {{ "win_quit", windowFg }};
  297. // Mac specific
  298. macAccessoryWidth: 450.;
  299. macAccessoryHeight: 90.;
  300. macEnableFilterAdd: 2;
  301. macEnableFilterTop: 5;
  302. macSelectorTop: 6;
  303. macAlwaysThisAppTop: 4;
  304. macAppHintTop: 8;
  305. macCautionIconSize: 16;
  306. macWindowRoundRadius: 10;
  307. macWindowShadowTopLeft: icon {{ "mac_window_shadow_top_left", windowShadowFg }};
  308. macTrayIcon: icon {{ "mac_tray_icon", windowFg }};