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.52 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
'../_shadow.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
'sass/_typography.scss',
66
])
67
68
foreach theme: themes
69
gnome_shell_dir = join_paths(theme['dir'], 'gnome-shell')
70
71
if theme['color'] != '-dark'
72
gnome_shell_assets_dir = 'assets'
73
else
74
gnome_shell_assets_dir = 'assets-dark'
75
endif
76
77
install_subdir(
78
gnome_shell_assets_dir,
79
strip_directory: true,
80
install_dir: join_paths(gnome_shell_dir, 'assets'),
81
)
82
83
install_subdir(
84
'extensions',
85
install_dir: gnome_shell_dir,
86
)
87
88
install_subdir(
89
'icons',
90
install_dir: gnome_shell_dir,
91
)
92
93
install_data(
94
[
95
'gnome-shell-start.svg',
96
'gnome-shell-theme.gresource.xml',
97
'noise-texture.png',
98
'pad-osd.css',
99
'process-working.svg',
100
],
101
install_dir: gnome_shell_dir,
102
)
103
104
#
105
# SCSS
106
#
107
108
gnome_shell_scss_conf = configuration_data()
109
gnome_shell_scss_conf.set('dark_theme', theme['scss_dark_theme'])
110
gnome_shell_scss_conf.set('light_topbar', theme['scss_light_topbar'])
111
gnome_shell_scss_conf.set('compact', theme['scss_compact'])
112
gnome_shell_scss_conf.set('version', gnome_shell_version)
113
gnome_shell_scss_conf.set('current_source_dir', meson.current_source_dir())
114
115
gnome_shell_temp_name = '@0@.gnome-shell'.format(theme['name'])
116
117
# Configure SCSS file
118
gnome_shell_scss = configure_file(
119
input: 'gnome-shell.scss.in',
120
output: '@0@.scss'.format(gnome_shell_temp_name),
121
configuration: gnome_shell_scss_conf,
122
)
123
124
# Generate CSS file
125
gnome_shell_css = custom_target(
126
'@0@.css'.format(gnome_shell_temp_name),
127
input: gnome_shell_scss,
128
output: '@0@.css'.format(gnome_shell_temp_name),
129
command: [sass, sass_opts, '@INPUT@', '@OUTPUT@'],
130
depend_files: gnome_shell_scss_depend_files,
131
build_by_default: true,
132
)
133
134
# Install it while renaming to a valid name
135
meson.add_install_script(
136
sh, '-c', 'cp "@0@" "@1@"'.format(
137
gnome_shell_css.full_path(),
138
join_paths('$MESON_INSTALL_DESTDIR_PREFIX', gnome_shell_dir, 'gnome-shell.css'),
139
),
140
)
141
endforeach
142