A fork of the Materia GTK theme.

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 meson.build

View raw Download
text/plain • 4.5 kiB
ASCII text
        
            
1
gnome_shell = find_program('gnome-shell', required: false)
2
3
if get_option('gnome_shell_version') != ''
4
gnome_shell_full_version = get_option('gnome_shell_version')
5
elif gnome_shell.found()
6
gnome_shell_full_version = run_command(gnome_shell, '--version').stdout().split()[-1]
7
else
8
message('gnome-shell not found, using styles for last gnome-shell version availible')
9
gnome_shell_full_version = '3.38'
10
endif
11
12
gnome_shell_version_array = gnome_shell_full_version.split('.')
13
if gnome_shell_version_array[0].version_compare('>= 40')
14
gnome_shell_version = gnome_shell_version_array[0]
15
elif gnome_shell_version_array[1].to_int().is_even()
16
gnome_shell_version = gnome_shell_version_array[0] + '.' + gnome_shell_version_array[1]
17
else
18
gnome_shell_version = gnome_shell_version_array[0] + '.' + (gnome_shell_version_array[1].to_int() + 1).to_string()
19
endif
20
message('Set gnome-shell version to ' + gnome_shell_version)
21
22
gnome_shell_scss_depend_files = files([
23
'../_color-palette.scss',
24
'../_st-theme.scss',
25
'../_theme.scss',
26
'../_theme-color.scss',
27
'sass/components/base/_base.scss',
28
'sass/components/base/_button.scss',
29
'sass/components/base/_check-box.scss',
30
'sass/components/base/_entry.scss',
31
'sass/components/base/_scrollbar.scss',
32
'sass/components/base/_slider.scss',
33
'sass/components/base/_switch.scss',
34
'sass/components/dialog/_dialog.scss',
35
'sass/components/dialog/_network-dialog.scss',
36
'sass/components/gdm/_login-dialog.scss',
37
'sass/components/gdm/_screen-shield.scss',
38
'sass/components/menu/_calendar.scss',
39
'sass/components/menu/_candidate-popup.scss',
40
'sass/components/menu/_menu.scss',
41
'sass/components/menu/_message-list.scss',
42
'sass/components/misc/_a11y.scss',
43
'sass/components/misc/_keyboard.scss',
44
'sass/components/misc/_looking-glass.scss',
45
'sass/components/misc/_misc.scss',
46
'sass/components/misc/_tile-preview.scss',
47
'sass/components/notification/_hotplug.scss',
48
'sass/components/notification/_notification.scss',
49
'sass/components/osd/_osd.scss',
50
'sass/components/osd/_switcher.scss',
51
'sass/components/osd/_workspace-switcher.scss',
52
'sass/components/overview/_app-grid.scss',
53
'sass/components/overview/_dash.scss',
54
'sass/components/overview/_overview.scss',
55
'sass/components/overview/_search-entry.scss',
56
'sass/components/overview/_search-results.scss',
57
'sass/components/overview/_window-picker.scss',
58
'sass/components/overview/_workspace-thumbnails.scss',
59
'sass/components/panel/_panel.scss',
60
'sass/components/panel/_ripple-box.scss',
61
'sass/components/_index.scss',
62
'sass/_drawing.scss',
63
'sass/_extensions.scss',
64
'sass/_gnome-shell.scss',
65
])
66
67
foreach theme: themes
68
gnome_shell_dir = join_paths(theme['dir'], 'gnome-shell')
69
70
if theme['color'] != '-dark'
71
gnome_shell_assets_dir = 'assets'
72
else
73
gnome_shell_assets_dir = 'assets-dark'
74
endif
75
76
install_subdir(
77
gnome_shell_assets_dir,
78
strip_directory: true,
79
install_dir: join_paths(gnome_shell_dir, 'assets'),
80
)
81
82
install_subdir(
83
'extensions',
84
install_dir: gnome_shell_dir,
85
)
86
87
install_subdir(
88
'icons',
89
install_dir: gnome_shell_dir,
90
)
91
92
install_data(
93
[
94
'gnome-shell-start.svg',
95
'gnome-shell-theme.gresource.xml',
96
'noise-texture.png',
97
'pad-osd.css',
98
'process-working.svg',
99
],
100
install_dir: gnome_shell_dir,
101
)
102
103
#
104
# SCSS
105
#
106
107
gnome_shell_scss_conf = configuration_data()
108
gnome_shell_scss_conf.set('dark_theme', theme['scss_dark_theme'])
109
gnome_shell_scss_conf.set('light_topbar', theme['scss_light_topbar'])
110
gnome_shell_scss_conf.set('compact', theme['scss_compact'])
111
gnome_shell_scss_conf.set('version', gnome_shell_version)
112
gnome_shell_scss_conf.set('current_source_dir', meson.current_source_dir())
113
114
gnome_shell_temp_name = '@0@.gnome-shell'.format(theme['name'])
115
116
# Configure SCSS file
117
gnome_shell_scss = configure_file(
118
input: 'gnome-shell.scss.in',
119
output: '@0@.scss'.format(gnome_shell_temp_name),
120
configuration: gnome_shell_scss_conf,
121
)
122
123
# Generate CSS file
124
gnome_shell_css = custom_target(
125
'@0@.css'.format(gnome_shell_temp_name),
126
input: gnome_shell_scss,
127
output: '@0@.css'.format(gnome_shell_temp_name),
128
command: [sass, sass_opts, '@INPUT@', '@OUTPUT@'],
129
depend_files: gnome_shell_scss_depend_files,
130
build_by_default: true,
131
)
132
133
# Install it while renaming to a valid name
134
meson.add_install_script(
135
sh, '-c', 'cp "@0@" "@1@"'.format(
136
gnome_shell_css.full_path(),
137
join_paths('$MESON_INSTALL_DESTDIR_PREFIX', gnome_shell_dir, 'gnome-shell.css'),
138
),
139
)
140
endforeach
141