Commit Graph

17 Commits

Author SHA1 Message Date
Colin Walters
88c9a23866 ShellAppSystem: Add favorites API and shell_app_system_lookup_basename
Add a GConf key for favorites, and API for retrieving them.

Also add shell_app_system_lookup_basename, which we use from
the app monitor to look up WM_CLASS ids.
2009-06-30 16:35:16 -04:00
Colin Walters
94f92072c2 ShellAppMonitor now always assocates windows with desktop files
Track all windows; at the time of opening (and shell startup)
we call into ShellAppSystem to take the WM_CLASS property and
try to find an associated .desktop file.

Add mozilla-firefox to the list of our WM_CLASS workarounds.

Add shell_global_get_screen, since it's often used.
2009-06-30 16:20:24 -04:00
Colin Walters
e7771b4eb0 Make ShellAppMonitor and ShellAppSystem singletons, remove unused code in appDisplay
We shouldn't create multiple instances of either.  Also remove a bit
of unused code in appDisplay.
2009-06-18 12:27:19 -04:00
Colin Walters
4314c6e57f Close memory leaks in ShellAppMonitor, ShellAppSystem, ShellTextureCache
Unref'ing the GdkPixbuf is particularly critical.  Some smaller fixes
also included.
2009-06-16 17:31:47 -04:00
Milan Bouchet-Valat
ef3ac7a7f6 Fix crash in app monitor on 64 bits CPUs
Pointers and integers are not the same size, use GPOINTER_TO_INT() for conversion.

http://bugzilla.gnome.org/show_bug.cgi?id=584539
2009-06-05 15:50:51 +02:00
Colin Walters
015d10b87e Use title property instead of description for window titles
The title property is what we actually want.
2009-06-04 12:10:04 -04:00
Colin Walters
278a44caf1 Rework internals of ShellAppMonitor to use Metacity library
The code here is significantly cleaner if we use the data Metacity
already has cached and validated, rather than talking to X directly.

Also some preparatory work for extending the monitor API by
clarifying the name of the (current) main entry point.
2009-06-01 14:19:47 -04:00
Milan Bouchet-Valat
bea595d143 Fix occasional crash in lists handling in ShellAppMonitor
We need to reset the popularity GSList* at start, and everytime we load data about a another activity. This also implies fixing the typo about (activity != -1).

Thanks to Dan Winship. http://bugzilla.gnome.org/show_bug.cgi?id=582215
2009-05-12 13:46:47 -04:00
Milan Bouchet-Valat
9b632e8873 Fix GConf handling in ShellAppMonitor
This solves several issues:
- use built-in default so that app monitoring is enabled when schemas are not installed
- don't start/stop timers without checking their previous state
- unreference the default GConfClient
- use #define for the GConf key path
2009-05-05 14:39:51 -04:00
Milan Bouchet-Valat
4ef655ffce Don't print useless error message when app monitor config file does not exist
This warning was printed even when app monitoring was disabled. It's not needed anyay since we'll warn on saving if an error occurs.
2009-05-04 16:45:42 -04:00
Milan Bouchet-Valat
216db2bb12 add GConf option to disable app monitoring
This option only disables timers, so that already collected is still provided to e.g. appDisplay. IMO that's required for privacy concerns...
2009-04-29 11:05:03 -04:00
Milan Bouchet-Valat
f4f92a879c application monitoring base object
The new ShellAppMonitor object is responsible for tracking active applications and store statistics.

http://bugzilla.gnome.org/show_bug.cgi?id=570899
2009-04-29 11:05:03 -04:00
Colin Walters
b632801c7c Rename ShellAppMonitor to ShellAppSystem
This makes it clearer that really we're now an API, not just a
monitor.
2009-04-22 15:34:14 -04:00
Colin Walters
df1e051207 Check the type of GMenu items we get to avoid a crash
We can't assume they're entries, and in this case they were
actually directories.
2009-04-08 10:54:27 -04:00
Colin Walters
0a9226f7f2 Add a menu display to applications
ShellAppMonitor now depends on gmenu to load menus.

Use the menu data from ShellAppMonitor to show a menu list.

GenericDisplay implementations can now have a sidebar area.  We
handle keystrokes such as left/right explicitly.

Some internal API changes to account for the fact that a display
can have another filter in addition to the search.
2009-04-07 17:07:35 -04:00
Colin Walters
ee743394f6 Monitor applications directory, not toplevel
svn path=/trunk/; revision=71
2008-11-21 15:06:43 +00:00
Colin Walters
c928b64648 Merge branch 'appmenu'
svn path=/trunk/; revision=68
2008-11-21 00:53:11 +00:00