A fork of the Materia GTK theme.

Important information: Google announced that, from September 2026, Android devices will require ALL apps to be signed by Google, effectively leading to an iOS situation. Value your right to a computer that does what you want; do not tolerate this monopolistic practice! Contact me if you don't understand why it is bad. Click to learn more.

 meson.build

View raw Download
text/plain • 4.27 kiB
ASCII text
        
            
1
gnome_shell = find_program('gnome-shell', required: false)
2
3
if get_option('gnome_shell_version') != ''
4
gnome_shell_version = get_option('gnome_shell_version')
5
else
6
if gnome_shell.found()
7
gnome_shell_version_array = run_command([gnome_shell, '--version']).stdout().split('\n')[0].split(' ')[-1].strip().split('.')
8
9
if gnome_shell_version_array[1].to_int().is_even()
10
gnome_shell_version = '.'.join([gnome_shell_version_array[0], gnome_shell_version_array[1]])
11
else
12
gnome_shell_version = '.'.join([gnome_shell_version_array[0], (gnome_shell_version_array[1].to_int() + 1).to_string()])
13
endif
14
else
15
message('gnome-shell not found, using styles for last gnome-shell version availible')
16
gnome_shell_version = '3.36'
17
endif
18
endif
19
20
gnome_shell_scss_depend_files = files([
21
'../_color-palette.scss',
22
'../_colors.scss',
23
'../_variables.scss',
24
'sass/components/dialog/_dialog.scss',
25
'sass/components/dialog/_network-dialog.scss',
26
'sass/components/gdm/_login-dialog.scss',
27
'sass/components/gdm/_screen-shield.scss',
28
'sass/components/menu/_calendar.scss',
29
'sass/components/menu/_candidate-popup.scss',
30
'sass/components/menu/_menu.scss',
31
'sass/components/menu/_message-list.scss',
32
'sass/components/misc/_a11y.scss',
33
'sass/components/misc/_keyboard.scss',
34
'sass/components/misc/_looking-glass.scss',
35
'sass/components/misc/_misc.scss',
36
'sass/components/misc/_tile-preview.scss',
37
'sass/components/notification/_hotplug.scss',
38
'sass/components/notification/_notification.scss',
39
'sass/components/osd/_osd.scss',
40
'sass/components/osd/_switcher.scss',
41
'sass/components/osd/_workspace-switcher.scss',
42
'sass/components/overview/_app-grid.scss',
43
'sass/components/overview/_dash.scss',
44
'sass/components/overview/_overview.scss',
45
'sass/components/overview/_search-entry.scss',
46
'sass/components/overview/_search-results.scss',
47
'sass/components/overview/_window-picker.scss',
48
'sass/components/overview/_workspace-switcher.scss',
49
'sass/components/panel/_panel.scss',
50
'sass/components/panel/_ripple-box.scss',
51
'sass/components/_base.scss',
52
'sass/components/_button.scss',
53
'sass/components/_check-box.scss',
54
'sass/components/_entry.scss',
55
'sass/components/_scrollbar.scss',
56
'sass/components/_slider.scss',
57
'sass/components/_switch.scss',
58
'sass/_components.scss',
59
'sass/_drawing.scss',
60
'sass/_extensions.scss',
61
'sass/_variables.scss',
62
])
63
64
foreach theme: themes
65
gnome_shell_dir = join_paths(theme['dir'], 'gnome-shell')
66
67
if theme['color'] != '-dark'
68
gnome_shell_assets_dir = 'assets'
69
else
70
gnome_shell_assets_dir = 'assets-dark'
71
endif
72
73
install_subdir(
74
gnome_shell_assets_dir,
75
strip_directory: true,
76
install_dir: join_paths(gnome_shell_dir, 'assets'),
77
)
78
79
install_subdir(
80
'extensions',
81
install_dir: gnome_shell_dir,
82
)
83
84
install_subdir(
85
'icons',
86
install_dir: gnome_shell_dir,
87
)
88
89
install_data(
90
[
91
'README.md',
92
'gnome-shell-theme.gresource.xml',
93
'noise-texture.png',
94
'pad-osd.css',
95
'process-working.svg',
96
],
97
install_dir: gnome_shell_dir,
98
)
99
100
#
101
# SCSS
102
#
103
104
gnome_shell_scss_conf = configuration_data()
105
gnome_shell_scss_conf.set('variant', theme['scss_variant'])
106
gnome_shell_scss_conf.set('topbar', theme['scss_topbar'])
107
gnome_shell_scss_conf.set('compact', theme['scss_compact'])
108
gnome_shell_scss_conf.set('version', gnome_shell_version)
109
110
# Configure SCSS file
111
gnome_shell_scss = configure_file(
112
input: 'gnome-shell.scss.in',
113
output: 'gnome-shell.@0@.scss'.format(theme['name']),
114
configuration: gnome_shell_scss_conf,
115
)
116
117
# Copy it from build dir to source dir
118
run_command(
119
'cp',
120
gnome_shell_scss,
121
meson.current_source_dir(),
122
)
123
124
# Generate CSS file
125
gnome_shell_css = custom_target(
126
'gnome-shell.@0@.css'.format(theme['name']),
127
input: 'gnome-shell.@0@.scss'.format(theme['name']),
128
output: 'gnome-shell.@0@.css'.format(theme['name']),
129
command: [sassc, sassc_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