From fb31765cbe33890f325a87015507364156741321 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:59:44 +0200 Subject: Adding upstream version 42.0. Signed-off-by: Daniel Baumann --- src/prettytable.h | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/prettytable.h (limited to 'src/prettytable.h') diff --git a/src/prettytable.h b/src/prettytable.h new file mode 100644 index 0000000..627ac6f --- /dev/null +++ b/src/prettytable.h @@ -0,0 +1,74 @@ +/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +#ifndef _GSM_PRETTY_TABLE_H_ +#define _GSM_PRETTY_TABLE_H_ + +#include +#include +#include +#include + +#include + +#include +#include + +#ifdef HAVE_WNCK +extern "C" { +#define WNCK_I_KNOW_THIS_IS_UNSTABLE +#include +} +#endif + +class ProcInfo; + +using std::string; + + + +class PrettyTable +{ +public: + PrettyTable(); + ~PrettyTable(); + + void set_icon(ProcInfo &); + +private: + +#ifdef HAVE_WNCK + static void on_application_opened(WnckScreen* screen, WnckApplication* app, gpointer data); + static void on_application_closed(WnckScreen* screen, WnckApplication* app, gpointer data); + + void register_application(pid_t pid, Glib::RefPtr icon); + void unregister_application(pid_t pid); +#endif + + Glib::RefPtr get_icon_from_theme(const ProcInfo &); + Glib::RefPtr get_icon_from_default(const ProcInfo &); + Glib::RefPtr get_icon_from_gio(const ProcInfo &); +#ifdef HAVE_WNCK + Glib::RefPtr get_icon_from_wnck(const ProcInfo &); +#endif + Glib::RefPtr get_icon_from_name(const ProcInfo &); + Glib::RefPtr get_icon_for_kernel(const ProcInfo &); + Glib::RefPtr get_icon_dummy(const ProcInfo &); + + bool get_default_icon_name(const string &cmd, string &name); + void file_monitor_event (Glib::RefPtr, + Glib::RefPtr, + Gio::FileMonitorEvent); + void init_gio_app_cache (); + + typedef std::map > IconCache; + typedef std::map > IconsForPID; + typedef std::map > AppCache; + typedef std::map > DesktopDirMonitors; + + IconsForPID apps; + IconCache defaults; + DesktopDirMonitors monitors; + AppCache gio_apps; +}; + + +#endif /* _GSM_PRETTY_TABLE_H_ */ -- cgit v1.2.3