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.42 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
21
gnome_shell_scss_depend_files = files([
22
'../_color-palette.scss',
23
'../_colors.scss',
24
'../_variables.scss',
25
'sass/components/base/_base.scss',
26
'sass/components/base/_button.scss',
27
'sass/components/base/_check-box.scss',
28
'sass/components/base/_entry.scss',
29
'sass/components/base/_scrollbar.scss',
30
'sass/components/base/_slider.scss',
31
'sass/components/base/_switch.scss',
32
'sass/components/dialog/_dialog.scss',
33
'sass/components/dialog/_network-dialog.scss',
34
'sass/components/gdm/_login-dialog.scss',
35
'sass/components/gdm/_screen-shield.scss',
36
'sass/components/menu/_calendar.scss',
37
'sass/components/menu/_candidate-popup.scss',
38
'sass/components/menu/_menu.scss',
39
'sass/components/menu/_message-list.scss',
40
'sass/components/misc/_a11y.scss',
41
'sass/components/misc/_keyboard.scss',
42
'sass/components/misc/_looking-glass.scss',
43
'sass/components/misc/_misc.scss',
44
'sass/components/misc/_tile-preview.scss',
45
'sass/components/notification/_hotplug.scss',
46
'sass/components/notification/_notification.scss',
47
'sass/components/osd/_osd.scss',
48
'sass/components/osd/_switcher.scss',
49
'sass/components/osd/_workspace-switcher.scss',
50
'sass/components/overview/_app-grid.scss',
51
'sass/components/overview/_dash.scss',
52
'sass/components/overview/_overview.scss',
53
'sass/components/overview/_search-entry.scss',
54
'sass/components/overview/_search-results.scss',
55
'sass/components/overview/_window-picker.scss',
56
'sass/components/overview/_workspace-switcher.scss',
57
'sass/components/panel/_panel.scss',
58
'sass/components/panel/_ripple-box.scss',
59
'sass/_components.scss',
60
'sass/_drawing.scss',
61
'sass/_extensions.scss',
62
'sass/_variables.scss',
63
])
64
65
foreach theme: themes
66
gnome_shell_dir = join_paths(theme['dir'], 'gnome-shell')
67
68
if theme['color'] != '-dark'
69
gnome_shell_assets_dir = 'assets'
70
else
71
gnome_shell_assets_dir = 'assets-dark'
72
endif
73
74
install_subdir(
75
gnome_shell_assets_dir,
76
strip_directory: true,
77
install_dir: join_paths(gnome_shell_dir, 'assets'),
78
)
79
80
install_subdir(
81
'extensions',
82
install_dir: gnome_shell_dir,
83
)
84
85
install_subdir(
86
'icons',
87
install_dir: gnome_shell_dir,
88
)
89
90
install_data(
91
[
92
'README.md',
93
'gnome-shell-theme.gresource.xml',
94
'noise-texture.png',
95
'pad-osd.css',
96
'process-working.svg',
97
],
98
install_dir: gnome_shell_dir,
99
)
100
101
#
102
# SCSS
103
#
104
105
gnome_shell_scss_conf = configuration_data()
106
gnome_shell_scss_conf.set('dark_theme', theme['scss_dark_theme'])
107
gnome_shell_scss_conf.set('light_topbar', theme['scss_light_topbar'])
108
gnome_shell_scss_conf.set('compact', theme['scss_compact'])
109
gnome_shell_scss_conf.set('version', gnome_shell_version)
110
111
# Configure SCSS file
112
gnome_shell_scss = configure_file(
113
input: 'gnome-shell.scss.in',
114
output: 'gnome-shell.@0@.scss'.format(theme['name']),
115
configuration: gnome_shell_scss_conf,
116
)
117
118
# Copy it from build dir to source dir
119
run_command(
120
'cp',
121
gnome_shell_scss,
122
meson.current_source_dir(),
123
)
124
125
# Generate CSS file
126
gnome_shell_css = custom_target(
127
'gnome-shell.@0@.css'.format(theme['name']),
128
input: 'gnome-shell.@0@.scss'.format(theme['name']),
129
output: 'gnome-shell.@0@.css'.format(theme['name']),
130
command: [sassc, sassc_opts, '@INPUT@', '@OUTPUT@'],
131
depend_files: gnome_shell_scss_depend_files,
132
build_by_default: true,
133
)
134
135
# Install it while renaming to a valid name
136
meson.add_install_script(
137
'sh', '-c', 'cp "@0@" "@1@"'.format(
138
gnome_shell_css.full_path(),
139
join_paths('$MESON_INSTALL_DESTDIR_PREFIX', gnome_shell_dir, 'gnome-shell.css'),
140
),
141
)
142
endforeach
143