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