/gtk-3.0/gtk-widgets.css

http://github.com/daz4126/Blackbird · CSS · 1417 lines · 1096 code · 221 blank · 100 comment · 0 complexity · f07ce0d7ff303feb216f210f730ed8eb MD5 · raw file

  1. /*
  2. GREYBIRD GTK3
  3. MODIFIED BY: ochosi
  4. ORIGINAL AUTHOR: lassekongo83
  5. WEBSITE: http://lassekongo83.deviantart.com
  6. LICENSE: GPL
  7. DESCRIPTION: A minimalistic and usable theme made for gtk3 apps.
  8. Tip to theme developers: Use 'alpha (#000, 0.00)' to hide something you think look ugly. :-)
  9. This theme may use theme_bg_color for the widgets more than the color properties defined in the gtk.css file.
  10. */
  11. * {
  12. engine: adwaita;
  13. padding: 1;
  14. /* Style properties */
  15. -GtkToolButton-icon-spacing: 4;
  16. -GtkTextView-error-underline-color: @error_color;
  17. -GtkPaned-handle-size: 0;
  18. -GtkCheckButton-indicator-size: 16;
  19. -GtkCheckMenuItem-indicator-size: 12;
  20. /* The size for scrollbars. The slider is 2px smaller, but we keep it
  21. * up so that the whole area is sensitive to button presses for the
  22. * slider. The stepper button is larger in both directions, the slider
  23. * only in the width
  24. */
  25. -GtkScrolledWindow-scrollbar-spacing: 0;
  26. -GtkScrolledWindow-scrollbars-within-bevel: 1;
  27. -GtkToolItemGroup-expander-size: 12;
  28. -GtkExpander-expander-size: 12;
  29. -GtkToolbar-internal-padding: 4; /* ??? */
  30. -GtkMenu-horizontal-padding: 0;
  31. -GtkMenu-vertical-padding: 0;
  32. -GtkWidget-link-color: @link_color;
  33. -GtkWidget-visited-link-color: @link_color;
  34. -GtkIMHtml-hyperlink-color: @link_color;
  35. -GtkHTML-link-color: @link_color;
  36. -GtkWidget-wide-separators: 1;
  37. -WnckTasklist-fade-overlay-rect: 0;
  38. -GtkEntry-inner-border: 2;
  39. -GtkEntry-progress-border: 0;
  40. /* Style */
  41. background-color: @theme_bg_color;
  42. color: @theme_fg_color;
  43. border-radius: 0;
  44. -GtkWidget-focus-padding: 1;
  45. -GtkWidget-focus-line-width: 1;
  46. -adwaita-focus-border-color: alpha (@theme_text_color, 0.4);
  47. -adwaita-focus-border-radius: 2;
  48. -adwaita-focus-fill-color: none;
  49. -adwaita-focus-border-gradient: none;
  50. -adwaita-focus-border-dashes: 1;
  51. }
  52. /***************
  53. * Base States *
  54. ***************/
  55. *:hover {
  56. background-color: shade (@theme_bg_color, 1.02);
  57. color: @theme_fg_color;
  58. }
  59. *:selected {
  60. background-color: @theme_selected_bg_color;
  61. color: @theme_selected_fg_color;
  62. }
  63. *:selected:focused {
  64. background-color: @theme_selected_bg_color;
  65. color: @theme_selected_fg_color;
  66. }
  67. *:insensitive {
  68. background-color: @insensitive_bg_color;
  69. color: @insensitive_fg_color;
  70. }
  71. *:active {
  72. background-color: shade (@theme_bg_color, 0.915);
  73. }
  74. .background {
  75. border-style: none;
  76. border-width: 0;
  77. border-radius: 0;
  78. }
  79. .tooltip {
  80. padding: 4 4;
  81. border-style: solid;
  82. border-width: 1;
  83. border-color: shade (@theme_tooltip_bg_color, 0.55);
  84. background-color: @theme_tooltip_bg_color;
  85. background-image: -gtk-gradient (linear,left top, left bottom,from (shade (@theme_tooltip_bg_color, 1.05)),to (shade (@theme_tooltip_bg_color, 0.96)));
  86. color: @theme_tooltip_fg_color;
  87. border-radius: 0;
  88. }
  89. /* That little ugly gripper at the bottom right in some windows. Wish I could remove it with display: none. :( */
  90. .grip {
  91. background-color: alpha (@inactive_frame_color, 0.00);
  92. }
  93. .pane-separator {
  94. background-color: @theme_bg_color;
  95. color: shade (@inactive_frame_color, 0.80);
  96. }
  97. .pane-separator:prelight,
  98. .pane-separator:selected {
  99. background-color: @theme_bg_color;
  100. border-color: shade (@highlighted_border, 0.964);
  101. }
  102. /****************
  103. * Text Entries *
  104. ****************/
  105. .entry,
  106. .toolbar.entry {
  107. background-color: @theme_base_color;
  108. background-image: -gtk-gradient (linear,
  109. left top, left bottom,
  110. from (shade (@theme_base_color, 0.95)),
  111. to (shade (@theme_base_color, 1.00)));
  112. border-radius: 2;
  113. border-width: 1;
  114. border-style: solid;
  115. -adwaita-border-gradient: -gtk-gradient (linear,
  116. left top, left bottom,
  117. from (shade (@button_border_gradient_b, 0.80)),
  118. to (shade (@button_border_gradient_a, 0.80)));
  119. padding: 2;
  120. }
  121. .entry:focused {
  122. border-color: @theme_selected_bg_color;
  123. -adwaita-border-gradient: -gtk-gradient (linear,
  124. left top, left bottom,
  125. from (shade (@theme_selected_bg_color, 0.50)),
  126. to (shade (@theme_selected_bg_color, 0.80)));
  127. }
  128. .entry:insensitive {
  129. background-color: @insensitive_bg_color;
  130. border-color: shade (@inactive_frame_color, 0.945);
  131. -adwaita-border-gradient: none;
  132. }
  133. .entry.progressbar {
  134. /* FIXME: need correct colors/gradient */
  135. background-color: @theme_selected_bg_color;
  136. color: @theme_selected_fg_color;
  137. border-width: 1;
  138. border-radius: 1;
  139. border-color: @progressbar_border;
  140. }
  141. /*****************
  142. * GtkSpinButton *
  143. *****************/
  144. .spinbutton.button,
  145. .spinbutton.button:insensitive,
  146. .spinbutton.button:prelight,
  147. .spinbutton.button:active {
  148. background-image: none;
  149. background-color: @theme_base_color;
  150. border-width: 1;
  151. border-style: none;
  152. }
  153. .spinbutton {
  154. padding: 3 2;
  155. }
  156. /****************
  157. * Progress bar *
  158. ****************/
  159. GtkProgressBar.progressbar {
  160. background-image: -gtk-gradient (linear,
  161. left top, left bottom,
  162. from (@progressbar_background_a),
  163. to (@progressbar_background_b));
  164. border-radius: 2;
  165. border-style: solid;
  166. border-color: @progressbar_border;
  167. }
  168. GtkProgressBar.trough {
  169. background-image: -gtk-gradient (linear,
  170. left top, left bottom,
  171. from (@scrolltrough_gradient_a),
  172. to (@scrolltrough_gradient_b));
  173. border-width: 1;
  174. border-style: solid;
  175. border-radius: 2;
  176. border-color: shade (@inactive_frame_color, 0.925);
  177. }
  178. /************
  179. * GtkScale *
  180. ************/
  181. GtkScale {
  182. -GtkScale-slider-length: 16;
  183. -GtkRange-slider-width: 22;
  184. -GtkRange-trough-border: 0;
  185. }
  186. GtkScale.slider {
  187. border-width: 1;
  188. border-radius: 2;
  189. background-image: -gtk-gradient (linear,
  190. left top, left bottom,
  191. from (@button_gradient_a),
  192. to (@button_gradient_b));
  193. -adwaita-border-gradient: -gtk-gradient (linear,
  194. left top, left bottom,
  195. from (shade (@button_border_gradient_a, 1.00)),
  196. to (shade (@button_border_gradient_b, 1.00)));
  197. }
  198. GtkScale.slider:hover {
  199. border-width: 1;
  200. border-radius: 2;
  201. background-image: -gtk-gradient (linear,
  202. left top, left bottom,
  203. from (shade (@button_gradient_a, 1.10)),
  204. to (shade (@button_gradient_b, 1.10)));
  205. -adwaita-border-gradient: -gtk-gradient (linear,
  206. left top, left bottom,
  207. from (shade (@button_border_gradient_a, 1.00)),
  208. to (shade (@button_border_gradient_b, 1.00)));
  209. }
  210. GtkScale.slider:insensitive {
  211. background-image: none;
  212. -adwaita-border-gradient: none;
  213. }
  214. GtkScale.scale-has-marks-below.slider.horizontal {
  215. -adwaita-border-gradient: -gtk-gradient (linear,
  216. left top, left bottom,
  217. from (shade (@internal_element_color, 0.90)),
  218. to (shade (@internal_element_color, 1.35)));
  219. }
  220. GtkScale.scale-has-marks-below.slider.vertical {
  221. -adwaita-border-gradient: -gtk-gradient (linear,
  222. left top, right top,
  223. from (shade (@internal_element_color, 0.90)),
  224. to (shade (@internal_element_color, 1.35)));
  225. }
  226. GtkScale.scale-has-marks-above.slider.horizontal {
  227. -adwaita-border-gradient: -gtk-gradient (linear,
  228. left bottom, left top,
  229. from (shade (@internal_element_color, 0.90)),
  230. to (shade (@internal_element_color, 1.35)));
  231. }
  232. GtkScale.scale-has-marks-above.slider.vertical {
  233. -adwaita-border-gradient: -gtk-gradient (linear,
  234. right top, left top,
  235. from (shade (@internal_element_color, 0.90)),
  236. to (shade (@internal_element_color, 1.35)));
  237. }
  238. GtkScale.trough {
  239. border-width: 1;
  240. border-radius: 2;
  241. border-style: solid;
  242. border-color: @button_border_gradient_a;
  243. background-image: -gtk-gradient (linear,
  244. left top, left bottom,
  245. from (shade (@scrolltrough_gradient_b, 1.00)),
  246. to (shade (@scrolltrough_gradient_a, 1.00)));
  247. }
  248. GtkScale.trough:insensitive {
  249. background-color: shade (@theme_bg_color, 1.20);
  250. border-color: shade (@inactive_frame_color, 0.845);
  251. }
  252. GtkScale.trough.horizontal {
  253. background-image: -gtk-gradient (linear,
  254. left top, left bottom,
  255. from (shade (@scrolltrough_gradient_b, 1.00)),
  256. to (shade (@scrolltrough_gradient_a, 1.00)));
  257. }
  258. GtkScale.trough.vertical {
  259. background-image: -gtk-gradient (linear,
  260. left top, right top,
  261. from (shade (@scrolltrough_gradient_b, 1.00)),
  262. to (shade (@scrolltrough_gradient_a, 1.00)));
  263. }
  264. GtkScale.progressbar {
  265. background-image: -gtk-gradient (linear,
  266. left top, left bottom,
  267. from (@scale_fill_a),
  268. to (@scale_fill_b));
  269. border-color: @progressbar_border;
  270. border-width: 1;
  271. border-radius: 2;
  272. border-style: solid;
  273. }
  274. GtkScale.mark {
  275. background-color: shade (@theme_bg_color, 0.56);
  276. }
  277. GtkFrame,
  278. GtkCalendar {
  279. padding: 2;
  280. }
  281. .frame {
  282. color: lighter (@theme_fg_color);
  283. border-style: none;
  284. border-width: 0;
  285. }
  286. /*****************
  287. * Notebooks and *
  288. * tabs *
  289. *****************/
  290. .notebook {
  291. padding: 2;
  292. border-color: @button_border_gradient_a;
  293. border-style: solid;
  294. border-width: 1;
  295. border-radius: 0;
  296. background-color: @theme_base_color;
  297. -GtkNotebook-tab-overlap: -2;
  298. -GtkNotebook-tab-curvature: 4;
  299. }
  300. .notebook tab {
  301. padding: 3 4 0;
  302. /*-adwaita-border-gradient: -gtk-gradient (linear,
  303. left top, left bottom,
  304. from (shade(@theme_bg_color,0.65)),
  305. to (shade(@theme_bg_color,0.65)));*/
  306. background-color: shade(@theme_bg_color,0.85);
  307. -adwaita-focus-border-radius: 2;
  308. }
  309. .notebook tab:active {
  310. border-width: 1;
  311. -adwaita-border-gradient: -gtk-gradient (linear,
  312. left top, left bottom,
  313. from (@button_border_gradient_a),
  314. to (@button_border_gradient_a));
  315. -adwaita-selected-tab-color: shade(@theme_bg_color,1.04);
  316. background-color: shade(@theme_bg_color,1.04);
  317. background-image: none;
  318. }
  319. .notebook tab .button,
  320. .notebook tab .button:hover,
  321. .notebook tab .button:hover:active {
  322. border-style: none;
  323. background-color: alpha (@theme_bg_color, 0.0);
  324. background-image: none;
  325. }
  326. /**************
  327. * ComboBoxes *
  328. **************/
  329. GtkComboBox {
  330. padding: 1 2;
  331. -GtkWidget-focus-padding: 0;
  332. -GtkWidget-focus-line-width: 0;
  333. -GtkComboBox-arrow-scaling: 0.5;
  334. -GtkComboBox-shadow-type: 2;
  335. }
  336. GtkComboBox .button {
  337. color: @internal_element_color;
  338. padding: 1;
  339. }
  340. GtkComboBox .button:prelight {
  341. color: shade (@internal_element_color, 0.66);
  342. }
  343. /**************
  344. * Scrollbars *
  345. **************/
  346. .scrollbar {
  347. background-image: none;
  348. border-style: solid;
  349. -GtkRange-trough-border: 1;
  350. -GtkRange-arrow-scaling: 0.7;
  351. -GtkRange-slider-width: 10;
  352. -GtkRange-stepper-size: 10; /* Those ugly buttons */
  353. -GtkScrollbar-min-slider-length: 40; /* minimum size for the slider. sadly can't be in '.slider' where it belongs */
  354. -GtkRange-stepper-spacing: 0;
  355. -GtkRange-trough-under-steppers: 1;
  356. }
  357. /* Trough */
  358. .scrollbar.trough.vertical {
  359. background-color: @scrollslider_border;
  360. border-width: 0;
  361. border-style: none;
  362. border-radius: 0;
  363. }
  364. .scrollbar.trough.horizontal {
  365. background-color: @scrollslider_border;
  366. border-width: 0;
  367. border-style: none;
  368. border-radius: 0;
  369. }
  370. /* Sliders */
  371. .scrollbar.slider.vertical {
  372. background-color: @scrollslider;
  373. border-color: @scrollslider_border;
  374. border-radius: 10;
  375. border-width: 1;
  376. border-style: solid;
  377. }
  378. .scrollbar.slider.vertical:prelight {
  379. background-color: shade (@scrollslider, 0.65);
  380. border-color: @scrollslider_border;
  381. }
  382. .scrollbar.slider.vertical:prelight:active {
  383. background-color: shade (@scrollslider, 0.65);
  384. border-color: @scrollslider_border;
  385. }
  386. .scrollbar.slider.horizontal {
  387. background-color: @scrollslider;
  388. border-color: @scrollslider_border;
  389. border-radius: 10;
  390. border-width: 1;
  391. border-style: solid;
  392. }
  393. .scrollbar.slider.horizontal:prelight {
  394. background-color: shade (@scrollslider, 0.65);
  395. border-color: @scrollslider_border;
  396. }
  397. .scrollbar.slider.horizontal:prelight:active {
  398. background-color: shade (@scrollslider, 0.65);
  399. border-color: @scrollslider_border;
  400. }
  401. /* Ugly scrollbar buttons */
  402. .scrollbar.button.vertical {
  403. background-image: none;
  404. background-color: alpha (@scrollslider_border, 0.00);
  405. border-color: none;
  406. border-radius: 0;
  407. border-width: 0;
  408. color: @theme_dark_bg_color;
  409. }
  410. .scrollbar.button.horizontal {
  411. background-image: none;
  412. background-color: alpha (@scrollslider_border, 0.00);
  413. border-color: none;
  414. border-radius: 0;
  415. border-width: 0;
  416. color: @theme_dark_bg_color;
  417. }
  418. .scrollbar.button.vertical:prelight {
  419. background-image: none;
  420. background-color: alpha (@scrollslider_border, 0.00);
  421. border-color: none;
  422. color: @theme_text_color;
  423. }
  424. .scrollbar.button.vertical:prelight:active {
  425. background-image: none;
  426. background-color: alpha (@scrollslider_border, 0.00);
  427. border-color: none;
  428. color: @theme_text_color;
  429. }
  430. .scrollbar.button.horizontal:prelight {
  431. background-image: none;
  432. background-color: alpha (@scrollslider_border, 0.00);
  433. border-color: none;
  434. color: @theme_text_color;
  435. }
  436. .scrollbar.button.horizontal:prelight:active {
  437. background-image: none;
  438. background-color: alpha (@scrollslider_border, 0.00);
  439. border-color: none;
  440. color: @theme_text_color;
  441. }
  442. .scrollbar.button:insensitive {
  443. color: lighter (@internal_element_color);
  444. background-image: none;
  445. background-color: alpha (@scrollslider_border, 0.00);
  446. color: @theme_bg_color;
  447. }
  448. .scrollbar.slider:insensitive {
  449. background-color: @theme_base_color;
  450. }
  451. .scrollbar.trough:insensitive {
  452. background-color: shade (@theme_bg_color, 0.882);
  453. }
  454. /***********
  455. * Buttons *
  456. ***********/
  457. .button {
  458. padding: 1 4;
  459. -adwaita-focus-fill-color: alpha (@theme_base_color, 0.35);
  460. -adwaita-focus-border-gradient: -gtk-gradient (linear,
  461. left top, left bottom,
  462. from (alpha (@keyboard_focus_border_a, 0.62)),
  463. to (alpha (@keyboard_focus_border_b, 0.62)));
  464. -adwaita-focus-border-radius: 1;
  465. -adwaita-focus-border-dashes: 0;
  466. -GtkWidget-focus-line-width: 1;
  467. -adwaita-border-gradient: -gtk-gradient (linear,
  468. left top, left bottom,
  469. from (@button_border_gradient_a),
  470. to (@button_border_gradient_b));
  471. -GtkButton-child-displacement-x: 1;
  472. -GtkButton-child-displacement-y: 1;
  473. -GtkButton-image-spacing: 4;
  474. -GtkButton-interior-focus: true;
  475. -GtkButton-default-border: 0;
  476. -GtkButton-inner-border: 0;
  477. border-radius: 2;
  478. border-width: 1;
  479. border-color: shade (@button_border_gradient_a, 0.90);
  480. border-style: solid;
  481. /* Adding color stops and border gradients for a tiny 3D effect. I'm still waiting for the box-shadow property. >:( */
  482. background-image: -gtk-gradient (linear,
  483. left top, left bottom,
  484. from (shade (@button_gradient_a, 1.00)),
  485. color-stop (0.04, shade (@button_gradient_a, 1.95)),
  486. color-stop (0.05, shade (@button_gradient_a, 1.00)),
  487. color-stop (0.89, shade (@button_gradient_b, 1.00)),
  488. color-stop (0.90, shade (@button_gradient_b, 0.84)),
  489. to (shade (@button_gradient_b, 1.00));
  490. }
  491. .button:hover,
  492. .toolbar.button:hover {
  493. border-color: @button_border_gradient_a;
  494. background-image: -gtk-gradient (linear,
  495. left top, left bottom,
  496. from (shade (@button_gradient_a, 1.10)),
  497. color-stop (0.04, shade (@button_gradient_a, 1.95)),
  498. color-stop (0.05, shade (@button_gradient_a, 1.10)),
  499. color-stop (0.89, shade (@button_gradient_b, 1.10)),
  500. color-stop (0.90, shade (@button_gradient_b, 0.94)),
  501. to (shade (@button_gradient_b, 1.10));
  502. }
  503. .button:active,
  504. .toolbar .button:active,
  505. .button:hover:active,
  506. .toolbar.button:hover:active {
  507. background-image: -gtk-gradient (linear,
  508. left top, left bottom,
  509. from (shade (@button_gradient_b, 0.80)),
  510. color-stop (0.04, shade (@button_gradient_b, 0.70)),
  511. color-stop (0.05, shade (@button_gradient_b, 0.86)),
  512. color-stop (0.89, shade (@button_gradient_a, 0.80)),
  513. color-stop (0.90, shade (@button_gradient_a, 0.94)),
  514. to (shade (@button_gradient_a, 0.80));
  515. border-color: shade (@highlighted_border, 0.70);
  516. -adwaita-border-gradient: -gtk-gradient (linear,
  517. left top, left bottom,
  518. from (shade (@button_border_gradient_b, 1.00)),
  519. to (shade (@button_border_gradient_a, 1.00)));
  520. }
  521. .button:insensitive {
  522. background-image: none;
  523. background-color: @insensitive_bg_color;
  524. color: @insensitive_fg_color;
  525. }
  526. .button.default {
  527. border-width: 2;
  528. border-color: shade (@button_border_gradient_a, 1.10);
  529. }
  530. /*********
  531. * Menus *
  532. *********/
  533. /* This controls the general appearance of the menubar. */
  534. .menubar {
  535. background-image: -gtk-gradient (linear,
  536. left top, left bottom,
  537. from (@menubar_gradient_a),
  538. to (@menubar_gradient_b));
  539. border-width: 0;
  540. border-style: none;
  541. padding: 2;
  542. color: @theme_text_color;
  543. -GtkWidget-window-dragging: true;
  544. -GtkMenuBar-internal-padding: 0;
  545. }
  546. .menubar.menuitem:prelight {
  547. background-image: -gtk-gradient (linear,
  548. left top, left bottom,
  549. from (shade (@theme_dark_bg_color, 0.70)),
  550. to (shade (@theme_dark_bg_color, 0.50)));
  551. background-color: shade (@theme_dark_bg_color, 0.7);
  552. color: @theme_base_color;
  553. border-style: solid;
  554. border-radius: 0;
  555. border-width: 1;
  556. border-color: shade (@theme_dark_bg_color,0.3);
  557. }
  558. .menubar.menuitem {
  559. border-width: 1;
  560. border-style: none;
  561. padding: 3 3;
  562. color: @theme_text_color;
  563. }
  564. .menu {
  565. padding: 0;
  566. background-color: @theme_dark_bg_color;
  567. border-style: solid;
  568. border-width: 1;
  569. border-radius: 0;
  570. border-color: shade (@theme_dark_bg_color,0.7);
  571. -GtkMenuItem-arrow-scaling: 0.5;
  572. }
  573. .menuitem {
  574. -adwaita-menuitem-arrow-color: @menu_controls_color;
  575. padding: 1;
  576. color: @theme_base_color;
  577. }
  578. .menuitem.accelerator {
  579. color: alpha (@theme_base_color, 0.66);
  580. }
  581. .menuitem.accelerator:prelight,
  582. .menuitem.accelerator:active {
  583. color: alpha (@theme_base_color, 0.8);
  584. }
  585. .menuitem:active,
  586. .menuitem:prelight {
  587. background-image: -gtk-gradient (linear,
  588. left top, left bottom,
  589. from (shade (@theme_dark_bg_color, 0.70)),
  590. to (shade (@theme_dark_bg_color, 0.50)));
  591. background-color: shade (@theme_dark_bg_color, 0.7);
  592. color: @theme_base_color;
  593. border-style: solid;
  594. border-width: 1; /* Keep at 1. Menu gets bumpy otherwise. */
  595. border-radius: 0;
  596. border-color: shade (@theme_dark_bg_color,0.3);
  597. }
  598. .menu.separator {
  599. border-color: alpha (@inactive_frame_color, 0.40);
  600. -GtkSeparatorMenuItem-horizontal-padding: 0;
  601. -GtkWidget-separator-height: 1;
  602. }
  603. /* menu radio and check items are drawn differently */
  604. .menu.check:active {
  605. color: @menu_controls_color;
  606. }
  607. .menu.radio:active {
  608. color: @menu_controls_color;
  609. }
  610. .menu.check:prelight {
  611. color: @theme_selected_fg_color;
  612. }
  613. .menu.radio:prelight {
  614. color: @theme_selected_fg_color;
  615. }
  616. /*************************
  617. * Check and Radio items *
  618. *************************/
  619. /* draw regular check and radio items using our SVG assets */
  620. .check,
  621. .check row:selected,
  622. .check row:selected:focused {
  623. background-image: url ("assets/checkbox-unchecked.svg");
  624. }
  625. .check:insensitive,
  626. .check row:selected:insensitive,
  627. .check row:selected:focused:insensitive {
  628. background-image: url ("assets/checkbox-unchecked-insensitive.svg");
  629. }
  630. .check:active,
  631. .check row:selected:active,
  632. .check row:selected:focused:active {
  633. background-image: url ("assets/checkbox-checked.svg");
  634. }
  635. .check:active:insensitive,
  636. .check row:selected:active:insensitive,
  637. .check row:selected:focused:active:insensitive {
  638. background-image: url ("assets/checkbox-checked-insensitive.svg");
  639. }
  640. .check:inconsistent,
  641. .check row:selected:inconsistent,
  642. .check row:selected:focused:inconsistent {
  643. background-image: url ("assets/checkbox-mixed.svg");
  644. }
  645. .radio,
  646. .radio row:selected,
  647. .radio row:selected:focused {
  648. background-image: url ("assets/radio-unselected.svg");
  649. }
  650. .radio:insensitive,
  651. .radio row:selected:insensitive,
  652. .radio row:selected:focused:insensitive {
  653. background-image: url ("assets/radio-unselected-insensitive.svg");
  654. }
  655. .radio:active,
  656. .radio row:selected:active,
  657. .radio row:selected:focused:active {
  658. background-image: url ("assets/radio-selected.svg");
  659. }
  660. .radio:active:insensitive,
  661. .radio row:selected:active:insensitive,
  662. .radio row:selected:focused:active:insensitive {
  663. background-image: url ("assets/radio-selected-insensitive.svg");
  664. }
  665. .radio:inconsistent,
  666. .radio row:selected:inconsistent,
  667. .radio row:selected:focused:inconsistent {
  668. background-image: url ("assets/radio-mixed.svg");
  669. }
  670. /************
  671. * Toolbars *
  672. ************/
  673. .toolbar {
  674. border-style: solid;
  675. border-color: darker (@theme_bg_color);
  676. border-width: 0;
  677. border-radius: 0;
  678. padding: 0;
  679. background-image: -gtk-gradient (linear,
  680. left top,
  681. left bottom,
  682. from (shade (@theme_bg_color, 1.00)),
  683. to (shade (@theme_bg_color, 1.00)));
  684. }
  685. .toolbar:insensitive {
  686. color: alpha (@theme_fg_color, 0.6);
  687. }
  688. /********************
  689. * Primary Toolbars *
  690. ********************/
  691. /* Color stops can add top and bottom borders if needed */
  692. .primary-toolbar.toolbar {
  693. background-image: -gtk-gradient (linear,
  694. left top,
  695. left bottom,
  696. from (shade (@toolbar_gradient_a, 1.00)),
  697. color-stop (0.97, shade (@toolbar_gradient_b, 1.00)),
  698. color-stop (0.98, shade (@toolbar_gradient_b, 0.90)),
  699. to (shade (@toolbar_gradient_b, 1.00)));
  700. border-width: 0;
  701. border-radius: 0;
  702. border-style: none;
  703. padding: -2;
  704. -GtkWidget-window-dragging: true;
  705. -GtkToolbar-button-relief: 0;
  706. }
  707. .primary-toolbar.toolbar:insensitive {
  708. background-image: none;
  709. background-color: shade (@theme_bg_color, 0.97);
  710. border-style: solid;
  711. border-width: 1;
  712. border-color: shade (@theme_bg_color, 0.91);
  713. }
  714. /* primary toolbar buttons */
  715. .primary-toolbar.toolbar.button {
  716. padding: 0 2;
  717. border-style: none;
  718. border-width: 1;
  719. background-image: none;
  720. /* This makes that little arrow button in the nautilus toolbar transparent for example */
  721. background-color: alpha (@theme_base_color, 0.0);
  722. -adwaita-focus-border-radius: 2;
  723. -adwaita-focus-fill-color: alpha (@theme_base_color, 0.20);
  724. -adwaita-focus-border-gradient: -gtk-gradient (linear,
  725. left top, left bottom,
  726. from (@button_border_gradient_a),
  727. to (shade (@button_border_gradient_b, 1.00)));
  728. }
  729. .primary-toolbar.toolbar.button:insensitive {
  730. border-style: none;
  731. background-image: none;
  732. background-color: alpha (@theme_base_color, 0.0);
  733. -GtkWidget-focus-line-width: 0;
  734. }
  735. .primary-toolbar.toolbar.button:hover {
  736. border-style: none;
  737. border-radius: 2;
  738. background-image: -gtk-gradient (linear,
  739. left top, left bottom,
  740. from (alpha (@button_gradient_a, 0.6)),
  741. to (alpha (@button_gradient_b, 0.6)));
  742. }
  743. .primary-toolbar.toolbar.button:active {
  744. border-style: solid;
  745. border-radius: 2;
  746. background-image: -gtk-gradient (linear,
  747. left top, left bottom,
  748. from (shade (@button_gradient_b, 0.80)),
  749. color-stop (0.04, shade (@button_gradient_b, 0.70)),
  750. color-stop (0.05, shade (@button_gradient_b, 0.86)),
  751. color-stop (0.89, shade (@button_gradient_a, 0.80)),
  752. color-stop (0.90, shade (@button_gradient_a, 0.94)),
  753. to (shade (@button_gradient_a, 0.80));
  754. -adwaita-border-gradient: -gtk-gradient (linear,
  755. left top, left bottom,
  756. from (shade (@button_border_gradient_b, 1.00)),
  757. to (shade (@button_border_gradient_a, 1.00)));
  758. color: @theme_fg_color;
  759. }
  760. .primary-toolbar.toolbar.button:active:prelight {
  761. border-style: solid;
  762. border-radius: 2;
  763. background-image: -gtk-gradient (linear,
  764. left top, left bottom,
  765. from (shade (@button_gradient_b, 0.90)),
  766. color-stop (0.04, shade (@button_gradient_b, 0.80)),
  767. color-stop (0.05, shade (@button_gradient_b, 0.90)),
  768. color-stop (0.89, shade (@button_gradient_a, 0.90)),
  769. color-stop (0.90, shade (@button_gradient_a, 1.10)),
  770. to (shade (@button_gradient_a, 0.90));
  771. -adwaita-border-gradient: -gtk-gradient (linear,
  772. left top, left bottom,
  773. from (shade (@button_border_gradient_b, 1.00)),
  774. to (shade (@button_border_gradient_a, 1.00)));
  775. color: @theme_fg_color;
  776. }
  777. .primary-toolbar.toolbar.button:active:insensitive {
  778. border-style: solid;
  779. border-radius: 2;
  780. border-color: @inactive_frame_color;
  781. -adwaita-border-gradient: none;
  782. }
  783. /* Set width to 0 to disable toolbar separators */
  784. .primary-toolbar.toolbar GtkSeparatorToolItem {
  785. -GtkWidget-wide-separators: 1;
  786. -GtkWidget-separator-width: 0;
  787. border-style: solid;
  788. border-width: 1;
  789. border-color: shade (@theme_bg_color, 0.56);
  790. }
  791. /* primary toolbar raised buttons */
  792. .primary-toolbar.toolbar.raised.button,
  793. .primary-toolbar.toolbar.raised.button:insensitive {
  794. border-radius: 2;
  795. border-width: 1;
  796. border-color: @button_border_gradient_a;
  797. border-style: solid;
  798. background-image: -gtk-gradient (linear,
  799. left top, left bottom,
  800. from (@button_gradient_a),
  801. to (@button_gradient_b));
  802. -adwaita-border-gradient: -gtk-gradient (linear,
  803. left top, left bottom,
  804. from (shade (@button_border_gradient_a, 1.00)),
  805. to (shade (@button_border_gradient_b, 1.00)));
  806. -GtkWidget-focus-line-width: 1;
  807. }
  808. .primary-toolbar.toolbar.raised.button:hover {
  809. border-color: @button_border_gradient_a;
  810. background-image: -gtk-gradient (linear,
  811. left top, left bottom,
  812. from (shade (@button_gradient_a, 1.10)),
  813. to (shade (@button_gradient_a, 1.10));
  814. border-width: 1;
  815. border-style: solid;
  816. }
  817. .primary-toolbar.toolbar.raised.button:hover:active,
  818. .primary-toolbar.toolbar.raised.button:active {
  819. background-image: -gtk-gradient (linear,
  820. left top, left bottom,
  821. from (@toolbar_gradient_a),
  822. to (@toolbar_gradient_b));
  823. background-color: @theme_base_color;
  824. border-color: @highlighted_border;
  825. border-width: 1;
  826. border-style: solid;
  827. }
  828. /* progressbars on primary toolbar entries are special */
  829. .primary-toolbar.toolbar.entry.progressbar {
  830. /* FIXME: need correct colors/gradient */
  831. background-image: -gtk-gradient (linear,
  832. left top, left bottom,
  833. from (@scrolltrough_gradient_a),
  834. to (@scrolltrough_gradient_b));
  835. border-width: 0;
  836. border-radius: 2;
  837. border-color: shade (@inactive_frame_color, 0.925);
  838. }
  839. /*******************
  840. * Inline toolbars *
  841. *******************/
  842. .inline-toolbar.toolbar {
  843. border-width: 1;
  844. border-radius: 2;
  845. border-style: solid;
  846. background-image: -gtk-gradient (linear,
  847. left top,
  848. left bottom,
  849. from (@toolbar_gradient_a),
  850. color-stop (0.16, @toolbar_gradient_a),
  851. color-stop (0.90, @toolbar_gradient_a),
  852. color-stop (0.98, @toolbar_gradient_b),
  853. color-stop (0.99, shade (@toolbar_gradient_b, 0.83)),
  854. to (shade (@toolbar_gradient_b, 0.83)));
  855. }
  856. /*************
  857. * GtkSwitch *
  858. *************/
  859. GtkSwitch {
  860. font: bold condensed 10;
  861. }
  862. GtkSwitch.trough {
  863. color: @internal_element_color;
  864. border-radius: 1;
  865. border-width: 1;
  866. border-style: solid;
  867. border-color: shade (@frame_color, 1.00);
  868. background-image: -gtk-gradient (linear,
  869. left top, left bottom,
  870. from (@scrolltrough_gradient_b),
  871. to (@scrolltrough_gradient_a));
  872. }
  873. GtkSwitch.trough:active {
  874. color: @theme_base_color;
  875. -adwaita-border-gradient: -gtk-gradient (linear,
  876. left top, left bottom,
  877. from (shade (@theme_selected_bg_color, 0.70)),
  878. to (shade (@theme_selected_bg_color, 0.94)));
  879. background-image: -gtk-gradient (linear,
  880. left top, left bottom,
  881. from (shade (@theme_selected_bg_color, 0.70)),
  882. to (shade (@theme_selected_bg_color, 0.94)));
  883. }
  884. GtkSwitch.trough:insensitive {
  885. background-image: none;
  886. background-color: shade (@theme_bg_color, 0.96);
  887. border-color: shade (@inactive_frame_color, 1.00);
  888. -adwaita-border-gradient: none;
  889. }
  890. GtkSwitch.slider {
  891. border-width: 1;
  892. border-radius: 1;
  893. border-color: shade (@frame_color, 1.0);
  894. border-style: solid;
  895. padding: 2;
  896. background-image: -gtk-gradient (linear,
  897. left top, left bottom,
  898. from (@button_gradient_a),
  899. color-stop (0.02, shade (@button_gradient_a, 1.90)),
  900. color-stop (0.03, @button_gradient_a),
  901. color-stop (0.85, @button_gradient_b),
  902. color-stop (0.86, shade (@button_gradient_b, 0.90)),
  903. to (shade (@button_gradient_b, 1.00)));
  904. -adwaita-switch-grip-color: shade (@button_gradient_b, 0.90);
  905. }
  906. GtkSwitch.slider:active {
  907. border-color: shade (@theme_selected_bg_color, 0.60);
  908. }
  909. GtkSwitch.slider:insensitive {
  910. border-style: none;
  911. background-image: none;
  912. background-color: @insensitive_bg_color;
  913. }
  914. GtkStatusbar {
  915. padding: 5;
  916. color: @theme_fg_color;
  917. -GtkStatusbar-shadow-type: none;
  918. }
  919. GtkScrolledWindow.frame {
  920. border-style: solid;
  921. border-color: darker (@theme_bg_color);
  922. border-width: 1;
  923. border-radius: 0;
  924. }
  925. GtkViewport,
  926. GtkIconView {
  927. border-radius: 2;
  928. padding: 0;
  929. }
  930. GtkIconView.view.cell:selected,
  931. GtkIconView.view.cell:selected:focused {
  932. background-color: @theme_selected_bg_color;
  933. border-radius: 2;
  934. /* FIXME: this probably needs to be better;
  935. * see https://bugzilla.gnome.org/show_bug.cgi?id=644157
  936. */
  937. -adwaita-focus-border-color: @progressbar_border;
  938. -adwaita-focus-border-radius: 2;
  939. -adwaita-focus-border-dashes: 0;
  940. }
  941. .view {
  942. background-color: @theme_base_color;
  943. color: @theme_fg_color;
  944. border-radius: 0;
  945. border-width: 3;
  946. }
  947. GtkTreeView {
  948. -GtkTreeView-vertical-separator: 0;
  949. -GtkTreeView-expander-size: 6;
  950. -GtkWidget-focus-line-width: 1;
  951. -adwaita-focus-border-radius: 0;
  952. -adwaita-focus-border-dashes: 0;
  953. -adwaita-focus-border-color: @keyboard_focus_border_a;
  954. }
  955. GtkTreeView.separator {
  956. background-color: darker (@theme_bg_color);
  957. }
  958. /* Treeview header */
  959. column-header {
  960. padding: 1 2;
  961. }
  962. column-header .button {
  963. border-width: 0;
  964. border-radius: 0;
  965. background-image: -gtk-gradient (linear,
  966. left top, left bottom,
  967. from (shade (@listview_header_gradient_a,1.00)),
  968. color-stop (0.96, shade (@listview_header_gradient_b, 1.00)),
  969. color-stop (0.97, shade (@listview_header_gradient_b, 0.96)),
  970. to (shade (@listview_header_gradient_b,1.00)));
  971. padding: 1 2;
  972. }
  973. column-header .button:prelight {
  974. background-image: -gtk-gradient (linear,
  975. left top, left bottom,
  976. from (shade (@listview_header_gradient_a,1.10)),
  977. color-stop (0.96, shade (@listview_header_gradient_b, 1.10)),
  978. color-stop (0.97, shade (@listview_header_gradient_b, 0.96)),
  979. to (shade (@listview_header_gradient_b,1.10)));
  980. }
  981. row:hover {
  982. border-width: 0;
  983. }
  984. row:insensitive {
  985. border-width: 0;
  986. }
  987. row:selected:focused {
  988. border-width: 0;
  989. background-image: -gtk-gradient (linear,
  990. left top, left bottom,
  991. from (shade (@theme_selected_bg_color, 1.00)),
  992. color-stop (0.04, shade (@theme_selected_bg_color, 0.80)),
  993. color-stop (0.05, shade (@theme_selected_bg_color, 1.00)),
  994. to (shade (@theme_selected_bg_color, 0.90)));
  995. background-color: @theme_selected_bg_color;
  996. }
  997. row:selected {
  998. border-width: 0;
  999. background-image: -gtk-gradient (linear,
  1000. left top, left bottom,
  1001. from (shade (@theme_selected_bg_color, 1.00)),
  1002. color-stop (0.04, shade (@theme_selected_bg_color, 0.80)),
  1003. color-stop (0.05, shade (@theme_selected_bg_color, 1.00)),
  1004. to (shade (@theme_selected_bg_color, 0.90)));
  1005. }
  1006. .cell {
  1007. color: @theme_text_color;
  1008. padding: 2;
  1009. border-width: 0;
  1010. }
  1011. .cell:selected {
  1012. background-color: @theme_selected_bg_color;
  1013. }
  1014. .expander {
  1015. color: @internal_element_color;
  1016. border-color: @internal_element_color;
  1017. background-color: @theme_base_color;
  1018. }
  1019. .expander:active {
  1020. color: @internal_element_color;
  1021. border-color: @internal_element_color;
  1022. background-color: @theme_base_color;
  1023. }
  1024. .expander:prelight {
  1025. color: @internal_element_color;
  1026. border-color: @internal_element_color;
  1027. background-color: shade (@theme_bg_color, 1.02);
  1028. }
  1029. .expander row:selected,
  1030. .expander row:selected:focused {
  1031. border-color: @theme_selected_bg_color;
  1032. color: shade (@theme_selected_bg_color, 1.30);
  1033. background-color: @theme_selected_bg_color;
  1034. }
  1035. /* Calendars */
  1036. GtkCalendar.view {
  1037. border-radius: 2;
  1038. border-style: solid;
  1039. border-width: 1;
  1040. padding: 2;
  1041. }
  1042. GtkCalendar.header {
  1043. border-radius: 0;
  1044. background-image: -gtk-gradient (linear,
  1045. left top,
  1046. left bottom,
  1047. from (shade (@theme_bg_color, 1.04)),
  1048. to (shade (@theme_bg_color, 0.89)));
  1049. border-width: 0;
  1050. }
  1051. GtkCalendar.button {
  1052. background-image: -gtk-gradient (linear,
  1053. left top,
  1054. left bottom,
  1055. from (rgba (0, 0, 0, 0)),
  1056. to (rgba (0, 0, 0, 0)));
  1057. }
  1058. .highlight,
  1059. GtkCalendar.highlight {
  1060. background-color: @theme_selected_bg_color;
  1061. color: @theme_selected_fg_color;
  1062. border-radius: 0;
  1063. padding: 0;
  1064. border-width: 0;
  1065. }
  1066. .info {
  1067. background-color: @info_bg_color;
  1068. color: @info_fg_color;
  1069. }
  1070. .warning {
  1071. background-color: @warning_bg_color;
  1072. color: @warning_fg_color;
  1073. }
  1074. .question {
  1075. background-color: @question_bg_color;
  1076. color: @question_fg_color;
  1077. }
  1078. .error {
  1079. background-color: @error_bg_color;
  1080. color: @error_fg_color;
  1081. }
  1082. .dim-label {
  1083. color: mix (@theme_fg_color, @theme_bg_color, 0.50);
  1084. }
  1085. .sidebar,
  1086. .sidebar.view {
  1087. background-color: shade (@sidebar_color, 0.99);
  1088. background-image: -gtk-gradient (linear,
  1089. left top, right top,
  1090. from (shade (@sidebar_color,1.00)),
  1091. color-stop (0.98, shade (@sidebar_color, 1.00)),
  1092. color-stop (0.99, shade (@sidebar_color, 1.00)),
  1093. color-stop (1.00, shade (@sidebar_color, 0.86)),
  1094. to (shade (@sidebar_color,1.00)));
  1095. }
  1096. ApDocView, /* Abiword */
  1097. EogScrollView, /* Eog */
  1098. CheeseThumbView /* Cheese */
  1099. {
  1100. background-color: @chrome_bg_color;
  1101. -EogScrollView-shadow-type: none;
  1102. }
  1103. /* gnome-terminal */
  1104. TerminalScreen {
  1105. background-color: @theme_base_color;
  1106. color: @theme_fg_color;
  1107. -TerminalScreen-background-darkness: 0.95;
  1108. }
  1109. /**********************
  1110. * Fallback Mode Panel
  1111. **********************/
  1112. PanelWidget,
  1113. PanelApplet,
  1114. PanelApplet > GtkMenuBar.menubar,
  1115. .gnome-panel-menu-bar,
  1116. /* PanelAppletFrame, */
  1117. PanelMenuBar.menubar,
  1118. Panel,
  1119. WnckletFactory,
  1120. PanelToplevel {
  1121. /* Warning: Don't add any transparency here. It's really buggy and will make the panel unable to start. */
  1122. /* Warning 2: Don't add any global transition effects in your theme. The panel applets will crash if you combine it with alpha buttons. */
  1123. /* Warning 3: Adding alpha anywhere here may cause random crashes somehow. */
  1124. background-color: @os_chrome_bg_color;
  1125. color: @os_chrome_fg_color;
  1126. background-image: -gtk-gradient (linear,
  1127. left top, left bottom,
  1128. from (shade (@theme_bg_color, 0.30)),
  1129. to (shade (@theme_bg_color, 0.20));
  1130. }
  1131. /* Removes the ugly handles. Yes, they're that ugly! :P */
  1132. PanelAppletFrame { background-color: alpha (@theme_base_color, 0.0); }
  1133. ClockBox,
  1134. .gnome-panel-menu-bar {
  1135. font: bold;
  1136. }
  1137. PanelApplet > GtkMenuBar.menubar.menuitem:prelight,
  1138. .gnome-panel-menu-bar.menuitem:prelight {
  1139. background-color: @os_chrome_selected_bg_color;
  1140. color: @os_chrome_selected_fg_color;
  1141. border-color: lighter (@os_chrome_selected_bg_color);
  1142. background-image: -gtk-gradient (linear,
  1143. left top, left bottom,
  1144. from (shade (@theme_bg_color, 0.40)),
  1145. to (shade (@theme_bg_color, 0.30));
  1146. }
  1147. /* panel buttons (clock, tasklist etc) */
  1148. PanelApplet GtkToggleButton {
  1149. /* Putting 'none' on these backgrounds may cause the applets to crash in combination with 'Warning 2' above */
  1150. background-color: @os_chrome_bg_color;
  1151. background-image: -gtk-gradient (linear,
  1152. left top, left bottom,
  1153. from (shade (@theme_bg_color, 0.30)),
  1154. to (shade (@theme_bg_color, 0.20));
  1155. border-color: @os_chrome_bg_color;
  1156. border-width: 0;
  1157. border-radius: 0;
  1158. color: @os_chrome_fg_color;
  1159. }
  1160. /* Adding alpha here is risky and buggy. It may work or not work depending on several combinations. */
  1161. PanelApplet GtkToggleButton:active {
  1162. background-color: @os_chrome_selected_bg_color;
  1163. background-image: -gtk-gradient (linear,
  1164. left top, left bottom,
  1165. from (alpha (shade (@theme_bg_color, 0.30), 0.20)),
  1166. to (alpha (shade (@theme_bg_color, 0.20), 0.80));
  1167. border-color: lighter (@os_chrome_selected_bg_color);
  1168. border-width: 0;
  1169. color: @os_chrome_selected_fg_color;
  1170. }
  1171. PanelApplet GtkToggleButton:prelight:active,
  1172. PanelApplet GtkToggleButton:prelight {
  1173. background-color: @os_chrome_bg_color;
  1174. background-image: -gtk-gradient (linear,
  1175. left top, left bottom,
  1176. from (alpha (shade (@theme_bg_color, 1.20), 0.30)),
  1177. to (alpha (shade (@theme_bg_color, 1.20), 0.20));
  1178. border-color: @os_chrome_bg_color;
  1179. border-width: 0;
  1180. color: @os_chrome_selected_fg_color;
  1181. }
  1182. NaTrayApplet {
  1183. -NaTrayApplet-icon-padding: 12;
  1184. -NaTrayApplet-icon-size: 16;
  1185. }
  1186. WnckPager, WnckTasklist {
  1187. background-color: @os_chrome_selected_bg_color;
  1188. background-image: -gtk-gradient (linear,left top, left bottom,from (shade (@theme_bg_color, 0.40)),to (shade (@theme_bg_color, 0.30));
  1189. color: @os_chrome_fg_color;
  1190. }
  1191. GsmFailWhaleDialog,
  1192. GsmFailWhaleDialog * {
  1193. background-color: @os_chrome_bg_color;
  1194. background-image: none;
  1195. color: @os_chrome_fg_color;
  1196. }