GNOME Extensions
GNOME is popular Linux Desktop environment pre-installed on many Linux
distrubutions. In order to get a better user experience users often install
GNOME Shell extensions to enhance the Desktop environment. Artemis supports
parsing extension metadata to obtain information on installed extensions.
Collection
You have to use the artemis api in order to collect installed GNOME extensions. By default the API will parse user and system installed extensions.
Sample API Script
import { getGnomeExtensions } from "./artemis-api/src/linux/gnome/extensions";
function main() {
const results = getGnomeExtensions();
console.log(results);
}
main();
Output Structure
An array of Extension
entries.
/**
* Information about installed GNOME extensions
*/
export interface Extension {
/**Path to extension metadata.json file */
extension_path: string;
/**Name of the extension */
name: string;
/**Extension description */
description: string;
/**Author (UUID) of the extension */
uuid: string;
/**Extension version */
version: number;
/**Supported GNOME Shell versions */
"shell-version": string[];
/**Extension Type: User or System */
extension_type: ExtensionType;
/**Other JSON key entries */
[key: string]: unknown;
/**metadata.json created */
created: string;
/**metadata.json modified */
modified: string;
/**metadata.json accessed */
accessed: string;
/**metadata.json changed */
changed: string;
}
export enum ExtensionType {
User = "User",
System = "System",
Unknown = "Unknown",
}