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.29 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('dark_theme', theme['scss_dark_theme'])
106
gnome_shell_scss_conf.set('light_topbar', theme['scss_light_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