Codebase list gnome-shell-extensions / master data / meson.build
master

Tree @master (Download .tar.gz)

meson.build @masterraw · history · blame

session_desktop_base = 'gnome-classic'

session_desktops = [
  session_desktop_base,
  session_desktop_base + '-xorg',
  session_desktop_base + '-wayland',
]

foreach name: session_desktops
    session_desktop = name + '.desktop'
    if name.endswith('-xorg')
        session_instdir = xsessiondir
    elif name.endswith('-wayland')
        session_instdir = wlsessiondir
    else
        # FIXME: The same target can not be copied into two directories.
        #        There is a workaround in meson/session-post-install.py until proper
        #        solution arises:
        #        https://github.com/mesonbuild/meson/issues/2416
        session_instdir = xsessiondir
        #session_instdir = [ xesssiondir, wlsessiondir ]
    endif
    i18n.merge_file(
      input:  session_desktop + '.in',
      output: session_desktop,
      po_dir: '../po',
      install: true,
      install_dir: session_instdir,
      type: 'desktop'
    )
endforeach

classic_uuids = []
foreach e : classic_extensions
    classic_uuids += e + uuid_suffix
endforeach

mode_conf = configuration_data()
mode_conf.set('CLASSIC_EXTENSIONS', '"' + '", "'.join(classic_uuids) + '"')

mode_file = 'classic.json'
configure_file(
  input: mode_file + '.in',
  output: mode_file,
  configuration: mode_conf,
  install_dir: modedir
)

theme_sources = files(
  'gnome-shell-sass/_colors.scss',
  'gnome-shell-sass/_common.scss',
  'gnome-shell-sass/_drawing.scss',
  'gnome-shell-sass/_high-contrast-colors.scss',
  'gnome-shell-sass/_widgets.scss',
  'gnome-shell-sass/widgets/_a11y.scss',
  'gnome-shell-sass/widgets/_app-grid.scss',
  'gnome-shell-sass/widgets/_base.scss',
  'gnome-shell-sass/widgets/_buttons.scss',
  'gnome-shell-sass/widgets/_calendar.scss',
  'gnome-shell-sass/widgets/_check-box.scss',
  'gnome-shell-sass/widgets/_corner-ripple.scss',
  'gnome-shell-sass/widgets/_dash.scss',
  'gnome-shell-sass/widgets/_dialogs.scss',
  'gnome-shell-sass/widgets/_entries.scss',
  'gnome-shell-sass/widgets/_hotplug.scss',
  'gnome-shell-sass/widgets/_ibus-popup.scss',
  'gnome-shell-sass/widgets/_keyboard.scss',
  'gnome-shell-sass/widgets/_login-dialog.scss',
  'gnome-shell-sass/widgets/_looking-glass.scss',
  'gnome-shell-sass/widgets/_message-list.scss',
  'gnome-shell-sass/widgets/_misc.scss',
  'gnome-shell-sass/widgets/_notifications.scss',
  'gnome-shell-sass/widgets/_osd.scss',
  'gnome-shell-sass/widgets/_overview.scss',
  'gnome-shell-sass/widgets/_panel.scss',
  'gnome-shell-sass/widgets/_popovers.scss',
  'gnome-shell-sass/widgets/_quick-settings.scss',
  'gnome-shell-sass/widgets/_screen-shield.scss',
  'gnome-shell-sass/widgets/_scrollbars.scss',
  'gnome-shell-sass/widgets/_search-entry.scss',
  'gnome-shell-sass/widgets/_search-results.scss',
  'gnome-shell-sass/widgets/_slider.scss',
  'gnome-shell-sass/widgets/_switcher-popup.scss',
  'gnome-shell-sass/widgets/_switches.scss',
  'gnome-shell-sass/widgets/_window-picker.scss',
  'gnome-shell-sass/widgets/_workspace-switcher.scss',
  'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
)

theme_data = [
  'classic-process-working.svg',
  'gnome-classic-high-contrast.css'
]

stylesheet = 'gnome-classic.css'
if fs.exists(stylesheet)
  install_data(stylesheet, install_dir: themedir)
else
  sassc = find_program('sassc', required: true)
  custom_target(stylesheet,
    input: fs.replace_suffix(stylesheet, '.scss'),
    output: stylesheet,
    depend_files: theme_sources,
    command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
    install: true,
    install_dir: themedir
  )
endif

install_data(theme_data, install_dir: themedir)

classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
install_data(classic_override, install_dir: schemadir)