3833124d66
Commit 0af108211c4f5d3511b085313587e8d5541e51bb introduced a regression where applications that appear in multiple categories were duplicated in the "All Apps" list, because we switched from uniquifying on desktop file ID to the GMenuTreeEntry. Switch back to keeping the set of apps based on ID. To flesh this out, we keep the ShellApp instance for a given ID around forever, and when we're loading new contents, we replace the GMenuTreeEntry inside the app. That means callers still get new data. We still keep around the running app list, though we could just recompute it from the app list now. https://bugzilla.gnome.org/show_bug.cgi?id=659351
35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
#ifndef __SHELL_APP_PRIVATE_H__
|
|
#define __SHELL_APP_PRIVATE_H__
|
|
|
|
#include "shell-app.h"
|
|
#include "shell-app-system.h"
|
|
|
|
#define SN_API_NOT_YET_FROZEN 1
|
|
#include <libsn/sn.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
ShellApp* _shell_app_new_for_window (MetaWindow *window);
|
|
|
|
ShellApp* _shell_app_new (GMenuTreeEntry *entry);
|
|
|
|
void _shell_app_set_entry (ShellApp *app, GMenuTreeEntry *entry);
|
|
|
|
void _shell_app_handle_startup_sequence (ShellApp *app, SnStartupSequence *sequence);
|
|
|
|
void _shell_app_add_window (ShellApp *app, MetaWindow *window);
|
|
|
|
void _shell_app_remove_window (ShellApp *app, MetaWindow *window);
|
|
|
|
void _shell_app_do_match (ShellApp *app,
|
|
GSList *terms,
|
|
GSList **multiple_prefix_results,
|
|
GSList **prefix_results,
|
|
GSList **multiple_substring_results,
|
|
GSList **substring_results);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __SHELL_APP_PRIVATE_H__ */
|