libayatana-appindicator-0.5.3/acinclude.m40000644000000000000000000002236413254161055015367 0ustar ## ------------------------ ## Python file handling ## From Andrew Dalke ## Updated by James Henstridge ## ------------------------ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # Adds support for distributing Python modules and packages. To # install modules, copy them to $(pythondir), using the python_PYTHON # automake variable. To install a package with the same name as the # automake package, install to $(pkgpythondir), or use the # pkgpython_PYTHON automake variable. # The variables $(pyexecdir) and $(pkgpyexecdir) are provided as # locations to install python extension modules (shared libraries). # Another macro is required to find the appropriate flags to compile # extension modules. # If your package is configured with a different prefix to python, # users will have to add the install directory to the PYTHONPATH # environment variable, or create a .pth file (see the python # documentation for details). # If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will # cause an error if the version of python installed on the system # doesn't meet the requirement. MINIMUM-VERSION should consist of # numbers and dots only. AC_DEFUN([AM_PATH_PYTHON], [ dnl Find a Python interpreter. Python versions prior to 1.5 are not dnl supported because the default installation locations changed from dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages dnl in 1.5. m4_define([_AM_PYTHON_INTERPRETER_LIST], [python python2 python2.4 python2.3 python2.2 dnl python2.1 python2.0 python1.6 python1.5]) m4_if([$1],[],[ dnl No version check is needed. # Find any Python interpreter. if test -z "$PYTHON"; then PYTHON=: AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST) fi am_display_PYTHON=python ], [ dnl A version check is needed. if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. AC_MSG_CHECKING([whether $PYTHON version >= $1]) AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], [AC_MSG_RESULT(yes)], [AC_MSG_ERROR(too old)]) am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. AC_CACHE_CHECK([for a Python interpreter with version >= $1], [am_cv_pathless_PYTHON],[ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do test "$am_cv_pathless_PYTHON" = none && break AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) done]) # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) fi am_display_PYTHON=$am_cv_pathless_PYTHON fi ]) if test "$PYTHON" = :; then dnl Run any user-specified action, or abort. m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else dnl Query Python for its version number. Getting [:3] seems to be dnl the best way to do this; it's what "site.py" does in the standard dnl library. AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) dnl Use the values of $prefix and $exec_prefix for the corresponding dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made dnl distinct variables so they can be overridden if need be. However, dnl general consensus is that you shouldn't need this ability. AC_SUBST([PYTHON_PREFIX], ['${prefix}']) AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) dnl At times (like when building shared libraries) you may want dnl to know which OS platform Python thinks this is. AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`]) AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) dnl Set up 4 directories: dnl pythondir -- where to install python scripts. This is the dnl site-packages directory, not the python standard library dnl directory like in previous automake betas. This behavior dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. distutils does not exist in dnl Python 1.5, so we fall back to the hardcoded directory if it dnl doesn't work. AC_CACHE_CHECK([for $am_display_PYTHON script directory], [am_cv_python_pythondir], [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`]) AC_SUBST([pythondir], [$am_cv_python_pythondir]) dnl pkgpythondir -- $PACKAGE directory under pythondir. Was dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is dnl more consistent with the rest of automake. AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) dnl pyexecdir -- directory for installing python extension modules dnl (shared libraries) dnl Query distutils for this directory. distutils does not exist in dnl Python 1.5, so we fall back to the hardcoded directory if it dnl doesn't work. AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], [am_cv_python_pyexecdir], [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`]) AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) dnl Run any user-specified action. $2 fi ]) # AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # --------------------------------------------------------------------------- # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. # Run ACTION-IF-FALSE otherwise. # This test uses sys.hexversion instead of the string equivalent (first # word of sys.version), in order to cope with versions such as 2.2c1. # hexversion has been introduced in Python 1.5.2; it's probably not # worth to support older versions (1.5.1 was released on October 31, 1998). AC_DEFUN([AM_PYTHON_CHECK_VERSION], [prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. minver = map(int, string.split('$2', '.')) + [[0, 0, 0]] minverhex = 0 for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) python.m4 ## this one is commonly used with AM_PATH_PYTHONDIR ... dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) dnl Check if a module containing a given symbol is visible to python. AC_DEFUN([AM_CHECK_PYMOD], [AC_REQUIRE([AM_PATH_PYTHON]) py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ ifelse([$2],[], [prog=" import sys try: import $1 except ImportError: sys.exit(1) except: sys.exit(0) sys.exit(0)"], [prog=" import $1 $1.$2"]) if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC then eval "py_cv_mod_$py_mod_var=yes" else eval "py_cv_mod_$py_mod_var=no" fi ]) py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` if test "x$py_val" != xno; then AC_MSG_RESULT(yes) ifelse([$3], [],, [$3 ])dnl else AC_MSG_RESULT(no) ifelse([$4], [],, [$4 ])dnl fi ]) dnl a macro to check for ability to create python extensions dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) dnl function also defines PYTHON_INCLUDES AC_DEFUN([AM_CHECK_PYTHON_HEADERS], [AC_REQUIRE([AM_PATH_PYTHON]) AC_MSG_CHECKING(for headers required to compile python extensions) dnl deduce PYTHON_INCLUDES py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` PYTHON_INCLUDES="`$PYTHON-config --includes`" if test "$py_prefix" != "$py_exec_prefix"; then PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" fi AC_SUBST(PYTHON_INCLUDES) dnl check if the headers exist: save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" AC_TRY_CPP([#include ],dnl [AC_MSG_RESULT(found) $1],dnl [AC_MSG_RESULT(not found) $2]) CPPFLAGS="$save_CPPFLAGS" ]) libayatana-appindicator-0.5.3/AUTHORS0000644000000000000000000000000013254161055014225 0ustar libayatana-appindicator-0.5.3/autogen.sh0000755000000000000000000000035513254161055015173 0ustar #!/bin/sh PKG_NAME="libayatana-appindicator" which mate-autogen || { echo "You need mate-common from https://git.mate-desktop.org/mate-common" exit 1 } gtkdocize || exit 1 USE_COMMON_DOC_BUILD=yes \ mate-autogen --enable-gtk-doc $@ libayatana-appindicator-0.5.3/bindings/Makefile.am0000644000000000000000000000020713254161055017017 0ustar if USE_GTK3 SUBDIRS = \ vala else SUBDIRS = \ python \ vala endif if HAS_MONO SUBDIRS += mono endif DISTCLEANFILES = Makefile.inlibayatana-appindicator-0.5.3/bindings/mono/app-indicator.sources.xml.in0000644000000000000000000000070413254161055023300 0ustar @top_builddir@/bindings/mono/app-indicator.c @top_builddir@/src/app-indicator-enum-types.c @top_builddir@/src/app-indicator-enum-types.h @top_srcdir@/src/app-indicator.h libayatana-appindicator-0.5.3/bindings/mono/ApplicationIndicator.custom0000644000000000000000000000153213254161055023271 0ustar [DllImport ("ayatana-appindicator.dll")] static extern int app_indicator_get_status (IntPtr i); [DllImport ("ayatana-appindicator.dll")] static extern int app_indicator_get_category (IntPtr i); [DllImport ("ayatana-appindicator.dll")] static extern void app_indicator_set_status (IntPtr i, int s); [GLib.Property ("status")] public AppIndicatorStatus AppIndicatorStatus { get { return (AppIndicatorStatus) app_indicator_get_status (Handle); } set { app_indicator_set_status (Handle, (int) value); } } [GLib.Property ("category")] public AppIndicatorCategory AppIndicatorCategory { get { return (AppIndicatorCategory) app_indicator_get_category (Handle); } } libayatana-appindicator-0.5.3/bindings/mono/AssemblyInfo.cs0000644000000000000000000000224413254161055020660 0ustar /* * Copyright 2010 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Authors: * Cody Russell */ using System.Reflection; [assembly: AssemblyTitle ("Application Indicators")] [assembly: AssemblyDescription ("Ayatana Application Indicators")] [assembly: AssemblyConfiguration ("")] [assembly: AssemblyCompany ("Ayatana Project")] [assembly: AssemblyProduct ("Ayatana AppIndicators")] [assembly: AssemblyCopyright ("© 2010 Canonical, Ltd.; © 2015 Mike Gabriel")] [assembly: AssemblyTrademark ("")] [assembly: AssemblyCulture ("")] [assembly: AssemblyVersion ("0.5.3.0")] libayatana-appindicator-0.5.3/bindings/mono/ayatana-appindicator-sharp-0.1.pc.in0000644000000000000000000000065213254161055024370 0ustar prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ assemblies_dir=${prefix}/lib/cli/ayatana-appindicator-sharp-0.1 Name: ayatana-appindicator-sharp Description: application indicators for .NET Version: @VERSION@ Libraries: ${assemblies_dir}/ayatana-appindicator-sharp.dll ${assemblies_dir}/ayatana-appindicator-sharp.dll.config Requires: gtk-sharp-2.0 Cflags: Libs: -r:${assemblies_dir}/ayatana-appindicator-sharp.dll libayatana-appindicator-0.5.3/bindings/mono/ayatana-appindicator-sharp.dll.config.in0000644000000000000000000000073513254161055025513 0ustar libayatana-appindicator-0.5.3/bindings/mono/ayatana-appindicator-sharp.snk0000644000000000000000000000112413254161055023653 0ustar $RSA2 U 5~rۿBNa @X< tmmYcTX}K0tM,ފ~s/>H٤6̭bº8|(Hܚ4haHPc{X}1""C#y*Ì=d"~'!d{;<{0b9*gmNGhٜQTr] y-Tt$34ҏQ{IǥWu=4,.o En/㝶R~}{yo뿈8G"zu]/23=`}Py?ςp?Xwh4LNm¬߿f Bu/4=f>4ҨSfF0pX묤(A9Ib*b1LՓjZ'}EbI*QExsfuقգ'Ey&~Y E8z ]VO)P!;:uV5? .;k+*9rn\oٍu 5zYmB(libayatana-appindicator-0.5.3/bindings/mono/examples/AyatanaIndicatorExample.cs0000644000000000000000000000374313254161055024637 0ustar /* * Copyright 2009 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Authors: * Cody Russell */ using Gtk; using AyatanaAppIndicator; public class IndicatorExample { public static void Main () { Application.Init (); Window win = new Window ("Test"); win.Resize (200, 200); Label label = new Label (); label.Text = "Hello, world!"; win.Add (label); ApplicationIndicator indicator = new ApplicationIndicator ("Example", "applications-microblogging-panel", AppIndicatorCategory.ApplicationStatus); indicator.AppIndicatorStatus = AppIndicatorStatus.Attention; Menu menu = new Menu (); var foo = new MenuItem ("Foo"); menu.Append (foo); foo.Activated += delegate { System.Console.WriteLine ("Foo item has been activated"); }; menu.Append (new MenuItem ("Bar")); indicator.Menu = menu; indicator.Menu.ShowAll (); indicator.SecondaryActivateTarget = foo; win.ShowAll (); Application.Run (); } } libayatana-appindicator-0.5.3/bindings/mono/examples/ayatana-indicator-example.in0000755000000000000000000000016313254161055025126 0ustar #!/bin/sh MONO_PATH=@top_builddir@/bindings/mono @top_builddir@/bindings/mono/examples/AyatanaIndicatorExample.exe libayatana-appindicator-0.5.3/bindings/mono/examples/Makefile.am0000644000000000000000000000060513254161055021607 0ustar ASSEMBLY = AyatanaIndicatorExample.exe CSFILES = AyatanaIndicatorExample.cs CLEANFILES = $(ASSEMBLY) DISTCLEANFILES = Makefile.in EXTRA_DIST = $(CSFILES) references = $(GTK_SHARP_LIBS) -r:$(top_builddir)/bindings/mono/ayatana-appindicator-sharp.dll $(ASSEMBLY): $(CSFILES) Makefile.am $(CSC) $(CSFLAGS) -out:$(ASSEMBLY) -target:exe $(references) $(srcdir)/$(CSFILES) all: $(ASSEMBLY) libayatana-appindicator-0.5.3/bindings/mono/libayatana-appindicator-api.metadata0000644000000000000000000001606013254161055024770 0ustar ApplicationIndicator NewAttentionIcon new-attention-icon NewStatus new-status NewLabel new-label NewAccessibleDesc new-accessible-desc ConnectionChanged connection-changed ScrollEvent scroll-event NewIcon new-icon NewIconThemePath new-icon-theme-path ID true true IconName AttentionIconName IconThemePath Menu GtkMenu* Connected Label LabelGuide AccessibleDesc OrderingIndex SetMenu id icon-name category id icon-name category icon-theme-path libayatana-appindicator-0.5.3/bindings/mono/Makefile.am0000644000000000000000000001242213254161055017771 0ustar SUBDIRS = . examples pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = ayatana-appindicator-sharp-0.1.pc if BUILD_MONO_TEST TEST = AyatanaAppIndicator.Test.dll endif API = libayatana-appindicator-api.xml MIDDLE_API = libayatana-appindicator-api.middle RAW_API = libayatana-appindicator-api.raw METADATA = libayatana-appindicator-api.metadata ASSEMBLY_NAME = ayatana-appindicator-sharp ASSEMBLY_VERSION = 0.5.3.0 ASSEMBLY = $(ASSEMBLY_NAME).dll POLICY = policy.$(POLICY_VERSION).$(ASSEMBLY_NAME) POLICY_VERSION = 0.0 DLLPOLICY = $(POLICY).dll POLICY1 = policy.$(POLICY1_VERSION).$(ASSEMBLY_NAME) POLICY1_VERSION = 0.1 DLLPOLICY1 = $(POLICY1).dll WRAPPER_FREE_BINDING_SRC = $(top_srcdir)/src/app-indicator.c WRAPPER_FREE_BINDING = app-indicator.c TARGET = \ $(ASSEMBLY) \ $(ASSEMBLY).config \ $(DLLPOLICY) \ $(POLICY).config \ $(DLLPOLICY1) \ $(POLICY1).config assemblydir = $(libdir)/cli/ayatana-appindicator-sharp-0.1 assembly_DATA = $(TARGET) CLEANFILES = \ $(ASSEMBLY) \ $(ASSEMBLY).mdb \ generated-stamp \ generated/*.cs \ $(API) \ $(MIDDLE_API) \ $(RAW_API) \ $(DLLPOLICY) \ $(DLLPOLICY1) \ $(WRAPPER_FREE_BINDING) \ $(POLICY).config \ $(POLICY1).config if BUILD_MONO_TEST CLEANFILES += $(TEST) endif DISTCLEANFILES = $(ASSEMBLY).config if BUILD_MONO_TEST TEST_SOURCES = TestAyatanaIndicator.cs endif customs = ApplicationIndicator.custom EXTRA_DIST = \ AssemblyInfo.cs \ $(RAW_API) \ $(METADATA) \ ayatana-appindicator-sharp-0.1.pc.in \ ayatana-appindicator-sharp.dll.config.in \ app-indicator.sources.xml.in \ $(ASSEMBLY_NAME).snk \ $(POLICY).config.in \ $(POLICY1).config.in \ $(customs) if BUILD_MONO_TEST EXTRA_DIST += $(TEST_SOURCES) endif GACUTIL_FLAGS=-package $(ASSEMBLY_NAME) -root $(DESTDIR)$(prefix)/lib references = $(GTK_SHARP_LIBS) if BUILD_MONO_TEST test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) $(MONO_NUNIT_LIBS) -r:$(ASSEMBLY) endif $(RAW_API): app-indicator.sources.xml $(WRAPPER_FREE_BINDING) $(GAPI_PARSER) app-indicator.sources.xml $(WRAPPER_FREE_BINDING): $(WRAPPER_FREE_BINDING_SRC) sed '/signals\[X_NEW_LABEL\] /,+6d' $(WRAPPER_FREE_BINDING_SRC) > $(WRAPPER_FREE_BINDING) $(MIDDLE_API): $(METADATA) $(RAW_API) cp $(RAW_API) $(MIDDLE_API) chmod u+w $(MIDDLE_API) @if test -n '$(METADATA)'; then \ echo "$(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA)"; \ $(GAPI_FIXUP) --api=$(MIDDLE_API) --metadata=$(srcdir)/$(METADATA); \ fi $(API): $(MIDDLE_API) Makefile.am sed -e "s|PROP_ID_S|id|" \ -e "s|PROP_STATUS_S|Status|" \ -e "s|PROP_STATUS_S|status|" \ -e "s|PROP_CATEGORY_S|Category|" \ -e "s|PROP_CATEGORY_S|category|" \ -e "s|PROP_ICON_NAME_S|icon-name|" \ -e "s|PROP_ICON_DESC_S|IconDesc|" \ -e "s|PROP_ICON_DESC_S|icon-desc|" \ -e "s|PROP_ATTENTION_ICON_NAME_S|AttentionIconName|" \ -e "s|PROP_ATTENTION_ICON_NAME_S|attention-icon-name|" \ -e "s|PROP_ATTENTION_ICON_DESC_S|AttentionIconDesc|" \ -e "s|PROP_ATTENTION_ICON_DESC_S|attention-icon-desc|" \ -e "s|PROP_ICON_THEME_PATH_S|icon-theme-path|" \ -e "s|PROP_MENU_S|menu|" \ -e "s|PROP_CONNECTED_S|connected|" \ -e "s|PROP_LABEL_S|label|" \ -e "s|PROP_LABEL_GUIDE_S|label-guide|" \ -e "s|PROP_ORDERING_INDEX_S|ordering-index|" \ -e "s|PROP_DBUS_MENU_SERVER_S|DbusMenuServer|" \ -e "s|PROP_DBUS_MENU_SERVER_S|dbus-menu-server|" \ -e "s|PROP_TITLE_S|Title|" \ -e "s|PROP_TITLE_S|title|" \ $< > $@ api_includes = $(GTK_SHARP_CFLAGS) build_customs = $(addprefix $(srcdir)/, $(customs)) generated-stamp: $(API) $(build_customs) rm -f generated/* && \ $(GAPI_CODEGEN) --generate $(API) $(api_includes) \ --customdir=$(srcdir) \ --outdir=generated --assembly-name=$(ASSEMBLY_NAME) \ && touch generated-stamp $(ASSEMBLY): generated-stamp $(srcdir)/AssemblyInfo.cs @rm -f $(ASSEMBLY).mdb $(CSC) $(CSFLAGS) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk -nowarn:0169,0612,0618 -unsafe -out:$(ASSEMBLY) -target:library $(references) $(builddir)/$(GENERATED_SOURCES) $(srcdir)/AssemblyInfo.cs install-data-local: echo "$(GACUTIL) -i $(ASSEMBLY_NAME).dll $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i $(ASSEMBLY_NAME).dll $(GACUTIL_FLAGS) || exit 1; echo "$(GACUTIL) -i $(DLLPOLICY) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -i $(DLLPOLICY) $(GACUTIL_FLAGS) || exit 1; uninstall-local: echo "$(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; echo "$(GACUTIL) -u $(DLLPOLICY) $(GACUTIL_FLAGS)"; \ $(GACUTIL) -u $(POLICY) $(GACUTIL_FLAGS) || exit 1; if BUILD_MONO_TEST $(TEST): $(ASSEMBLY) $(TEST_SOURCES) $(CSC) -out:$(TEST) -target:library $(test_references) $(srcdir)/$(TEST_SOURCES) check: $(TEST) endif $(POLICY).config: $(POLICY).config.in Makefile sed -e "s|@ASSEMBLY_NAME@|$(ASSEMBLY_NAME)|" \ -e "s|@ASSEMBLY_VERSION@|$(ASSEMBLY_VERSION)|g" \ $< > $@ $(DLLPOLICY): $(POLICY).config $(ASSEMBLY_NAME).snk Makefile $(AL) -link:$(POLICY).config -out:$(DLLPOLICY) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk $(POLICY1).config: $(POLICY1).config.in Makefile sed -e "s|@ASSEMBLY_NAME@|$(ASSEMBLY_NAME)|" \ -e "s|@ASSEMBLY_VERSION@|$(ASSEMBLY_VERSION)|g" \ $< > $@ $(DLLPOLICY1): $(POLICY1).config $(ASSEMBLY_NAME).snk Makefile $(AL) -link:$(POLICY1).config -out:$(DLLPOLICY1) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk DISTCLEANFILES += Makefile.in libayatana-appindicator-0.5.3/bindings/mono/policy.0.0.ayatana-appindicator-sharp.config.in0000644000000000000000000000053713254161055026533 0ustar libayatana-appindicator-0.5.3/bindings/mono/policy.0.1.ayatana-appindicator-sharp.config.in0000644000000000000000000000055213254161055026531 0ustar libayatana-appindicator-0.5.3/bindings/mono/TestAyatanaIndicator.cs0000644000000000000000000000522413254161055022341 0ustar /* * Copyright 2009 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Authors: * Cody Russell */ using System; using GLib; using Gtk; using AyatanaAppIndicator; using NUnit.Framework; namespace Ayatana.AyatanaAppIndicator.Test { [TestFixture] public class IndicatorTest { ApplicationIndicator indicator; private void Update () { while (MainContext.Pending ()) MainContext.Iteration(true); } [SetUp] public void Init () { Application.Init (); Console.WriteLine ("Init()"); indicator = new ApplicationIndicator ("my-id", "my-name", AppIndicatorCategory.ApplicationStatus); Console.WriteLine ("Created indicator"); Update(); } [Test] public void TestProperties () { Console.WriteLine ("TestProperties()"); Assert.AreNotSame (indicator, null); Assert.AreEqual (indicator.IconName, "my-name"); Assert.AreEqual (indicator.ID, "my-id"); Assert.AreEqual (indicator.AppIndicatorStatus, AppIndicatorCategory.ApplicationStatus); Console.WriteLine ("End.."); } [Test] public void TestSetProperties () { Console.WriteLine ("TestSetProperties"); indicator.AppIndicatorStatus = AppIndicatorStatus.Attention; indicator.AttentionIconName = "my-attention-name"; Assert.AreEqual (indicator.AppIndicatorStatus, AppIndicatorStatus.Attention); Assert.AreEqual (indicator.AttentionIconName, "my-attention-name"); Console.WriteLine ("End.."); } } }libayatana-appindicator-0.5.3/bindings/python/appindicator-arg-types.py0000644000000000000000000000175713254161055023257 0ustar # Python bindings for libayatana-appindicator. # # Copyright 2009 Canonical Ltd. # # Authors: # Eitan Isaacson # # This program is free software: you can redistribute it and/or modify it # under the terms of either or both of the following licenses: # # 1) the GNU Lesser General Public License version 3, as published by the # Free Software Foundation; and/or # 2) the GNU Lesser General Public License version 2.1, as published by # the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranties of # MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR # PURPOSE. See the applicable version of the GNU Lesser General Public # License for more details. # # You should have received a copy of both the GNU Lesser General Public # License version 3 and version 2.1 along with this program. If not, see # import argtypes libayatana-appindicator-0.5.3/bindings/python/ayatana_appindicator.defs0000644000000000000000000001112613254161055023324 0ustar ;; -*- scheme -*- ; object definitions ... (define-object Indicator (in-module "App") (parent "GObject") (c-name "AppIndicator") (gtype-id "APP_TYPE_INDICATOR") ) ;; Enumerations and flags ... (define-enum IndicatorCategory (in-module "App") (c-name "AppIndicatorCategory") (gtype-id "APP_INDICATOR_TYPE_INDICATOR_CATEGORY") (values '("ApplicationStatus" "APP_INDICATOR_CATEGORY_APPLICATION_STATUS") '("Communications" "APP_INDICATOR_CATEGORY_COMMUNICATIONS") '("SystemServices" "APP_INDICATOR_CATEGORY_SYSTEM_SERVICES") '("Hardware" "APP_INDICATOR_CATEGORY_HARDWARE") '("Other" "APP_INDICATOR_CATEGORY_OTHER") ) ) (define-enum IndicatorStatus (in-module "App") (c-name "AppIndicatorStatus") (gtype-id "APP_INDICATOR_TYPE_INDICATOR_STATUS") (values '("Passive" "APP_INDICATOR_STATUS_PASSIVE") '("Active" "APP_INDICATOR_STATUS_ACTIVE") '("NeedsAttention" "APP_INDICATOR_STATUS_ATTENTION") ) ) ;; From app-indicator.h (define-function app_indicator_get_type (c-name "app_indicator_get_type") (return-type "GType") ) (define-function app_indicator_new_with_path (c-name "app_indicator_new_with_path") (is-constructor-of "AppIndicator") (return-type "AppIndicator*") (parameters '("const-gchar*" "id") '("const-gchar*" "icon_name") '("AppIndicatorCategory" "category") '("const-gchar*" "icon_theme_path" (null-ok) (default "NULL")) ) ) (define-method set_status (of-object "AppIndicator") (c-name "app_indicator_set_status") (return-type "none") (parameters '("AppIndicatorStatus" "status") ) ) (define-method set_attention_icon (of-object "AppIndicator") (c-name "app_indicator_set_attention_icon_full") (return-type "none") (parameters '("const-gchar*" "icon_name") '("const-gchar*" "icon_desc" (null-ok) (default "NULL")) ) ) (define-method set_menu (of-object "AppIndicator") (c-name "app_indicator_set_menu") (return-type "none") (parameters '("GtkMenu*" "menu") ) ) (define-method set_icon (of-object "AppIndicator") (c-name "app_indicator_set_icon_full") (return-type "none") (parameters '("const-gchar*" "icon_name") '("const-gchar*" "icon_desc" (null-ok) (default "NULL")) ) ) (define-method set_label (of-object "AppIndicator") (c-name "app_indicator_set_label") (return-type "none") (parameters '("const-gchar*" "label" (null-ok)) '("const-gchar*" "guide" (null-ok) (default "NULL")) ) ) (define-method set_ordering_index (of-object "AppIndicator") (c-name "app_indicator_set_ordering_index") (parameters '("guint32" "ordering_index") ) ) (define-method set_icon_theme_path (of-object "AppIndicator") (c-name "app_indicator_set_icon_theme_path") (return-type "none") (parameters '("const-gchar*" "icon_theme_path" (null-ok)) ) ) (define-method get_id (of-object "AppIndicator") (c-name "app_indicator_get_id") (return-type "const-gchar*") ) (define-method get_category (of-object "AppIndicator") (c-name "app_indicator_get_category") (return-type "AppIndicatorCategory") ) (define-method get_status (of-object "AppIndicator") (c-name "app_indicator_get_status") (return-type "AppIndicatorStatus") ) (define-method get_icon (of-object "AppIndicator") (c-name "app_indicator_get_icon") (return-type "const-gchar*") ) (define-method get_icon_desc (of-object "AppIndicator") (c-name "app_indicator_get_icon_desc") (return-type "const-gchar*") ) (define-method get_icon_theme_path (of-object "AppIndicator") (c-name "app_indicator_get_icon_theme_path") (return-type "const-gchar*") ) (define-method get_attention_icon (of-object "AppIndicator") (c-name "app_indicator_get_attention_icon") (return-type "const-gchar*") ) (define-method get_attention_icon_desc (of-object "AppIndicator") (c-name "app_indicator_get_attention_icon_desc") (return-type "const-gchar*") ) (define-method get_menu (of-object "AppIndicator") (c-name "app_indicator_get_menu") (return-type "GtkMenu*") ) (define-method get_label (of-object "AppIndicator") (c-name "app_indicator_get_label") (return-type "const-gchar*") ) (define-method get_label_guide (of-object "AppIndicator") (c-name "app_indicator_get_label_guide") (return-type "const-gchar*") ) (define-method get_ordering_index (of-object "AppIndicator") (c-name "app_indicator_get_ordering_index") (return-type "guint32") ) (define-method build_menu_from_desktop (of-object "AppIndicator") (c-name "app_indicator_build_menu_from_desktop") (return-type "none") (parameters '("const-gchar*" "desktop_file") '("const-gchar*" "desktop_profile") ) ) libayatana-appindicator-0.5.3/bindings/python/ayatana_appindicatormodule.c0000644000000000000000000000331613254161055024035 0ustar /* Python bindings for libayatana-appindicator. Copyright 2009 Canonical Ltd. Copyright 2015 Mike Gabriel Authors: Eitan Isaacson Neil Jagdish Patel Mike Gabriel This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ #include void pyayatana_appindicator_register_classes (PyObject *d); extern PyMethodDef pyayatana_appindicator_functions[]; void _ayatana_appindicator_add_constants(PyObject *m, const gchar *s); DL_EXPORT(void) init_ayatana_appindicator(void) { PyObject *m, *d; init_pygobject (); m = Py_InitModule ("_ayatana_appindicator", pyayatana_appindicator_functions); d = PyModule_GetDict (m); pyayatana_appindicator_register_classes (d); _ayatana_appindicator_add_constants (m, "APP_INDICATOR_"); if (PyErr_Occurred ()) { Py_FatalError ("can't initialise module ayatana_appindicator"); } } libayatana-appindicator-0.5.3/bindings/python/ayatana_appindicator.override.in0000644000000000000000000000374213254161055024634 0ustar /* Python bindings for libayatana-appindicator. Copyright 2009 Canonical Ltd. Authors: Eitan Isaacson (original) Neil Jagdish Patel This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ %% headers #include #include "@top_srcdir@/src/app-indicator.h" #include "@top_builddir@/src/app-indicator-enum-types.h" #include #include "pygobject.h" #include "pyglib.h" #include typedef PyObject* (*to_pyobject_func) (gpointer data); #define APP_TYPE_INDICATOR APP_INDICATOR_TYPE void _ayatana_appindicator_add_constants(PyObject *module, const gchar *strip_prefix) { #ifdef VERSION PyModule_AddStringConstant(module, "__version__", VERSION); #endif pyg_enum_add(module, "IndicatorCategory", strip_prefix, APP_INDICATOR_TYPE_INDICATOR_CATEGORY); pyg_enum_add(module, "IndicatorStatus", strip_prefix, APP_INDICATOR_TYPE_INDICATOR_STATUS); if (PyErr_Occurred()) PyErr_Print(); } %% modulename ayatana_appindicator %% import gobject.GObject as PyGObject_Type import gtk.Menu as PyGtkMenu_Type libayatana-appindicator-0.5.3/bindings/python/__init__.py0000644000000000000000000000205613254161055020421 0ustar # Python bindings for libappindicator. # # Copyright 2009 Canonical Ltd. # # Authors: # Eitan Isaacson # Neil Jagdish Patel # # This program is free software: you can redistribute it and/or modify it # under the terms of either or both of the following licenses: # # 1) the GNU Lesser General Public License version 3, as published by the # Free Software Foundation; and/or # 2) the GNU Lesser General Public License version 2.1, as published by # the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranties of # MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR # PURPOSE. See the applicable version of the GNU Lesser General Public # License for more details. # # You should have received a copy of both the GNU Lesser General Public # License version 3 and version 2.1 along with this program. If not, see # from _ayatana_appindicator import * libayatana-appindicator-0.5.3/bindings/python/Makefile.am0000644000000000000000000000266613254161055020353 0ustar defsdir = $(datadir)/pygtk/2.0/defs defs_DATA = ayatana_appindicator.defs #CFLAGS = -Wall -Werror INCLUDES = \ -I$(top_srcdir)/src \ -DG_LOG_DOMAIN=\"ayatana-appindicator-python\" \ -DDATADIR=\"$(datadir)\" \ -DLIBDIR=\"$(libdir)\" \ $(APPINDICATOR_PYTHON_CFLAGS) \ $(PYTHON_INCLUDES) pkgpythondir = $(pyexecdir) pkgpyexecdir = $(pyexecdir) pkgappindicatordir = $(pkgpythondir)/ayatana_appindicator pkgappindicator_PYTHON = __init__.py appindicatordir = $(pkgpyexecdir)/ayatana_appindicator appindicator_LTLIBRARIES = _ayatana_appindicator.la _ayatana_appindicator_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_ayatana_appindicator _ayatana_appindicator_la_LIBADD = $(APPINDICATOR_PYTHON_LIBS) -L$(top_builddir)/src/.libs -layatana-appindicator _ayatana_appindicator_la_SOURCES = ayatana_appindicatormodule.c nodist__ayatana_appindicator_la_SOURCES = ayatana_appindicator.c CLEANFILES = ayatana_appindicator.c DISTCLEANFILES = Makefile.in EXTRA_DIST = ayatana_appindicator.override.in appindicator-arg-types.py $(defs_DATA) ayatana_appindicator.c: $(defs_DATA) ayatana_appindicator.override %.c: %.defs ($(PYGTK_CODEGEN) \ --register $(PYGTK_DEFSDIR)/gtk-types.defs \ --register $(PYGTK_DEFSDIR)/gdk-types.defs \ --load-types $(srcdir)/appindicator-arg-types.py \ --override $*.override \ --prefix py$* $(srcdir)/$*.defs) > gen-$*.c \ && cp gen-$*.c $*.c \ && rm -f gen-$*.c libayatana-appindicator-0.5.3/bindings/vala/ayatana-appindicator-0.1-custom.vala0000644000000000000000000000216713254161055024457 0ustar /* Copyright (C) 2011 Canonical, Ltd. This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see Authored by Michal Hruby */ namespace AppIndicator { [CCode (type_check_function = "IS_APP_INDICATOR", type_id = "app_indicator_get_type ()")] public class Indicator : GLib.Object { } } // vim:et:ai:cindent:ts=2 sts=2 sw=2: libayatana-appindicator-0.5.3/bindings/vala/examples/ayatana-indicator-example.vala0000644000000000000000000000343213254161055025415 0ustar /* * Copyright 2011 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . * * Authors: * Marco Trevisan (Treviño) */ using Gtk; using AppIndicator; public class IndicatorExample { public static int main(string[] args) { Gtk.init(ref args); var win = new Window(); win.title = "Indicator Test"; win.resize(200, 200); win.destroy.connect(Gtk.main_quit); var label = new Label("Hello, world!"); win.add(label); var indicator = new Indicator(win.title, "indicator-messages", IndicatorCategory.APPLICATION_STATUS); if (!(indicator is Indicator)) return -1; indicator.set_status(IndicatorStatus.ACTIVE); indicator.set_attention_icon("indicator-messages-new"); var menu = new Gtk.Menu(); var item = new Gtk.MenuItem.with_label("Foo"); item.activate.connect(() => { indicator.set_status(IndicatorStatus.ATTENTION); }); item.show(); menu.append(item); var bar = item = new Gtk.MenuItem.with_label("Bar"); item.show(); item.activate.connect(() => { indicator.set_status(IndicatorStatus.ACTIVE); }); menu.append(item); indicator.set_menu(menu); indicator.set_secondary_activate_target(bar); win.show_all(); Gtk.main(); return 0; } } libayatana-appindicator-0.5.3/bindings/vala/examples/Makefile.am0000644000000000000000000000157313254161055021567 0ustar if USE_GTK3 VER=3 else VER= endif VALAFILES = ayatana-indicator-example.vala EXTRA_DIST = $(VALAFILES) VALAFLAGS = \ --pkg ayatana-appindicator$(VER)-0.1 \ --vapidir=$(top_builddir)/bindings/vala \ --save-temps if HAVE_VALAC BUILT_SOURCES = ayatana-indicator-example.c ayatana-indicator-example.c: $(VALAFILES) Makefile.am $(VALAC) $(VALAFLAGS) -C $< -o $@ $(SED) -i "s|#include\s*<\s*libayatana-appindicator/app-indicator.h\s*>||g" $@ nodist_ayatana_indicator_example_SOURCES = ayatana-indicator-example.c ayatana_indicator_example_CFLAGS = \ $(LIBRARY_CFLAGS) \ -Wall \ -I$(top_srcdir)/src \ -include $(top_srcdir)/src/app-indicator.h ayatana_indicator_example_LDADD = \ $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la check_PROGRAMS = ayatana-indicator-example CLEANFILES = \ *.c \ ayatana-indicator-example DISTCLEANFILES = Makefile.in endif libayatana-appindicator-0.5.3/bindings/vala/Makefile.am0000644000000000000000000000156113254161055017746 0ustar if HAVE_INTROSPECTION if HAVE_VAPIGEN SUBDIRS = . examples ######################### # VAPI Files ######################### if USE_GTK3 GTKVAPI = gtk+-3.0 VER=3 else GTKVAPI = gtk+-2.0 VER= endif vapidir = $(datadir)/vala/vapi vapiprefix = ayatana-appindicator$(VER)-0.1 vapi_DATA = $(vapiprefix).vapi $(vapiprefix).deps DEPS = $(GTKVAPI) $(vapiprefix).deps: echo $(DEPS) > $@ $(vapiprefix).vapi: $(top_builddir)/src/AyatanaAppIndicator$(VER)-0.1.gir \ $(top_builddir)/src/AyatanaAppIndicator$(VER)-0.1.metadata \ ayatana-appindicator-0.1-custom.vala \ $(vapiprefix).deps $(VALA_API_GEN) --library=$(vapiprefix) --girdir=$(srcdir)/src \ $< $(srcdir)/ayatana-appindicator-0.1-custom.vala CLEANFILES = $(vapi_DATA) DISTCLEANFILES = Makefile.in endif endif EXTRA_DIST = \ ayatana-appindicator-0.1-custom.vala libayatana-appindicator-0.5.3/ChangeLog0000644000000000000000000067121513254161055014755 0ustar 2018-03-20 11:25:55 +0100 Mike Gabriel (949bf30) * release 0.5.3 (HEAD -> master, tag: 0.5.3) 2018-03-20 09:36:41 +0000 Mike Gabriel (b14ba33) * src/app-indicator.c: Type cast assignments from g_object_ref(). 2017-10-26 19:15:44 +0200 Mike Gabriel (d4b1697) * {configure.ac,Makefile.am}: Drop distcheck features. 2017-10-24 17:33:05 +0200 Mike Gabriel (a081ea2) * release 0.5.2 (tag: 0.5.2) 2017-10-24 17:32:48 +0200 Mike Gabriel (82f779a) * debian/source/format: Explicitly set to source format 1.0. 2017-10-24 17:32:21 +0200 Mike Gabriel (34f4291) * debian/upstream/signing-key.asc: Add upstream signing key. 2017-10-24 17:31:02 +0200 Mike Gabriel (5f9176e) * debian/control: Use Github repo in Vcs-*: URL fields. 2017-10-24 17:05:15 +0200 Mike Gabriel (f8fccd9) * debian/control: Bump Standards-Version: to 4.1.1. No changes needed. 2017-10-24 17:04:48 +0200 Mike Gabriel (7a4fb33) * debian/control: Fix Homepage: URL. 2017-10-24 17:03:54 +0200 Mike Gabriel (eff5282) * debian/*.install: Adapt .typelib installation paths (to multi-arch). 2017-10-24 17:02:58 +0200 Mike Gabriel (eb9d5a1) * debian/control: Various adaptation to SYNOPSIS and LONG_DESCRIPTION fields. 2017-10-24 17:02:11 +0200 Mike Gabriel (6a978fc) * debian/rules: Only dh_install cil packages on architectures that support Mono. 2017-10-24 17:01:45 +0200 Mike Gabriel (906c9a4) * debian/rules: Enable all hardening flags. 2017-10-24 17:01:07 +0200 Mike Gabriel (3a09566) * debian/copyright: Adopt from official Debian package (slightly modified). 2017-10-24 16:46:32 +0200 Mike Gabriel (af533aa) * debian/rules: White space fix. 2017-10-24 16:40:50 +0200 Mike Gabriel (c3c9e79) * API documentation: Suppress some warnings being thrown. 2017-10-24 16:40:20 +0200 Mike Gabriel (d89dee1) * python2 bindings: Finally avoid implicit declaration for (_ayatana)_appindicator_add_constants() function symbol. 2017-10-06 22:37:17 +0200 Mike Gabriel (024cc53) * debian/control: Add to B-D: dh-python. 2017-10-05 14:30:20 +0200 Mike Gabriel (bc7f683) * src/app-indicator.c: Avoid usage of PATH_MAX macro. Fixes FTBFS on Debian GNU/Hurd. 2017-09-29 16:42:17 +0200 Mike Gabriel (c17c300) * Revert "debian/{control,compat}: Bump DH version level to 10 (and bump B-D to >= 10)." 2017-09-29 15:47:11 +0200 Mike Gabriel (4388914) * post-release project name fix in debian/changelog 2017-09-29 15:10:06 +0200 Mike Gabriel (0303c95) * debian/control: Add missing , at EOL under B-D. 2017-09-28 07:35:28 +0200 Mike Gabriel (9164fa6) * debian/{control,rules}: Update supported host architectures. 2017-09-28 07:32:47 +0200 Mike Gabriel (9c19888) * debian/{control,compat}: Bump DH version level to 10 (and bump B-D to >= 10). 2017-09-28 07:31:46 +0200 Mike Gabriel (65e8d53) * bindings/mono/Makefile.am: Don't run tests on all targets, only on check target. Fixes FTBFS when built parallely. 2017-09-26 21:09:20 +0200 Mike Gabriel (303ab50) * debian/changelog: Post-release fix in date string of 0.5.0 release stanza. 2017-09-26 20:45:55 +0200 Mike Gabriel (ee1719a) * bindings/python: Yet another 'ayatana' namespace fix for the Python2 bindings. 2017-09-23 01:15:41 +0200 Mike Gabriel (c3dc683) * release 0.5.1 (tag: 0.5.1) 2017-09-23 01:01:33 +0200 Mike Gabriel (8a97153) * Python2 bindings: Fix import ayatana_appindicator failure by correctly adding the ayatana namespace. 2017-09-23 00:23:52 +0200 Mike Gabriel (75d83e0) * docs/reference/Makefile.am: Drop option --nogtkinit from SCANGOBJ_OPTIONS. Has been long deprecated in scangobj and been removed in gtk-doc (>= 1.26). 2017-05-22 16:16:06 +0200 Mike Gabriel (73a2c16) * release 0.5.0 (tag: 0.5.0) 2017-05-22 16:15:50 +0200 Mike Gabriel (bd7789c) * autogen.sh: Fix PKG_NAME. Use ayatana- in PKG_NAME. 2017-05-15 11:56:26 +0200 Marco Trevisan (Treviño) (0f55cbb) * app-indicator: don't append the snap prefix if the icon is saved in a well known readable path 2017-05-15 11:55:14 +0200 Marco Trevisan (Treviño) (20e557b) * AppIndicator: don't emit label cahanges when guide is still empty 2017-05-15 11:52:54 +0200 Marco Trevisan (Treviño) (5b851ff) * AppIndicator: fix icon and theme paths when running in $SNAP environment 2017-05-15 11:43:35 +0200 Alberts Muktupāvels (17376e1) * Handle watcher service appearing and disappearing. 2017-05-15 11:36:42 +0200 Dmitry Shachnev (14520bd) * Make test-simple-app really working. 2017-05-15 10:24:49 +0200 Mike Gabriel (b0a3d75) * build system: Switch to mate-common. 2017-05-15 08:55:32 +0200 Mike Gabriel (4dd25fc) * src/dbus-shared.h: Fix copy+paste flaw for INDICATOR_APPLICATION_DBUS_OBJ. 2015-11-11 16:32:41 +0100 Mike Gabriel (3dbc56b) * debian/rules: Use instead of `pwd`. 2015-11-11 16:02:36 +0100 Mike Gabriel (8f3e225) * Re-rename README.md to README. Otherwise automake will complain. 2015-11-11 15:53:30 +0100 Mike Gabriel (d7266c0) * README.md: Don't sound Ubuntu-hostile (which we aren't). 2015-11-11 15:39:12 +0100 Mike Gabriel (b63351e) * Rename README -> README.md, fill with content. 2015-11-11 15:34:45 +0100 Mike Gabriel (742c033) * tests/run-xvfb.sh: Give tests even more time (10s). 2015-11-11 14:19:35 +0100 Mike Gabriel (c6d4799) * tests/run-xvfb.sh: Give tests more time (4s instead of 2s) to complete. This may help with observed / arbitrary test failures when built on jenkins.arctica-project.org. 2015-11-11 14:04:50 +0100 Mike Gabriel (6b3a341) * debian/control: Fix versioned build-dependency for libayatana-indicator{,3}-dev. 2015-11-11 13:55:07 +0100 Mike Gabriel (d9c905e) * Revert "debian/rules: Make sure the kill command is found in ..." 2015-11-11 13:15:18 +0100 Mike Gabriel (1abf3ea) * debian/rules: Make sure the kill command is found in /home/mike/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/thinlinc/bin. 2015-11-11 13:00:24 +0100 Mike Gabriel (1a915b2) * debian/rules: Use backticks instead of $() (which is not a GNU make way of invoking commands). 2015-11-11 12:47:09 +0100 Mike Gabriel (865dd82) * debian/rules: Provide temporary home for test suite runs. 2015-11-11 12:16:02 +0100 Mike Gabriel (7ded69d) * debian/rules: Expect tests/test-suite.log files in build/gtk subdirs. 2015-11-11 11:54:07 +0100 Mike Gabriel (d95085e) * debian/rules: Don't abort build on failing tests (so that we see the tests-suite.log file). 2015-11-11 11:42:15 +0100 Mike Gabriel (0d6f90a) * debian/rules: View test's log file for better debugging of problems when built in clean chroots. 2015-11-11 11:24:55 +0100 Mike Gabriel (5f0eee4) * debian/control: Add B-D: procps. The test suite complains about the ps command to be missing in minimal build environments. 2015-11-11 05:52:25 +0100 Mike Gabriel (c7c92ab) * Drop .bzrignore file. 2015-11-10 23:31:07 +0100 Mike Gabriel (5952912) * debian/control: Fix build-dependency issue for nightly builds. 2015-11-09 20:58:24 +0100 Mike Gabriel (def21c2) * Fork from Ubuntu's libappindicator project. 2014-11-10 16:30:06 +0000 CI bot (bf7bc28) * Releasing 12.10.1+15.04.20141110-0ubuntu1 2014-11-10 16:29:51 +0000 Lars Uebernickel (9cb1df0) * scroll-event: change parameter to the right type 2014-11-10 17:26:27 +0100 Matthias Klose (643fad3) * Rebuild to drop files installed into /usr/share/pyshared. 2014-11-10 11:05:47 +0100 Lars Uebernickel (cd218c8) * gcov.m4: add lcov 1.11 2014-11-10 10:14:07 +0100 Lars Uebernickel (ae927bc) * scroll-event: change parameter to the right type 2013-12-19 17:34:38 +0000 Ted Gould (25762ad) * Fix build failures on trusty. Fixes: https://bugs.launchpad.net/bugs/1262655. 2013-12-19 10:33:24 -0600 Ted Gould (52c50b3) * Adding gcov 1.10 2013-12-19 08:37:54 -0600 Matthias Klose (a703b19) * * Build with -Wno-error=deprecated-declarations. * Don't build the mono bindings on ppc64el, not available. * Disable building the example, vala build error. 2013-10-17 19:49:48 +0000 Robert Bruce Park (65bc7f8) * Merge distro back to trunk. 2013-10-17 12:34:39 -0700 Robert Bruce Park (3cb943d) * Merge distro back to trunk. 2013-10-14 14:27:46 +0000 Matthias Klose (7fa21cc) * Don't build the mono bindings on AArch64, not available. Fixes: https://bugs.launchpad.net/bugs/1239474. 2013-10-14 01:10:28 +0100 Matthias Klose (63078a8) * Don't build the mono bindings on AArch64, not available. (LP: #1239474) 2013-09-20 12:25:25 +0000 Automatic PS uploader (53d9d3d) * Releasing 12.10.1+13.10.20130920-0ubuntu1 (revision 266 from lp:libappindicator). 2013-09-20 10:17:40 +0000 Automatic PS uploader (6561e54) * Releasing 12.10.1+13.10.20130920-0ubuntu1, based on r266 2013-09-16 18:12:41 +0000 Jeremy Bicha (e467f23) * - Build using default vala - Build-depend on at-spi2-core to avoid test failure - Build-depend on libxml2-utils - Don't explicitly build-depend on gir packages, gnome-doc-utils, or quilt - Have -dev packages depend on their gir- packages. 2013-08-13 23:13:54 -0400 Jeremy Bicha (88416a6) * Don't explicitly build-depend on gir packages, quilt, or gnome-doc-utils Build using default vala Build-depend on libxml2-utils Build-depend on at-spi2-core to avoid test failure Have -dev packages depend on their gir- packages 2013-06-19 13:06:07 +0000 Automatic PS uploader (2f5c0e2) * Releasing 12.10.1daily13.06.19-0ubuntu1 to ubuntu. 2013-06-19 02:01:58 +0000 Automatic PS uploader (d24626e) * Releasing 12.10.1daily13.06.19-0ubuntu1, based on r264 2013-06-10 14:04:58 +0000 Marco Trevisan (Treviño) (6e92176) * NotificationWatcher interface has not anymore the XAyatanaRegisterNotificationApprover method. 2013-06-10 13:56:36 +0000 Ted Gould (e17244e) * Making gtk-doc check run in the current source directory. 2013-06-07 23:26:37 -0500 Ted Gould (256ce01) * Seems no one else has this on, no reason to be the odd ball. 2013-06-07 23:26:18 -0500 Ted Gould (5ab6b49) * Don't need the same directory twice 2013-06-07 22:48:32 -0500 Ted Gould (b8fe5d1) * An odd typo worth fixing 2013-06-07 22:47:40 -0500 Ted Gould (27a81fb) * Going back to the environment style 2013-06-07 22:45:07 -0500 Ted Gould (955ce2e) * Dropping some left over debugging info 2013-06-07 17:12:07 -0500 Ted Gould (0678dac) * Making sure the check is done in the source directory 2013-05-03 16:24:17 +0000 Automatic PS uploader (1ca305b) * Releasing 12.10.1daily13.05.02-0ubuntu1 to ubuntu. 2013-05-02 22:59:09 +0000 Automatic PS uploader (da7e4bb) * Releasing 12.10.1daily13.05.02-0ubuntu1, based on r261 2013-05-02 19:35:38 +0000 Mathieu Trudel-Lapierre (2a10f27) * Merge changelog changes from /13.04 branch for saucy. 2013-05-02 11:50:15 -0700 Mathieu Trudel-Lapierre (8c82773) * Merge changelog changes from /13.04 branch for saucy. 2013-04-19 13:08:49 +0000 Łukasz 'sil2100' Zemczak (a510902) * indicator_desktop_shortcuts_nick_exec() is deprecated, use indicator_desktop_shortcuts_nick_exec_with_context() with a NULL context instead - fixes the FTBFS. 2013-04-19 14:07:21 +0200 Łukasz 'sil2100' Zemczak (affeefe) * indicator_desktop_shortcuts_nick_exec is deprecated, use indicator_desktop_shortcuts_nick_exec_with_context instead - fixes the FTBFS 2013-04-17 23:08:11 +0000 Mathieu Trudel-Lapierre (0202579) * Remove the clean target. 2013-04-16 15:41:28 +0000 Iain Lane (02d580a) * Install appindicator-sharp's pcfile into /usr/share/pkgconfig as this is an arch:all package and library. Update the assemblydir variable in this pcfile to refer to the correct location for the library instead of an incorrect multiarch directory. 2013-04-16 15:19:08 +0100 Iain Lane (32257b0) * Install appindicator-sharp's pcfile into /usr/share/pkgconfig as this is an arch:all package and library. Update the assemblydir variable in this pcfile to refer to the correct location for the library instead of an incorrect multiarch directory. 2013-04-09 16:04:24 -0400 Mathieu Trudel-Lapierre (e40014d) * debian/rules: drop the clean target, it's superfluous. 2013-04-03 10:05:33 -0400 Mathieu Trudel-Lapierre (736066f) * Reverse the order of dh_clean and dh_autoreconf_clean, fixes issues where autoreconf files get dropped and thus autoreconf fails to properly clean. 2013-03-13 14:17:45 +0000 Automatic PS uploader (5d2aa7d) * Releasing 12.10.1daily13.03.13-0ubuntu1 to ubuntu. 2013-03-13 02:02:14 +0000 Automatic PS uploader (8bdd55e) * Releasing 12.10.1daily13.03.13-0ubuntu1, based on r255 2013-03-11 14:52:20 +0000 Sebastien Bacher (5c18eb1) * stop build-depending on libindicate, it's deprecated and not used there. 2013-03-11 13:59:43 +0100 Sebastien Bacher (34d5196) * stop build-depending on libindicate, it's deprecated and not used there 2013-02-15 10:54:42 +0000 Automatic PS uploader (d3d5390) * Releasing 12.10.1daily13.02.15-0ubuntu1 to ubuntu. 2013-02-15 07:46:55 +0000 Automatic PS uploader (ef867f3) * Releasing 12.10.1daily13.02.15-0ubuntu1, based on r253 2013-02-14 21:13:57 +0000 John Vert (59c3e10) * in app_indicator_init(), finish initializing self's fields before calling g_bus_get(). Fixes: https://bugs.launchpad.net/bugs/1122596. 2013-02-14 13:15:49 -0600 John Vert (6e84cff) * in app_indicator_init(), finish initializing self's fields before calling g_bus_get(). 2013-02-14 15:11:07 +0000 Iain Lane (93b038e) * Install typelib files into non Multi-Arch paths. Fixes: https://bugs.launchpad.net/bugs/1124941. 2013-02-14 09:46:12 +0000 Iain Lane (0a83385) * Install typelib files in standard (non MA) paths 2013-02-13 18:33:14 +0000 Automatic PS uploader (ede8d21) * Releasing 12.10.1daily13.02.13-0ubuntu1 to ubuntu. 2013-02-13 02:02:42 +0000 Automatic PS uploader (454c84f) * Releasing 12.10.1daily13.02.13-0ubuntu1, based on r250 2013-02-05 07:50:09 +0000 Mathieu Trudel-Lapierre (89da4a1) * Bootstrap message. Fixes: https://bugs.launchpad.net/bugs/1065310. 2013-02-04 15:00:51 -0500 Mathieu Trudel-Lapierre (5d60b84) * * Automatic snapshot from revision 245 (bootstrap): - Fix Vala classes not being able to inherit from Indicator (LP: #1065310) 2013-02-04 17:02:26 +0000 Mathieu Trudel-Lapierre (e0e8251) * We don't need to kill at-spi2-registry, that was only meant for testing. 2013-02-04 09:51:07 -0500 Mathieu Trudel-Lapierre (b266f26) * We don't need to kill at-spi2-registry, that was only meant for testing. 2013-01-30 11:06:26 +0000 Charles Kerr (bd333ad) * This is a continuation of ~mathieu-tl/libappindicator/fix-test-merge/ which adds fixes for bug #1102589, bug #1102595, bug #1109128, and bug #1103087, which should get it finally passing CI. Fixes: https://bugs.launchpad.net/bugs/1102589, https://bugs.launchpad.net/bugs/1102595, https://bugs.launchpad.net/bugs/1103087, https://bugs.launchpad.net/bugs/1109128. 2013-01-29 12:14:02 -0600 Charles Kerr (3e9b3f1) * fix potential overflow reported by Coverity 2013-01-29 12:04:26 -0600 Charles Kerr (0793d59) * fix copy-paste error when updating the attention accessible text 2013-01-29 11:57:42 -0600 Charles Kerr (345b7af) * flush the dbus connection before exiting test-libappindicator-status-server 2013-01-29 11:50:13 -0600 Charles Kerr (82b3dc0) * raise gtk+ minimum to 2.35.4 because we no longer use g_type_init() 2013-01-23 14:16:37 -0500 Mathieu Trudel-Lapierre (fc8b73e) * Increase dbus-test-runner timeout to 5 minutes to give tests enough time to start up and run on buildds, especially on slow architectures. 2013-01-23 12:57:19 -0500 Mathieu Trudel-Lapierre (1c9c770) * resolve conflicts on acinclude.m4 2013-01-21 18:18:27 +0000 Chris J Arges (ee33a9a) * This fixes python multi-arch include issues. 2013-01-17 15:25:50 -0600 Chris J Arges (962ea76) * acinclude.m4: Fix python multi-arch include issues. 2013-01-16 14:53:52 -0500 Mathieu Trudel-Lapierre (6a86412) * Remove deprecated calls to g_type_init() 2013-01-16 14:53:32 -0500 Mathieu Trudel-Lapierre (8958959) * Adjust timeouts and log handlers to not fail tests unnecessarily. 2013-01-14 10:46:51 -0500 Michael Terry (c5aca65) * increase another test timeout to make amd64 build 2013-01-10 17:18:55 -0500 Michael Terry (616555a) * some packaging fixes to make tests more resistant to timing issues and warnings from sub-libraries 2013-01-08 10:33:31 -0500 Mathieu Trudel-Lapierre (b598e7c) * More traces 2012-12-18 19:41:42 +0100 Marco Trevisan (Treviño) (62ef4f4) * NotificationWatcher: remove XAyatanaRegisterNotificationApprover method 2012-12-11 11:32:17 -0500 Mathieu Trudel-Lapierre (59a0f71) * Properly retrieve the path to python headers. 2012-12-10 22:51:01 -0500 Mathieu Trudel-Lapierre (8aad250) * Remove entry about disabling tests for documentation: they're fixed. 2012-12-10 17:00:06 -0500 Mathieu Trudel-Lapierre (c8d15b0) * Fix gtkdoc tests and building of the documentation given a separate build directory. 2012-12-07 17:57:05 -0500 Mathieu Trudel-Lapierre (0605654) * Re-enable docs 2012-12-06 10:30:29 -0500 Mathieu Trudel-Lapierre (db9a00b) * Add reference to the bug we're waiting for a fix for; re: gtk-doc completeness, missing links and undocumented symbols 2012-12-06 10:23:51 -0500 Mathieu Trudel-Lapierre (35683fe) * Temporarily disable gtk-doc completeness tests until they can be fixed. 2012-12-05 16:23:27 -0600 Ted Gould (3050e34) * Adding a custom clean rule to the inline packaging. 2012-12-05 16:22:54 -0600 Mathieu Trudel-Lapierre (9651f1d) * Inline packaging 2012-12-04 11:01:40 -0600 Ted Gould (d2f16cb) * Trying to be more direct 2012-12-04 10:31:11 -0600 Ted Gould (3dceb09) * Going with just dh_clean 2012-12-04 10:19:47 -0600 Ted Gould (63938c0) * Making it so that clean doesn't have cli in it 2012-11-30 17:36:23 -0500 Mathieu Trudel-Lapierre (a640bfe) * Properly disable tests for gtk2 and gtk3, not the gtk2 build. 2012-11-30 14:31:34 -0500 Mathieu Trudel-Lapierre (085a347) * Temporarily disable GTK2 tests. 2012-11-30 11:09:57 -0600 Charles Kerr (effd665) * update our use of gtk-doc from 1.9 to 1.18. 2012-11-27 09:51:20 -0500 Mathieu Trudel-Lapierre (4f9fa5b) * More shuffling around of Build-Depends. 2012-11-26 22:31:53 -0500 Mathieu Trudel-Lapierre (568791d) * Add xvfb to Build-Depends. 2012-11-26 22:30:44 -0500 Mathieu Trudel-Lapierre (bab27b9) * Override dh_auto_test to run tests per-flavor. 2012-11-26 22:26:17 -0500 Mathieu Trudel-Lapierre (97eb2fd) * Add a Pre-Depends on multiarch-support for libappindicator(3-)7. 2012-11-26 21:42:04 -0500 Mathieu Trudel-Lapierre (6a07efc) * Override dh_autoreconf to run autogen.sh and not call configure. 2012-11-26 21:40:55 -0500 Mathieu Trudel-Lapierre (9dff094) * Add and export DPKG_GENSYMBOLS_CHECK_LEVEL. 2012-11-26 21:28:40 -0500 Mathieu Trudel-Lapierre (ee40944) * Update Vcs-Bzr, Vcs-Browser and add a notice to uploaders. 2012-11-26 21:24:50 -0500 Mathieu Trudel-Lapierre (6ccd332) * Drop old Conflicts, Replaces, Provides for old unsupported upgrade paths. 2012-11-26 21:18:17 -0500 Mathieu Trudel-Lapierre (4664f1e) * * debian/*.install: - Update paths for multiarch and for use with dh9 (remove debian/tmp...) 2012-11-26 21:17:40 -0500 Mathieu Trudel-Lapierre (1c8427d) * * debian/rules: - Convert from cdbs to debhelper 9. 2012-11-26 11:22:11 -0500 Mathieu Trudel-Lapierre (a091723) * Drop Build-Depends on cdbs. 2012-11-26 11:06:19 -0500 Mathieu Trudel-Lapierre (d92dc38) * debian/compat: bump to compat level 9. 2012-11-26 11:05:38 -0500 Mathieu Trudel-Lapierre (ca3d312) * Bump Build-Depends on debhelper to (>= 9). 2012-11-26 11:05:04 -0500 Mathieu Trudel-Lapierre (4e7dde6) * Reorganize Build-Depends for clarity. 2012-11-26 11:02:58 -0500 Mathieu Trudel-Lapierre (501f677) * * debian/control: - Update style: use trailing commas at the end of dependency lists. 2012-11-26 10:58:44 -0500 Mathieu Trudel-Lapierre (f6833f0) * Tell bzr-builddeb to build the package in split mode. 2012-11-26 10:49:09 -0500 Mathieu Trudel-Lapierre (51bae23) * Import debian/ from lp:~ubuntu-desktop/libappindicator/ubuntu 2012-10-11 12:47:03 +0200 Lars Uebernickel (0807da7) * Merge lp:~robert-ancell/libappindicator/lp-1065310 2012-10-11 12:33:35 +1300 Robert Ancell (26b796b) * Fix Vala classes not being able to inherit from Indicator 2012-07-11 21:19:57 +0200 Sebastien Bacher (09ddb17) * releasing version 12.10.0-0ubuntu1 2012-07-11 21:19:21 +0200 Sebastien Bacher (63a49ad) * New upstream release. 2012-07-11 21:08:16 +0200 Sebastien Bacher (dfefc88) * Import upstream version 12.10.0 2012-07-11 12:28:57 -0500 Charles Kerr (f2744fa) * bump version to 12.10.0 2012-06-18 14:55:21 -0500 Charles Kerr (ad488df) * merge lp:~evgeni/libappindicator/optional-mono to make Mono binding generation optional. This way we don't FTB on architectures that don't support Mono. 2012-06-18 14:39:49 -0500 Charles Kerr (2723b6c) * merge bzr merge lp:~evgeni/libappindicator/multiarch-same-devheaders so that we don't include build-time filenames in comments of the enum header files. 2012-06-10 10:03:43 +0200 Evgeni Golov (96fc7f9) * don't include build-time filenames in comments of the enum header files 2012-06-10 09:32:04 +0200 Evgeni Golov (086dae1) * make building mono extension optional, so we can build on archs that do not have mono 2012-05-23 10:42:43 +1200 Robert Ancell (f480157) * releasing version 0.4.92-0ubuntu2 (tag: 0.4.92-0ubuntu2) 2012-05-22 08:17:53 +0200 unknown (8d0330b) * use autoreconf.mk instead of calling dh_autoreconf by hand 2012-04-23 13:31:39 -0500 Charles Kerr (0bf6ada) * merge lp:~ted/libappindicator/app_name to try the application name as a fallback if the client doesn't explicitly set the title. 2012-04-16 13:50:43 -0500 Ted Gould (b894548) * If we don't have a title set, use the application name to output the title 2012-04-12 10:13:15 -0500 Charles Kerr (859a831) * merge lp:~allanlesage/libappindicator/TDD to add gcov targets to our autotools build for code-coverage reporting. For more information, see this blog post: http://qualityhour.wordpress.com/2012/01/29/test-coverage-tutorial-for-cc-autotools-projects/ . 2012-03-27 16:54:01 -0500 Allan LeSage (6f29399) * Added coverage tooling. 2012-03-21 18:19:21 -0400 Ken VanDine (27eb63c) * releasing version 0.4.92-0ubuntu1 2012-03-21 18:01:54 -0400 Ken VanDine (f3df2e1) * * New upstream release. * Fix a Coverity PW.BRANCH_PAST_INITIALIZATION error (LP: #957471) * Fix FTB bug from ambiguity between Glib.Menu and Gtk.Menu in the Vala code * debian/control: Updating to valac-0.16 2012-03-21 16:36:01 -0500 Charles Kerr (ea6700d) * releasing version 0.4.92-0ubuntu1 (tag: 0.4.92-0ubuntu1) 2012-03-21 16:32:19 -0500 Charles Kerr (61c3e01) * bump debian/control's valac dependency from 0.14 to 0.16 2012-03-21 16:25:18 -0500 Charles Kerr (3aa2827) * * New upstream release. * Fix a Coverity PW.BRANCH_PAST_INITIALIZATION error (LP: #957471) * Fix FTB bug from ambiguity between Glib.Menu and Gtk.Menu in the Vala code 2012-03-21 16:23:18 -0500 Charles Kerr (812ded8) * Import upstream version 0.4.92 2012-03-21 16:22:33 -0500 Charles Kerr (03fa072) * Sync from Ubuntu Desktop 2012-03-21 13:12:00 -0500 Charles Kerr (d4b572c) * 0.4.92 (tag: 0.4.92) 2012-03-21 13:11:07 -0500 Charles Kerr (a0f8c26) * merge lp:~charlesk/libappindicator/fix-vala-examples to resolve ambiguity in the vala examples between glib.Menu and Gtk.Menu 2012-03-21 13:02:41 -0500 Charles Kerr (13c8aef) * The vala examples were written before GMenu, so add explict namespace use here to avoid valac errors caused by namespace ambiguity between glib and gtk (ie, use 'new Gtk.Menu' instead of 'new Menu') 2012-03-19 16:08:05 -0500 Charles Kerr (84d8aae) * merge lp:~charlesk/libappindicator/lp-957471 to fix a PW.BRANCH_PAST_INITIALIZATION error reported by Coverity in bug #957471 2012-03-16 17:15:50 -0500 Charles Kerr (36f65c7) * remove oddly-scoped variable to fix a CID 10737 - PW.BRANCH_PAST_INITIALIZATION warning reported by Coverity in Bug #957471 2012-03-09 21:47:59 +0100 Sebastien Bacher (73331d6) * releasing version 0.4.91-0ubuntu3 (tag: 0.4.91-0ubuntu3) 2012-03-09 21:47:45 +0100 Sebastien Bacher (ac1487a) * debian/rules: build without make check until the builder environment issues are sorted 2012-03-09 21:13:36 +0100 Sebastien Bacher (25c5aef) * releasing version 0.4.91-0ubuntu2 (tag: 0.4.91-0ubuntu2) 2012-03-09 21:12:49 +0100 Sebastien Bacher (593ee90) * debian/control: build-depends on dbus-test-runner 2012-03-09 20:06:00 +0100 Sebastien Bacher (1ae63e0) * releasing version 0.4.91-0ubuntu1 (tag: 0.4.91-0ubuntu1) 2012-03-09 20:05:47 +0100 Sebastien Bacher (55b03b4) * * debian/rules: - run make check during the build 2012-03-09 19:44:51 +0100 Sebastien Bacher (223b045) * * New upstream release. * Set name and title in fallback status item (LP: #885080) * Fix build in non-source dir cases (LP: #931764) * Use file names for icons in fallback mode (LP: #875770) * Add since declarations to documentation * Fix test suite to work with libindicator 0.4.93 * Fix the mono binding properties 2012-03-09 12:17:16 -0600 Ted Gould (b17679f) * releasing version 0.4.91-0ubuntu1~ppa1 2012-03-09 12:11:25 -0600 Ted Gould (6a88fca) * * New upstream release. * Set name and title in fallback status item (LP: #885080) * Fix build in non-source dir cases (LP: #931764) * Use file names for icons in fallback mode (LP: #875770) * Add since declarations to documentation * Fix test suite to work with libindicator 0.4.93 * Fix the mono binding properties 2012-03-09 12:08:33 -0600 Ted Gould (b681b75) * Import upstream version 0.4.91 2012-03-09 12:08:15 -0600 Ted Gould (e602f2a) * Merge U. Desktop 2012-03-09 12:01:42 -0600 Ted Gould (f95bf78) * 0.4.91 (tag: 0.4.91) 2012-03-09 12:01:32 -0600 Ted Gould (244c436) * Update to new actions format in libindicator 2012-03-09 11:52:58 -0600 Ted Gould (ef62b53) * Include an index for 0.5 2012-03-07 07:44:01 -0600 Charles Kerr (328e55e) * Merge lp:~ted/libappindicator/lp885080 to add a title and name on the status icon in fallback mode for bug #885080 2012-03-06 20:47:04 -0600 Ted Gould (b587402) * Making the Mono and Python bindings build directory independent 2012-03-06 19:14:42 -0600 Charles Kerr (5ab2da4) * generate app-indicator.sources.xml (for mono bindings) and appindicator.override (for python bindings) at configure time so that they can take into account top_builddir vs top_srcdir differences. 2012-03-06 16:54:21 -0600 Ted Gould (8655832) * Look for files and don't use those as icon names in the fallback 2012-03-06 16:52:50 -0600 Ted Gould (be2eef5) * Removing unneeded NULL check 2012-03-06 15:56:44 -0600 Ted Gould (bd4dbb3) * Improve docs on title functions 2012-03-02 16:31:07 -0600 Ted Gould (f39aac0) * Attaching bug 2012-03-02 16:30:53 -0600 Ted Gould (e2ec05d) * Rework the icon setting function so that it can handle images that are file paths by checking to see if the files exist 2012-03-02 16:03:37 -0600 Ted Gould (fafea8a) * Protecting from NULL titles, which apparently status_icon can't take :-/ 2012-03-02 16:00:36 -0600 Ted Gould (002c16b) * Handle the title changing at runtime 2012-03-02 15:57:40 -0600 Ted Gould (556d749) * Attaching bug 2012-03-02 15:57:24 -0600 Ted Gould (63331bc) * Sets the title of the status icon to the title of the appindicator and the name to the ID 2012-02-29 19:22:36 +0100 Sebastien Bacher (72ddc78) * Set "Since: 0.5" in the inline documentation for the new set_title and get_title functions 2012-02-07 12:50:21 +0100 Sebastien Bacher (fe1d218) * releasing version 0.4.90-0ubuntu2 (tag: 0.4.90-0ubuntu2) 2012-02-07 12:50:09 +0100 Sebastien Bacher (36ed779) * * debian/control: - don't make libappindicator3-dev depends on libappindicator-dev * debian/libappindicator3-dev.install: - install the gtk3 include directory 2012-02-06 16:26:58 -0500 Ken VanDine (d351a75) * releasing version 0.4.90-0ubuntu1 (tag: 0.4.90-0ubuntu1) 2012-02-06 14:53:02 -0500 Ken VanDine (86b6eae) * set to UNRELEASED 2012-02-06 14:52:41 -0500 Ken VanDine (2c4628f) * * New upstream release. * Fix include with Dbusmenu 0.5.90 * Fix GTK3 include paths in pkgconfig file (LP: #869373) * Add title property (LP: #923971) * Don't specify pyglib-2.0-python2.6 in LDFLAGS * fix fallback icon of the GtkStatusIcon (LP: #820080) * debian/control: Dbusmneu Dep to 0.5.90 * deibna/*symbols: Updated to add [set|get]_title functions 2012-02-03 15:04:49 -0600 Ted Gould (0ef39fd) * releasing version 0.4.90-0ubuntu1~ppa1 2012-02-03 14:55:57 -0600 Ted Gould (f149e80) * deibna/*symbols: Updated to add [set|get]_title functions 2012-02-03 14:50:50 -0600 Ted Gould (5ad59aa) * debian/control: Dbusmneu Dep to 0.5.90 2012-02-03 14:41:17 -0600 Ted Gould (57f1cab) * * New upstream release. * Fix include with Dbusmenu 0.5.90 * Fix GTK3 include paths in pkgconfig file (LP: #869373) * Add title property (LP: #923971) * Don't specify pyglib-2.0-python2.6 in LDFLAGS * fix fallback icon of the GtkStatusIcon (LP: #820080) 2012-02-03 14:37:56 -0600 Ted Gould (7256c18) * Import upstream version 0.4.90 2012-02-03 14:36:59 -0600 Ted Gould (6516e72) * Sync with U. Desktop 2012-02-03 13:40:14 -0600 Ted Gould (4ccb5d7) * Fixing some of the properties in the mono bindings (tag: 0.4.90) 2012-02-03 13:31:38 -0600 Ted Gould (53fbf0d) * 0.4.90 2012-02-03 12:12:22 -0600 Ted Gould (879f9e9) * Updating to Dbusmenu 0.5.90 2012-01-31 20:59:34 -0600 Ted Gould (67380ab) * Changing dbusmenu-gtk required version 2012-01-30 22:52:41 -0600 Ted Gould (ea6c887) * Add the ability to set and export the title of the app indicator 2012-01-30 22:51:51 -0600 Ted Gould (f6e9dcf) * Attaching bug 2012-01-30 22:51:10 -0600 Ted Gould (f0e9928) * Fix type in comment 2012-01-28 21:50:05 -0600 Ted Gould (8b21de2) * Adding the get/set function to the docs 2012-01-28 21:46:45 -0600 Ted Gould (982de61) * Handling getting the title property 2012-01-28 21:45:34 -0600 Ted Gould (97d2b40) * Making get_title work 2012-01-28 21:45:02 -0600 Ted Gould (dcbd590) * Only signal to dbus if we're connected 2012-01-28 21:42:34 -0600 Ted Gould (2d03f1d) * Adding a test to track setting of the title 2012-01-28 21:38:55 -0600 Ted Gould (84ba240) * Setting the titles in the examples 2012-01-28 21:36:19 -0600 Ted Gould (f12cf32) * Make the set function call the property set function 2012-01-28 21:22:14 -0600 Ted Gould (3aa66a7) * Support the title property over dbus and emitting the dbus signal when it changes 2012-01-28 21:16:29 -0600 Ted Gould (e5b9bc3) * Adding the 'Title' property and 'NewTitle' signal to the DBus interface description 2012-01-28 21:10:32 -0600 Ted Gould (3c1556c) * Adding the title property 2012-01-28 20:57:06 -0600 Ted Gould (fb65099) * Adding a title entry to the private structure 2012-01-28 20:48:50 -0600 Ted Gould (a89fe2c) * Adding get/set title functions 2012-01-27 16:14:37 -0600 Ted Gould (dea1a71) * Update to trunk 2012-01-27 16:07:29 -0600 Ted Gould (d006f9d) * Making tests optional 2012-01-27 16:03:16 -0600 Ted Gould (d813c8a) * Fixing pkgconfig file for GTK3 2012-01-27 15:59:22 -0600 Ted Gould (9ea0166) * Removing unneeded python dep 2012-01-26 00:48:40 -0500 Ken VanDine (ae5cbc9) * Don't specify pyglib-2.0-python2.6 in LDFLAGS, it isn't needed and only works with python2.6 2012-01-25 09:50:46 -0500 Ken VanDine (996677f) * releasing version 0.4.1-0ubuntu4 (tag: 0.4.1-0ubuntu4) 2012-01-24 22:12:54 -0500 Ken VanDine (9055ae0) * - Don't specify pyglib-2.0-python2.6 in LDFLAGS - dhr_autoreconf * debian/libappindicator1.symbols, debian/libappindicator3-1.symbols - added symbols * s/pyglib-2.0-python2.6/pyglib-2.0-python2.7/ for python bindings. 2012-01-24 17:05:01 -0500 Ken VanDine (0e4459f) * * rebuild for libindicator7 * bindings/python/Makefile.am - Don't specify pyglib-2.0-python2.6 in LDFLAGS, it isn't needed and only works with python2.6 * debian/rules - include autoreconf.mk * debian/control - added build dep on dh-autoreconf 2012-01-24 14:23:56 -0500 Ken VanDine (5452357) * no change rebuild for libindicator7 2012-01-24 14:22:39 -0500 Ken VanDine (95620c4) * Don't specify pyglib-2.0-python2.6 in LDFLAGS, it isn't needed and only works with python2.6 2011-11-23 03:47:46 +0100 György Balló (ce8b882) * Make building mono tests optional. Check for mono-nunit if nunit is not available 2011-11-22 21:53:38 +0100 György Balló (1798a73) * Use the standard location for mono bindings 2011-11-22 08:43:20 +0100 György Balló (c101b27) * Do not link pyglib explicitly 2011-11-22 08:42:36 +0100 György Balló (4777acb) * Fix header files location for GTK3 2011-11-22 08:36:34 +0100 György Balló (077275b) * Make building tests optional 2011-09-30 23:00:11 +0200 Michael Vogt (b1064de) * releasing version 0.4.1-0ubuntu2 (tag: 0.4.1-0ubuntu2) 2011-09-30 22:57:27 +0200 Michael Vogt (e669e2d) * * src/app-indicator.c: - fix fallback icon of the GtkStatusIcon (LP: #820080), cherry pick of r221 from lp:libappindicator 2011-09-30 11:26:38 -0500 Ted Gould (bc49dd8) * Work with fallbacks and theme paths 2011-09-30 18:14:52 +0200 Michael Vogt (d1788f9) * src/app-indicator.c: hide first in passive mode and add comment about it 2011-09-30 18:04:27 +0200 Michael Vogt (ff65f9f) * src/app-indicator.c: do not add the same icon_theme_path again, gtk3 apparently does not check this 2011-09-30 17:54:29 +0200 Michael Vogt (5819385) * simplify 2011-09-30 16:44:39 +0200 Michael Vogt (4aca6f6) * src/app-indicator.c: honor icon_theme_path in the fallback 2011-09-30 16:38:11 +0200 Michael Vogt (f476076) * unbreak attention_icon 2011-09-30 11:26:17 +0200 Michael Vogt (6ecd10f) * src/app-indicator.c: when using the fallback icon, first check if there is a "-panel" version of the icon available and if not fallback to the indicator one 2011-09-28 14:57:38 -0400 Ken VanDine (ba84fd6) * releasing version 0.4.1-0ubuntu1 (tag: 0.4.1-0ubuntu1) 2011-09-28 14:22:30 -0400 Ken VanDine (641031f) * * New upstream release (0.4.0). * Fix VAPI file for Vala bindings (LP: #789588) * New upstream release (0.4.1). * Fix build. 2011-09-28 12:53:46 -0500 Ted Gould (c93b59d) * releasing version 0.4.1-0ubuntu1~ppa1 2011-09-28 12:48:58 -0500 Ted Gould (b620c7c) * * New upstream release (0.4.0). * New upstream release (0.4.1). * Fix build. 2011-09-28 12:45:50 -0500 Ted Gould (334e44d) * Import upstream version 0.4.1 2011-09-28 12:41:09 -0500 Ted Gould (a011977) * 0.4.1 (tag: 0.4.1) 2011-09-28 12:34:03 -0500 Ted Gould (1c49e53) * Fix deps 2011-09-28 12:21:09 -0500 Ted Gould (9a0a2e0) * Fix dep as well 2011-09-28 12:18:49 -0500 Ted Gould (a8cb786) * Fix prefix on custom vala 2011-09-28 12:16:33 -0500 Ted Gould (3c21ff4) * Switching out the prefix for a fixed name 2011-09-28 11:42:06 -0500 Ted Gould (c6f5993) * * New upstream release. * Fix VAPI file for Vala bindings (LP: #789588) 2011-09-28 11:02:34 -0500 Ted Gould (e57397e) * Import upstream version 0.4.0 2011-09-28 11:02:10 -0500 Ted Gould (b5c8bb4) * Merge U. Desktop 2011-09-28 10:57:58 -0500 Ted Gould (e527e64) * 0.4.0 (tag: 0.4.0) 2011-09-28 10:57:50 -0500 Ted Gould (9826036) * Bring along custom and grab from srcdir 2011-09-23 19:56:18 -0500 Ted Gould (aa96c75) * Fixing Vala bindings 2011-09-23 17:46:27 +0200 Michal Hruby (c0b476c) * Fix type_check_function for vala bindings 2011-08-11 21:19:31 +0200 Sebastien Bacher (2d4793a) * releasing version 0.3.91-0ubuntu1 (tag: 0.3.91-0ubuntu1) 2011-08-11 21:19:20 +0200 Sebastien Bacher (8c1f764) * * debian/rules: - update the translations template after build, dh_translations doesn't work for builds out of the source directory 2011-08-11 21:18:39 +0200 Sebastien Bacher (29515fe) * * New upstream release. * Secondary activate support * Better GIR file annotations 2011-08-11 12:10:20 -0500 Ted Gould (7a5688c) * releasing version 0.3.91-0ubuntu1~ppa1 2011-08-11 12:04:06 -0500 Ted Gould (6a05f53) * * New upstream release. * Secondary activate support * Better GIR file annotations 2011-08-11 12:02:16 -0500 Ted Gould (8c352cd) * Import upstream version 0.3.91 2011-08-11 12:01:52 -0500 Ted Gould (1a48342) * Sync to U. Desktop 2011-08-11 11:58:08 -0500 Ted Gould (1bfe91a) * 0.3.91 (tag: 0.3.91) 2011-07-22 14:04:23 -0500 Ted Gould (ba1f3a6) * Fix comments to work with g-ir-scanner 2011-07-22 13:58:39 -0500 Ted Gould (5c4ee09) * Adding in support for the secondary activate (middle click) 2011-07-22 13:58:14 -0500 Ted Gould (f551fdb) * Adding the secondary target functions to the documentation 2011-07-22 13:56:05 -0500 Ted Gould (d59df9b) * Watching for the 'XAyatanaSecondaryActivate' method as well 2011-07-22 13:50:27 -0500 Ted Gould (195a64f) * Always clear the sec_activate_target 2011-07-20 17:16:35 +0200 Marco Trevisan (Treviño) (940f4ac) * Fixed comments to correctly work with g-ir-scanner 2011-07-20 03:32:35 +0200 Marco Trevisan (Treviño) (beb4f16) * examples: use the set_secondary_activate_target API 2011-07-20 03:20:54 +0200 Marco Trevisan (Treviño) (a3812f9) * vala: updated example to use the new API 2011-07-20 03:16:53 +0200 Marco Trevisan (Treviño) (6a52781) * mono bindings: updated API and example 2011-07-20 02:57:51 +0200 Marco Trevisan (Treviño) (8f71358) * app-indicator: Move from "secondary-activate" signal to secondary_activate target 2011-07-19 20:25:58 +0200 Marco Trevisan (Treviño) (d54d1e7) * Call the right signal on middle-click over the tray icon! 2011-07-18 18:43:03 +0200 Marco Trevisan (Treviño) (a758223) * app-indicator: added middle click support for wrapper tray 2011-07-18 18:13:09 +0200 Marco Trevisan (Treviño) (383469d) * examples: add secondary-activate signal usage to Vala and C 2011-07-18 18:11:33 +0200 Marco Trevisan (Treviño) (d24b2f2) * Vala bindings example: added secondary_activate 2011-07-18 18:10:58 +0200 Marco Trevisan (Treviño) (4574948) * mono bindings: added SecondaryActivate support. 2011-07-18 18:08:49 +0200 Marco Trevisan (Treviño) (0e4c805) * Add signal "secondary-activate" and emit it when needed 2011-07-09 04:20:18 +0200 Marco Trevisan (Treviño) (4146455) * Merge with Upstream 2011-07-08 13:58:16 +0200 Sebastien Bacher (90aa5af) * releasing version 0.3.90-0ubuntu1 (tag: 0.3.90-0ubuntu1) 2011-07-07 15:21:58 -0500 Ted Gould (7b75269) * releasing version 0.3.90-0ubuntu1~ppa1 2011-07-07 15:15:20 -0500 Ted Gould (e3d7177) * * New upstream release. * Fix a memory leak (LP: #) * Port to libindicator 0.4 2011-07-07 15:13:58 -0500 Ted Gould (fc03ef7) * Import upstream version 0.3.90 2011-07-07 14:45:18 -0500 Ted Gould (bf95161) * 0.3.90 (tag: 0.3.90) 2011-07-07 14:45:12 -0500 Ted Gould (15fccc9) * Removing -Werror for the Vala compiler 2011-07-07 13:50:39 -0500 Ted Gould (7cff4ed) * Free allocated name 2011-07-07 13:50:17 -0500 Ted Gould (f20865c) * Migrate to libindicator 0.4 2011-07-05 15:49:29 -0500 Ted Gould (6e9e154) * Sync to U. Desktop 2011-07-05 16:19:25 -0400 Michael Terry (8693295) * No change rebuild to depend on libdbusmenu-gtk4 (instead of -gtk3) LP: #803667 (tag: 0.3.0-0ubuntu3) 2011-06-21 17:51:41 +0100 Colin Watson (c6d8437) * releasing version 0.3.0-0ubuntu2 (tag: 0.3.0-0ubuntu2) 2011-06-21 17:49:41 +0100 Colin Watson (cde0e9c) * Remove unused libmono-dev build-dependency (for Mono 2.10 transition). 2011-06-21 17:48:47 +0100 Colin Watson (967fd70) * Call dh_python2 from binary-fixup rather than binary-predeb, so that generated maintainer script snippets actually end up in the package. 2011-06-16 21:35:50 -0500 Ted Gould (ea77e8e) * Free name if we get it 2011-06-16 13:57:39 -0500 Ted Gould (4ffbe0b) * Doc fix 2011-06-16 13:55:42 -0500 Ted Gould (e5c3a1d) * Autotools fixes 2011-06-16 15:06:40 +0100 Javier Jardón (654b97f) * Trivial documentation fix 2011-06-15 16:46:16 +0100 Javier Jardón (b3466bd) * configure.ac: Generate xz tarballs with pax format by default 2011-06-15 16:44:55 +0100 Javier Jardón (7c0bf2d) * Update autotools configuration 2011-03-23 17:31:03 -0400 Ken VanDine (b0772a8) * releasing version 0.3.0-0ubuntu1 (tag: 0.3.0-0ubuntu1) 2011-03-23 15:50:58 -0500 Ted Gould (d536601) * releasing version 0.3.0-0ubuntu1~ppa1 2011-03-23 15:34:25 -0500 Ted Gould (2ad6b90) * * New upstream release. * Don't use GIcon with GtkStatusIcon (LP: #708118) 2011-03-23 15:33:37 -0500 Ted Gould (010b25c) * Import upstream version 0.3.0 2011-03-23 15:33:17 -0500 Ted Gould (5b6331c) * Sync with U. Desktop 2011-03-23 15:08:56 -0500 Ted Gould (0ed4513) * 0.3.0 (tag: 0.3.0) 2011-03-23 15:07:58 -0500 Ted Gould (8974a7f) * Use icon-name instead of GIcon in the fallback GtkStatusIcon 2011-03-23 12:30:14 -0500 Ted Gould (54b25e3) * Set gtk_status_icon using icon_name instead of gicon 2011-03-16 15:52:31 -0400 Ken VanDine (30a29c6) * releasing version 0.2.99-0ubuntu1 (tag: 0.2.99-0ubuntu1) 2011-03-16 13:41:59 -0500 Ted Gould (0988693) * releasing version 0.2.99-0ubuntu1~ppa1 2011-03-16 13:37:03 -0500 Ted Gould (8b323ea) * New upstream release. ∘ Fix long standing memory leak (LP: #569273) 2011-03-16 13:36:07 -0500 Ted Gould (bf797a9) * Import upstream version 0.2.99 2011-03-16 13:35:43 -0500 Ted Gould (e1790a2) * Merge with U. Desktop 2011-03-16 13:29:08 -0500 Ted Gould (f321aae) * 0.2.99 (tag: 0.2.99) 2011-03-14 20:51:36 -0500 Ted Gould (dae2422) * Doing a ref_sink() like we should have been doing! 2011-03-14 09:37:23 -0400 Michael Terry (f2f415d) * sink ref to passed-in menu in set_menu() to avoid leaks 2011-03-10 15:55:01 -0500 Ken VanDine (c50e0ff) * releasing version 0.2.98-0ubuntu1 (tag: 0.2.98-0ubuntu1) 2011-03-10 13:36:02 -0600 Ted Gould (38951a7) * releasing version 0.2.98-0ubuntu1~ppa1 2011-03-10 13:00:29 -0600 Ted Gould (4d82c5e) * Merging with U. Desktop 2011-03-10 12:59:37 -0600 Ted Gould (d8f3bb3) * New upstream release. ∘ Don't watch signals we don't need to. (LP: #728503) 2011-03-10 12:34:12 -0600 Ted Gould (1f0b4c1) * Import upstream version 0.2.98 2011-03-10 12:28:53 -0600 Ted Gould (0f9fc0f) * 0.2.98 (tag: 0.2.98) 2011-03-10 12:28:45 -0600 Ted Gould (29f8630) * Adding a TargetEnvironment to the desktop file 2011-03-09 13:33:42 -0600 Ted Gould (d43f34b) * Don't watch signals we shouldn't need to. 2011-03-08 16:00:26 -0600 Ted Gould (d679d3c) * Attaching bug number 2011-03-08 15:58:16 -0600 Ted Gould (c156b45) * Dropping the client_menu_changed function as dbusmenu should do this for us. 2011-03-03 17:20:11 -0500 Ken VanDine (007331a) * releasing version 0.2.97-0ubuntu1 (tag: 0.2.97-0ubuntu1) 2011-03-03 13:42:12 -0600 Ted Gould (be0a541) * releasing version 0.2.97-0ubuntu1~ppa1 2011-03-03 13:35:16 -0600 Ted Gould (3eb5a9d) * debian/patches: Removed, all upstream 2011-03-03 13:34:35 -0600 Ted Gould (15784db) * * New upstream release. * Set includedir to the location of the headers provided by libappindicator-dev (LP: #721562) * Fix crash when importing appindicator from Python (LP: #724917). * Fix crash when switching themes by disconnecting a signal from the theme on dispose. LP: #708188 2011-03-03 13:33:18 -0600 Ted Gould (56d9374) * Import upstream version 0.2.97 2011-03-03 13:32:42 -0600 Ted Gould (70d5440) * Merge from U. Desktop 2011-03-03 13:28:53 -0600 Ted Gould (4490e2e) * 0.2.97 (tag: 0.2.97) 2011-03-02 22:38:08 -0600 Ted Gould (4a277c7) * Adding additional functions into Python bindings 2011-03-02 12:04:49 -0600 Ted Gould (b56c1fb) * Fixing the pkgconfig file 2011-03-02 11:06:53 -0600 Ted Gould (d6e2549) * Drop theme signal handler when shutting down. 2011-02-28 23:37:40 -0500 Ken VanDine (fe59d57) * releasing version 0.2.96-0ubuntu4 (tag: 0.2.96-0ubuntu4) 2011-02-28 23:34:45 -0500 Ken VanDine (6c5c047) * Set the includedir for appindicator3-0.1 to ${includedir}/libappindicator-0.1 2011-02-28 13:03:49 -0500 Michael Terry (8fd3730) * * debian/patches/update-defs.patch: - Fix crash when importing appindicator from Python (LP: #724917). (tag: 0.2.96-0ubuntu3) 2011-02-28 23:01:16 +0600 Артём Попов (160c776) * Really add update-defs.patch 2011-02-28 22:35:21 +0600 Артём Попов (fdb740f) * * debian/patches/update-defs.patch: - Fix crash when importing appindicator from Python (LP: #724917). 2011-02-28 08:58:38 -0500 Michael Terry (49874d3) * * debian/control, debian/rules: - Add quilt * debian/patches/disconnect-from-theme.patch: - Fix crash when switching themes by disconnecting a signal from the theme on dispose. LP: #708188 (tag: 0.2.96-0ubuntu2) 2011-02-26 19:04:45 +0600 Артём Попов (8669272) * Updated appindicator.defs (fixes LP: #724917) 2011-02-25 14:16:24 -0500 Michael Terry (c591e81) * disconnect from icon theme on dispose 2011-02-24 22:15:21 -0500 Ken VanDine (5f97e91) * releasing version 0.2.96-0ubuntu1 (tag: 0.2.96-0ubuntu1) 2011-02-24 16:06:46 -0600 Ted Gould (22fbdf6) * releasing version 0.2.96-0ubuntu1~ppa1 2011-02-24 16:02:16 -0600 Ted Gould (59d8e5d) * * New upstream release. * Add support for accessible descriptions * Move deregistration of object later to send final signals 2011-02-24 16:01:21 -0600 Ted Gould (7a1564e) * Import upstream version 0.2.96 2011-02-24 16:01:13 -0600 Ted Gould (dd6a451) * Merging U. Desktop 2011-02-24 15:42:23 -0600 Ted Gould (d634d56) * 0.2.96 (tag: 0.2.96) 2011-02-24 15:34:16 -0600 Ted Gould (ce7b22d) * Add the ability to set accessible descriptions for the icon and attention icon. 2011-02-23 22:46:17 -0600 Ted Gould (d21b676) * Cleaning up even more! 2011-02-23 22:31:45 -0600 Ted Gould (eb2ba45) * Switching to proper properties 2011-02-23 22:27:08 -0600 Ted Gould (ccad277) * Matching prototypes to C file 2011-02-23 22:26:27 -0600 Ted Gould (13b9f33) * Fixing the sections list 2011-02-23 22:23:41 -0600 Ted Gould (f4470e6) * Dropping the accessible description tests. I don't have time to rewrite them now. They should be redone though. 2011-02-23 22:21:55 -0600 Ted Gould (f4920ad) * Switching to the new style of setting the a11y label 2011-02-23 22:13:44 -0600 Ted Gould (e3ccf5f) * Reconfigure properties to match. 2011-02-23 22:03:23 -0600 Ted Gould (e5b4e41) * Fixing up the get functions 2011-02-23 21:57:03 -0600 Ted Gould (7e03ead) * Fixing up the set functions so we get some descriptions. 2011-02-23 21:43:21 -0600 Ted Gould (4716fe0) * Switch around API so it makes sense for what we want to do. 2011-02-23 21:18:37 -0600 Ted Gould (021dd71) * Dropping the new accessible description signal 2011-02-23 21:14:24 -0600 Ted Gould (6335283) * Drop signaling the accessible description changed on it's own. 2011-02-23 21:10:58 -0600 Ted Gould (5de3ea9) * Change the name of the accessible description and add the attention one. 2011-02-23 20:51:06 -0600 Ted Gould (d63e2d0) * Changing the signal to match what was discussed with the KDE folks 2011-02-23 10:43:07 +1100 unknown (3c0119b) * Release libappindicator 2011-02-22 16:20:27 +1100 unknown (8ee2307) * * debian/control: - Use new build-depends for libgtk-3-dev 2011-02-17 15:43:16 -0500 Ken VanDine (eef1472) * releasing version 0.2.95-0ubuntu2 (tag: 0.2.95-0ubuntu2) 2011-02-16 16:54:15 -0600 Ted Gould (abccdd7) * Remove registration of the object until after all possible signals are sent 2011-02-14 13:24:18 +1100 Luke Yelavich (5824bcd) * Merge from trunk 2011-02-11 13:37:19 -0500 Michael Terry (86d57d3) * don't unregister on dbus until after we hide appindicator 2011-02-11 10:34:20 -0500 Ken VanDine (a83d65c) * releasing version 0.2.95-0ubuntu1 (tag: 0.2.95-0ubuntu1) 2011-02-11 10:14:54 -0500 Ken VanDine (26b9521) * * New upstream release (0.2.95) * debian/rules - build and install the vapi for gtk3 2011-02-10 22:40:03 -0600 Ted Gould (7695312) * debian/rules: Not building libappindicator3-dev until we've got the GTK3 build all put together. 2011-02-10 22:30:24 -0600 Ted Gould (d13c1f1) * debian/libappindicator-dev.install, debian/libappindicator3-dev.install: switching the file name of the vapi files. 2011-02-10 22:25:25 -0600 Ted Gould (3d4fdfb) * New upstream release (0.2.95) ∘ Fixing build for GTK2/3 dual build 2011-02-10 22:24:39 -0600 Ted Gould (596f48a) * Import upstream version 0.2.95 2011-02-10 22:22:11 -0600 Ted Gould (1c384cd) * 0.2.95 (tag: 0.2.95) 2011-02-10 22:18:21 -0600 Ted Gould (4044f92) * Fix the build so we can distcheck with GTK 2 and 3 2011-02-10 22:14:28 -0600 Ted Gould (4d24048) * Blocking the menu proxy from our test 2011-02-10 22:05:20 -0600 Ted Gould (889b2da) * Changing the build so that it uses the right version of the vala files and removes the predefined header location 2011-02-10 22:04:25 -0600 Ted Gould (61a686f) * Changing the install path of the headers for libappindicator GTK3 version so it's parrallel installable 2011-02-10 22:03:55 -0600 Ted Gould (725a13e) * Adjusting the name of the different namespace with GTK 3 2011-02-10 22:03:01 -0600 Ted Gould (2c30d69) * Ensure that we're building with the right library 2011-02-10 21:11:14 -0600 Ted Gould (b184209) * Cleanup what we create 2011-02-10 21:06:47 -0600 Ted Gould (f5de6c3) * gtk-doc wants a deprecated section now 2011-02-10 21:06:28 -0600 Ted Gould (3b78014) * Removing the multiple modules as we shouldn't need them 2011-02-10 21:06:08 -0600 Ted Gould (0c53b39) * Fixing scroll documentation 2011-02-10 20:46:41 -0600 Ted Gould (99189aa) * Making sure to pick up both metadata files in dist. 2011-02-10 15:29:09 -0600 Ted Gould (ac68d85) * * New upstream release (0.2.93) * New upstream release (0.2.94) ∘ Include vala example files as well 2011-02-10 15:28:13 -0600 Ted Gould (2c23d4b) * Import upstream version 0.2.94 2011-02-10 15:25:39 -0600 Ted Gould (e5b56ec) * 0.2.94 (tag: 0.2.94) 2011-02-10 15:25:15 -0600 Ted Gould (cd7daed) * Make sure to pull the vala source file along with us. 2011-02-10 15:05:00 -0600 Ted Gould (acdd6c5) * Syncing with upstream much better 2011-02-10 15:04:23 -0600 Ted Gould (648cd92) * Removing all the non packaging stuff 2011-02-10 15:01:25 -0600 Ted Gould (4dfca04) * Getting closer to the tarball 2011-02-10 14:57:31 -0600 Ted Gould (a9814d5) * New upstream release. ∘ Fix Vala bindings ∘ Add support for scroll events 2011-02-10 14:47:52 -0600 Ted Gould (18d8992) * Import upstream version 0.2.93 2011-02-10 14:47:29 -0600 Ted Gould (6def775) * Merge from U.Desktop 2011-02-11 07:47:26 +1100 Luke Yelavich (b63c137) * Merge from trunk 2011-02-10 14:14:30 -0600 Ted Gould (23a4650) * 0.2.93 (tag: 0.2.93) 2011-02-10 14:10:12 -0600 Ted Gould (409fc00) * Ignoring new Vala stuff 2011-02-10 14:07:37 -0600 Ted Gould (43c1ba2) * Being more specific about the types of the signal 2011-02-10 13:19:08 -0600 Ted Gould (2f8daac) * Fixing Vala bindings 2011-02-10 13:18:22 -0600 Ted Gould (e69e292) * Ensuring we don't run the app as part of the test, just build it so this will work in automation. 2011-02-08 22:50:44 -0500 Ken VanDine (a9d343c) * releasing version 0.2.92-0ubuntu2 (tag: 0.2.92-0ubuntu2) 2011-02-08 22:49:37 -0500 Ken VanDine (37a5403) * * debian/control, debian/rules - Include new binaries for gtk3 builds * debian/libappindicator1.symbols, debian/libappindicator3-1.symbols - Added symbol files for libappindicator1 and libappdindicator3-1 2011-02-08 22:45:28 -0500 Ken VanDine (be01a9e) * debian/libappindicator1.symbols, debian/libappindicator3-1.symbols 2011-02-08 22:14:58 -0500 Ken VanDine (b93c2b2) * Manually run dh_makeshlibs for libappindicator1 and libappindicator3-1 2011-02-08 21:39:11 -0500 Ken VanDine (ca3edb2) * fixup the clean target 2011-02-08 17:40:01 -0500 Ken VanDine (625332e) * more gtk3 build fixes 2011-02-08 16:40:57 -0500 Ken VanDine (d0ad1b8) * gtk3 packaging fixes, still wip 2011-02-08 14:32:48 -0500 Ken VanDine (c790761) * * debian/control, debian/rules - Include new binaries for gtk3 builds - Added symbol files for libappindicator1 and libappdindicator3-1 2011-02-08 17:55:35 +1100 Luke Yelavich (fffab2e) * accessible_name -> accessible_desc 2011-02-05 18:31:44 +0100 Marco Trevisan (Treviño) (b4f20fe) * example makefile code cleanup 2011-02-05 18:30:38 +0100 Marco Trevisan (Treviño) (d268d2b) * examples, vala: check for valac 2011-02-04 12:48:16 +0100 Marco Trevisan (Treviño) (d22edfa) * examples, added scroll-event demo. 2011-02-04 12:40:24 +0100 Marco Trevisan (Treviño) (675cec0) * Merge against new trunk 2011-02-04 12:36:25 +0100 Marco Trevisan (Treviño) (1b85f7f) * Vala simple client, compile workaround improved. 2011-02-04 04:55:34 +0100 Marco Trevisan (Treviño) (b9efa8f) * simple-client-vala: indentation fixes 2011-02-04 04:45:35 +0100 Marco Trevisan (Treviño) (89b31ab) * Examples, added simple-client-vala 2011-02-04 14:03:31 +1100 Luke Yelavich (31519e7) * Merge from trunk 2011-02-04 13:57:23 +1100 Luke Yelavich (b13fa49) * Add accessible_name support 2011-02-04 01:48:02 +0100 Marco Trevisan (Treviño) (32a1bf9) * Always check if vapigen is available when building VAPI 2011-02-04 01:33:35 +0100 Marco Trevisan (Treviño) (6cc0ff8) * Vala bindings: add metadata as build dependencies, support for gtk3 2011-02-04 01:32:52 +0100 Marco Trevisan (Treviño) (c58fd3f) * Include gir metadata file in built_sources 2011-02-03 16:03:32 -0600 Ted Gould (df6a39d) * Merge from U.Desktop 2011-02-03 16:01:54 -0600 Ted Gould (5851112) * Merging in the upstream packaging branch 2011-02-03 12:37:57 -0600 Ted Gould (692281a) * Changing the build to be the check instead of running it as we might not be interactive. 2011-02-03 18:54:18 +0100 Marco Trevisan (Treviño) (3f2a4ba) * vala bindings makefile: just use deps file for dependencies 2011-02-03 11:26:19 -0600 Ted Gould (0faacd1) * Support the Scroll method for scroll whell support. 2011-02-03 17:59:57 +0100 Marco Trevisan (Treviño) (2fea206) * Vala example, changed copyright year 2011-02-03 17:30:27 +0100 Marco Trevisan (Treviño) (99ffe88) * Vala example: indentation fixes 2011-02-03 17:26:35 +0100 Marco Trevisan (Treviño) (bcbd870) * Vala example: adding copyright message. 2011-02-03 16:22:06 +0100 Marco Trevisan (Treviño) (7f49d7c) * Adding vala bindings and example 2011-02-03 12:49:01 +0100 Marco Trevisan (Treviño) (b5660e8) * Merge against new trunk 2011-01-29 03:27:29 +0100 Marco Trevisan (Treviño) (0d97a5e) * Using the SNI method "Scroll" instead of XAyatanaScrollAction 2011-01-27 22:34:15 -0500 Ken VanDine (b7ad7ae) * releasing version 0.2.92-0ubuntu1 (tag: 0.2.92-0ubuntu1) 2011-01-27 22:23:52 -0500 Ken VanDine (93d52e4) * Import upstream version 0.2.92 2011-01-27 14:58:37 -0600 Ted Gould (0ab2c93) * releasing version 0.2.92-0ubuntu1~ppa1 2011-01-27 14:54:38 -0600 Ted Gould (9ba798d) * New upstream release. 2011-01-27 14:53:57 -0600 Ted Gould (41981b1) * Import upstream version 0.2.92 2011-01-27 14:43:30 -0600 Ted Gould (19c543f) * 0.2.92 (tag: 0.2.92) 2011-01-27 14:42:46 -0600 Ted Gould (3e812be) * Requiring a version of dbusmenu with a parser 2011-01-27 09:00:10 -0600 Ted Gould (11add3f) * releasing version 0.2.91.1-0ubuntu2~ppa1 2011-01-27 08:56:41 -0600 Ted Gould (27ae7e2) * * Upstream Merge * Fixes to build system to build with GTK3 * Use the dbusmenu parser 2011-01-27 08:53:38 -0600 Ted Gould (ceb50bd) * Sync to trunk 2011-01-27 08:52:33 -0600 Ted Gould (a3548cc) * Switching to use the dbusmenu parser 2011-01-27 12:40:58 +0100 Marco Trevisan (Treviño) (a71428d) * app-indicator: don't use two AppIndicator slots, reset one. 2011-01-27 12:40:33 +0100 Marco Trevisan (Treviño) (e18d298) * app-indicator: remove old debug code. 2011-01-27 00:30:30 +0100 Marco Trevisan (Treviño) (eb8d8a3) * Updated mono bindings 2011-01-27 00:29:57 +0100 Marco Trevisan (Treviño) (52b2a29) * app-indicator: listen for XAyatanaScrollAction and emit "scroll-event" signal 2011-01-25 14:54:14 -0600 Ted Gould (30d75ca) * Fixups for GTK3 Build 2011-01-25 14:38:47 -0600 Ted Gould (d0a0e2a) * releasing version 0.2.91.1-0ubuntu2~ted1 2011-01-25 14:35:59 -0600 Ted Gould (625c881) * * Upstream Merge * Use the dbusmenu parser 2011-01-25 13:52:22 -0600 Ted Gould (83b9ba8) * Updates from Ubuntu Desktop 2011-01-25 10:53:55 -0500 Ken VanDine (c5195ae) * GTK3 fixes 2011-01-25 10:53:26 -0500 Ken VanDine (b7e634a) * Fixed includedir, we don't ship separate headers for the gtk3 build 2011-01-25 10:52:54 -0500 Ken VanDine (29ab06e) * Don't build python bindings for gtk3 2011-01-25 09:44:43 -0600 Ted Gould (a8bbf19) * Removing the parser that was here. 2011-01-25 09:35:55 -0600 Ted Gould (331794c) * Rework the setup_dbusmenu function to use the dbusmenu parser. 2011-01-13 20:46:19 -0600 Ken VanDine (62f943d) * releasing version 0.2.91.1-0ubuntu1 (tag: 0.2.91.1-0ubuntu1) 2011-01-13 20:43:26 -0600 Ken VanDine (be00d00) * Import upstream version 0.2.91.1 2011-01-13 20:23:53 -0600 Ken VanDine (8cf0c2e) * com.canonical rename (tag: 0.2.91.1) 2011-01-13 20:14:53 -0600 Sebastien Bacher (db379ab) * releasing version 0.2.91-0ubuntu1 (tag: 0.2.91-0ubuntu1) 2011-01-13 20:05:12 -0600 Ken VanDine (cf693f9) * Canonical.com conversion 2011-01-13 19:52:25 -0600 Sebastien Bacher (79f9e4c) * Import upstream version 0.2.91 2011-01-13 18:28:17 -0600 Ken VanDine (57fd55e) * Merged 2011-01-13 18:26:32 -0600 Ken VanDine (0b26440) * merged * avoid nulls when crafting variants * use notdir in case make gives us full paths 2011-01-13 18:22:36 -0600 Ken VanDine (c2762f3) * Fix the pkgconfig name for dbusmenu-glib-0.4 2011-01-13 17:48:53 -0600 Michael Terry (0e9f42a) * aw shucks, do the required properties too, defensively 2011-01-13 17:36:57 -0600 Michael Terry (05980b6) * avoid nulls when crafting variants 2011-01-13 17:36:29 -0600 Michael Terry (b38d1d8) * use notdir in case make gives us full paths 2011-01-12 15:55:46 -0600 Ken VanDine (7c301f7) * Fixed pkgconfig files to require dbusmenu-glib-0.4 2011-01-12 09:04:12 -0600 Ken VanDine (0092f8a) * Rebuild for libindicator2 2011-01-12 09:01:09 -0600 Ken VanDine (087e631) * Fix the pkgconfig name for dbusmenu-glib-0.4 2011-01-06 10:17:44 -0500 Ken VanDine (9d5b3b0) * * Merged changes from ~ubuntu-desktop package * Intial release. * debian/rules - Changes to build targets to get it building multipass for python 2.6 and 2.7 2010-12-16 10:10:13 -0500 Ken VanDine (54c9e64) * releasing version 0.2.90-0ubuntu4 (tag: 0.2.90-0ubuntu4) 2010-12-10 18:04:32 -0500 Ken VanDine (2437d4b) * releasing version 0.2.90+r175-0ubuntu1 (tag: 0.2.90+r175-0ubuntu1) 2010-12-10 16:38:00 -0500 Ken VanDine (29871df) * * debian/rules - Changes to build targets to get it building multipass for python 2.6 and 2.7 2010-12-09 12:56:54 -0500 Ken VanDine (6e9fee7) * releasing version 0.2.90-0ubuntu3 (tag: 0.2.90-0ubuntu3) 2010-12-08 16:52:57 -0600 Ted Gould (fdec9f2) * More lovin' from Ken. Moving the package order in the control file. 2010-12-08 17:51:34 -0500 Ken VanDine (d4236cd) * move python-appindicator to the end 2010-12-08 16:29:16 -0600 Ted Gould (5a1319d) * Fix from Ken for the targets 2010-12-08 17:24:01 -0500 Ken VanDine (3fc08a0) * fixed some targets for multipass builds 2010-12-08 16:04:58 -0600 Ted Gould (2706502) * Intial release. 2010-12-08 16:02:08 -0600 Ted Gould (67140a7) * Import upstream version 0.2.91 2010-12-08 16:01:51 -0600 Ted Gould (86419fb) * Converting over to libappindicator with a dummy commit for merge upstream 2010-12-08 15:58:39 -0600 Ted Gould (6698a1a) * 0.2.91 (tag: 0.2.91) 2010-12-08 15:58:26 -0600 Ted Gould (a4e9c0e) * Adding the dbus test as an expected failure as it's pretty fragile right now. Needs to be refactored when we switch to GDBus 2010-12-08 15:35:51 -0600 Ted Gould (2a0070a) * debian/control: Removing the indicator-application bin package. 2010-12-08 15:34:25 -0600 Ted Gould (f1ca6d3) * Autogen 2010-12-08 15:31:12 -0600 Ted Gould (36d0bc8) * * Upstream Merge * Removing service, lib only * Switching from dbus-glib to GDBus 2010-12-08 15:19:44 -0600 Ted Gould (0d8a2c6) * Switching the library over to using GDBus 2010-12-08 14:50:01 -0600 Ted Gould (5b8d8f9) * Wrong directory for the GTK 3 header. Fixed. 2010-12-08 13:00:55 -0600 Ted Gould (3acbfb5) * Merge from Ubuntu Desktop for dual builds 2010-12-08 13:49:13 -0500 Ken VanDine (b917f6f) * * debian/control - build depend on dbusmenu >= 0.3.90 2010-12-08 12:29:26 -0600 Ted Gould (0fee0e4) * Syncing back with trunk 2010-12-08 12:26:41 -0600 Ted Gould (6d73d54) * Adding a test in the simple client for full icon path as people are using it now 2010-12-08 12:26:04 -0600 Ted Gould (142f013) * Merging the property stuff. 2010-12-08 12:25:44 -0600 Ted Gould (6e6356f) * Removing the service from the build 2010-12-08 13:10:00 -0500 Ken VanDine (a227646) * releasing version 0.2.90-0ubuntu2 (tag: 0.2.90-0ubuntu2) 2010-12-08 11:04:50 -0600 Ted Gould (b35ed0d) * Ignoring the generated XML include files. 2010-12-08 11:04:17 -0600 Ted Gould (8c8512a) * Changing the tarball we're ignoring 2010-12-08 11:00:54 -0600 Ted Gould (41edd6b) * Adding in some '_' so that the symbols don't get exported in the library. 2010-12-08 10:54:16 -0600 Ted Gould (a977f31) * Switching around so that this test passes even if it's not perfect. 2010-12-08 10:40:23 -0600 Ted Gould (2144d77) * Drop the need and use of dbus-glib 2010-12-08 10:11:30 -0600 Ted Gould (7fae05b) * Making sure we have more ref's on our callbacks. 2010-12-08 10:05:54 -0600 Ted Gould (52375e6) * Adding a ref for creating the bus proxy. 2010-12-08 10:03:28 -0600 Ted Gould (b9d6690) * Making sure to ref the object when doing the async callback. 2010-12-08 10:03:10 -0600 Ted Gould (4a94c8c) * Adding a build for dbus-glib for tests so that we can pass them unmodified. 2010-12-08 09:38:31 -0600 Ted Gould (9530e69) * Dropping the 'MENU' property as we don't need it. 2010-12-08 09:34:56 -0600 Ted Gould (02fba60) * Cleaning up configure.ac 2010-12-08 04:47:55 -0500 Ken VanDine (1860f39) * releasing version 0.2.90-0ubuntu1 (tag: 0.2.90-0ubuntu1) 2010-12-08 04:27:50 -0500 Ken VanDine (be69a42) * * New upstream release. * A race fix on the dbus name (LP: #526499) * Fixing the Watcher Interface * Fixes to build with GTK 2/3 * Fixes to build with valac-0.12 * debian/control - Changed the valac build depends to valac-0.12 * debian/python-appindicator.install - Make sure python2.6 and python2.7 files get included * debian/rules - Fix builds for multiple python versions - disable parallel builds, it breaks the mono binding generation 2010-12-07 22:19:35 -0600 Ted Gould (c7539b5) * Switching to the new dbusmenu API 2010-12-07 20:51:16 -0600 Ted Gould (c05b64a) * releasing version 0.2.90-0ubuntu1~ppa1 2010-12-07 20:48:49 -0600 Ted Gould (4478b59) * * New upstream release. * Fixes to build with GTK 2/3 * Fixes to build with valac-0.12 2010-12-07 20:46:33 -0600 Ted Gould (a413eba) * Import upstream version 0.2.90 2010-12-07 20:44:44 -0600 Ted Gould (12d94d3) * 0.2.90 (tag: 0.2.90) 2010-12-07 16:55:03 -0600 Ted Gould (eef3316) * Update to newest g-ir-scanner and vapigen 2010-12-06 20:57:41 -0600 Ted Gould (05d072b) * Changing what we're checking with the watcher, now that it's persistant more of the time we need to not block if it exists. 2010-12-06 20:48:55 -0600 Ted Gould (4b46daa) * Emitting the signals on DBus 2010-12-06 20:07:48 -0600 Ted Gould (985854c) * Returning real values for the dbus properties 2010-12-06 17:12:39 -0600 Ted Gould (0d80d13) * Killing the X signals as well 2010-12-06 17:10:32 -0600 Ted Gould (a666e4b) * Dropping all the 'x' properties in the object 2010-12-06 17:06:10 -0600 Ted Gould (1652577) * Putting some dummy code in the bus get property function. 2010-12-06 16:38:29 -0600 Ted Gould (07aeca3) * Switching the names of the generated files to stop automake from thinking it needs to build the XML files. 2010-12-06 16:05:36 -0600 Ted Gould (a92f870) * Adding in the get_prop function so that things start linking 2010-12-06 15:57:14 -0600 Ted Gould (884367e) * Switch from using the DBus proxy to using the owner change signal on the watcher proxy. 2010-12-06 14:36:57 -0600 Ted Gould (6e078ce) * Readjusting how the proxy is setup, called back, and the registration occurs. 2010-12-06 12:27:15 -0600 Ted Gould (47a57eb) * Blacklisting some new files 2010-12-06 12:25:07 -0600 Ted Gould (6a4266b) * Changing the connection to be a GDBus connection and making aquiring it async 2010-12-06 11:45:27 -0600 Ted Gould (c1f18c7) * Switching the dbus object registration to us GDBus 2010-12-06 11:21:26 -0600 Ted Gould (589bebb) * Dropping the registration of the type of the object in the dbus-glib way 2010-12-06 11:13:54 -0600 Ted Gould (9287e20) * Building up the base inforation for the dbus interfaces as static globals 2010-12-06 10:07:01 -0600 Ted Gould (f590403) * Entirely unsure why this makes things better, but well, it does. 2010-12-06 09:50:21 -0600 Ted Gould (2209cb8) * Changing to not use the dbus binding tool but to instead turn the XML files into pseudo-C 2010-12-06 09:09:29 -0600 Ted Gould (d797092) * No indicator directory without the service 2010-12-06 09:09:01 -0600 Ted Gould (4d2b723) * Dropping dbus-glib and checking for a GIO version 2010-12-06 09:03:23 -0600 Ted Gould (0fc55bf) * Merging the remove service branch 2010-12-03 22:02:03 -0600 Ted Gould (240d1c9) * Sync with remove service branch 2010-12-03 22:00:38 -0600 Ted Gould (bbd727e) * Sync with remove service 2010-12-03 22:00:05 -0600 Ted Gould (0f4c1ea) * Merging from trunk with the desktop convience function. 2010-12-03 21:48:10 -0600 Ted Gould (8bfcfe5) * Merging from trunk with the desktop convience function. 2010-12-03 21:43:40 -0600 Ted Gould (fbf708e) * Adding a convience function for building the items from a desktop file 2010-12-03 21:40:11 -0600 Ted Gould (5265f39) * Merging in removing the service 2010-12-03 21:37:58 -0600 Ted Gould (2855f7d) * Merging in removing of the service 2010-12-03 21:21:06 -0600 Ted Gould (5ffa185) * Merging in support for GTK3/2 dual build 2010-12-03 21:17:05 -0600 Ted Gould (671666f) * Updating to trunk with GTK3 support. 2010-12-03 21:12:06 -0600 Ted Gould (6145439) * Merging in changes to setup a dual build with GTK 3 2010-12-03 20:44:18 -0600 Ted Gould (b90242a) * Updating to trunk so that we get the GI fixes 2010-12-03 20:42:15 -0600 Ted Gould (63f4725) * Fixes to the GObject Introspection and Vala files 2010-12-03 17:15:12 -0500 Ken VanDine (0a09bca) * Build fixes with the latest g-ir-scanner and vapigen 2010-12-03 16:38:48 -0500 Ken VanDine (e7e4604) * * Explicitly call ShowAll on the menu, otherwise it isn't shown * Specify a panel icon that exists for the example 2010-12-02 15:17:54 -0600 Ted Gould (d2a48b2) * Oops, someone has to bring dbus-shared.h into the tarball now 2010-12-02 15:06:45 -0600 Ted Gould (03dbdec) * Migrating to the LIBRARY flags 2010-12-02 14:56:14 -0600 Ted Gould (185a2a9) * Dropping a lib that should have never been there! 2010-12-02 14:55:10 -0600 Ted Gould (dd21c70) * Changing more of the bulid directives over to be library based 2010-12-02 14:53:45 -0600 Ted Gould (f664f48) * Removing the approver test and switching the build flags 2010-12-02 14:49:54 -0600 Ted Gould (7123c74) * Adding back in the support for generating marshallers 2010-12-02 14:46:50 -0600 Ted Gould (e1a62d3) * Dropping the service and indicator files 2010-12-02 14:42:29 -0600 Ted Gould (1dc185e) * Removing the INDICATOR based compiler fun 2010-12-02 14:41:33 -0600 Ted Gould (34adf7b) * Adding a section for library dependents 2010-12-02 14:38:40 -0600 Ted Gould (e9a363f) * Removing data directory 2010-12-02 14:37:25 -0600 Ted Gould (2367242) * Changing the name to libappindicator in the base build files 2010-12-02 14:35:51 -0600 Ted Gould (f8e822f) * Promoting the LGPLv3 2010-11-11 22:29:42 -0600 Ted Gould (c2e08e0) * Documentation fixes for distcheck 2010-11-11 22:21:11 -0600 Ted Gould (aad1926) * Fleshing out a function to see if an invalid name results in no entries 2010-11-11 22:18:55 -0600 Ted Gould (ca62d8c) * Changing the ID to ensure we get different paths 2010-11-11 22:11:23 -0600 Ted Gould (fe00673) * Test fix for property test 2010-11-11 22:11:03 -0600 Ted Gould (178f821) * Clearing the events before unrefing 2010-11-11 21:52:59 -0600 Ted Gould (9bde70f) * Filling out the activate function. 2010-11-11 21:48:35 -0600 Ted Gould (2d87c7a) * Setup the menu as a dbusmenu if we build it 2010-11-11 21:37:18 -0600 Ted Gould (5c687d9) * Switching to use the private variable for the shorties 2010-11-11 21:32:01 -0600 Ted Gould (1d3ca65) * Adding shorties as a private variable 2010-11-11 21:25:00 -0600 Ted Gould (d089c38) * Switching to be dbusmenu based instead of GTK menu based 2010-11-11 21:07:35 -0600 Ted Gould (5a29ece) * Adding a property for getting the dbusmenu server 2010-11-11 21:05:39 -0600 Ted Gould (8b57d12) * Set the property type correctly. 2010-11-11 21:05:29 -0600 Ted Gould (53d10c2) * Test setting the menu and verify it comes out 2010-11-11 20:17:51 -0600 Ted Gould (00758f3) * Set and Get for the dbusmenu server property 2010-11-11 20:10:54 -0600 Ted Gould (1ec2b70) * Create a property for the dbusmenu server 2010-11-11 16:57:22 -0600 Ted Gould (9f0ec1f) * Start to flesh out the nicks side of building the menu items 2010-11-11 16:22:22 -0600 Ted Gould (8eb4f8e) * Adding a dependency for the library on libindicator 2010-11-09 17:01:37 -0600 Ted Gould (40c2ed8) * Add a menu item to use the local icon 2010-11-09 16:52:06 -0600 Ted Gould (02e634b) * Adding in an icon and passing it's path to the build 2010-11-08 12:12:42 -0500 Ted Gould (dd78c21) * Merging in the lib-deps-fixes branch so that I can use those changes. 2010-11-08 12:10:46 -0500 Ted Gould (52c7066) * Adding a test to check the number of items in the desktop file 2010-11-08 11:49:47 -0500 Ted Gould (2e1b353) * Adding the srcdir to the build command line 2010-11-08 11:49:27 -0500 Ted Gould (145fd40) * Adding a desktop file for testing 2010-11-08 11:47:52 -0500 Ted Gould (8d9b6e9) * Adding in a couple of desktop tests 2010-11-08 11:25:40 -0500 Ted Gould (d2427bb) * Adding the profile in there 2010-11-08 11:19:19 -0500 Ted Gould (de1ea7a) * Adding an API function to build the menu from a desktop file 2010-11-01 11:12:19 -0500 Ted Gould (15d58f5) * releasing version 0.2.9-0ubuntu2~ppa2 2010-11-01 11:10:28 -0500 Ted Gould (ea40161) * * Upstream Merge * A race fix on the dbus name (LP: #526499) 2010-11-01 11:09:13 -0500 Ted Gould (7ab5839) * Sync to trunk 2010-11-01 11:08:42 -0500 Ted Gould (9c008cd) * Race fixup 2010-10-20 16:06:42 -0400 Ted Gould (52c2b07) * releasing version 0.2.9-0ubuntu2~ppa2~race2 2010-10-20 15:23:29 -0400 Ted Gould (77d4ced) * * Upstream Merge * Making a printout 2010-10-20 15:22:46 -0400 Ted Gould (b176944) * Uhg, we need a message to know if we've fixed the bug. 2010-10-19 20:29:14 -0400 Ted Gould (7fa4cd4) * releasing version 0.2.9-0ubuntu2~ppa2~race1 2010-10-19 20:27:31 -0400 Ted Gould (ed10f8d) * * Upstream Merge * A race fix on the dbus name 2010-10-19 20:26:41 -0400 Ted Gould (5bfdd2a) * releasing version 0.2.9-0ubuntu2~ppa1 2010-10-19 20:23:53 -0400 Ted Gould (f5573ca) * * Upstream Merge * Fixing the Watcher Interface 2010-10-19 20:22:16 -0400 Ted Gould (597ba2a) * Merge with Ubuntu Desktop 2010-10-19 18:48:39 -0500 Ted Gould (ccea5af) * Add a nice little warning in 2010-10-19 18:47:22 -0500 Ted Gould (3758df5) * Adding a check for the name to ensure we didn't miss it 2010-10-13 08:38:31 -0400 Michael Terry (e8289f9) * ship both pc files in EXTRA_DIST 2010-10-08 15:55:30 -0600 Ted Gould (50440e6) * Fixing the Watcher interface 2010-10-08 18:04:27 +0200 Aurelien Gateau (ea206ef) * NotificationHost => StatusNotifierHost, Service => StatusNotifierItem 2010-10-08 17:02:24 +0200 Aurelien Gateau (6f032f5) * Fix implementation of org.kde.StatusNotifierWatcher interface 2010-10-06 12:08:49 -0400 Michael Terry (3551eb1) * instead of always building gtk2 and gtk3, add a --with-gtk= flag to configure to specify which to build with 2010-09-22 20:01:06 +0200 Didier Roche (853fe81) * releasing version 0.2.9-0ubuntu1 (tag: 0.2.9-0ubuntu1) 2010-09-22 19:58:13 +0200 Didier Roche (2b4effa) * * debian/libappindicator0.1-cil.installcligac: Add the 0.1 policy file. * debian/control: - build with latest libindicator-dev for ABI breakage (LP: #637692) 2010-09-22 11:55:11 -0500 Ted Gould (fbedfce) * releasing version 0.2.9-0ubuntu1~ppa2 2010-09-22 11:53:52 -0500 Ted Gould (d1f389d) * debian/libappindicator0.1-cil.installcligac: Add the 0.1 policy file. 2010-09-22 11:42:39 -0500 Ted Gould (eab2ebe) * Adding a new library line for configure so that we don't end up with extra libs in the library. 2010-09-22 11:18:40 -0500 Ted Gould (a182b72) * releasing version 0.2.9-0ubuntu1~ppa1 2010-09-22 11:17:19 -0500 Ted Gould (a374c74) * * New upstream release. * Fix submenus with Glade applications (LP: #608219) * Add new functions to Mono and Python bindings 2010-09-22 11:14:11 -0500 Ted Gould (f5e7b8e) * Import upstream version 0.2.9 2010-09-22 11:13:14 -0500 Ted Gould (fe08c86) * 0.2.9 (tag: 0.2.9) 2010-09-21 17:02:21 -0500 Ted Gould (7a891ca) * Fixes for the bindings 2010-09-21 22:18:22 +0200 Sense Egbert Hofstede (f8bbae1) * Resolving conflict when merging with trunk 2010-09-21 21:22:16 +0200 Sense Egbert Hofstede (e9ed8cb) * Undoing a previous commit that had nothing to do with what I want to achive in my merge request. That's what you get for misusing old branches\! 2010-09-21 21:13:43 +0200 Sense Egbert Hofstede (df5dbe2) * Created a second policy file to make sure that applications depending on 'appindicator-sharp' will not have to be recompiled. Changes to the packaging is required to make sure the policy file gets installed. 2010-09-21 10:50:45 -0500 Ted Gould (76442cd) * releasing version 0.2.8-0ubuntu2~ppa1 2010-09-21 10:48:33 -0500 Ted Gould (dca441b) * Autogen.sh 2010-09-21 10:46:32 -0500 Ted Gould (2491cd3) * * Upstream Merge * Fix Mono binding versioning and build (LP: #636132) 2010-09-21 10:45:01 -0500 Ted Gould (50aa305) * Merge ubuntu-desktop 2010-09-21 10:42:05 -0500 Ted Gould (1be18c5) * Fixing Mono bindings to build versions correctly. 2010-09-20 20:46:30 +0200 Sense Egbert Hofstede (12d7f82) * Remove the redudant set and get functions for the ordering_index property from the Mono bindings as we want programmers to work witht the property directly. 2010-09-20 20:28:10 +0200 Sense Egbert Hofstede (3f3c6a0) * * Adding Python bindings for the new API additons * Updating the Mono assembly version to reflect the changes to the API * Remove two redundant elements from the Mono bindings' metadata file 2010-09-20 17:54:51 +0200 Sense Egbert Hofstede (482276f) * Merging Jo Shields' fixes to the build infrastructure to shut GAPI up. 2010-09-19 20:49:32 +0100 Jo Shields (316dbc5) * Bump SONAME in Mono binding to libappindicator.so.1 2010-09-19 20:47:07 +0100 Jo Shields (4247b7e) * The purpose of a dllmap is to turn a DllImport for "foo" into a dlopen of "bar". This is most commonly used to make apps more cross-platform, by specifying the Windows library name (foo.dll) into a Linux/OSX/etc filename (libfoo.so.0). 2010-09-19 20:41:59 +0100 Jo Shields (b598108) * gapi2-parser cannot cope with multiple signals connected to the same method - it will bail out, complaining it cannot find a method to match the second signal. 2010-09-18 19:22:25 +0200 Sense Egbert Hofstede (6c8da9e) * Updating to trunk 2010-09-18 19:20:11 +0200 Sense Egbert Hofstede (e050bfc) * Commit latest changes before merging with trunk 2010-09-15 17:16:00 -0500 Ted Gould (c2aee8a) * Adding a disthook for AUTHORS 2010-09-15 17:08:47 -0400 Ken VanDine (fee0915) * releasing version 0.2.8-0ubuntu1 (tag: 0.2.8-0ubuntu1) 2010-09-15 15:05:18 -0500 Ted Gould (b8eb440) * releasing version 0.2.8-0ubuntu1~ppa1 2010-09-15 14:50:01 -0500 Ted Gould (db852e8) * * Update the icon if the item is visible (LP: #639643) * New upstream release. * Handle double registration of indicators (LP: #621838) 2010-09-15 14:46:09 -0500 Ted Gould (c876d26) * Import upstream version 0.2.8 2010-09-15 14:41:06 -0500 Ted Gould (a4dc11a) * 0.2.8 (tag: 0.2.8) 2010-09-15 14:38:44 -0500 Ted Gould (859281b) * Merging of Ubuntu Desktop 2010-09-15 14:35:02 -0500 Ted Gould (9ee069f) * releasing version 0.2.7-0ubuntu1~ppa2 2010-09-15 14:33:38 -0500 Ted Gould (fecd2e9) * Update the icon if the item is visible (LP: #639643) 2010-09-15 14:10:51 -0500 Ted Gould (7d4feea) * * Upstream Merge * Update the icon if the item is visible 2010-09-15 14:10:07 -0500 Ted Gould (f30ec96) * Merging trunk 2010-09-15 14:09:50 -0500 Ted Gould (9485bb3) * Making it when we see changes we always update the icon. 2010-09-15 11:14:46 -0500 Ted Gould (0e5b5b6) * releasing version 0.2.7-0ubuntu1~ppa2~attention1 2010-09-15 11:13:19 -0500 Ted Gould (7ccd345) * * Upstream Merge * Update the icon if the item is visible 2010-09-15 11:12:42 -0500 Ted Gould (8e221f4) * Allowing updates if the item is visible. 2010-09-09 16:36:24 -0400 Ken VanDine (d7a7c77) * releasing version 0.2.7-0ubuntu1 (tag: 0.2.7-0ubuntu1) 2010-09-09 13:00:40 -0500 Ted Gould (4054bd4) * releasing version 0.2.7-0ubuntu1~ppa1 2010-09-09 12:57:22 -0500 Ted Gould (4057700) * Merge from Ubuntu Desktop 2010-09-09 12:55:58 -0500 Ted Gould (250c2b0) * * New upstream release. * Handle double registration of indicators (LP: #621838) 2010-09-09 12:54:08 -0500 Ted Gould (b6d9801) * Import upstream version 0.2.7 2010-09-09 12:52:35 -0500 Ted Gould (b39568d) * 0.2.7 (tag: 0.2.7) 2010-09-09 12:50:35 -0500 Ted Gould (1f5808c) * Handle double registration of indicators. 2010-09-07 19:22:05 -0500 Ted Gould (c560340) * Check for duplicate additions of applications and just rerequest properties. 2010-09-07 19:21:43 -0500 Ted Gould (01ca0dc) * Extra debugging info 2010-09-07 18:36:02 -0500 Ted Gould (d18fdf6) * Logging status change 2010-09-02 20:29:32 -0400 Ken VanDine (5e8e9f5) * releasing version 0.2.6-0ubuntu1 (tag: 0.2.6-0ubuntu1) 2010-08-26 14:56:29 -0500 Ted Gould (d3dcecf) * releasing version 0.2.6-0ubuntu1~ppa1 2010-08-26 14:51:43 -0500 Ted Gould (6e060fd) * Merging from Ubuntu Desktop 2010-08-26 14:50:45 -0500 Ted Gould (84b7100) * New upstream release. 2010-08-26 14:50:16 -0500 Ted Gould (17e7865) * Import upstream version 0.2.6 2010-08-26 14:49:40 -0500 Ted Gould (7b3e58b) * 0.2.6 (tag: 0.2.6) 2010-08-25 13:33:43 -0500 Ted Gould (166096e) * releasing version 0.2.5-0ubuntu1~ppa2 2010-08-25 13:32:26 -0500 Ted Gould (87c04ea) * * Upstream Merge * Fixing the position of new indicators (LP: #623205) * Position the ibus and keyboard layout indicators correctly. 2010-08-25 13:30:16 -0500 Ted Gould (c74bade) * Ordering i18n and keyboard indicators 2010-08-25 13:29:41 -0500 Ted Gould (ee3fb93) * Putting new icons in the right place 2010-08-24 16:04:05 +0200 Sense Egbert Hofstede (c553ba5) * Merging with trunk 2010-08-20 11:54:25 -0500 Ted Gould (81de048) * Get the proper position for an application when it becomes visible. 2010-08-20 10:13:35 -0500 Ted Gould (35924b4) * Handling the typo 2010-08-20 10:13:16 -0500 Ted Gould (d74f776) * Adding keyboard and ibus to overrides 2010-08-19 16:18:05 -0400 Ken VanDine (6e18a72) * releasing version 0.2.5-0ubuntu1 (tag: 0.2.5-0ubuntu1) 2010-08-19 14:00:07 -0500 Ted Gould (618737a) * releasing version 0.2.5-0ubuntu1~ppa1 2010-08-19 13:58:41 -0500 Ted Gould (f71709a) * * New upstream release. * Allowing approvers to change thier mind 2010-08-19 13:57:51 -0500 Ted Gould (101c8ff) * Import upstream version 0.2.5 2010-08-19 13:56:53 -0500 Ted Gould (b51c1de) * 0.2.5 (tag: 0.2.5) 2010-08-19 13:56:42 -0500 Ted Gould (ced1792) * Fix approver for function change 2010-08-19 10:00:31 -0500 Ted Gould (80345b2) * releasing version 0.2.4-0ubuntu2~ppa3 2010-08-19 09:59:09 -0500 Ted Gould (1c12616) * * Upstream Merge * Allowing approvers to change thier mind 2010-08-19 09:58:40 -0500 Ted Gould (1051775) * releasing version 0.2.4-0ubuntu2~ppa2 2010-08-19 09:57:49 -0500 Ted Gould (0ed6b99) * Adding a signal for approvers to be able to change their mind 2010-08-19 09:56:50 -0500 Ted Gould (18cbc6a) * Merging Ubuntu Desktop 2010-08-19 09:52:04 -0500 Ted Gould (6881133) * * Upstream Merge * Making it so the approver actually approves indicators * Fixing a small memory leak 2010-08-19 09:49:54 -0500 Ted Gould (425894a) * Sync to trunk 2010-08-19 09:48:16 -0500 Ted Gould (e930a47) * Changing the state machine to have approvers actually aprove things. 2010-08-19 09:47:09 -0500 Ted Gould (fbb9323) * Fixing a memory leak Cody noticed. 2010-08-18 14:26:38 -0500 Ted Gould (9fc60ae) * Flesh out the revise judgement handler to update the list of approvers. 2010-08-18 14:26:10 -0500 Ted Gould (1865cf3) * Refactor so that there is a function to look for applications. 2010-08-18 14:02:47 -0500 Ted Gould (ca21363) * Connecting into the signal coming from the approver 2010-08-18 10:31:20 -0500 Ted Gould (12c8cd4) * Adding a signal to the approver interface 2010-08-18 10:29:09 -0500 Ted Gould (a1e4f99) * Changing function name as well. 2010-08-18 10:27:53 -0500 Ted Gould (1d51365) * XAyatana the register interface 2010-08-18 10:24:04 -0500 Ted Gould (e71beec) * Start some approvin' 2010-08-16 12:50:05 -0500 Ted Gould (82c8332) * releasing version 0.2.4-0ubuntu2~ppa1~approver3 2010-08-16 12:48:00 -0500 Ted Gould (f1a43bb) * * Upstream Merge * Fixing approvers retiring off the bus 2010-08-16 12:43:38 -0500 Ted Gould (72c93f2) * Commenting out debug message 2010-08-16 12:42:41 -0500 Ted Gould (fb1811e) * Making it so that we don't set the proxy to null right away. 2010-08-16 12:41:02 -0500 Ted Gould (93f92e8) * Making the list so that if there are errors we handle them well. 2010-08-13 14:41:35 -0500 Ted Gould (c712bf0) * releasing version 0.2.4-0ubuntu2~ppa1~approver2 2010-08-13 14:40:24 -0500 Ted Gould (61fbb6f) * * Making it so the approver actually approves indicators * New upstream release. * Add in ordering IDs * Adding label support into the library * Adding label support into the indicator * Breaking the ABI in order to get more space in the class structure. * Allow the icon theme path to be changed dynamically (LP: #607831) * debian/control: Moving libappindicator0 to libappindicator1 * debian/rules: Moving libappindicator0 to libappindicator1 * Rebuild with the new gobject introspection 2010-08-13 14:38:39 -0500 Ted Gould (45fc7d9) * * Upstream Merge * Updating to trunk * Fixing application list 2010-08-13 14:01:57 -0500 Ted Gould (ba5b85a) * Making sure to remove our applications from the list as well. 2010-08-13 14:01:38 -0500 Ted Gould (a0023d1) * Responding to approver errors like they're approval. 2010-08-13 12:24:11 -0500 Ted Gould (c04a7cf) * Uhg, broken merge. 2010-08-13 12:22:42 -0500 Ted Gould (564b2af) * Updating to trunk 2010-08-13 09:50:46 -0500 Ted Gould (eadc69d) * Freeing the allocated keys. 2010-08-12 16:32:18 -0400 Ken VanDine (2840a6f) * releasing version 0.2.4-0ubuntu1 (tag: 0.2.4-0ubuntu1) 2010-08-12 13:57:20 -0500 Ted Gould (2368f53) * releasing version 0.2.4-0ubuntu1~ppa1 2010-08-12 13:54:54 -0500 Ted Gould (468ac3c) * * New upstream release. * Adding label support into the library * Adding label support into the indicator * Allow the icon theme path to be changed dynamically (LP: #607831) * Rebuild with the new gobject introspection 2010-08-12 13:52:34 -0500 Ted Gould (0d7fd31) * Import upstream version 0.2.4 2010-08-12 13:40:00 -0500 Ted Gould (d81670c) * 0.2.4 (tag: 0.2.4) 2010-08-12 09:48:11 -0500 Ted Gould (47aa858) * Merging in Ubuntu Desktop branch 2010-08-12 09:36:17 -0500 Ted Gould (92aca3c) * releasing version 0.2.3-0ubuntu2~ppa6 2010-08-12 09:31:40 -0500 Ted Gould (374ce0d) * * Upstream Merge * Add in ordering IDs 2010-08-12 09:30:35 -0500 Ted Gould (6769e30) * Sync to trunk 2010-08-12 09:30:07 -0500 Ted Gould (f6b5ccd) * Switching to using ordering IDs instead of the LRU file. 2010-08-11 22:33:49 -0500 Ted Gould (91c8163) * releasing version 0.2.3-0ubuntu2~ppa6~approver1 2010-08-11 22:32:40 -0500 Ted Gould (081c349) * * Upstream Merge * Making it so the approver actually approves indicators 2010-08-11 22:31:25 -0500 Ted Gould (7a4bfc9) * Changing it so that the list of applications has all the applications in it, independent of visible state. 2010-08-11 22:26:47 -0500 Ted Gould (98252b2) * Making sure to only list the visible applications. 2010-08-11 22:22:24 -0500 Ted Gould (fa45eaa) * Switching the get_position() function to look at the visibility of the applications. 2010-08-11 22:12:40 -0500 Ted Gould (d722653) * Handle the proxy being destroyed, and cleaning up the approver. 2010-08-11 21:52:43 -0500 Ted Gould (360e8a4) * Simplifying the visual state to just be shown/hidden while letting the status show which icon is shown. 2010-08-11 21:48:54 -0500 Ted Gould (0db4eb5) * Switching a few status checks to look at the visible state 2010-08-11 21:30:44 -0500 Ted Gould (4398a69) * Make it so that an approver that gets free'd gets removed from the applications list of approval. 2010-08-11 21:15:58 -0500 Ted Gould (ba69049) * Moving some TODOs 2010-08-11 20:58:36 -0500 Ted Gould (b7419c3) * Changing the apply_status function to be less about applying the status and more about trying to apply a visual state that can be determined by things like approvers. This means that it doesn't get passed the status. 2010-08-11 20:33:01 -0500 Ted Gould (ddd8746) * Making sure to clean up the approved by list 2010-08-11 20:31:30 -0500 Ted Gould (a635d68) * Adding a visible state entry to the application structure 2010-08-11 20:26:08 -0500 Ted Gould (fbdf4bf) * Managing the list with the approver returns. 2010-08-11 20:04:06 -0500 Ted Gould (e8b76a6) * Changing to a list, we're going to need to track who so when they disconnect we can know the state change. 2010-08-11 19:59:38 -0500 Ted Gould (efd7be1) * Adding a count for the number of approvers that have approved the application. 2010-08-11 15:55:25 -0500 Ted Gould (b7d28a1) * Merging in the XLabel branch to handle conflicts. 2010-08-11 15:48:19 -0500 Ted Gould (c1b795e) * releasing version 0.2.3-0ubuntu2~ppa5~order5 2010-08-11 15:46:31 -0500 Ted Gould (1486db2) * * Upstream Merge * Various fixes to the ordering index calculation * Putting ordering indexes in the X namespace 2010-08-11 15:45:09 -0500 Ted Gould (f34b5e5) * Fighting wrap around 2010-08-11 15:42:56 -0500 Ted Gould (d678c35) * Better debug printing. 2010-08-11 15:35:08 -0500 Ted Gould (cfe735b) * Using unsigned chars for calculating, we want no sign extension. 2010-08-11 15:28:26 -0500 Ted Gould (a0c8fb0) * We were using the wrong function, we want categories not statuses! 2010-08-11 14:27:33 -0500 Ted Gould (9346cf3) * Making a wrapper property for the 'X' domain 2010-08-11 14:11:18 -0500 Ted Gould (7330f01) * Adding the wrapper properties to the get. 2010-08-11 13:43:36 -0500 Ted Gould (1fbc480) * Adding in a wrapper signal 2010-08-11 13:24:27 -0500 Ted Gould (ea682be) * Adding a set of wrapper properties that can be used by the dbus interface. 2010-08-11 13:04:52 -0500 Ted Gould (2a0f0b9) * Changing the app store 2010-08-11 13:03:59 -0500 Ted Gould (16cdfbc) * Changing the Dbus interface. 2010-08-11 13:02:20 -0500 Ted Gould (818f7c4) * Putting the ordering index into the 'x' domain. 2010-08-11 13:00:39 -0500 Ted Gould (7301841) * Making it so that applications will pass '0' over dbus if they don't have a set ordering index. 2010-08-11 12:12:38 -0500 Ted Gould (bd56ec8) * releasing version 0.2.3-0ubuntu2~ppa5~order4 2010-08-11 12:11:34 -0500 Ted Gould (68b7423) * * Upstream Merge * Cleaning up the ID creation and ordering to put low numbers to the right. 2010-08-11 11:10:03 -0500 Ted Gould (0dd2e79) * Ignoring the generate id library object file. 2010-08-11 11:06:39 -0500 Ted Gould (8bfbd55) * Instead of using a struct just using multiply, which in all reality, is more clear and the compiler will optimize it for us. 2010-08-11 11:03:02 -0500 Ted Gould (38c7a01) * Making the categories a case statement. 2010-08-11 10:10:45 -0500 Ted Gould (26d50df) * Switching to be more opaque, but also more sane. 2010-08-11 09:50:14 -0500 Ted Gould (fd956d9) * Flipping the order 2010-08-11 09:19:49 -0500 Ted Gould (15f7dee) * releasing version 0.2.3-0ubuntu2~ppa5 2010-08-11 09:18:28 -0500 Ted Gould (5d6feac) * Autogen 2010-08-11 09:10:38 -0500 Ted Gould (5dcb1d4) * releasing version 0.2.3-0ubuntu2~ppa5~order3 2010-08-11 09:07:42 -0500 Ted Gould (3e415d5) * * Upstream Merge * Checking to make sure we get a list of keys before using them. * Fixing typo for group name in overrides file. 2010-08-11 09:06:41 -0500 Ted Gould (77343b7) * Typo 2010-08-11 09:05:53 -0500 Ted Gould (bceb5ac) * releasing version 0.2.3-0ubuntu2~ppa5~order2 2010-08-11 09:05:47 -0500 Ted Gould (d47d1f1) * debian/indicator-application.install: Adding in the ordering-override file to this package. 2010-08-11 09:05:07 -0500 Ted Gould (bdd9c85) * Ensuring that we got a list of keys so we don't crash 2010-08-11 11:07:58 +0200 Sebastien Bacher (77beaba) * releasing version 0.2.3-0ubuntu2 (tag: 0.2.3-0ubuntu2) 2010-08-10 21:27:10 -0500 Ted Gould (3d26f16) * Autogen 2010-08-10 21:26:08 -0500 Ted Gould (21fcf7a) * * Upstream Merge * Adding in override files for the ordering IDs 2010-08-10 21:19:31 -0500 Ted Gould (51de4ce) * Checking for an override and applying it. 2010-08-10 17:13:22 -0500 Ted Gould (de6c40d) * Fleshing out the loading overrides function. 2010-08-10 16:59:25 -0500 Ted Gould (f4b22a7) * Putting together the pieces to look for override files 2010-08-10 16:50:54 -0500 Ted Gould (dad491a) * Adding an override hash table 2010-08-10 16:31:39 -0500 Ted Gould (73fb38c) * Installing the override file in the package specific data directory. 2010-08-10 16:21:08 -0500 Ted Gould (6c0afe2) * Adding in an override keyfile 2010-08-10 15:56:58 -0500 Ted Gould (1c31b31) * releasing version 0.2.3-0ubuntu2~ppa5~order1 2010-08-10 15:42:40 -0500 Ted Gould (3a5a1f6) * Doc fixes 2010-08-10 15:42:30 -0500 Ted Gould (e85c5b2) * Autogen 2010-08-10 15:33:09 -0500 Ted Gould (79436bd) * Fixing documentation with new API. 2010-08-10 15:26:11 -0500 Ted Gould (3b61df4) * * Upstream Merge * Add in ordering IDs 2010-08-10 15:22:29 -0500 Ted Gould (a34479e) * Updating to trunk 2010-08-10 14:49:00 -0500 Ted Gould (d2c36a2) * Removing the LRU file object. 2010-08-10 14:47:23 -0500 Ted Gould (bf3f4c6) * Removing the LRU file 2010-08-10 14:43:41 -0500 Ted Gould (961575a) * Pulling in the generate ID function as well 2010-08-10 14:41:53 -0500 Ted Gould (c27a7a9) * Setting the ordering ID. 2010-08-10 14:37:44 -0500 Ted Gould (09e6c21) * Adding in an ordering index for application structures 2010-08-10 14:17:42 -0500 Ted Gould (06c0194) * I like 'index' better than 'id' -- now everything is consistent. 2010-08-10 14:13:44 -0500 Ted Gould (1cac2ea) * Adding 'OrderingIndex' and realigning. 2010-08-10 13:49:19 -0500 Ted Gould (f04dd09) * Providing accessors for the ordering_id property 2010-08-10 11:56:49 -0500 Ted Gould (220d6a3) * Storing the value and allowing the get to use a generated value. 2010-08-10 11:56:31 -0500 Ted Gould (4a52e90) * Uhg, wrong library 2010-08-10 11:43:42 -0500 Ted Gould (5bffdaf) * Brining generate-id into the fold 2010-08-10 11:41:48 -0500 Ted Gould (bd2b24f) * Writing a small little function to generate the ID. 2010-08-10 11:28:19 -0500 Ted Gould (fe604c4) * Adding the ordering id property. 2010-08-10 10:08:30 -0500 Ted Gould (e4484ff) * releasing version 0.2.3-0ubuntu2~ppa4 2010-08-10 10:05:52 -0500 Ted Gould (352c666) * debian/rules: Moving libappindicator0 to libappindicator1 2010-08-10 09:34:08 -0500 Ted Gould (294f162) * debian/control: Moving libappindicator0 to libappindicator1 2010-08-10 09:32:43 -0500 Ted Gould (e2305c3) * * Upstream Merge * Breaking the ABI in order to get more space in the class structure. 2010-08-10 09:32:00 -0500 Ted Gould (2fd1a6b) * releasing version 0.2.3-0ubuntu2~ppa3 2010-08-10 09:29:39 -0500 Ted Gould (d7c7a2a) * Breaking the ABI so we have more space in the class structure 2010-08-10 09:27:31 -0500 Ted Gould (29311fb) * * Upstream Merge * Adding label support into the library * Adding label support into the indicator * Autogen * Upstream Merge * Fixing the check of the function signature 2010-08-10 09:04:58 -0500 Ted Gould (0e21b91) * Sync to trunk 2010-08-10 09:04:41 -0500 Ted Gould (87bd896) * Adding label support into the indicator 2010-08-10 09:04:25 -0500 Ted Gould (398dce8) * Adding label support into the library. 2010-08-09 11:32:59 -0500 Ted Gould (c43dd8f) * Adding the Ordering Index property 2010-08-09 09:43:20 -0500 Ted Gould (afac3d9) * Start with the ABI break. 2010-08-05 17:14:38 -0500 Ted Gould (8918685) * Changing the size of the class structure, the reason for the break. 2010-08-05 17:09:56 -0500 Ted Gould (18628e9) * Incrementing the major version number 2010-08-05 17:06:59 -0500 Ted Gould (649c799) * Adding label support 2010-08-05 17:00:58 -0500 Ted Gould (4e4e053) * releasing version 0.2.3-0ubuntu2~ppa1~label7 2010-08-05 16:58:53 -0500 Ted Gould (79896b0) * Updating to trunk 2010-08-05 16:58:14 -0500 Ted Gould (1ba6811) * Bringing in indicator stuff 2010-08-05 16:54:12 -0500 Ted Gould (c4045e9) * Syncing with trunk and resolving conflicts 2010-08-05 16:43:15 -0500 Ted Gould (d377c94) * Fixing merge 2010-08-05 16:35:25 -0500 Ted Gould (b1daa47) * Updating to trunk and resolve conflicts 2010-08-05 16:12:12 -0500 Ted Gould (9e24b87) * releasing version 0.2.3-0ubuntu2~ppa1 2010-08-05 16:10:11 -0500 Ted Gould (e4c14f7) * * Upstream Merge * Allow the icon theme path to be changed dynamically (LP: #607831) 2010-08-05 16:05:28 -0500 Ted Gould (9291697) * Support dynamically changing the icon theme path. 2010-08-05 15:13:35 -0500 Ted Gould (8ceb58c) * releasing version 0.2.3-0ubuntu2~ppa1~label6 2010-08-05 15:07:30 -0500 Ted Gould (141558f) * * Upstream Merge * Adding a helper update of the icon when rebuilding 2010-08-05 15:06:49 -0500 Ted Gould (c1aaada) * Updating with helper when rebuilding. 2010-08-05 15:04:34 -0500 Ted Gould (225167d) * Tracking the long name along with the application entry. 2010-08-05 15:02:17 -0500 Ted Gould (593c6b8) * Check for suffix when updating icon as well! 2010-08-05 14:50:32 -0500 Ted Gould (085b99e) * releasing version 0.2.3-0ubuntu2~ppa1~label5 2010-08-05 14:49:09 -0500 Ted Gould (83aa68f) * Add the ability to toggle the label 2010-08-05 14:48:39 -0500 Ted Gould (7f91215) * * Upstream Merge * Handle label updating and use the guide to guess the size. 2010-08-05 14:45:50 -0500 Ted Gould (23e9b56) * Adding the ability to toggle the label on and off 2010-08-05 13:56:56 -0500 Ted Gould (54c6103) * Showing and hiding the entries with removal. 2010-08-05 13:23:12 -0500 Ted Gould (b17e625) * Reshuffling the signaling and making sure to ref the label. 2010-08-05 12:20:56 -0500 Ted Gould (38074f5) * Not really sure what this TODO meant, so I'm removing it. 2010-08-05 12:20:25 -0500 Ted Gould (08a2c88) * Some slight refactoring and comments along with the ability to remove the entries and recreate them. 2010-08-05 12:08:51 -0500 Ted Gould (a644617) * Building a label in the case that we don't have one already. 2010-08-05 18:25:57 +0200 Sense Egbert Hofstede (1a0c666) * Partial, segfaulting, fix for LP: #608219, requires GTK+ change attached to same bug report. 2010-08-05 11:25:25 -0500 Ted Gould (62a5f41) * Adding updating the guide and label size to the label update signal 2010-08-05 11:18:07 -0500 Ted Gould (9c46c11) * Storing the guide and using it to bound the size of the label. 2010-08-05 15:51:53 +0200 Sense Egbert Hofstede (247e5a1) * Passing the updated icon theme path along with the DBus signal, saving a DBus call. 2010-08-05 08:44:54 -0500 Ted Gould (3a3ea03) * releasing version 0.2.3-0ubuntu2~ppa1~label4 2010-08-05 08:41:07 -0500 Ted Gould (0450275) * * Upstream Merge * Fixing the prototype of the added signal 2010-08-05 08:40:24 -0500 Ted Gould (fff357c) * Changing the prototype of the added function. 2010-08-04 20:33:00 -0500 Ted Gould (e4dd5ca) * releasing version 0.2.3-0ubuntu2~ppa1~label3 2010-08-04 20:30:43 -0500 Ted Gould (05be20a) * Fixing the signal prototype 2010-08-04 20:30:14 -0500 Ted Gould (77b2b6f) * * Upstream Merge * Making the test program count to 100 2010-08-04 20:19:29 -0500 Ted Gould (1f04ea2) * Make sure we get to 100 2010-08-04 20:18:39 -0500 Ted Gould (208fc00) * Fixing the prototype for the label changed signal. 2010-08-04 15:27:46 -0500 Ted Gould (1e7513c) * releasing version 0.2.3-0ubuntu2~ppa1~label2 2010-08-04 15:20:08 -0500 Ted Gould (2ffcd74) * * Upstream Merge * Fixing the check of the function signature 2010-08-04 15:19:09 -0500 Ted Gould (b83a74c) * Fix the check for the updated function signature. 2010-08-04 15:00:28 -0500 Ted Gould (1baa860) * releasing version 0.2.3-0ubuntu2~ppa1~label1 2010-08-04 14:56:10 -0500 Ted Gould (be5cab0) * Adding label support into the indicator 2010-08-04 14:55:07 -0500 Ted Gould (6eeaa49) * * Upstream Merge * Adding label support into the library 2010-08-04 14:50:13 -0500 Ted Gould (f2b8083) * Setting the label in the simple client 2010-08-04 14:31:55 -0500 Ted Gould (c25bb3c) * If it changes, let's update. 2010-08-04 14:27:42 -0500 Ted Gould (91c8b42) * If we get passed a label let's make a GTK one for fun. 2010-08-04 14:18:15 -0500 Ted Gould (83f5634) * Connecting to the application signal for new label and handling it appropriately. 2010-08-04 14:05:21 -0500 Ted Gould (04fd119) * Cast once, be happy 2010-08-04 13:58:23 -0500 Ted Gould (788b0db) * Sending the label and the guide over dbus if we have them. 2010-08-04 13:52:28 -0500 Ted Gould (0d11bf6) * Start tracking the label and the label guide allong with the other application properties. 2010-08-04 13:25:14 -0500 Ted Gould (ff9b7b4) * Whitespace fix 2010-08-04 12:49:54 -0500 Ted Gould (d06c102) * Adding in a base signal handler for the label change 2010-08-04 12:46:49 -0500 Ted Gould (4dea77d) * Adding signal for label changing. 2010-08-04 12:08:42 -0500 Ted Gould (e33d50b) * Adding the new entries to the list of the get_apps function. 2010-08-04 12:07:36 -0500 Ted Gould (d58186a) * Updating signal emition to match new API 2010-08-04 12:02:57 -0500 Ted Gould (1f1bb2c) * Changing prototypes to match DBus API change. 2010-08-04 11:58:49 -0500 Ted Gould (faf2859) * Adding labels to the service interface 2010-08-04 11:55:52 -0500 Ted Gould (4189a76) * Adding defines for the new properties and signal. 2010-08-04 11:52:01 -0500 Ted Gould (8b0b19a) * Merging in the API changes 2010-08-03 21:13:34 -0500 Ted Gould (43e185e) * More signalling tests. 2010-08-03 21:09:58 -0500 Ted Gould (6882b4c) * Setting up a basic signals test 2010-08-03 17:14:32 -0500 Ted Gould (2925384) * Stupid reverse logic in the string comparison. 2010-08-03 17:09:57 -0500 Ted Gould (f721168) * Turning null strings into NULLs 2010-08-03 17:07:29 -0500 Ted Gould (a2e95f1) * Adding a test to set the label and guides a bunch. 2010-08-03 16:45:18 -0500 Ted Gould (52bfc9d) * Signaling when the labels change in the idle loop 2010-08-03 16:23:35 -0500 Ted Gould (0422fcb) * Putting the new define into the docs 2010-08-03 16:18:42 -0500 Ted Gould (84821ec) * Reusing the application service marshallers, not beautiful, but it works for now. 2010-08-03 15:55:21 -0500 Ted Gould (fc9d5d4) * Adding in a signal to tell when the label is updated. 2010-08-03 15:40:50 -0500 Ted Gould (e0f472f) * Adding the label funcs to the documentation. 2010-08-03 15:12:23 -0500 Ted Gould (706a72b) * Adding in the convience wrappers 2010-08-03 14:47:42 -0500 Ted Gould (e541156) * Adding the label and guide fields to the private struct and tying that into the properties. 2010-08-03 14:37:01 -0500 Ted Gould (44e84ed) * Setting up the label and lable guide properties. 2010-08-03 14:10:45 -0500 Ted Gould (89a5ffe) * Adding a property to guide the size of the label 2010-08-03 13:15:49 -0500 Ted Gould (6de3d6f) * These have needed to be ignored for a while. 2010-08-03 11:48:27 -0500 Ted Gould (9f0e3c6) * This shouldn't be in Bazaar 2010-08-03 11:47:45 -0500 Ted Gould (456347a) * Adding the label property and a signal for it changing. 2010-07-22 17:36:12 +0200 Sense Hofstede (0a8c09e) * Fixed two G_PARAM_SPECS and made it even more possible to remove the custom icon theme path. 2010-07-22 16:57:29 +0200 Sense Hofstede (0dbf34a) * Fix wrong naming that caused the signal to be missed 2010-07-22 16:51:10 +0200 Sense Hofstede (0bbee36) * Clean-up and renaming variables and functions everywhere to use icon_theme_path for the sake of consistency. 2010-07-22 15:04:52 +0200 C10uD (3fb0e11) * forgot some files 2010-07-22 14:57:14 +0200 C10uD (4780617) * trying to implement runtime theme-path changing 2010-07-15 12:30:36 -0500 Ted Gould (3f326bd) * Updating to Ubuntu Desktop 2010-07-15 12:12:19 -0400 Ken VanDine (38feb55) * releasing version 0.2.3-0ubuntu1 (tag: 0.2.3-0ubuntu1) 2010-07-15 10:22:37 -0500 Ted Gould (8faa8b6) * releasing version 0.2.3-0ubuntu1~ppa1 2010-07-15 10:21:21 -0500 Ted Gould (a32741d) * New upstream release. 2010-07-15 10:20:14 -0500 Ted Gould (863cd1c) * Import upstream version 0.2.3 2010-07-15 10:18:23 -0500 Ted Gould (17dea09) * 0.2.3 (tag: 0.2.3) 2010-07-13 11:02:08 -0500 Ted Gould (76c177b) * releasing version 0.2.2-0ubuntu2~ppa2 2010-07-13 10:55:44 -0500 Ted Gould (c95f517) * Autogen update 2010-07-13 10:55:21 -0500 Ted Gould (35cad52) * * Merge upstream * Fixing test for slower machines 2010-07-13 10:52:59 -0500 Ted Gould (37d583e) * Adjusting the tests so they can deal with slow systems better. 2010-07-12 13:58:37 -0500 Ted Gould (e1dc7c0) * Ignoring the tester script 2010-07-12 13:57:47 -0500 Ted Gould (930a79a) * Add a fail timeout so this test can't block. 2010-07-12 13:55:08 -0500 Ted Gould (8a0649a) * Adding in setting the environment variable to adjust the timeout to be twice as long for slow systems. 2010-07-12 09:44:40 -0500 Ted Gould (0de45ad) * releasing version 0.2.2-0ubuntu2~ppa1 2010-07-12 09:43:11 -0500 Ted Gould (791daf2) * Autogen update 2010-07-12 09:28:16 -0500 Ted Gould (e273b81) * * Merge upstream * Adding an Approver API to remove things from the AppIndicators. 2010-07-12 09:26:50 -0500 Ted Gould (7ef1834) * Putting in a basic approver API. 2010-07-09 21:35:45 -0500 Ted Gould (25b69bb) * Need the built headers too 2010-07-09 21:23:59 -0500 Ted Gould (1b89529) * Oops, with a menu we're all GTK now. 2010-07-09 21:21:22 -0500 Ted Gould (3c43fed) * Building up to a formal test 2010-07-09 21:15:49 -0500 Ted Gould (12c8596) * Filling out the approve function. 2010-07-09 21:14:25 -0500 Ted Gould (0bf54f5) * Filling out the approver prototype 2010-07-09 21:10:00 -0500 Ted Gould (d7c39d7) * Building an application indicator too! 2010-07-09 20:58:38 -0500 Ted Gould (ed8163b) * Making the registration async to clean things up, and async is better anyway. 2010-07-09 20:49:26 -0500 Ted Gould (5b41b1e) * Some more error handling and better debug messages. 2010-07-09 20:45:32 -0500 Ted Gould (018bf0e) * Helpful debug info 2010-07-09 20:44:07 -0500 Ted Gould (fd3e18e) * Okay, so now we're detecing when the watcher comes up, and registering ourselves as the approver. 2010-07-09 16:47:45 -0500 Ted Gould (8072a97) * Adding a new sample approver 2010-07-09 16:29:22 -0500 Ted Gould (306a78b) * When we have new apps we can ask the approver about them. 2010-07-09 16:16:48 -0500 Ted Gould (b3a0f3e) * Looking at all the applications when we get a new approver. 2010-07-09 16:06:37 -0500 Ted Gould (a281700) * Building the approver structure and putting it in the list. 2010-07-09 15:59:35 -0500 Ted Gould (4f7e748) * Comments 2010-07-09 15:58:34 -0500 Ted Gould (93572f1) * Adding some structures for approvers and making them real. 2010-07-09 15:20:13 -0500 Ted Gould (2986445) * For DBus to real objects, the signal shall travel. 2010-07-09 15:13:48 -0500 Ted Gould (d7c7324) * Adding a function to bring in approvers 2010-07-09 15:04:30 -0500 Ted Gould (fb4da4a) * Sync to trunk 2010-07-08 15:38:13 -0500 Ted Gould (4e2c23b) * Sync to Ubuntu Desktop branch 2010-07-08 14:17:39 -0500 Ted Gould (1ddd622) * Use a private pointer instead of a lookup. 2010-07-08 20:45:51 +0200 Sense Hofstede (925e3d8) * Removed all but one calls to the APPLICATION_SERVICE_APPSTORE_GET_PRIVATE() macro 2010-07-08 18:26:25 +0200 Sebastien Bacher (22da24c) * releasing version 0.2.2-0ubuntu1 (tag: 0.2.2-0ubuntu1) 2010-07-08 10:28:29 -0500 Ted Gould (8ce01c5) * releasing version 0.2.2-0ubuntu1~ppa1 2010-07-08 10:23:57 -0500 Ted Gould (2a931ef) * New upstream release. ∘ Work with updated container signal names 2010-07-08 10:22:02 -0500 Ted Gould (44880df) * Import upstream version 0.2.2 2010-07-08 10:08:02 -0500 Ted Gould (a627c07) * 0.2.2 (tag: 0.2.2) 2010-07-07 14:23:37 -0500 Ted Gould (cf31f2f) * Merging this branch, but I think it's fixes must have gone in with another. 2010-07-07 14:17:31 -0500 Ted Gould (eed6cf0) * Working with the better container signals 2010-07-06 16:27:35 -0500 Ted Gould (033b032) * Updating to Ubuntu Desktop 2010-07-01 14:29:30 -0500 Ted Gould (a8aac3a) * Return a boolean 2010-06-25 14:43:16 -0500 Ted Gould (6cf35d7) * Adding in a template function to register approvers. 2010-06-25 14:38:21 -0500 Ted Gould (4c9f434) * Adding a function to register an approver. 2010-06-25 14:34:03 -0500 Ted Gould (a46a27a) * Adding an approver interface. 2010-06-22 09:31:46 +0200 Didier Roche (711cb0b) * releasing version 0.2.1-0ubuntu1 (tag: 0.2.1-0ubuntu1) 2010-06-21 16:57:36 -0400 Ken VanDine (90a5410) * * New upstream release. * Fix icon updating (LP: #594199) * Change Mono bindings to only parse particular files (LP: #592706) * Make a policy for migrating the mono bindings * Test fixes to make them more reliable * debian/control: Fixing version numbers * debian/control: Making the 0.1-cil replace and provide the 0.0-cil * debian/libappindicator0.1-cil.installcligac: Add the policy.dll file to the install. * Upstream release 0.0.2 * Updates API to use GTK instead of dbusmenu to make it easier for upstream developers to use. 2010-06-21 14:25:42 -0500 Ted Gould (61a4f68) * releasing version 0.2.1-0ubuntu1~ppa1 2010-06-21 14:22:34 -0500 Ted Gould (1c6a483) * Making some files match upstream relases that don't. 2010-06-21 14:17:44 -0500 Ted Gould (0ac50a3) * * New upstream release. * Fix icon updating (LP: #594199) * Change Mono bindings to only parse particular files (LP: #592706) * Make a policy for migrating the mono bindings * Test fixes to make them more reliable 2010-06-21 14:13:54 -0500 Ted Gould (3439224) * Import upstream version 0.2.1 2010-06-21 14:06:07 -0500 Ted Gould (20f0c1d) * 0.2.1 (tag: 0.2.1) 2010-06-21 14:04:56 -0500 Ted Gould (458ad9a) * Fixing versions of concflicts. 2010-06-21 13:59:36 -0500 Ted Gould (a4976d3) * Fixing policy version numbers. 2010-06-21 14:54:05 -0400 Ken VanDine (db008b0) * Don't conflict with libappindicator0.0-cil, just replace and provide 2010-06-21 14:50:40 -0400 Ken VanDine (ac400f7) * Use full assembly version for the policy file 2010-06-21 13:45:46 -0400 Ken VanDine (e48a4c7) * Specify versions for Replaces/Conflicts for libappindicator0.0-cil 2010-06-21 09:00:13 -0500 Ted Gould (55e7722) * releasing version 0.2.0-0ubuntu4~ppa6 2010-06-19 09:34:12 -0400 Michael Terry (60abdc2) * use gtk3 versions of dbusmenu and indicator; use appindicator3 0.1 rather than appindicator 3.1 2010-06-19 01:44:59 -0400 Michael Terry (e1f36a8) * first pass at gtk3 version of libappindicator 2010-06-18 20:13:52 -0500 Ted Gould (bec7e4e) * Conflicts as well 2010-06-18 17:12:21 -0500 Ted Gould (591b407) * debian/control: Making the 0.1-cil replace and provide the 0.0-cil 2010-06-18 17:00:15 -0500 Ted Gould (d2a540c) * debian/control: Fixing version numbers 2010-06-18 16:52:28 -0500 Ted Gould (b741fd3) * releasing version 0.2.0-0ubuntu4~ppa5 2010-06-18 16:47:36 -0500 Ted Gould (b1f6a47) * debian/libappindicator0.1-cil.installcligac: Changing version policy applies to. 2010-06-18 16:45:12 -0500 Ted Gould (fe4f2d9) * Autogen 2010-06-18 16:44:24 -0500 Ted Gould (7eac5d7) * * Upstream merge * Changing the policy to be for 0.0 2010-06-18 16:43:25 -0500 Ted Gould (9745469) * Setting the policy version. 2010-06-18 15:04:29 -0500 Ted Gould (955c737) * releasing version 0.2.0-0ubuntu4~ppa4 2010-06-18 15:02:59 -0500 Ted Gould (570ea94) * * debian/libappindicator0.1-cil.installcligac: Add the policy.dll file to the install. * Autogen 2010-06-18 14:51:16 -0500 Ted Gould (6bee066) * * Upstream merge * Make a policy for migrating the mono bindings 2010-06-18 14:50:17 -0500 Ted Gould (f9a13d5) * Fix mono versioning. 2010-06-18 14:45:16 -0500 Ted Gould (787b920) * Cleaning up file name definitions 2010-06-18 14:40:12 -0500 Ted Gould (f23786e) * Adding the policy config to the installed files. 2010-06-18 14:19:59 -0500 Ted Gould (c5c2670) * Switching to the policy name. 2010-06-18 14:16:21 -0500 Ted Gould (64a712f) * Swithcing the version to be the assembly version. 2010-06-18 13:01:53 -0500 Ted Gould (c012b2a) * Fixup the gacutil stuff. Still doesn't ununinstall. 2010-06-18 12:16:47 -0500 Ted Gould (f8f18e9) * Fixing policy name 2010-06-18 11:55:22 -0500 Ted Gould (35915da) * Replacing the macros with the proper data 2010-06-18 11:22:56 -0500 Ted Gould (16680b1) * Forgot to merge in packaging branch. Linking now. 2010-06-18 11:22:09 -0500 Ted Gould (b076c2b) * releasing version 0.2.0-0ubuntu4~ppa3 2010-06-18 11:20:42 -0500 Ted Gould (910aa3a) * Adding bug number 2010-06-18 11:18:49 -0500 Ted Gould (4eb17f9) * * Upstream merge * Fix icon updating (LP: #594199) 2010-06-18 11:16:33 -0500 Ted Gould (87d82b8) * Make icon switching work again. 2010-06-18 11:01:26 -0500 Ted Gould (e434b93) * Fixing the distcheck by cleaning up 2010-06-18 10:57:02 -0500 Ted Gould (c0f6417) * Readjusting so that the policy file is in the same directory as the DLL 2010-06-18 10:52:53 -0500 Ted Gould (5ea2df7) * Fixing directories 2010-06-18 10:35:27 -0500 Ted Gould (814bed1) * Typo 2010-06-18 10:33:02 -0500 Ted Gould (f399d89) * Generating a policy dll 2010-06-18 08:46:51 -0500 Ted Gould (ceac804) * releasing version 0.2.0-0ubuntu4~ppa2 2010-06-18 08:45:18 -0500 Ted Gould (4b33012) * * Upstream Merge * Change Mono bindings to only parse particular files * Autogen. For fun and profit. * Upstream release 0.0.2 * Updates API to use GTK instead of dbusmenu to make it easier for upstream developers to use. 2010-06-18 08:44:06 -0500 Ted Gould (0299891) * Sync to trunk 2010-06-18 08:43:23 -0500 Ted Gould (250a731) * Fix mono bindings by restricting gapi2-parser 2010-06-18 08:41:33 -0500 Ted Gould (d4f5fa7) * Remove the assert with checking if the value is NULL. 2010-06-17 22:20:15 -0500 Ted Gould (782f9e5) * releasing version 0.2.0-0ubuntu4~ppa2~icons3 2010-06-17 22:17:25 -0500 Ted Gould (985eb70) * * Upstream merge * Using class_ref and unref to allocate the type if need be 2010-06-17 22:16:01 -0500 Ted Gould (ce25d4c) * Use class ref and unref to allocate it if need be. 2010-06-17 17:06:22 -0500 Ted Gould (c204273) * releasing version 0.2.0-0ubuntu4~ppa2~icons2 2010-06-17 17:04:52 -0500 Ted Gould (28a5a2e) * * Upstream Merge * Fixing the enum lookup from nick 2010-06-17 17:04:14 -0500 Ted Gould (e589eca) * Reworking to make more clear and use the GEnumValue structure correctly. 2010-06-17 13:30:32 -0500 Ted Gould (6ee70d2) * releasing version 0.2.0-0ubuntu4~ppa2~icons1 2010-06-17 13:28:27 -0500 Ted Gould (81e0ff2) * * Upstream Merge * Making it so that icons can be changed at any time. 2010-06-17 13:27:31 -0500 Ted Gould (9119e00) * releasing version 0.2.0-0ubuntu4~ppa1 2010-06-17 13:24:56 -0500 Ted Gould (c4314c8) * * Upstream Merge * Test fixes to make them more reliable 2010-06-17 13:21:59 -0500 Ted Gould (fc6b18b) * Icon name shouldn't be construct only. 2010-06-17 13:05:56 -0500 Ted Gould (a835081) * Linking Bug 2010-06-17 13:04:37 -0500 Ted Gould (9a0770c) * releasing version 0.2.0-0ubuntu4~ppa1~monofix2 2010-06-17 13:02:43 -0500 Ted Gould (b6e10ee) * Autogen. For fun and profit. 2010-06-17 12:51:02 -0500 Ted Gould (b62203f) * releasing version 0.2.0-0ubuntu4~ppa1~monofix1 2010-06-17 12:45:04 -0500 Ted Gould (dc1a9ec) * * Upstream Merge * Change Mono bindings to only parse particular files * Test fixes for Hudson builds 2010-06-17 12:43:06 -0500 Ted Gould (750406e) * Only work with specific files instead of the whole directory. 2010-06-17 10:57:03 -0500 Ted Gould (53d1e55) * Sync to Ubuntu desktop 2010-06-14 12:30:15 -0400 Ken VanDine (c6734d2) * renamed cil binary to libappindicator0.1 to match the assembly version (LP: #592706) 2010-06-11 16:40:42 -0500 Ted Gould (95c7907) * Changing signal names and getting the ones on the base menu as well. 2010-06-11 16:01:32 -0500 Ted Gould (34a4af9) * Changing the signal names 2010-06-11 12:35:21 -0500 Ted Gould (cdb0efc) * More time for initial fallback. 2010-06-11 12:34:09 -0500 Ted Gould (6eedd6e) * Increase the timeouts, but make it so that the watcher shutsdown when seen. 2010-06-11 10:58:47 -0500 Ted Gould (259c519) * Increasing timeout to hopefully make it work on Hudson with load. 2010-06-11 11:11:19 -0400 Ken VanDine (0eb105d) * renamed cil binary to libappindicator0.1 to match the assembly version 2010-06-08 11:03:40 +0200 Sebastien Bacher (52ebd17) * releasing version 0.2.0-0ubuntu2 (tag: 0.2.0-0ubuntu2) 2010-06-07 18:09:38 +0200 Sebastien Bacher (0fb6915) * releasing version 0.2.0-0ubuntu1 (tag: 0.2.0-0ubuntu1) 2010-06-04 08:59:10 -0400 Ken VanDine (83ea782) * * New upstream release. * Unref the child that was created * Build GIR and VAPI files (LP: #510610) * Fixes to documentation and enum construction * Fix distcheck * Merging patch to add assembly information to Mono binding (LP: #547195) * debian/control: Add GObject Introspection and Vala build dependencies. * Added debian/gir1.0-libappindicator-0.1.install and modified debian/control and debian/libappindicator-dev.install to handle the VAPI and GI files. * debian/libappindicator0.0-cil.install: Fixing directory of cli files 2010-06-03 14:49:52 -0500 Ted Gould (ebc5cbf) * releasing version 0.2.0-0ubuntu1~ppa1 2010-06-03 14:48:08 -0500 Ted Gould (5ffc5c9) * Fixing control file 2010-06-03 14:38:21 -0500 Ted Gould (d5f07a0) * Fixing typo 2010-06-03 14:37:58 -0500 Ted Gould (fa7673f) * debian/libappindicator0-cli.install: Fixing directory of cli files 2010-06-03 14:36:01 -0500 Ted Gould (ec772ab) * Fixing so files that got lost. 2010-06-03 14:35:24 -0500 Ted Gould (d7f06e7) * Getting some files back... where did they go. 2010-06-03 14:20:45 -0500 Ted Gould (ead73d0) * Added debian/gir1.0-libappindicator-0.1.install and modified debian/control and debian/libappindicator-dev.install to handle the VAPI and GI files. 2010-06-03 14:14:41 -0500 Ted Gould (da48072) * Build GIR and VAPI files (LP: #510610) 2010-06-03 14:14:23 -0500 Ted Gould (f50f08a) * debian/control: Add GObject Introspection and Vala build dependencies. 2010-06-03 14:00:39 -0500 Ted Gould (614e30a) * * New upstream release. * Build GIR and VAPI files * Fixes to documentation and enum construction * Fix distcheck 2010-06-03 13:55:11 -0500 Ted Gould (0f7ba97) * Import upstream version 0.2.0 2010-06-03 13:54:41 -0500 Ted Gould (d3216b9) * Changing revision for merge-upstream 2010-06-03 13:28:54 -0500 Ted Gould (27fe45b) * 0.2.0 (tag: 0.2.0) 2010-06-01 11:10:26 -0500 Ted Gould (3651994) * Distcheck fixes 2010-06-01 11:07:44 -0500 Ted Gould (1b748b2) * Merging in trunk 2010-06-01 10:58:57 -0500 Ted Gould (e0ddc2d) * Fixes to docuementation and making the enums build correctly with gtk-mkenum 2010-05-23 12:44:53 +0200 Sense Hofstede (01fafa4) * Documentation and introspection fixes and such 2010-05-20 22:12:37 -0500 Ted Gould (0e3c221) * Sync to trunk to ensure no conflicts. 2010-05-20 22:09:25 -0500 Ted Gould (ef11b71) * Merging in the 0.1 series branch 2010-05-20 22:03:10 -0500 Ted Gould (f7fd52b) * Merging in updates from the 0.1 series branch 2010-05-20 21:59:50 -0500 Ted Gould (7cb5463) * releasing version 0.0.21-0ubuntu1~ppa1 2010-05-20 21:58:25 -0500 Ted Gould (144908d) * * New upstream release. * Adding AssemblyInfo.cs for building 2010-05-20 21:56:58 -0500 Ted Gould (84e75c6) * Import upstream version 0.0.21 2010-05-20 21:56:52 -0500 Ted Gould (2cbdb9f) * releasing version 0.0.20-0ubuntu1~ppa1 2010-05-20 21:54:21 -0500 Ted Gould (6fcbfe5) * 0.0.21 (tag: 0.0.21) 2010-05-20 21:52:14 -0500 Ted Gould (38c5c10) * Build fix to include the AssemblyInfo.cs file 2010-05-20 21:42:57 -0500 Ted Gould (d16ae42) * Forgot to drop the patch 2010-05-20 21:38:31 -0500 Ted Gould (086d22c) * * New upstream release. * Unref the child when created in libappindicator (LP: #569273) * Merging patch to add assembly information to Mono binding (LP: #547195) * Remove child-leakage.patch as merged upstream 2010-05-20 21:34:54 -0500 Ted Gould (9b028d9) * Import upstream version 0.0.20 2010-05-20 21:32:24 -0500 Ted Gould (bdec505) * Desktop sync 2010-05-20 21:16:58 -0500 Ted Gould (cd4c6e0) * 0.0.20 (tag: 0.0.20) 2010-05-20 20:22:24 -0500 Ted Gould (20a976b) * Only grab the app indicator files. 2010-05-20 20:17:07 -0500 Ted Gould (29a3d02) * Ignoring the lru file header 2010-05-20 17:32:25 -0500 Ted Gould (6efcf99) * Fixing which sources are marked as BUILT 2010-05-20 17:20:56 -0500 Ted Gould (9366eb0) * Bringing along the AssemblyInfo.cs file and fixing its path 2010-05-20 17:10:38 -0500 Ted Gould (a403884) * Okay, now everyone is in the right directory, I think. 2010-05-20 15:36:59 -0500 Ted Gould (a106e8d) * Need to look for things in the source directory too! 2010-05-20 14:46:24 -0500 Ted Gould (8f8efd3) * Fix C includes fro teh VAPI/GIR files 2010-05-20 14:39:17 -0500 Ted Gould (e09b459) * Adding GIR/VAPI support and flattening directories 2010-05-20 14:32:58 -0500 Ted Gould (3c5b3e5) * releasing version 0.2.0~dev-0ubuntu1~ppa2 2010-05-20 14:12:20 -0500 Ted Gould (6a47d48) * * Upstream Merge * Unref the child that was created 2010-05-20 14:11:03 -0500 Ted Gould (80633ae) * Woot, trunked 2010-05-20 14:07:03 -0500 Ted Gould (ea79d7f) * Stopping the leakage of children. 2010-05-20 14:05:41 -0500 Ted Gould (22423f9) * Fixing the ref leakage of a child object. 2010-05-20 17:05:15 +0200 Sebastien Bacher (3096e10) * releasing version 0.0.19-0ubuntu5 (tag: 0.0.19-0ubuntu5) 2010-05-20 08:41:36 -0400 Ken VanDine (1e43a91) * * debian/patches/child-leakage.patch - Fixes a memory leak (LP: #569273) 2010-05-19 14:24:15 -0500 Ted Gould (f777fc6) * releasing version 0.2.0~dev-0ubuntu1~ppa2~childleak1 2010-05-19 14:22:27 -0500 Ted Gould (8620702) * * Upstream Merge * Unref the child that was created 2010-05-19 14:04:33 -0500 Ted Gould (6293246) * releasing version 0.2.0~dev-0ubuntu1~ppa1 2010-05-19 14:02:58 -0500 Ted Gould (0f690c2) * * Upstream Merge * kicking off new branch 2010-05-19 13:55:48 -0500 Ted Gould (d469436) * Dummy commit 2010-05-19 13:23:24 -0500 Ted Gould (8566afc) * Changing it so the object gets unref'd 2010-04-29 12:08:21 -0500 Ted Gould (0b09164) * Ignoring built VAPI file 2010-04-29 12:07:21 -0500 Ted Gould (fae0a61) * Now, build us a VAPI! 2010-04-29 11:58:25 -0500 Ted Gould (f5c58a8) * Fixing the ignore list. 2010-04-29 11:54:42 -0500 Ted Gould (3ef5fec) * Building the GIR file 2010-04-29 11:31:36 -0500 Ted Gould (ba1fd39) * Removing the libappindicator directory to make things simpler 2010-04-29 10:49:09 -0500 Ted Gould (0bd103a) * Add introspection stuff here 2010-04-28 15:11:30 -0500 Ted Gould (27490e3) * Adding the introspection.m4 for our new rules 2010-04-28 15:08:11 -0500 Ted Gould (3dc48c0) * Adding introspection and VAPI checks 2010-04-21 11:01:20 +0200 Sebastien Bacher (86518f0) * releasing version 0.0.19-0ubuntu4 (tag: 0.0.19-0ubuntu4) 2010-04-16 17:24:51 -0500 Ted Gould (04a9942) * Patch for package names 2010-04-16 17:05:38 -0500 Ted Gould (b53899d) * Sync to desktop 2010-04-14 23:20:45 +0200 Sebastien Bacher (4f93e61) * releasing version 0.0.19-0ubuntu3 (tag: 0.0.19-0ubuntu3) 2010-04-14 11:53:50 -0500 Ted Gould (d15e362) * Sync to Ubuntu Desktop 2010-04-14 11:49:47 -0500 Ted Gould (1d8e044) * Merging patch to add assembly information to Mono binding (LP: #547195) 2010-04-14 11:36:02 -0500 Ted Gould (2c90c6c) * Adding assembly info for Mono bindings 2010-04-14 11:07:23 -0500 Cody Russell (6b3689e) * Add AssemblyInfo.cs to the Mono bindings. 2010-04-14 16:34:25 +0200 Sebastien Bacher (73b7491) * releasing version 0.0.19-0ubuntu2 (tag: 0.0.19-0ubuntu2) 2010-04-14 08:43:40 -0500 Ted Gould (d38c39a) * * debian/control: + Set libappindicator0-cil and libappindicator-cil-dev to Arch: all + Make libappindicator0-cil depend on libappindicator0 >= ${source:Version} instead * debian/rules: + Fix ordering of dh_*cli* (LP: #560095) * debian/libappindicator0-cil.install, debian/libappindicator0-cil.installcligac: + Fix CLI policy breakage: - Wrong installation paths for GAC'd CLI libraries - Direct installation of GAC'd libraries 2010-04-14 08:42:57 -0500 Ted Gould (abb09f2) * Sync to desktop 2010-04-13 12:59:51 +0100 Neil Jagdish Patel (7210a54) * Add G_LOG_DOMAIN support to the various targets for better messages 2010-04-01 23:41:58 +0200 Sebastien Bacher (40b74a1) * releasing version 0.0.19-0ubuntu1 (tag: 0.0.19-0ubuntu1) 2010-04-01 15:56:06 -0500 Ted Gould (734b874) * releasing version 0.0.19-0ubuntu1~ppa1 2010-04-01 15:51:47 -0500 Ted Gould (45e7b47) * * New upstream release. * Don't set the fallback timer if we're already in a fallback mode to avoid unfalling back excessively. (LP: #529052) * Fix distcheck of documentation 2010-04-01 15:49:35 -0500 Ted Gould (d005a22) * Import upstream version 0.0.19 2010-04-01 15:49:14 -0500 Ted Gould (70600e1) * Disable merge mode 2010-04-01 15:46:22 -0500 Ted Gould (1fbc5af) * 0.0.19 (tag: 0.0.19) 2010-04-01 15:23:58 -0500 Ted Gould (2ee85c2) * Fixing documentation distcheck 2010-04-01 15:23:36 -0500 Ted Gould (ba28468) * Moving field documentation into a different comment block so that they're private 2010-04-01 14:58:12 -0500 Ted Gould (ff63763) * Making it so the timer doesn't get set if we're already in the fallback case. 2010-04-01 14:57:30 -0500 Ted Gould (bf2c8f1) * Catch up to trunk 2010-04-01 14:56:09 -0500 Ted Gould (5055af8) * Don't store the panel suffix, just add it for the fallback icons. 2010-04-01 13:32:42 -0500 Ted Gould (14aebe4) * Adding in documentation for the private structure. 2010-04-01 13:26:53 -0500 Ted Gould (5aa064c) * Make it so that we don't store the panel-suffix icons but we do use them with the status icon. 2010-04-01 11:26:22 -0500 Ted Gould (d6bb68c) * No timer if we're already in fallback. 2010-03-30 14:23:51 -0500 Ted Gould (4ed0753) * releasing version 0.0.18-0ubuntu2~ppa1 2010-03-30 14:20:21 -0500 Ted Gould (8ca677a) * * Upstream Merge * Setup the icons to use the -panel variants even when falling back to status icons. (LP: #547072) * Change python bindings to use _with_path so that they can set the icon path. (LP: #527061) 2010-03-30 14:19:39 -0500 Ted Gould (2d7ae83) * Updating to Ubuntu Desktop 2010-03-30 14:10:20 -0500 Ted Gould (d3026a2) * Merging fix to make it so that python apps can set an icon path. 2010-03-30 14:09:04 -0500 C10uD (4bbf4c0) * Patch 001 from bug 527061 2010-03-30 10:10:25 +0200 Sebastien Bacher (fd1ec3c) * releasing version 0.0.18-0ubuntu1 (tag: 0.0.18-0ubuntu1) 2010-03-29 22:14:04 -0400 Ken VanDine (64eef1a) * * Upstream Release 0.0.18 * Change when there are updates to Check and Radio buttons via their actions. (LP: #542221) * Fixing icon updating with themes and naming fallbacks with the status icon fallback. (LP: #532858) 2010-03-29 12:41:18 -0500 Ted Gould (9fddbf6) * Tracking the icon name and included the panel suffix for fallback usage. 2010-03-25 19:45:11 +0100 Krzysztof Klimonda (1d03452) * use gchar instead of for the clarity 2010-03-25 19:43:52 +0100 Krzysztof Klimonda (5bf0d10) * Make app_indicator_set_property also set the suffixed icon_name. 2010-03-25 19:23:57 +0100 Krzysztof Klimonda (64c0273) * Make GtkStatusIcon use icons with the panel suffix if available. 2010-03-25 12:14:27 -0500 Ted Gould (dd8d40d) * releasing version 0.0.18-0ubuntu1~ppa1 2010-03-25 11:54:05 -0500 Ted Gould (5483c83) * * Upstream Release 0.0.18 * Change when there are updates to Check and Radio buttons via their actions. (LP: #542221) * Fixing icon updating with themes and naming fallbacks with the status icon fallback. (LP: #532858) 2010-03-25 11:52:35 -0500 Ted Gould (9919c5e) * 0.0.18 (tag: 0.0.18) 2010-03-25 11:52:24 -0500 Ted Gould (b4e1960) * Fixing tests to use GTK for icon theme fixes. 2010-03-25 11:31:06 -0500 Ted Gould (275909f) * Fixing icon changing with fallbacks. 2010-03-25 16:29:28 +0100 Krzysztof Klimonda (26a1f26) * remove g_object_ref_sink call from status_icon_changes 2010-03-23 14:18:14 -0500 Ted Gould (105b2a0) * Update to track toggle changes in actions. 2010-03-22 18:07:32 +0100 Krzysztof Klimonda (85400dc) * Use app_indicator_get_icon/app_indicator_get_attention_icon methods to get the right icon. 2010-03-22 17:53:02 +0100 Krzysztof Klimonda (c80fe4d) * Move g_signal_connect for the theme-changed signal to app_indicator_init () 2010-03-22 17:41:35 +0100 Krzysztof Klimonda (16a9a73) * don't use indicator_image_helper () 2010-03-20 00:55:03 +0100 Krzysztof Klimonda (b531c56) * Fix the missing icon on theme change if old icon has different name 2010-03-19 22:46:41 +0100 Sense Hofstede (c18de95) * Make sure the state of GtkCheckMenuItems and GtkRadioMenuItems gets updated even when they're changed via their actions. 2010-03-18 23:38:10 +0100 Sebastien Bacher (05da30c) * releasing version 0.0.17-0ubuntu1 (tag: 0.0.17-0ubuntu1) 2010-03-18 15:19:33 -0400 Ken VanDine (5581a39) * * Upstream Release 0.0.17 * Support GTK's show menu items property (LP: #528527) * Fix status and category nicks in Python bindings (LP: #539858) * Switch domains to org.kde instead of org.freedesktop as spec was never officially approved by that body. 2010-03-18 13:11:04 -0500 Ted Gould (543f7fc) * releasing version 0.0.17-0ubuntu1~ppa1 2010-03-18 13:08:38 -0500 Ted Gould (d5717ba) * * Upstream Release 0.0.17 * Support GTK's show menu items property (LP: #528527) * Fix status and category nicks in Python bindings (LP: #539858) * Switch domains to org.kde instead of org.freedesktop as spec was never officially approved by that body. 2010-03-18 13:06:15 -0500 Ted Gould (b839c8a) * Sync to Ubuntu Desktop 2010-03-18 12:57:22 -0500 Ted Gould (42de500) * 0.0.17 (tag: 0.0.17) 2010-03-17 10:18:48 -0500 Ted Gould (65febbd) * Fix nicks on Python bindings. 2010-03-16 21:18:53 +0100 Sense Hofstede (414b5f8) * * Make the nicks of the AppIndicatorCategory and AppIndicatorStatus types adhere the specification in the Python bindings as well (Closes: #539858) 2010-03-15 15:40:42 -0500 Ted Gould (9be1c6d) * Changing from freedesktop to kde as the spec was never approved finally by freedesktop. 2010-03-15 18:10:43 +0100 Aurelien Gateau (42fd4ba) * org.freedesktop.StatusNotifier* => org.kde.StatusNotifier* 2010-03-15 16:45:26 +0100 Sebastien Bacher (ddee75a) * releasing version 0.0.16-0ubuntu2 (tag: 0.0.16-0ubuntu2) 2010-03-15 09:37:40 -0500 Ted Gould (c88bf0b) * Make the icons follow the show menu icons property. 2010-03-15 12:55:51 +0100 Jan Arne Petersen (4ade827) * Only show images if "gtk-menu-images" settings or "always-show-image" property is TRUE. 2010-03-11 23:48:08 +0100 Sebastien Bacher (04fecf2) * releasing version 0.0.16-0ubuntu1 (tag: 0.0.16-0ubuntu1) 2010-03-11 16:22:08 -0600 Ted Gould (0be5c8b) * releasing version 0.0.16-0ubuntu1~ppa1 2010-03-11 16:19:37 -0600 Ted Gould (079ae03) * debian/control: Increasing the libindicator-dev dependency to 0.3.5 to match upstream. 2010-03-11 16:18:48 -0600 Ted Gould (837d679) * * Upstream release 0.0.16 * Use libindicator icon loading helper * Workaround for label changes on GtkActions * Testing fix for using xvfb 2010-03-11 16:17:27 -0600 Ted Gould (9504966) * Update to ubuntu-desktop 2010-03-11 16:15:07 -0600 Ted Gould (bf1f152) * 0.0.16 (tag: 0.0.16) 2010-03-11 16:13:48 -0600 Ted Gould (1720ce3) * Adding a two second wait to make seting up Xvfb more reliable. This is similar to xvfb-run. 2010-03-11 15:41:37 -0600 Ted Gould (9f09be2) * Using the new image loader utilities in libindicator 2010-03-11 15:37:53 -0600 Ted Gould (6b6a72d) * Switching to use the update function. 2010-03-11 15:35:20 -0600 Ted Gould (b3f9c44) * Upping libindicator required version to 0.3.5 2010-03-10 22:41:04 -0600 Ted Gould (c9b8c0a) * Removing design team size 2010-03-10 22:40:30 -0600 Ted Gould (e785284) * Also using the helper when changing icons. 2010-03-10 17:14:04 -0600 Ted Gould (249bcd9) * Switching to using the libindicator image helper 2010-03-08 10:44:15 -0600 Ted Gould (a503e71) * Workaround to make action label updates get caught and update the label. 2010-03-08 13:53:17 +0100 Jan Arne Petersen (27a7bb9) * Listen also to label changes on actions related to menu items to workaround a gtk+ bug. 2010-03-04 23:49:51 +0100 Sebastien Bacher (8dcf6e3) * releasing version 0.0.15-0ubuntu1 (tag: 0.0.15-0ubuntu1) 2010-03-04 11:42:42 -0600 Ted Gould (3174368) * releasing version 0.0.15-0ubuntu1~ppa1 2010-03-04 11:40:30 -0600 Ted Gould (03519bd) * * Upstream release 0.0.15 * Icon size fix to 22 px * Status icon correctly removed in fallback * Fixed test suite to run better on slow machines. 2010-03-04 11:38:08 -0600 Ted Gould (fa72360) * 0.0.15 (tag: 0.0.15) 2010-03-02 14:31:37 -0600 Ted Gould (588e856) * Lengthing kill timer to be a little longer for slow systems. 2010-03-02 14:00:16 -0600 Ted Gould (1323afb) * Fixing application icon size. 2010-03-01 21:45:52 -0600 Ted Gould (cda145d) * Switching from hide to visible. 2010-02-28 22:53:49 -0600 Ted Gould (d7ff915) * Merge with Ubuntu Desktop 2010-02-27 22:48:33 +0000 Chris Coulson (70c46ca) * Use gtk_status_icon_set_visible to hide the status icon. GtkStatusIcon is not derived from GtkWidget, so gtk_widget_hide doesn't work 2010-02-26 10:22:43 -0600 Ted Gould (cc62e3c) * Switching from menu size to design team size 2010-02-25 23:06:25 +0100 Sebastien Bacher (55be444) * releasing version 0.0.14-0ubuntu1 (tag: 0.0.14-0ubuntu1) 2010-02-25 17:02:28 -0500 Ken VanDine (089972e) * Upstream release 0.0.14 ∘ Fix mono bindings to include proper metadata (LP: #526620) ∘ Send connection changed signal when the proxy is created and destroyed (LP: #527082) ∘ Hide the fallback status icon before unrefing it. (LP: #526041) ∘ Increase dbus-glib version check to 0.82 ∘ Handle menu layout changes and visibility changes better. ∘ Improve testing stability ∘ Read menu sensitivity on startup. ∘ Handle null strings when evaluating whether we have an attention icon. ∘ Remove dbus objects when we fallback ∘ Disconnect client_menu_changed signal handlers on cleanup. ∘ Handle cases where the menu gets unset on updates. ∘ Fix custom labels on stock items. ∘ Adds support for submenus 2010-02-25 15:22:31 -0600 Ted Gould (23541b9) * releasing version 0.0.14-0ubuntu1~ppa1 2010-02-25 15:18:24 -0600 Ted Gould (579c1e0) * Upstream release 0.0.14 ∘ Fix mono bindings to include proper metadata (LP: #526620) ∘ Send connection changed signal when the proxy is created and destroyed (LP: #527082) ∘ Hide the fallback status icon before unrefing it. (LP: #526041) ∘ Increase dbus-glib version check to 0.82 ∘ Handle menu layout changes and visibility changes better. ∘ Improve testing stability ∘ Read menu sensitivity on startup. ∘ Handle null strings when evaluating whether we have an attention icon. ∘ Remove dbus objects when we fallback ∘ Disconnect client_menu_changed signal handlers on cleanup. ∘ Handle cases where the menu gets unset on updates. ∘ Fix custom labels on stock items. ∘ Adds support for submenus 2010-02-25 15:06:06 -0600 Ted Gould (bc5b940) * 0.0.14 (tag: 0.0.14) 2010-02-25 15:03:58 -0600 Ted Gould (ddbb7c0) * Ignoring everything. 2010-02-25 14:54:26 -0600 Ted Gould (806f651) * Changing the metadata to have the proper signal names in it. 2010-02-25 14:53:27 -0600 Ted Gould (464e29f) * Emitting the connection changed signal when the proxy is created and destroyed. 2010-02-25 14:28:33 -0600 Ted Gould (bb72be9) * Hide the status icon when unref'd 2010-02-25 10:47:38 -0600 Ted Gould (1cfa837) * Hiding the notification icon before unreffing it. 2010-02-25 16:47:37 +0100 Sense Hofstede (e8fe4dd) * * Do send the connection-changed signal, in check_connect() -- when a new connection is established -- watcher_proxy_destroyed() and app_indicator_dispose() (Closes LP: #527082) 2010-02-25 15:23:23 +0100 Sense Hofstede (2aec0b9) * * Correct the Mono bindings metadata to properly bind with the signals (Closes LP: #526620) 2010-02-23 10:59:44 -0600 Ted Gould (9d1ecc8) * Sync to Ubuntu Desktop 2010-02-23 17:52:35 +0100 Sebastien Bacher (b42f475) * releasing version 0.0.13-0ubuntu8 (tag: 0.0.13-0ubuntu8) 2010-02-23 10:30:30 -0600 Ted Gould (1d1afe2) * releasing version 0.0.13-0ubuntu8~ppa1 2010-02-23 10:28:19 -0600 Ted Gould (0d3da8e) * debian/control: Checking for dbus-glib >= 0.82 2010-02-23 10:27:36 -0600 Ted Gould (50aff10) * * Upstream Merge * Checking for dbus-glib version 0.82 2010-02-23 10:26:10 -0600 Ted Gould (1572f64) * Adding a check for dbus-glib version. The patch to unregister requires v. 0.82 2010-02-23 09:52:09 -0600 Ted Gould (8af2c8c) * Updating to ubuntu-desktop revision 2010-02-23 09:49:58 -0600 Ted Gould (cbdd6a7) * releasing version 0.0.13-0ubuntu3~ppa4 2010-02-23 09:47:08 -0600 Ted Gould (1e5be58) * Handling the visibility of menus better 2010-02-23 09:46:26 -0600 Ted Gould (8c0532f) * * Upstream merge * Fixing automatic updating of menus * Handling the visibility of menus better * Improve testing to be more reliable * Handle null string attention icons 2010-02-23 09:43:58 -0600 Ted Gould (2fdd555) * Fixes to get the menus updated and visibility all handled nicely. 2010-02-23 08:34:38 -0600 Ted Gould (100dd09) * Updated patch for the visibility field 2010-02-23 08:33:29 -0600 Jan Arne Petersen (44ff7ab) * Second patch on 524150 2010-02-22 16:49:01 -0600 Ted Gould (4589ee8) * releasing version 0.0.13-0ubuntu3~ppa3~menu3 2010-02-22 16:47:08 -0600 Ted Gould (1b76f58) * * Upstream Merge * Blocking tearoffs 2010-02-22 16:46:37 -0600 Ted Gould (78429e8) * NO TEARY! 2010-02-22 16:01:40 -0600 Ted Gould (bc743fa) * releasing version 0.0.13-0ubuntu3~ppa3~menu2 2010-02-22 15:57:41 -0600 Ted Gould (0940357) * * Upstream Merge * Using foreach instead of forall 2010-02-22 15:57:12 -0600 Ted Gould (1d6eba2) * Looking at children with foreach instead of forall 2010-02-22 15:26:50 -0600 Ted Gould (3676f11) * releasing version 0.0.13-0ubuntu3~ppa3~menu1 2010-02-22 15:25:13 -0600 Ted Gould (dd2a9a5) * * Upstream merge * Menu updates connections 2010-02-22 14:47:03 -0600 Jan Arne Petersen (75ccac5) * Creates and event handler for the add and remove signals to recreate the menu 2010-02-22 12:56:40 -0600 Ted Gould (225f291) * Making the fallback test more robust on slow systems. 2010-02-22 12:56:03 -0600 Ted Gould (bf13c7a) * Fall out of the while, sometime, if we really think it's not recoverable. 2010-02-22 12:54:25 -0600 Ted Gould (a067b5b) * Trying to make the test a little more robust by waiting for the other process to register on the bus, and then waiting. 2010-02-22 17:50:42 +0100 Sebastien Bacher (d0087bc) * releasing version 0.0.13-0ubuntu7 (tag: 0.0.13-0ubuntu7) 2010-02-22 10:25:37 -0600 Ted Gould (e5612de) * Patch to read sensitivity on startup. 2010-02-22 10:15:08 -0600 Ted Gould (7b02e4c) * Fixes bug 522151 2010-02-22 09:55:55 -0600 Jan Arne Petersen (271d86b) * Set the sensitive state when starting out. 2010-02-22 08:59:48 -0600 Ted Gould (0135db5) * Properly look for null strings in the attention icon. 2010-02-19 16:19:14 -0600 Ted Gould (96f2eb9) * Improving the dbus tests so that they have a mock watcher in them. 2010-02-19 16:18:51 -0600 Ted Gould (7e683f7) * Adding a mock server here as well 2010-02-19 16:12:56 -0600 Ted Gould (e035620) * Putting in a mock watcher so we don't fall back. 2010-02-19 18:52:46 +0100 Martin Pitt (05db164) * releasing version 0.0.13-0ubuntu6 (tag: 0.0.13-0ubuntu6) 2010-02-19 12:26:04 -0500 Ken VanDine (5308b54) * set to UNRELEASED 2010-02-19 12:24:17 -0500 Ken VanDine (a889ee7) * * Cherrypick fix to check for a null string as the attention icon * Cherrypick fix to remove the registration of dbus objects (LP: #497870) - lets us drop debian/patches/unregister.patch 2010-02-19 12:22:35 -0500 Ken VanDine (b1e72a5) * Cherry picked fix to check for a null string as the attention icon 2010-02-19 11:02:18 -0600 Ted Gould (780acae) * Checking for a null string as the attention icon. 2010-02-19 17:55:41 +0100 Martin Pitt (494d1b1) * releasing version 0.0.13-0ubuntu5 (tag: 0.0.13-0ubuntu5) 2010-02-19 11:53:37 -0500 Ken VanDine (d90b4c3) * * debian/patches/unregister.patch - Fix to remove the registration of dbus objects (LP: #497870) 2010-02-19 09:22:23 -0600 Ted Gould (435edba) * Fix to remove the registration of dbus objects 2010-02-19 09:22:03 -0600 Ted Gould (b0a873f) * Attaching bug 2010-02-19 09:21:19 -0600 Ted Gould (b79a5bb) * Removing debug output 2010-02-19 09:20:34 -0600 Jan Arne Petersen (9012c49) * Fix to unregister the object 2010-02-17 22:34:25 -0600 Ted Gould (42e1e57) * Disconnect signal handlers when unreffing the menu. 2010-02-17 23:18:23 +0100 Sebastien Bacher (2ac7533) * releasing version 0.0.13-0ubuntu4 (tag: 0.0.13-0ubuntu4) 2010-02-17 16:04:09 -0600 Cody Russell (715d752) * Disconnect 'client_menu_changed' in dispose method. 2010-02-16 10:31:32 -0600 Ted Gould (386128a) * releasing version 0.0.13-0ubuntu3~ppa2 2010-02-16 10:29:27 -0600 Ted Gould (66e7fd1) * * Upstream Merge * Fixing a crash by checking for NULL 2010-02-16 10:18:03 -0600 Cody Russell (de406e5) * Check priv->menu for non-NULL 2010-02-16 09:59:46 -0600 Ted Gould (99f3dd5) * releasing version 0.0.13-0ubuntu3~ppa1 2010-02-16 09:52:33 -0600 Ted Gould (1b3b3fe) * * Upstream Merge * Submenu support * Updating menus 2010-02-16 16:23:53 +0100 Sebastien Bacher (60b206c) * releasing version 0.0.13-0ubuntu3 (tag: 0.0.13-0ubuntu3) 2010-02-12 16:10:26 -0600 Ted Gould (2cc377b) * Fixing visibility changes and when menuitems get added and deleted. 2010-02-12 15:41:48 -0600 Cody Russell (84137b6) * Minor cleanup 2010-02-12 15:38:37 -0600 Cody Russell (e18cf83) * Change the indentation for this case to be the same as the others. 2010-02-12 15:38:02 -0600 Cody Russell (1c7a301) * Just to be safe, let's connect these at the end. 2010-02-12 15:27:40 -0600 Cody Russell (02b6144) * Use dbusmenu_menuitem_property_set_bool(), and also fix some indenting. 2010-02-12 15:23:20 -0600 Ted Gould (350a701) * Fixing labels on stock items. 2010-02-12 15:10:40 -0600 Cody Russell (8b257dc) * Handle menuitem visibility changes, and additions/removals from menus. 2010-02-12 21:59:38 +0100 Sense Hofstede (e192dea) * * When a GtkImageMenuItem has got a stock icon set don't just assume it's also using the stock label, but check first. (Closes: #520048) 2010-02-12 14:49:20 -0600 Ted Gould (5fef5a2) * Updating to Ubuntu Desktop 2010-02-12 17:17:08 +0100 Sebastien Bacher (be1ce77) * releasing version 0.0.13-0ubuntu2 (tag: 0.0.13-0ubuntu2) 2010-02-11 23:12:57 -0600 Ted Gould (a98fd45) * Adding in submenu support. 2010-02-11 19:54:18 -0600 Cody Russell (af5ac81) * Submenus 2010-02-11 14:44:24 -0500 Ken VanDine (4102c4d) * releasing version 0.0.13-0ubuntu1 (tag: 0.0.13-0ubuntu1) 2010-02-11 10:41:56 -0600 Ted Gould (f7b909c) * releasing version 0.0.13-0ubuntu1 2010-02-11 10:36:56 -0600 Ted Gould (bbebb7a) * * Upstream release 0.0.13 * Changing the menu property to be a proper DBus object path * Make object paths unique by including application IDs in them 2010-02-11 10:35:41 -0600 Ted Gould (a94ef5f) * Sync to Ubuntu Desktop 2010-02-11 10:19:50 -0600 Ted Gould (14abe9a) * 0.0.13 (tag: 0.0.13) 2010-02-11 08:41:13 -0600 Ted Gould (0e783eb) * Fix to make the dbus paths unique by using the ID of the application. 2010-02-10 10:53:00 -0600 Ted Gould (ec5e7ea) * Making sure our new tests with gtk_init() in them have an X server to talk to. 2010-02-10 10:51:28 -0600 Ted Gould (6f79c17) * Building a menu so this item will show 2010-02-10 10:38:13 -0600 Ted Gould (cc9f014) * Moving the clean_id code to get set when we set the ID and checking for it when building the menu. 2010-02-10 10:37:53 -0600 Ted Gould (8418f3a) * Changing to ID based naming and setting a menu to get init 2010-02-10 09:15:04 -0600 Ted Gould (aafaa31) * Creating a clean ID that doesn't take any illegal dbus characters and using that in the path. 2010-02-10 08:47:34 -0600 Ted Gould (907253f) * Making the menu path also include the ID 2010-02-10 08:44:09 -0600 Ted Gould (f5b69fe) * Making it so that you can't set an ID twice instead of just issuing a warning. 2010-02-10 08:43:35 -0600 Ted Gould (370c87f) * Moving the registration of the object to when we want to connect everything, and making the path include the item ID to ensure it's unique. 2010-02-10 08:32:29 -0600 Ted Gould (07cba33) * Switching menu property to be an object path. 2010-02-10 08:30:42 -0600 Ted Gould (8be6fe7) * Falling back on string if that's what we get. Makes things compatible. 2010-02-08 19:25:26 -0500 Ken VanDine (c9d339f) * releasing version 0.0.12-0ubuntu1 (tag: 0.0.12-0ubuntu1) 2010-02-08 10:01:46 -0600 Ted Gould (b881da9) * releasing version 0.0.12-0ubuntu1~ppa1 2010-02-08 09:58:52 -0600 Ted Gould (ef5c412) * Merging in ubuntu-desktop 2010-02-08 09:57:20 -0600 Ted Gould (c5ba9dd) * Upstream release 0.0.12 2010-02-08 09:51:25 -0600 Ted Gould (fb4952b) * 0.0.12 (tag: 0.0.12) 2010-02-08 09:35:16 -0600 Ted Gould (c21b71a) * releasing version 0.0.11-0ubuntu1~ppa3 2010-02-08 09:33:13 -0600 Ted Gould (89972d2) * * Upstream Merge * Handling the service restarting better by removing the icons after a small delay to ensure they don't return. * Fixing a crash where a proxy was created while the previous one was being destroyed. 2010-02-08 09:31:33 -0600 Ted Gould (e6056c5) * Handling the service resetting much better. Clearing out the old, but after ensuring they won't come back. 2010-02-08 09:30:27 -0600 Ted Gould (08f04e0) * releasing version 0.0.11-0ubuntu1~ppa2 2010-02-08 09:29:15 -0600 Ted Gould (a11cf7a) * Cause the proxy to get built outside of the other proxy destroy callback. 2010-02-08 09:23:36 -0600 Ted Gould (585f9e3) * * Upstream Merge * Fixing copying of the attention icon * Adding status changing to the example application * Adding a test for status changing getting sent over DBus. 2010-02-08 09:20:42 -0600 Ted Gould (821e845) * Sync to trunk 2010-02-08 09:20:04 -0600 Ted Gould (c273ac9) * Fixing status updates and adding tests to help debug status changing. 2010-02-06 11:58:19 -0800 Ted Gould (28b0ba5) * Ready to recieve the boxed type on the other side. 2010-02-06 11:55:50 -0800 Ted Gould (035f565) * Changing the type of the property and setting it with boxed 2010-02-06 11:47:09 -0800 Ted Gould (b3be172) * Boolean again! 2010-02-06 11:43:18 -0800 Ted Gould (ffbe6e8) * Adding check to look for privates gotten on invalid objects. 2010-02-06 11:27:51 -0800 Ted Gould (aca3270) * Handling if we get duplicate entries added, just recycling. 2010-02-06 11:17:05 -0800 Ted Gould (85b920f) * Now we're actively killing. 2010-02-06 11:07:49 -0800 Ted Gould (2440214) * Setting up the disconnected helpers and structure. 2010-02-06 10:56:44 -0800 Ted Gould (130e93c) * Changing the proxy to only build if we need it, and not destroy itself on killing the process. There's really no reason for that. 2010-02-06 10:52:19 -0800 Ted Gould (87a7acd) * Making room for a disconnected function. 2010-02-06 10:34:23 -0800 Ted Gould (5f4f1eb) * Putting the proxy construction in an idle function. 2010-02-06 10:20:45 -0800 Ted Gould (53bb574) * Reffing the connection so we ensure that we have it even when folks die. 2010-02-06 10:09:40 -0800 Ted Gould (3f35b1d) * releasing version 0.0.11-0ubuntu1~ppa2~aicon1 2010-02-06 10:08:06 -0800 Ted Gould (f6ea519) * * Upstream Merge * Fixing grabbing of attention icon 2010-02-06 10:06:53 -0800 Ted Gould (987c4b5) * Getting the wrong string for the Attention Icon when looking at the properties 2010-02-06 10:01:17 -0800 Ted Gould (c2e186c) * More logging from our app indicator on icon changes 2010-02-06 09:58:46 -0800 Ted Gould (5b94301) * Adding a menu item to toggle the attention state. 2010-02-06 09:44:32 -0800 Ted Gould (982498c) * Making sure the client has time to setup. 2010-02-06 09:41:25 -0800 Ted Gould (b9152c3) * Changing to 100 instead of 1000 2010-02-06 09:40:19 -0800 Ted Gould (74c6657) * Lengthening the time a little bit to make sure we don't miss messages. 2010-02-06 09:27:10 -0800 Ted Gould (d004765) * Now setting status ALOT 2010-02-06 09:22:22 -0800 Ted Gould (39bf2cc) * Loose the timeout 2010-02-06 09:22:00 -0800 Ted Gould (119bd7a) * Adjusting the status test to watch for toggles 2010-02-05 17:30:41 -0800 Ted Gould (d27570e) * Typo 2010-02-05 17:30:10 -0800 Ted Gould (1a8b83c) * Adding a test for changing the status. Just a copy of the standard dbus test. 2010-02-04 17:45:52 -0800 Sebastien Bacher (b8830e1) * releasing version 0.0.11-0ubuntu1 (tag: 0.0.11-0ubuntu1) 2010-02-04 16:47:49 -0800 Ted Gould (5bd2875) * releasing version 0.0.11-0ubuntu1~ppa1 2010-02-04 16:46:05 -0800 Ted Gould (1e12054) * debian/control: Increasing dbusmenu* deps to 0.2.2 2010-02-04 16:45:32 -0800 Ted Gould (33edaca) * * Upstream release 0.0.11 * Interoperability Fixes * Adding in XVFB support for tests * Adding support for icons with the '-panel' suffix 2010-02-04 16:27:28 -0800 Ted Gould (f8ab455) * 0.0.11 (tag: 0.0.11) 2010-02-04 16:24:28 -0800 Ted Gould (8808bcb) * Interop fixes. 2010-02-04 14:15:15 -0800 Ted Gould (4f81ab9) * Migrating to the new dbusmenu 2010-02-04 14:14:04 -0800 Ted Gould (b6cda58) * Merging in signal change. 2010-02-04 14:13:47 -0800 Ted Gould (b3f174d) * Changing the #defines 2010-02-04 14:09:39 -0800 Ted Gould (5f2baa8) * Upping Dbusmenu required version 2010-02-04 11:58:15 -0800 Ted Gould (901d87f) * Wrong srcdir 2010-02-04 11:53:53 -0800 Ted Gould (a313884) * Wrong filename 2010-02-04 11:47:28 -0800 Ted Gould (a8b197a) * Adding in XVFB support 2010-02-04 11:43:46 -0800 Ted Gould (8398c58) * Getting run-xvfb on the tests 2010-02-03 17:25:09 -0800 Aurelien Gateau (4fc1824) * Merged timestamp fix 2010-02-02 16:59:18 -0800 Aurelien Gateau (770470f) * icon -> icon-name sensitive -> enabled toggle-checked -> toggle-state toggle-state type is now an int 2010-02-02 16:09:52 -0800 Ted Gould (4b0a319) * Changing the prototype of the activate signal 2010-02-01 16:34:35 -0800 Conor Curran (3a8354f) * Checking for the nunit dependency with a specific version. 2010-02-01 16:14:14 -0800 Conor Curran (aa89c97) * changed dependency nunit2.4 to nunit since this is the name of the package 2010-02-01 11:41:53 -0800 Ted Gould (d6090e4) * Fixing the name of the enum strings to match the StatusNotifier spec. 2010-02-01 10:45:29 -0800 Ted Gould (ae7bfd4) * Adding code to look for special panel versions of the icon with a '-panel' with the AppIndicators. 2010-02-01 10:21:58 -0800 Ted Gould (8a8c965) * Changing the suffix to 'panel' 2010-01-27 10:37:51 -0600 Ted Gould (c73f5af) * Changing the category in the fallback test as well. 2010-01-27 10:32:53 -0600 Ted Gould (d415cb6) * Changing strings in the test suite as well. 2010-01-27 10:27:55 -0600 Ted Gould (53821e9) * Changing the strings in the #defines here, but really we should be using the enum. 2010-01-27 10:25:49 -0600 Ted Gould (1b40a68) * Making it so there is another level of translation so that we can use different strings in the enum. 2010-01-24 22:03:21 -0600 Ted Gould (e68b4e3) * Truth. Bad, Bad, truth. 2010-01-24 21:56:07 -0600 Ted Gould (79cd82f) * When setting or changing an icon first check to see if there is a panel specific icon that we should be using. 2010-01-21 16:38:43 -0500 Ken VanDine (10c9c76) * releasing version 0.0.10-0ubuntu2 (tag: 0.0.10-0ubuntu2) 2010-01-21 16:07:55 -0500 Ken VanDine (6ac376a) * releasing version 0.0.10-0ubuntu1 (tag: 0.0.10-0ubuntu1) 2010-01-21 14:21:04 -0600 Ted Gould (f25e2f0) * releasing version 0.0.10-0ubuntu1~ppa1 2010-01-21 14:19:21 -0600 Ted Gould (f5582e9) * debian/control: Adjusted back changes in 0.0.9-0ubuntu3 as this branch is still on Karmic. Changes are in Lucid. 2010-01-21 14:16:37 -0600 Ted Gould (e38c251) * * Upstream release 0.0.10 * debian/control: Adding dependency for json-glib to build. 2010-01-21 14:14:58 -0600 Ted Gould (9c8e204) * Updating to ubuntu-desktop branch 2010-01-21 14:12:39 -0600 Ted Gould (8140c6f) * releasing version 0.0.9-0ubuntu1~ppa4 2010-01-21 14:10:45 -0600 Ted Gould (1650aa3) * * Upstream merge * Adding in a file to position the indicators * debian/control: Adding dependency for json-glib to build. 2010-01-21 14:09:53 -0600 Ted Gould (1f9ee73) * Sync to trunk 2010-01-21 14:08:59 -0600 Ted Gould (bb106d1) * 0.0.10 (tag: 0.0.10) 2010-01-21 14:01:10 -0600 Ted Gould (2377df3) * Require libindicator 0.3.1 2010-01-21 13:59:25 -0600 Ted Gould (f2b8365) * Adding support for a file tracking add and touch times for applications for ordering them. 2010-01-21 08:57:59 -0600 Ted Gould (678e097) * releasing version 0.0.9-0ubuntu1~ppa4~order2 2010-01-21 08:55:32 -0600 Ted Gould (770afff) * debian/control: Adding dependency for json-glib to build. 2010-01-21 08:53:36 -0600 Ted Gould (d4f211a) * releasing version 0.0.9-0ubuntu1~ppa4~order1 2010-01-21 08:51:36 -0600 Ted Gould (2c3e17d) * * Upstream merge * Adding in a file to position the indicators 2010-01-20 16:52:01 -0600 Ted Gould (a9bf196) * Implements the get_location function to place the entires. 2010-01-20 16:41:38 -0600 Ted Gould (da6242b) * Looking at the last touch date of entries as we're loading the file and removing ones that are very old. 2010-01-20 16:28:13 -0600 Ted Gould (0ccf950) * License headers. 2010-01-20 16:16:43 -0600 Ted Gould (26a0d6f) * Moving directory and filename into defines 2010-01-20 16:12:11 -0600 Ted Gould (33644ed) * Moving the JSON file values into #defines 2010-01-20 15:53:17 -0600 Ted Gould (5317706) * Fleshing out loading of the LRU file and realizing we need a json-glib dep and the 'category' field in the output. 2010-01-20 15:01:00 -0600 Ted Gould (de65968) * Updating to trunk (surprisingly without conflict) 2010-01-20 14:59:53 -0600 Ted Gould (2062afe) * releasing version 0.0.9-0ubuntu1~ppa3 2010-01-20 14:57:20 -0600 Ted Gould (78417dc) * * Upstream update * Ref counting theme directories as they get added and removed * Use the right callback function for fallback (LP: #507975) 2010-01-20 14:51:35 -0600 Ted Gould (38e8ceb) * Add tracking and refcounting of theme directories. Unregister them when we're done. 2010-01-20 14:49:05 -0600 Ted Gould (93d5972) * Use the right function in the fallback. 2010-01-20 14:47:49 -0600 Ted Gould (0ba7549) * releasing version 0.0.9-0ubuntu1~ppa2 2010-01-20 14:45:24 -0600 Ted Gould (f279a2d) * * Upstream update * Support getting the app list from a running service. 2010-01-20 14:44:30 -0600 Ted Gould (3d7c9e2) * Sync to trunk 2010-01-20 14:42:59 -0600 Ted Gould (b22c464) * Merge to get the current list of applications on startup. 2010-01-20 14:40:14 -0600 Ted Gould (7243272) * Switch to building a string and writing it out instead of async writes as the order doesn't seem to be predictable. 2010-01-20 14:28:09 -0600 Ted Gould (39c33f7) * Build the directory and some debugging info 2010-01-20 13:36:38 -0600 Ted Gould (de476ff) * Fleshing out the cleaning and dirtying functions. Now we should write out a file. 2010-01-20 11:59:33 -0600 Ted Gould (77f24c0) * Making a sort function that looks at two Apps and determines their ordering. 2010-01-20 11:45:13 -0600 Ted Gould (064fd75) * Fleshing out touching. 2010-01-20 11:14:21 -0600 Ted Gould (c663b23) * Allocating memory and objects in the lur world 2010-01-20 09:47:02 -0600 Ted Gould (ba6eadc) * Ref'ing the image and menu so that when we remove them we don't get warnings. 2010-01-19 20:57:26 -0600 Ted Gould (a634890) * Switching to inserting in the application array using a sort function. Looking that up in the LRU file DB. 2010-01-19 20:44:23 -0600 Ted Gould (570fc94) * Adding in the 'id' and 'category' fields to the application structure. 2010-01-19 17:21:22 -0600 Ted Gould (e8d4604) * Protecting our _new a little bit. 2010-01-19 17:20:21 -0600 Ted Gould (08fef8d) * Adding a _new function for the appstore and using it. It now takes the lru file. 2010-01-19 17:04:20 -0600 Ted Gould (85394de) * Building the LRU file. 2010-01-19 17:01:57 -0600 Ted Gould (2f82ed5) * Adding some API to our LRU file 2010-01-19 16:26:47 -0600 Ted Gould (8b32f5e) * Sync to trunk 2010-01-19 22:57:32 +0100 Sebastien Bacher (6b648fd) * releasing version 0.0.9-0ubuntu3 (tag: 0.0.9-0ubuntu3) 2010-01-19 20:53:16 +0100 Sebastien Bacher (92c127a) * releasing version 0.0.9-0ubuntu2 (tag: 0.0.9-0ubuntu2) 2010-01-19 13:38:27 -0600 Ted Gould (f8da1e7) * Attaching bug 2010-01-19 13:38:00 -0600 Ted Gould (3344b7d) * Changing to use the status wrapper for handling the status signal's different prototype. 2010-01-19 11:45:39 -0600 Cody Russell (0b8b85b) * Handling duplication applications getting added. 2010-01-19 11:28:33 -0600 Cody Russell (e9fafdf) * Move the check for duplicates. 2010-01-19 10:42:11 -0600 Ted Gould (f8d65da) * Adding an object to start tracking the lru of the app indicators 2010-01-15 10:14:31 -0600 Ted Gould (9c545b7) * Cleaning out dead code and turning a printout into an assert. 2010-01-15 10:09:00 -0600 Ted Gould (fd7d6e6) * releasing version 0.0.9-0ubuntu1~ppa2~applist2 2010-01-15 10:07:09 -0600 Ted Gould (e709d9b) * * Upstream update * Simplify and correct the structure handling. * Pass the correct object path over the bus. We want the menu. 2010-01-15 10:05:21 -0600 Ted Gould (93f32fd) * Using the menu path instead of the item path. 2010-01-15 10:04:24 -0600 Ted Gould (2579e9f) * Using a straight value array and making sure to pass the application 2010-01-15 08:56:49 -0600 Ted Gould (36e7fd1) * releasing version 0.0.9-0ubuntu1~ppa2~applist1 2010-01-15 08:54:25 -0600 Ted Gould (a75c3de) * * Upstream update * Support getting the app list from a running service. 2010-01-15 08:51:02 -0600 Ted Gould (b447c26) * Fleshing out the get_applications function so that we do something with the list we now get. 2010-01-15 01:01:11 -0600 Ted Gould (8045abd) * Setting the proper type for the GValue of an 'o' 2010-01-15 00:48:09 -0600 Ted Gould (00cad2e) * Better init value and adding error to prototype. 2010-01-14 23:30:11 -0600 Ted Gould (eddc0d0) * Returning truth. 2010-01-14 23:25:34 -0600 Ted Gould (321ae86) * Need icon path in the list as well. 2010-01-14 23:22:46 -0600 Ted Gould (7a001c7) * Fleshing out returning the list of apps already there. 2010-01-14 20:27:28 -0600 Cody Russell (abd499a) * Only add the Application if it doesn't already exist in the appstore. 2010-01-14 15:41:16 -0600 Ted Gould (831a83c) * Removing shutdown printf 2010-01-14 15:40:49 -0600 Ted Gould (76ef80d) * Actually unref'ing the dir and fixing the truth there. 2010-01-14 15:16:50 -0600 Ted Gould (c302241) * Merging in the warnings branch. 2010-01-14 15:16:37 -0600 Ted Gould (5a93b5e) * Debug message for directories. 2010-01-14 15:14:12 -0600 Ted Gould (fe7f3dc) * We should have kept ref's to these. 2010-01-14 14:25:22 -0600 Ted Gould (3712733) * Fleshing out the ref and the unref functions for the theme directories. 2010-01-14 13:58:15 -0600 Ted Gould (9393ffc) * Adding in our hash table of refs. 2010-01-14 14:30:48 -0500 Ken VanDine (8cc2e35) * * Upstream Release 0.0.9 * Add fallback support for situations where the NotificationWatcher isn't available. 2010-01-14 10:46:10 -0600 Ted Gould (bd7118f) * Forgot to merge in the 'fallback' packing branch. All in sync now. 2010-01-14 10:45:38 -0600 Ted Gould (4d4273f) * Sync to trunk 2010-01-14 10:39:46 -0600 Ted Gould (8240163) * releasing version 0.0.9-0ubuntu1~ppa1 2010-01-14 10:37:42 -0600 Ted Gould (6e43740) * * Upstream Release 0.0.9 * Add fallback support for situations where the NotificationWatcher isn't available. 2010-01-14 10:36:02 -0600 Ted Gould (f0104e1) * 0.0.9 (tag: 0.0.9) 2010-01-14 10:31:26 -0600 Ted Gould (e43ee66) * Update to desktop. 2010-01-14 10:28:27 -0600 Ted Gould (39b0dc9) * Fallback support to XEmbed based notify item. 2010-01-14 09:55:42 -0600 Ted Gould (09442ab) * Returning the icon we've created. 2010-01-14 09:54:59 -0600 Ted Gould (2bfabeb) * Making a more descriptive error on 'unfallback' not existing. 2010-01-14 09:52:51 -0600 Ted Gould (544ac3a) * Using better naming for 'do_it_now' parameter. 2010-01-14 10:11:18 -0500 Ken VanDine (1a2eabc) * [merge] Upstream release 0.0.8 2010-01-13 20:25:33 -0600 Ted Gould (c303c0c) * Realized that we didn't really use the 'notify' signal... now using the better ones anyway. 2010-01-13 19:52:02 -0600 Ted Gould (c26cab9) * Making it so that the icon will update in the fallback case with changes to the properties of the AppIndicator. 2010-01-13 18:53:19 -0600 Ted Gould (67493d4) * Showing the toggle_item as well as the others. 2010-01-13 16:28:53 -0600 Ted Gould (6068e6c) * Popping up menu on activate. 2010-01-13 16:28:34 -0600 Ted Gould (10521bb) * Showing items in sample 2010-01-13 16:23:08 -0600 Ted Gould (9489aa2) * Adding in a get_menu function. 2010-01-13 16:16:11 -0600 Ted Gould (b83df5e) * releasing version 0.0.8-0ubuntu1~ppa2~fallback5 2010-01-13 16:11:02 -0600 Ted Gould (15176e3) * * Upstream update * Looking at StatusIcon fallback 2010-01-13 16:10:25 -0600 Ted Gould (bf390ec) * Connecting to the activate signal 2010-01-13 14:56:03 -0600 Ted Gould (556b0bc) * releasing version 0.0.8-0ubuntu1~ppa2~fallback4 2010-01-13 14:54:18 -0600 Ted Gould (1583b1b) * * Upstream update * Removing the 'destroy' signal handler 2010-01-13 14:53:18 -0600 Ted Gould (ef95891) * Remove the 'destroy' signal handler before destroying the watcher proxy. 2010-01-13 14:08:18 -0600 Ted Gould (8baa1ed) * releasing version 0.0.8-0ubuntu1~ppa2~fallback3 2010-01-13 14:06:20 -0600 Ted Gould (c1d9e7d) * * Upstream update * More checking. 2010-01-13 14:05:33 -0600 Ted Gould (e67b856) * Checking more for whether we have an APP_INDICATOR object 2010-01-13 14:02:23 -0600 Ted Gould (303db3c) * Explicitly checking for the APP_INDICATOR. Confused. 2010-01-13 13:34:31 -0600 Ted Gould (df2c07b) * releasing version 0.0.8-0ubuntu1~ppa2~fallback2 2010-01-13 13:31:41 -0600 Ted Gould (b7f9aaf) * * Upstream update * Checking fallback function params 2010-01-13 13:31:10 -0600 Ted Gould (519e03c) * releasing version 0.0.8-0ubuntu1~ppa2~fallback1 2010-01-13 13:30:32 -0600 Ted Gould (6023693) * Checking for the status of the variable getting passed in. 2010-01-13 12:30:30 -0600 Ted Gould (21c5cc4) * * Upstream update * Fallback support 2010-01-13 12:25:49 -0600 Ted Gould (b1b9134) * Fleshing out the fallback function, so it should create an icon. 2010-01-13 11:35:42 -0600 Ted Gould (5d07598) * Really we should have gotten the final cleanup unfallback, which we weren't testing for either. 2010-01-13 11:21:31 -0600 Ted Gould (88c99ac) * Getting the class the proper way 2010-01-13 10:03:06 -0600 Ted Gould (89aa4a7) * Clear the fallback timer pointer after using it. 2010-01-13 09:29:55 -0600 Ted Gould (c959db1) * Adding a function to watch if the watcher proxy gets destroyed. 2010-01-13 08:38:14 -0600 Ted Gould (06a6bb7) * Removing a warning. 2010-01-13 08:33:21 -0600 Ted Gould (5898ca0) * Making sure to return a value so that unfallback gets called. 2010-01-13 08:33:04 -0600 Ted Gould (5739297) * Calling the unfallback function if we're doing this for the second time. 2010-01-13 08:24:19 -0600 Ted Gould (3ac18fb) * Ignoring the generated fallback test itself 2010-01-12 21:12:46 -0600 Ted Gould (7e0feb2) * Setting up a dbus proxy and starting to look at owner change events on it when we don't have a NotificationWatcher to look at. 2010-01-12 17:00:56 -0600 Ted Gould (f55bf25) * Adding a menu so that the app indicator will init 2010-01-12 16:55:39 -0600 Ted Gould (bded6da) * Wrong class function 2010-01-12 16:45:09 -0600 Ted Gould (7783a49) * Adding the fallback test to the suite 2010-01-12 16:44:13 -0600 Ted Gould (9a21024) * Adding state transitions that'll get us to a passed state. 2010-01-12 16:39:27 -0600 Ted Gould (a216db2) * Adding a kill function and letting the test fail over it. 2010-01-12 16:36:26 -0600 Ted Gould (d0abe1e) * Printing status in watcher 2010-01-12 16:31:59 -0600 Ted Gould (cc31c23) * Adding in the item side of things. 2010-01-12 16:04:58 -0600 Ted Gould (348bcfb) * Woah, this is pretty sweet. I hope it works. 2010-01-12 15:41:16 -0600 Ted Gould (4a1b722) * Getting the start of the fallback tests in place. 2010-01-12 14:05:33 -0600 Ted Gould (36d47b5) * Setup the fallback timer and flesh out it's actions. 2010-01-12 13:37:40 -0600 Ted Gould (9518459) * Fallback timer pointer lifecycle. 2010-01-12 11:55:35 -0600 Ted Gould (7e5e095) * Some comments 2010-01-12 11:40:50 -0600 Ted Gould (40d3056) * Start timer fallback 2010-01-12 10:03:03 -0600 Ted Gould (b2198be) * Updating to trunk 2010-01-12 10:59:43 -0500 Ken VanDine (2ceb846) * merged 0.0.8 2010-01-12 10:59:14 -0500 Ken VanDine (0eea33a) * Upstream Release 0.0.8 2010-01-12 09:10:25 -0600 Ted Gould (5ca2ed3) * releasing version 0.0.8-0ubuntu1~ppa1 2010-01-12 09:08:28 -0600 Ted Gould (44efa30) * * Upstream release 0.0.8 * Mirror icon changes over dbus 2010-01-12 09:00:07 -0600 Ted Gould (abd41dd) * 0.0.8 (tag: 0.0.8) 2010-01-12 08:56:42 -0600 Cody Russell (6fe9571) * Mirror the icon changes over dbus 2010-01-12 01:55:35 -0500 Ken VanDine (7e77e90) * autoreconf 2010-01-12 01:38:55 -0500 Ken VanDine (6d6c8e4) * * debian/patches/mono_bindings_fix.patch - Mono bindings fixes (LP: #505923) 2010-01-12 00:28:12 -0600 Cody Russell (6ae0ede) * Remove debugging code 2010-01-12 00:11:04 -0600 Ted Gould (06145a0) * releasing version 0.0.7-0ubuntu1~ppa5 2010-01-12 00:09:13 -0600 Ted Gould (c20fb45) * * Upstream update * Distcheck fixes to tests and cleanfiles 2010-01-12 00:08:34 -0600 Ted Gould (0fda6a0) * Adding the middle API file to the cleanfiles for distcheck 2010-01-12 00:06:47 -0600 Ted Gould (bd7a48f) * Fixing the path for the tests. 2010-01-11 23:50:10 -0600 Ted Gould (f905b80) * releasing version 0.0.7-0ubuntu1~ppa4 2010-01-11 23:48:20 -0600 Ted Gould (356a1ce) * * Upstream update * Better default object names. 2010-01-11 23:47:03 -0600 Ted Gould (d104014) * Updating path names to have more reasonable defaults. 2010-01-11 23:46:39 -0600 Ted Gould (807982e) * releasing version 0.0.7-0ubuntu1~ppa3 2010-01-11 23:44:51 -0600 Ted Gould (481ad31) * * Upstream update * Fixes for the mono binding properties 2010-01-11 23:43:54 -0600 Ted Gould (983ceaf) * releasing version 0.0.7-0ubuntu1~ppa2 2010-01-11 23:41:33 -0600 Ted Gould (ed18ce8) * * Upstream Merge * Sensitivity to label changes 2010-01-11 23:39:41 -0600 Ted Gould (2e6c62f) * Sync to trunk 2010-01-11 23:39:11 -0600 Ted Gould (e04e32f) * Fixes for the mono bindings to make the properties work with enums and the #define'd string names. 2010-01-11 23:33:17 -0600 Ted Gould (4d42c62) * releasing version 0.0.7-0ubuntu1~ppa2~mono1 2010-01-11 23:30:46 -0600 Ted Gould (8bb5b38) * Fixing makefiles 2010-01-11 23:30:27 -0600 Ted Gould (d6ae58e) * Adding back in the MIDDLE_API and sed magic 2010-01-11 23:15:01 -0600 Ted Gould (1e13ebd) * * Upstream update * Fixes for the mono binding properties 2010-01-11 23:13:00 -0600 Ted Gould (f466763) * Removing the middle API stuff and cleaning up Makefile 2010-01-11 23:09:15 -0600 Ted Gould (d09369b) * Cody's customs 2010-01-11 22:59:17 -0600 Cody Russell (af45b19) * Mono binding fixes. 2010-01-11 18:05:57 -0600 Ted Gould (9c04a32) * Adding in customs support 2010-01-11 17:09:25 -0600 Ted Gould (bebf565) * Use sed to get rid of the #defines 2010-01-11 16:48:47 -0600 Ted Gould (9035e52) * Switching the metadata to not use #defines 2010-01-11 16:27:19 -0600 Ted Gould (f8d6a7d) * Initing and destroying the status_icon variable 2010-01-11 16:05:31 -0600 Ted Gould (73afc35) * Having better default paths that look a little more professional. 2010-01-11 14:05:24 -0600 Ted Gould (d8c7246) * Setting the fallback functions so that we can go round trip on setting up this API. 2010-01-11 13:42:54 -0600 Cody Russell (b7ec550) * trunk merge 2010-01-11 13:40:03 -0600 Cody Russell (724261a) * Label fu 2010-01-11 13:21:50 -0600 Ted Gould (2a91387) * Adding in the class functions for handling the fallback. 2010-01-11 11:07:18 -0600 Cody Russell (e979943) * Watching several properties and updating them as they change. 2010-01-08 22:32:58 -0500 Ken VanDine (820eb75) * * debian/control - bump build depends version of libdbusmenu to 0.2.0 2010-01-08 22:17:33 -0500 Ken VanDine (64df46b) * * Upstream Release 0.0.7 * Making the Notification Watcher register for it's own DBus name to keep the service one unique. * Adding support for icons changing through the service and in the indicator. * Fixing the generated headers for DBus Properties calls * Fixing libappindicator set_icon to set the right icon. * Adding in icon path support. * Switching DBus interface to org.freedesktop * Adding check/radio support to menu parsing * Adding ChangeLog to dist * Adding check item support to menu parsing 2010-01-08 16:29:25 -0600 Cody Russell (b56f250) * Remove debugging code. 2010-01-08 16:25:03 -0600 Cody Russell (ecb11f0) * Watch for changes to label and sensitivity. 2010-01-08 16:05:45 -0600 Ted Gould (c1010b6) * releasing version 0.0.7-0ubuntu1~ppa1 2010-01-08 16:03:47 -0600 Ted Gould (54708c2) * Upstream Release 0.0.7 2010-01-08 15:57:53 -0600 Ted Gould (5787ec0) * 0.0.7 (tag: 0.0.7) 2010-01-08 15:54:43 -0600 Ted Gould (a7e0e79) * Merging with the desktop branch 2010-01-08 15:44:49 -0600 Ted Gould (21f677f) * releasing version 0.0.6-0ubuntu1~ppa6 2010-01-08 15:42:52 -0600 Ted Gould (a3bf98e) * * Upstream merge: * Making the Notification Watcher register for it's own DBus name to keep the service one unique. 2010-01-08 15:40:50 -0600 Ted Gould (e5fbe72) * Making the Notification Watcher get it's own interface name. 2010-01-08 15:39:52 -0600 Ted Gould (7f93d0d) * releasing version 0.0.6-0ubuntu1~ppa5 2010-01-08 15:37:45 -0600 Ted Gould (7a78594) * * Upstream merge: * Adding support for icons changing through the service and in the indicator. * Fixing the generated headers for DBus Properties calls * Fixing libappindicator set_icon to set the right icon. 2010-01-08 15:36:17 -0600 Ted Gould (c4b431a) * Sync to trunk 2010-01-08 15:35:23 -0600 Ted Gould (98237f0) * Supporting icons changing and status changing. 2010-01-08 15:02:29 -0600 Ted Gould (bb71fc2) * Reactivate kill switch 2010-01-08 14:59:13 -0600 Ted Gould (8d0d0e4) * Making applications register to the watcher address so they work on KDE 2010-01-08 14:57:22 -0600 Ted Gould (34bb6cb) * Make the watcher register it's own name 2010-01-08 14:41:31 -0600 Ted Gould (087c7f0) * Making the service have a name different than the watcher interface. 2010-01-08 14:37:48 -0600 Ted Gould (d8cb0ba) * Icons branch 2010-01-08 14:13:53 -0600 Ted Gould (8e8fc16) * releasing version 0.0.6-0ubuntu1~ppa4~icon2 2010-01-08 14:11:55 -0600 Ted Gould (6c2b2fd) * Fixing everything by putting the slots on correctly. 2010-01-08 14:10:45 -0600 Ted Gould (5f797d7) * Putting the signal on the Class instead of the Instance. 2010-01-08 13:20:06 -0600 Ted Gould (f8e9a51) * Debug message cleanup. 2010-01-08 13:19:52 -0600 Ted Gould (7970210) * Fixing shutdown signal, but disabling for now 2010-01-08 12:34:43 -0600 Ted Gould (12aab96) * When destroying the application free all the proxies. 2010-01-08 11:53:21 -0600 Ted Gould (ad42e10) * Fleshing out some of the remove function. For some reason the appstore is getting disposed, but that's the next thing to look at. 2010-01-08 11:27:35 -0600 Ted Gould (ae5ff4b) * releasing version 0.0.6-0ubuntu1~ppa4~icon1 2010-01-08 11:24:55 -0600 Ted Gould (4e91ad3) * * Syncing with all the other branches. * Upstream update * Adding in icon path support. * Upstream update * Switching DBus interface to org.freedesktop * Adding check/radio support to menu parsing * Upstream update * Adding ChangeLog to dist * Adding check item support to menu parsing 2010-01-08 11:20:32 -0600 Ted Gould (96e4332) * Updating to trunk 2010-01-08 11:20:19 -0600 Ted Gould (5d97173) * Syncing to final icon-path changes 2010-01-08 11:08:46 -0600 Ted Gould (aaa7438) * releasing version 0.0.6-0ubuntu1~ppa4 2010-01-08 11:05:33 -0600 Ted Gould (e824c0b) * * Upstream update * Adding in icon path support. 2010-01-08 11:04:23 -0600 Ted Gould (a12df72) * Sync to trunk 2010-01-08 11:04:12 -0600 Ted Gould (2b000f7) * Final icon-path merge. 2010-01-08 11:03:33 -0600 Ted Gould (458b67c) * Sync to karmic packaging branch 2010-01-08 11:02:12 -0600 Ted Gould (ab7949f) * releasing version 0.0.6-0ubuntu1~ppa3 2010-01-08 11:00:08 -0600 Ted Gould (d5b5933) * * Upstream update * Switching DBus interface to org.freedesktop * Adding check/radio support to menu parsing 2010-01-08 10:18:57 -0600 Ted Gould (a575382) * Adding in the ability for applications to specify a directory path to get added to the icon theme search path. 2010-01-08 09:56:56 -0600 Aurélien Gâteau (1c834b9) * Changing to freedesktop.org namespace and fixing some of the function names and interfaces that weren't matching the FD.o spec. 2010-01-08 16:34:59 +0100 Aurelien Gateau (5f86c72) * Merged lp:~ted/indicator-application/fdo 2010-01-08 09:25:17 -0600 Ted Gould (0c8cf85) * Adjusting so that we use the parameter if it's not an object but a path. 2010-01-08 08:07:24 -0600 Ted Gould (8226d6c) * Using the #defines for the property names instead of strings. Define them once. 2010-01-08 08:04:07 -0600 Ted Gould (83b4f68) * Changing the property to 'IconThemePath' to make it more clear about what it adjusts. 2010-01-08 07:54:09 -0600 Sebastien Bacher (d7719b9) * Typo in documentation using wrong values for the enum. 2010-01-08 12:08:51 +0100 Sebastien Bacher (69f4b95) * Use correct status syntax in the api description (lp: #504700) 2010-01-07 21:04:27 -0600 Ted Gould (8fdbf38) * releasing version 0.0.6-0ubuntu1~ppa2~icon4 2010-01-07 21:01:58 -0600 Ted Gould (a375e41) * * Upstream merge: * Fixing the generated headers for DBus Properties calls * Fixing libappindicator set_icon to set the right icon. 2010-01-07 21:00:10 -0600 Ted Gould (cb14ba3) * Pretty major cut and paste error. Wrong icon. 2010-01-07 20:53:46 -0600 Ted Gould (d1fbe4a) * Changing dbus-properties header to be static and not built from the XML as it needs a fix. 2010-01-07 17:10:31 -0600 Ted Gould (8ddab95) * releasing version 0.0.6-0ubuntu1~ppa2~icon3 2010-01-07 17:08:43 -0600 Ted Gould (2fef3d4) * * Upstream merge: * Adding support for icons changing through the service and in the indicator. 2010-01-07 17:06:38 -0600 Ted Gould (b1ffef3) * Merging in the icon_path branch to start to handle conflicts from there. 2010-01-07 16:55:31 -0600 Ted Gould (2cc15ba) * A small refactoring of the code to get the position of an application. 2010-01-07 16:48:12 -0600 Ted Gould (4abe47b) * Fleshing out the signal functions for updates. Some do more callbacks. 2010-01-07 16:27:18 -0600 Ted Gould (45e742e) * Moving the list of applications management into the state change function. This makes it so that we can handle it appearing and disappearing all in one special place. 2010-01-07 14:18:31 -0600 Ted Gould (16fb78b) * Adding in a status variable 2010-01-07 14:07:16 -0600 Ted Gould (655f6d1) * Responding to the icon changed signal in the indicator. 2010-01-07 13:58:35 -0600 Ted Gould (7f27006) * releasing version 0.0.6-0ubuntu1~ppa2 2010-01-07 13:53:42 -0600 Ted Gould (2c767da) * Adding an icon_changed signal to the application store 2010-01-07 13:37:56 -0600 Ted Gould (f7e660f) * Cleaning up signal handlers. 2010-01-07 13:35:48 -0600 Ted Gould (99b4888) * * Upstream update * Adding ChangeLog to dist * Adding check item support to menu parsing 2010-01-07 13:34:11 -0600 Cody Russell (e76d63c) * Support for check items in the libappindicator menu parser. 2010-01-07 13:08:40 -0600 Ted Gould (6d922ea) * Setting up and connecting to the item signals 2010-01-07 13:01:01 -0600 Cody Russell (a60f25e) * Toggle events 2010-01-07 12:29:33 -0600 Ted Gould (199f3d2) * Allowing for the default path if one is not given. 2010-01-07 18:10:44 +0100 Aurelien Gateau (17476bd) * Revert part of previous revision: pass the path, not the service name to register_status_item 2010-01-07 10:26:42 -0600 Cody Russell (6bde6a4) * More checkbox related updates. 2010-01-07 09:27:01 -0600 Cody Russell (bf0be37) * Checkmark support 2010-01-07 13:29:50 +0100 Aurelien Gateau (0aaa6a2) * Use org.freedesktop namespace 2010-01-07 01:10:20 -0600 Ted Gould (13de14e) * releasing version 0.0.6-0ubuntu1~ppa2~icon2ubuntu1 2010-01-07 01:07:18 -0600 Ted Gould (6575026) * Debug message 2010-01-07 01:06:45 -0600 Ted Gould (ad8ca0d) * Adding a path based debug message 2010-01-07 00:59:14 -0600 Ted Gould (6223c53) * releasing version 0.0.6-0ubuntu1~ppa2~icon2 2010-01-07 00:56:18 -0600 Ted Gould (11984c8) * Fixing the signals. 2010-01-07 00:55:38 -0600 Ted Gould (e16d383) * Forgot to adjust the parameter count. 2010-01-06 14:27:33 -0600 Ted Gould (eec2466) * Handle the case of no icon path more gracefully, by just passing along the null string. 2010-01-06 14:18:49 -0600 Ted Gould (150a0d7) * Ignoring some of the generated files 2009-12-23 17:00:30 +0100 Aurelien Gateau (dd2ed95) * Previous commit was not meant to be pushed to trunk Revert my mess 2009-12-23 16:48:54 +0100 Aurelien Gateau (95b5ea9) * Make it work on KDE 2009-12-20 22:20:52 -0600 Ted Gould (06b735f) * releasing version 0.0.6-0ubuntu1~ppa2~icon1 2009-12-20 22:18:24 -0600 Ted Gould (28d5fae) * Adding in icon path support. 2009-12-20 22:16:01 -0600 Ted Gould (cd57997) * Appending the new icon path to the theme search. 2009-12-20 17:28:02 -0600 Ted Gould (3915de9) * Adding the icon path to the app entry struct 2009-12-20 17:24:13 -0600 Ted Gould (9185eee) * Adding in the icon path to the list of parameters that are passed when we have a new application. 2009-12-20 17:15:08 -0600 Ted Gould (a9c6b6e) * Adding new constructor to docs. 2009-12-20 17:13:23 -0600 Ted Gould (b3542e0) * Forgot to get these from the private struct. 2009-12-20 17:11:23 -0600 Ted Gould (c44c00b) * Making the icon-path property construct only and making a constructor to set it. 2009-12-20 17:04:29 -0600 Ted Gould (2f82dde) * Adding the icon_path property to the code. 2009-12-20 16:56:09 -0600 Ted Gould (8d4ca51) * Adding of a new property, icon path, to store the path to the icons. 2009-12-17 23:11:02 -0600 Ted Gould (312dadc) * Adding ChangeLog to tarball 2009-12-17 16:54:56 -0500 Ken VanDine (929d2e8) * include ChangeLog in EXTRA_DIST 2009-12-17 16:19:43 -0500 Ken VanDine (60e78aa) * * Upstream release 0.0.6 * Include Python binding * Include Mono binding * Minor bug fixes * Fixing when menus are set twice. (LP: #497812) * Keeping a constant signature for the library instead of building it each time. * debian/control, debian/python-appindicator.install: Building a binary package for the python bindings. * debian/control: Adding python building build deps * debian/control, debian/libappindicator0-cil.install: Building a binary package for the Mono bindings. * debian/control: Adding Mono building build deps 2009-12-17 16:04:21 -0500 Ken VanDine (951c79d) * version bump 2009-12-17 14:45:53 -0600 Ted Gould (75de7c2) * releasing version 0.0.6-0ubuntu1~ppa1 2009-12-17 14:43:59 -0600 Ted Gould (71a9247) * * Upstream release 0.0.6 * Keeping a constant signature for the library instead of building it each time. 2009-12-17 14:42:30 -0600 Ted Gould (7eb8f46) * 0.0.6 (tag: 0.0.6) 2009-12-17 14:40:34 -0600 Ted Gould (f789e13) * Using a constant snk file instead of generating it each time. 2009-12-17 15:31:20 -0500 Ken VanDine (cca4d63) * merged 2009-12-17 15:30:39 -0500 Ken VanDine (4e8176e) * merged 2009-12-17 15:29:51 -0500 Ken VanDine (52c77eb) * use srcdir for the path to appindicator-sharp.snk 2009-12-17 15:01:24 -0500 Ken VanDine (af81423) * Don't create the signature during build 2009-12-17 13:22:09 -0600 Ted Gould (e173606) * releasing version 0.0.5-0ubuntu1~ppa1 2009-12-17 13:18:38 -0600 Ted Gould (2c6df6b) * * Upstream release 0.0.5 * Include Python binding * Include Mono binding * Minor bug fixes * debian/control, debian/python-appindicator.install: Building a binary package for the python bindings. * debian/control: Adding python building build deps * debian/control, debian/libappindicator0-cil.install: Building a binary package for the Mono bindings. * debian/control: Adding Mono building build deps 2009-12-17 13:13:28 -0600 Ted Gould (6d8c312) * 0.0.5 (tag: 0.0.5) 2009-12-17 13:07:50 -0600 Ken VanDine (6a7f7db) * Linking Mono bindings to versioned library and fixing the example with licensing info and a menu. 2009-12-17 13:59:19 -0500 Ken VanDine (84d7e5e) * Added license/copyright to the example and un-commented out the code that adds the menu. 2009-12-17 13:41:42 -0500 Ken VanDine (c64d79b) * added libnunit2.4-cil build-depends 2009-12-17 13:35:11 -0500 Ken VanDine (d1fbd5d) * link against the versioned library 2009-12-17 10:45:04 -0600 Ted Gould (3280544) * releasing version 0.0.4-0ubuntu3~ppa4 2009-12-17 10:38:25 -0600 Ted Gould (bdff04c) * * Upstream updates: * Fixing when menus are set twice. (LP: #497812) 2009-12-17 10:36:51 -0600 Ted Gould (d11b8c9) * Fix issue with setting a menu twice by only allocating one dbusmenu server. 2009-12-17 17:27:03 +0100 Cody Russell (09c4ec2) * Only create the dbusmenu server if it doesn't exist 2009-12-17 10:04:40 -0600 Ted Gould (6af83d4) * Initing 'menuservice' to NULL 2009-12-17 10:02:02 -0600 Ted Gould (f4c9af7) * Only build a dbusmenu server if we don't have one. 2009-12-17 10:22:30 -0500 Ken VanDine (f87e935) * Moved Build-Depend-indep to Build-Depends 2009-12-17 09:14:01 -0600 Ted Gould (e2f1257) * releasing version 0.0.4-0ubuntu3~ppa3 2009-12-17 09:12:11 -0600 Ted Gould (24abbb1) * debian/control: Fixing the libdbusmenu-glib version dep. 2009-12-17 09:06:33 -0600 Ted Gould (5918076) * debian/control: Removing architecture independent build dependencies are no architecture dependent. 2009-12-17 08:42:41 -0600 Ted Gould (3995123) * releasing version 0.0.4-0ubuntu3~ppa2 2009-12-17 08:39:26 -0600 Ted Gould (1443165) * * Upstream updates: * Mono build fixes. * Mono metadata file cleanups. 2009-12-17 08:37:26 -0600 Ted Gould (4d95601) * Mono build cleanups 2009-12-17 08:34:26 -0600 Ted Gould (d293bbf) * debian/control: Adding a build-dep on nunit 2009-12-17 00:32:20 -0600 Ted Gould (7219db0) * Updates to Mono bindings to make them more Mono-onic. 2009-12-17 01:27:31 -0500 Ken VanDine (33beea5) * merged from trunk 2009-12-17 00:24:18 -0600 Ted Gould (c4f20d6) * releasing version 0.0.4-0ubuntu3~ppa1 2009-12-17 01:21:32 -0500 Ken VanDine (7ebdc97) * * Upstream release - debian/libappindicator0-cil.install - debian/libappindicator0-cil-dev.install - debian/control 2009-12-17 00:21:25 -0600 Ted Gould (511ef69) * Integrating a ton of work. 2009-12-17 00:20:25 -0600 Ted Gould (5aed77c) * * Added mono bindings * debian/rules - don't use gnome.mk, specify all the targets to build python bindings for each supported python version * Adding in Python bindings. * debian/control, debian/python-appindicator.install: Building a binary package for the python bindings. * debian/control: Adding python building build deps * debian/control - make libappindicator0 recommend indicator-application * debian/rules: - removed the disable-scrollkeeper configure arg - don't include .la and .a files * debian/patches/clean_up_docs.patch - removed, merged upstream * debian/control: - removed Build-Depend for scrollkeeper - libappindicator-dev needs to depend on libdbusmenu-glib-dev - bump standards version to 3.8.3 - libappindicator-doc doesn't need to depend on libappindicator0 - set libappindicator-doc arch all - make libappindicator-dev depend on libappindicator0 * debian/copyright - Include the proper licenses (LGPL-2.1 and LGPL-3) 2009-12-17 01:19:56 -0500 Ken VanDine (6af5c99) * Install the assembly in the gac 2009-12-17 00:14:58 -0600 Ted Gould (20a7ac2) * * Upstream work * Python bindings * Mono binding clean up 2009-12-17 00:08:42 -0600 Ted Gould (97f6e62) * Mono and Pythong bindings living together. 2009-12-16 16:58:42 -0500 Ken VanDine (394f015) * set version back to 0.0.4 2009-12-16 16:56:59 -0500 Ken VanDine (cef679b) * merged from trunk 2009-12-16 16:56:19 -0500 Ken VanDine (2ba572c) * Added mono bindings 2009-12-16 16:16:28 -0500 Ken VanDine (8a26b8c) * Use a versioned assemblydir 2009-12-16 16:15:52 -0500 Ken VanDine (ceef246) * use more macros 2009-12-16 16:15:30 -0500 Ken VanDine (7996187) * Reference the correct dll 2009-12-16 14:39:39 -0500 Ken VanDine (23b19e9) * fixed path to python bindings 2009-12-16 14:37:40 -0500 Ken VanDine (2a5cad3) * * debian/rules - don't use gnome.mk, specify all the targets to build python bindings for each supported python version * Adding in Python bindings. * debian/control, debian/python-appindicator.install: Building a binary package for the python bindings. * debian/control: Adding python building build deps 2009-12-16 14:32:39 -0500 Ken VanDine (4d9d260) * merged in python bindings branch and some of my fixes needed for packaging 2009-12-16 14:29:18 -0500 Ken VanDine (251da6d) * exclude the path in subst replace in the dbus-binding-tool command 2009-12-16 13:51:49 -0500 Jason Smith (7aee325) * Make mono bindings less redundant and more mono friendly 2009-12-15 11:33:37 -0500 Ken VanDine (53d5f10) * make libappindicator0 recommend indicator-application 2009-12-15 10:41:26 -0500 Ken VanDine (c4a5888) * release 2009-12-15 10:39:56 -0500 Ken VanDine (c593131) * * debian/control - make libappindicator0 depend on indicator-application 2009-12-14 22:47:42 +0100 Sebastien Bacher (add48dd) * releasing version 0.0.4-0ubuntu1 (tag: 0.0.4-0ubuntu1) 2009-12-14 11:25:49 -0600 Ted Gould (0d66efa) * releasing version 0.0.4-0ubuntu1~ppa2 2009-12-14 11:23:14 -0600 Ted Gould (1ae9e02) * debian/control: Adding in mono build depends. 2009-12-14 11:16:00 -0600 Ted Gould (0d59bd4) * * Upstream work * Mono bindings 2009-12-14 11:28:24 -0500 Ken VanDine (c66e720) * use path to find includes 2009-12-14 10:00:49 -0600 Ted Gould (985c449) * Merging in mono bindings. 2009-12-14 09:59:29 -0600 Ted Gould (bb6fa61) * Looking for the assembly files in the right location. 2009-12-14 09:59:12 -0600 Ted Gould (04e218d) * Adding the test files to dist and making sure we find them in the right directory. 2009-12-14 09:42:57 -0600 Ted Gould (aebb91e) * Merging in Jason's fix of Cody's branch. Yeah, seriously. 2009-12-14 10:32:30 -0500 Jason Smith (5e6e5ba) * Nicer fix 2009-12-14 10:20:17 -0500 Jason Smith (3d0245f) * Make build work right 2009-12-12 12:27:20 -0600 Cody Russell (40f3778) * Try to add SetMenu() 2009-12-12 12:20:52 -0600 Cody Russell (59526b6) * Initial stab at setting up test/example fu 2009-12-11 20:29:28 -0600 Ted Gould (a3a42b9) * Fixing the build system to link everything all happy like. 2009-12-11 20:23:37 -0600 Ted Gould (a602f42) * Adding the Python build system into the indicator-application one. 2009-12-11 20:08:27 -0600 Neil J. Patel (f7ba47b) * Stealing a bunch of Neil's python binding code. 2009-12-11 17:04:11 -0500 Ken VanDine (1c008f5) * fixed typo in the Vcs-Bzr line 2009-12-11 16:46:23 -0500 Ken VanDine (7158acf) * merged from trunk 2009-12-11 16:42:58 -0500 Ken VanDine (e75075f) * set to UNRELEASED 2009-12-11 12:39:56 -0500 Ken VanDine (fd5003d) * - bump standards version to 3.8.3 - libappindicator-doc doesn't need to depend on libappindicator0 2009-12-11 12:31:39 -0500 Ken VanDine (2da3664) * libappindicator-dev needs to depend on libdbusmenu-glib-dev 2009-12-11 12:28:32 -0500 Ken VanDine (2f0f25f) * fix the path used for deleting the .la and .a files 2009-12-11 11:24:30 -0600 Cody Russell (ed48108) * Fix distcheck 2009-12-11 12:06:34 -0500 Ken VanDine (54099ef) * don't include .la and .a files 2009-12-11 11:04:01 -0600 Ted Gould (a5dfa76) * Merging in Ken's Lucid changes. 2009-12-11 11:00:29 -0600 Cody Russell (7783eb6) * Move appindicator-sharp.pc to appindicator-sharp-0.1.pc 2009-12-11 10:46:30 -0600 Cody Russell (8de2753) * trunk merge, resolve conflicts 2009-12-11 10:40:11 -0600 Ted Gould (52f97ba) * releasing version 0.0.4-0ubuntu1~ppa1 2009-12-11 10:38:53 -0600 Ted Gould (c5d3cf3) * * Upstream release 0.0.4 * Adding files to the tarball * Putting version number in docs * Removing cruft in docs 2009-12-11 10:34:49 -0600 Ted Gould (d303893) * 0.0.4 (tag: 0.0.4) 2009-12-11 10:32:56 -0600 Cody Russell (5fe114e) * Add missing Makefile.am 2009-12-11 10:32:27 -0600 Ken VanDine (ab6e7dd) * Adding extra files to the distribution tarball and making the documentation include the version number. 2009-12-11 11:31:58 -0500 Ken VanDine (f9d90d2) * removed the disable-scrollkeeper configure arg 2009-12-11 10:31:49 -0600 Cody Russell (88a109e) * Move to bindings/mono 2009-12-11 10:28:06 -0600 Cody Russell (6d3743e) * Build for Mono bindings 2009-12-11 11:20:55 -0500 Ken VanDine (8205193) * include autogen.sh, COPYING.LGPL.2.1 and COPYING.LGPL.3 in EXTRA_DIST 2009-12-11 11:17:15 -0500 Ken VanDine (8063616) * Merged changes from trunk 2009-12-11 11:15:50 -0500 Ken VanDine (3e2f1b6) * * Bump version to 0.0.4 * Include version in the generated docs 2009-12-11 09:24:12 -0500 Ken VanDine (d032af1) * fixed parse error in changelog 2009-12-11 09:22:32 -0500 Ken VanDine (020d8bb) * * debian/control: - removed Build-Depend for scrollkeeper 2009-12-11 09:21:42 -0500 Ken VanDine (7263623) * * Upstream release 0.0.4 * debian/rules: - removed disable-scrollkeeper - set DOC_SERVER used for docs * debian/patches/clean_up_docs.patch - removed, merged upstream 2009-12-10 20:31:54 -0600 Ted Gould (c52a914) * releasing version 0.0.3-0ubuntu2~ppa1 2009-12-10 20:30:04 -0600 Ted Gould (e11024f) * debian/patches/clean_up_docs.patch: Remove as merged upstream. 2009-12-10 20:28:25 -0600 Ken VanDine (d0ff3d2) * Documentation cleanups 2009-12-10 16:59:21 -0600 Ted Gould (9ef452b) * Merging in Ken's fixes. 2009-12-10 23:48:32 +0100 Sebastien Bacher (c5ceaf1) * releasing version 0.0.3-0ubuntu1 (tag: 0.0.3-0ubuntu1) 2009-12-10 17:31:13 -0500 Ken VanDine (4358884) * * debian/copyright - Include the proper licenses (LGPL-2.1 and LGPL-3) 2009-12-10 17:12:55 -0500 Ken VanDine (af73889) * - set libappindicator-doc arch all - make libappindicator-dev depend on libappindicator0 2009-12-10 17:02:36 -0500 Ken VanDine (767f3d4) * set to UNRELEASED 2009-12-10 16:49:18 -0500 Ken VanDine (bd32dd0) * set release to lucid 2009-12-10 15:46:58 -0500 Ken VanDine (27f8252) * set a title and remove releaseinfo, we haven't set it yet. 2009-12-10 15:44:51 -0500 Ken VanDine (ff35c76) * added simple-patchsys.mk 2009-12-10 15:42:33 -0500 Ken VanDine (a634b49) * * debian/patches/clean_up_docs.patch - Remove template values and set a proper title 2009-12-10 15:12:55 -0500 Ken VanDine (7c04550) * fixed a typo in libappindicator-doc.install 2009-12-10 15:11:18 -0500 Ken VanDine (86e4f6e) * * debian/libappindicator-doc.install - install the developer docs * debian/rules - enable-gtk-doc 2009-12-10 15:02:25 -0500 Ken VanDine (87560be) * added bzr-builddeb/default.conf 2009-12-10 15:01:02 -0500 Ken VanDine (fb2b3cf) * * debian/control - set Vcs-Bzr to ~ubuntu-desktop 2009-12-10 13:39:37 -0600 Ted Gould (e44eaf4) * Merging in Ken's updates 2009-12-10 13:34:43 -0600 Ted Gould (7dcc785) * releasing version 0.0.3-0ubuntu1~ppa1 2009-12-10 13:23:43 -0600 Ted Gould (94cc8a7) * debian/control: Increasing libdbusmenu requirements to 0.1.8 2009-12-10 13:22:55 -0600 Ted Gould (eab11a2) * * Upstream release 0.0.3 * More GtkMenu support in libappindicator 2009-12-10 13:18:44 -0600 Ted Gould (6b3e25f) * 0.0.3 (tag: 0.0.3) 2009-12-10 09:57:32 -0600 Ken Vandine (dc31293) * Increasing libindicator requirement to 0.3.0 2009-12-10 10:11:28 -0500 Ken VanDine (ad85df3) * Bump required version for libindicator to 0.3.0 2009-12-10 10:08:08 -0500 Ken VanDine (2227fe0) * * debian/control - Updated Vcs-Bzr, project urls and description 2009-12-10 09:00:30 -0500 Ken VanDine (f87a074) * * debian/watch: - Updated url to point to the LP project 2009-12-09 22:30:45 -0600 Cody Russell (9e7a9fb) * Adding support for separators. 2009-12-09 22:10:40 -0600 Cody Russell (6cb0e1a) * Add support for separator menuitems 2009-12-09 14:25:32 -0600 Ted Gould (0e959b1) * Switching back to the calling style with all the parameters. Otherwise the --enable-gtk-doc gets lost. 2009-12-09 14:17:40 -0600 Ted Gould (5ed9363) * Fixing up documentation and making it error if symbols are missing. 2009-12-09 12:11:01 -0600 Ted Gould (ecd7cd9) * Adding a directory name on the distribution of the .pc.in file 2009-12-09 12:08:36 -0600 Ted Gould (59f09d6) * releasing version 0.0.2-0ubuntu1~ppa2 2009-12-09 12:07:31 -0600 Ted Gould (afd0904) * debian/control: Adding a build dep on gtk-doc-tools 2009-12-09 12:05:12 -0600 Ted Gould (b478a86) * debian/libappindicator-dev.install: Adding pkgconfig files. 2009-12-09 12:04:15 -0600 Ted Gould (4e25a45) * Getting the install files with the right names. 2009-12-09 12:02:20 -0600 Ted Gould (b67737d) * * Upstream update * Adding in documentation * Adding a pkg-config .pc file for libappindicator 2009-12-09 11:58:22 -0600 Cody Russell (bae74ef) * Add pkgconfig support, fixes bug #494583 2009-12-09 11:52:12 -0600 Cody Russell (02ab21b) * pkgconfig Libs and Requires fixes 2009-12-09 11:31:26 -0600 Cody Russell (875e290) * merge from trunk 2009-12-09 10:44:15 -0600 Ted Gould (cd2a4a9) * Fix to autogen.sh to support configure options. 2009-12-09 10:35:11 -0600 Cody Russell (6519597) * fix autogen.sh 2009-12-09 10:30:50 -0600 Cody Russell (3f16792) * pkgconfig file 2009-12-08 16:42:08 -0600 Ted Gould (e0bf73e) * Improved menu item parsing from Cody. 2009-12-08 16:34:01 -0600 Cody Russell (284188b) * Beefed up and stuff. 2009-12-08 16:02:28 -0600 Ted Gould (e4cdb13) * Putting gtk-doc-check into a wrapper to it runs in srcdir 2009-12-08 15:45:17 -0600 Ted Gould (a29bb3d) * Adding in some section documentation. 2009-12-08 15:37:48 -0600 Ted Gould (b8e1a71) * Documenting the AppIndicatorClass as well. 2009-12-08 15:35:52 -0600 Ted Gould (79d9410) * Fixing function documentation. 2009-12-08 15:26:54 -0600 Ted Gould (c80692f) * Adding documentation for the signal string defines. 2009-12-08 15:24:36 -0600 Ted Gould (46799c6) * Adding in documentation for the Object/Class macros 2009-12-08 15:08:10 -0600 Ted Gould (b63e880) * Adding a check rule for documentation. 2009-12-08 15:06:07 -0600 Ted Gould (4a19cb4) * Adding support for building gtk-doc documentation. 2009-12-08 15:03:27 -0600 Ted Gould (cf4dd4a) * Making it so that we have a local gtk-doc.make file that will pass a dist without the lib being built. 2009-12-08 14:43:24 -0600 Ted Gould (fbb083f) * Ken's gtk-doc integration branch 2009-12-08 15:13:10 -0500 Ken VanDine (86b124f) * Removed a commented variable 2009-12-08 15:10:33 -0500 Ken VanDine (0c816c3) * Clean up some cruft I left around 2009-12-08 14:58:19 -0500 Ken VanDine (199da20) * Fixes for make distcheck and default configure args 2009-12-08 14:22:45 -0500 Ken VanDine (5ebc39a) * Added some missing gtk-doc related files 2009-12-08 14:18:31 -0500 Ken VanDine (43eac26) * don't run gtkdocize with autogen.sh 2009-12-07 19:11:11 -0500 Jason Smith (dc33785) * Add script to automate building (someone should do this without autofoo) 2009-12-07 19:10:16 -0500 Jason Smith (6335098) * Ensure names are nice and pretty 2009-12-07 19:03:41 -0500 Jason Smith (e945be8) * Make build work 2009-12-07 17:43:28 -0500 Jason Smith (a7dec87) * Add mono xml api file 2009-12-07 13:41:55 -0600 Ted Gould (bfb9e77) * Adding in an activate signal. 2009-12-07 13:31:36 -0600 Cody Russell (95ecb48) * Add 'activate' signal support 2009-12-05 01:26:08 -0500 Ken VanDine (fb20a31) * remove --enable-gtk-doc from autogen.sh 2009-12-05 01:21:59 -0500 Ken VanDine (9306d83) * generate gtk-doc 2009-12-04 14:50:47 -0600 Ted Gould (ec3c1be) * releasing version 0.0.2-0ubuntu1~ppa1 2009-12-04 14:48:18 -0600 Ted Gould (5498681) * * Upstream release 0.0.2 * Updates API to use GTK instead of dbusmenu to make it easier for upstream developers to use. 2009-12-04 14:46:17 -0600 Ted Gould (2906ee4) * Increasing to version 0.0.2 (tag: 0.0.2) 2009-12-04 13:04:33 -0600 Ted Gould (fe16a24) * Test suite fixes for the GTK Menu changes. 2009-12-04 11:06:41 -0600 Cody Russell (c9670e6) * Remove the menu test 2009-12-04 11:02:30 -0600 Cody Russell (6f39584) * test fix 2009-12-04 10:54:45 -0600 Cody Russell (670019c) * Test fixes 2009-12-04 09:31:28 -0600 Ted Gould (17478a9) * Adding GTK Menu support to libappindicator and removing dbusmenu support. 2009-12-04 09:28:16 -0600 Cody Russell (7406617) * credit :) 2009-12-04 09:26:19 -0600 Cody Russell (17d72ed) * Small cleanup 2009-12-04 09:07:34 -0600 Cody Russell (5f4c6f8) * Fix up some docs 2009-12-03 23:23:01 -0600 Cody Russell (580f2be) * API changes, gtk menu support 2009-12-02 12:17:03 -0600 Ted Gould (25d7d99) * releasing version 0.0.1-0ubuntu3~ppa4 2009-12-02 12:15:46 -0600 Ted Gould (fb3c300) * Adding in copyright headers and licenses 2009-12-02 12:09:19 -0600 Ted Gould (92a3e89) * Adding legal headers on files and licenses. 2009-12-02 12:07:11 -0600 Ted Gould (5710b62) * releasing version 0.0.1-0ubuntu3~ppa3 2009-12-02 12:05:28 -0600 Ted Gould (5317413) * * Massive name change. * debian/* changing packaging to not be "custom" anymore and now everything is "application" * debian/control: Splitting out libappindicator * Adding debian/libappindicator0.install, debian/libappindicator-dev.install, debian/indicator-application.install 2009-12-02 12:03:17 -0600 Ted Gould (5c4e31a) * Sync to trunk 2009-12-02 12:02:35 -0600 Ted Gould (984759e) * Changing the name from indicator-custom to indicator-application 2009-12-02 11:58:12 -0600 Ted Gould (f897644) * releasing version 0.0.1-0ubuntu3~ppa2 2009-12-02 11:57:06 -0600 Ted Gould (29ef598) * Implementing the service and having the indicator and app library start using it. 2009-12-02 11:55:44 -0600 Ted Gould (69448c0) * Sync from trunk 2009-12-02 11:55:27 -0600 Ted Gould (47741f6) * Create a service and start using it. Also updating to libindicator 0.3.0. 2009-12-01 09:27:45 -0600 Ted Gould (dc560c7) * releasing version 0.0.1-0ubuntu3~ppa1~newname1 2009-12-01 09:26:29 -0600 Ted Gould (c0b7c89) * * debian/* changing packaging to not be "custom" anymore and now everything is "application" * debian/control: Splitting out libappindicator * Adding debian/libappindicator0.install, debian/libappindicator-dev.install, debian/indicator-application.install 2009-12-01 09:22:17 -0600 Ted Gould (1566a99) * Massive name change. 2009-12-01 09:19:33 -0600 Ted Gould (113fc34) * Updating to service-me-please branch. 2009-12-01 09:18:18 -0600 Ted Gould (1933cc6) * Updating to trunk packaging 2009-12-01 09:17:28 -0600 Ted Gould (71797b3) * releasing version 0.0.1-0ubuntu3~ppa1 2009-12-01 09:15:05 -0600 Ted Gould (c860f69) * * Flesh out the library to have stuff working. * Updating test suite to run under dbus-test-runner. 2009-11-30 16:47:06 -0600 Ted Gould (1895dec) * Copyright notice for marshallers definition. 2009-11-30 16:45:40 -0600 Ted Gould (dfb7524) * Header for a DBus interface description, not sure if that's right or not. 2009-11-30 16:41:19 -0600 Ted Gould (9028f21) * Adding in GPLv3 headers. 2009-11-30 16:41:10 -0600 Ted Gould (d8e73df) * Adding in LGPL v3/2 headers 2009-11-30 16:11:06 -0600 Ted Gould (8027b94) * Adding GPLv3 headers. 2009-11-30 15:27:10 -0600 Ted Gould (91013e4) * GPL header 2009-11-30 15:22:03 -0600 Ted Gould (45f5d8c) * Adding in copying license files. 2009-11-30 13:28:20 -0600 Ted Gould (44be8d2) * Getting the right named files. 2009-11-30 13:21:45 -0600 Ted Gould (f0881be) * Changing the insides to remove the custom stuff. 2009-11-30 13:15:47 -0600 Ted Gould (35d5c71) * De-customizing the directory stuff. 2009-11-30 13:12:49 -0600 Ted Gould (7cc02cf) * Migrating to the new 'app' world. 2009-11-30 13:11:17 -0600 Ted Gould (a7c7079) * Shortening the object names as well. People hate typing. 2009-11-30 12:34:53 -0600 Ted Gould (672b725) * Massive custom to application find and replace throughout the code. 2009-11-30 12:15:04 -0600 Ted Gould (fdd8e21) * Ignoring happily again. 2009-11-30 10:58:09 -0600 Ted Gould (997bdb5) * Shortening the file names as well. 2009-11-30 10:30:22 -0600 Ted Gould (8eff74d) * Making the directory name shorter 2009-11-30 09:58:53 -0600 Ted Gould (5b2dcab) * Changing file names, and some fallouts from that. 2009-11-30 09:52:16 -0600 Ted Gould (fc1e08a) * Total insane rename. Probably broke more than a few things. 2009-11-30 09:35:25 -0600 Ted Gould (e0cb52e) * Another name change. 2009-11-24 21:55:10 -0600 Ted Gould (ad2afb8) * Changing all the dbus names. 2009-11-24 21:52:40 -0600 Ted Gould (f4d0952) * Name changed 2009-11-24 21:51:43 -0600 Ted Gould (8fa7b92) * Name changes 2009-11-24 21:50:50 -0600 Ted Gould (f0fcaa6) * A bunch of code. 2009-11-24 17:08:37 -0600 Ted Gould (2edb47b) * releasing version 0.0.1-0ubuntu3~ppa1~service8 2009-11-24 17:07:41 -0600 Ted Gould (62a7252) * Sync to trunk and fix distcheck by delaying connecting to the service by checking for data. 2009-11-24 17:03:24 -0600 Ted Gould (8c7ce8f) * Moving the connection code into a function that is called to check to see if we have enough data. This fixes distcheck after the merge from main. 2009-11-24 16:40:47 -0600 Ted Gould (acbab33) * Merging in changes on trunk. Resolving a conflict. 2009-11-24 16:31:55 -0600 Ted Gould (7c86b00) * releasing version 0.0.1-0ubuntu3~ppa1~service7 2009-11-24 15:17:03 -0600 Ted Gould (4b23fc3) * Woot, basic remove support. Causes warnings, but it works. 2009-11-24 14:06:05 -0600 Ted Gould (ce09817) * Showing the icon. Now we can put things up in the menu! Finally. 2009-11-24 13:04:41 -0600 Ted Gould (254386f) * Ignoring the marshallers 2009-11-24 13:03:56 -0600 Ted Gould (314754f) * Building a little more of a menu item for testing. 2009-11-24 11:23:21 -0600 Ted Gould (c8faaf3) * Fixing Marshallers so that everything is happy-happy. 2009-11-23 17:39:19 -0600 Ted Gould (bfd3806) * releasing version 0.0.1-0ubuntu3~ppa1~service6 2009-11-23 17:38:00 -0600 Ted Gould (6caead9) * I really shouldn't have to register marshalers. Srsly. 2009-11-23 17:33:26 -0600 Ted Gould (f0b58f5) * Moving the registration of the marshallers until after the proxy. Odd that I'd have to do this, but let's try. 2009-11-23 16:52:19 -0600 Ted Gould (cecee4c) * releasing version 0.0.1-0ubuntu3~ppa1~service5 2009-11-23 16:51:27 -0600 Ted Gould (28f794c) * Forgot return types. 2009-11-23 16:51:01 -0600 Ted Gould (756b6c9) * Forgot return types. 2009-11-23 16:37:54 -0600 Ted Gould (c27868e) * releasing version 0.0.1-0ubuntu3~ppa1~service4 2009-11-23 16:35:45 -0600 Ted Gould (25d690a) * Registering marshallers for DBus in the indicator. 2009-11-23 15:59:30 -0600 Ted Gould (009e468) * Adding a debug message on getting an application. 2009-11-23 15:44:18 -0600 Ted Gould (62f0373) * Making a simple client 2009-11-23 14:56:38 -0600 Ted Gould (b6b57bd) * releasing version 0.0.1-0ubuntu3~ppa1~service3 2009-11-23 14:55:06 -0600 Ted Gould (59b0398) * Adding more fun. Now we're cookin'! 2009-11-23 14:51:51 -0600 Ted Gould (2c04418) * Connecting to a notification watcher. 2009-11-23 13:26:32 -0600 Ted Gould (9a48354) * Adding in a TODO 2009-11-23 13:09:58 -0600 Ted Gould (5a87d20) * Commenting. 2009-11-23 12:52:14 -0600 Ted Gould (efd63e3) * Fixing custom indicator watcher object path. 2009-11-23 12:02:40 -0600 Ted Gould (f22ff6a) * Cleaning up main a little bit and handling the 'disconnected' case that doesn't yet quite exist. 2009-11-23 11:44:29 -0600 Ted Gould (f7cfd25) * Adding a remove function and switching to the position in the list being the position. 2009-11-09 21:55:02 -0600 Ted Gould (3d71f7f) * Adding in the dbus shared header. 2009-11-09 00:27:17 -0600 Ted Gould (5c797c3) * A simple little app. 2009-11-09 00:14:54 -0600 Ted Gould (23d6b5d) * Adding a defualt file for a little appliction that'll grow into a full app. 2009-11-08 23:04:50 -0600 Ted Gould (9738887) * releasing version 0.0.1-0ubuntu3~ppa1~service2 2009-11-08 23:03:39 -0600 Ted Gould (3d0184b) * Building the service and getting things in better shape. 2009-11-06 23:38:22 -0600 Ted Gould (d0abdda) * Grabbing the properties and going to town. Turning back into another signal. 2009-11-06 22:50:48 -0600 Ted Gould (ffd9962) * Adding some XML for dbus properties interface. 2009-11-06 22:46:30 -0600 Ted Gould (4bcfbf4) * Building the property proxy. 2009-11-06 22:17:54 -0600 Ted Gould (1cee2f3) * Forgot to save. 2009-11-06 22:15:19 -0600 Ted Gould (8b92c1c) * Building a proxy. 2009-11-06 21:53:59 -0600 Ted Gould (e25d64f) * Adding an application list. 2009-11-06 21:40:28 -0600 Ted Gould (bca77a7) * Getting the registration signal, and passing it up the stack. 2009-11-06 21:16:47 -0600 Ted Gould (78a6d0d) * Adding app add/remove to appstore 2009-11-06 20:41:18 -0600 Ted Gould (591311a) * Woot! Now we have signals in our watcher. Let's rock on! 2009-11-06 17:13:47 -0600 Ted Gould (ced0ec2) * Connecting the watcher and the appstore. And actually building one. We're on DBus now. 2009-11-06 17:05:28 -0600 Ted Gould (fa2ac00) * Moving the watcher stuff to the new object. 2009-11-06 16:55:48 -0600 Ted Gould (ab660ab) * Creating a new object to be our watcher. Apparently we can't have two DBus interfaces on the same object :( 2009-11-06 16:50:20 -0600 Ted Gould (c894aa5) * Adding in teh source directory for distcheck 2009-11-06 16:47:54 -0600 Ted Gould (53f654e) * Adding in a set of marshallers to make our signals all happy. 2009-11-06 16:40:36 -0600 Ted Gould (3ea189e) * Putting some signals on here. 2009-11-06 16:19:35 -0600 Ted Gould (4644370) * Changing some API and implementing the simple stuff. 2009-11-06 14:02:38 -0600 Ted Gould (faef47f) * Fleshing out the application added stuff 2009-11-06 13:38:09 -0600 Ted Gould (463ca24) * Fleshing out get_entries 2009-11-06 13:32:21 -0600 Ted Gould (1dc8a8a) * Making for a list of applications that we can build and destroy at will. 2009-11-06 12:56:54 -0600 Ted Gould (349af66) * Hooking up to the proxy. Let's do this! 2009-11-06 12:25:29 -0600 Ted Gould (10d1d2e) * Fleshing out connected to start bringing up the proxy. 2009-11-06 10:09:08 -0600 Ted Gould (7532947) * Migrating over to the libindicator 0.3.0 API. 2009-11-04 08:11:05 -0600 Ted Gould (f23c54f) * Put the cleanup of gtester on the wrong variable. 2009-11-04 07:53:19 -0600 Ted Gould (2d5018b) * A small fix to make things run under dbus-test-runner so that we start a dbus test session. 2009-11-03 15:18:38 -0600 Ted Gould (8ef7ed5) * Put the gtester test under a dbus-test-runner to ensure that we have a session bus to test with. 2009-11-03 10:52:39 -0600 Ted Gould (be7d032) * Fleshing out the library so that the interface is implemented. Also tests for the library. 2009-11-03 10:51:12 -0600 Ted Gould (cd7ec27) * Removing the checks on private being NULL when we're already testing the object. 2009-11-02 21:56:37 -0600 Ted Gould (3345ad5) * releasing version 0.0.1-0ubuntu3~ppa1~service1 2009-11-02 21:41:22 -0600 Ted Gould (88be27c) * releasing version 0.0.1-0ubuntu2 (tag: 0.0.1-0ubuntu2) 2009-11-02 21:39:38 -0600 Ted Gould (9d043e6) * * debian/control: Splitting out libcustomindicator * Adding debian/libcustomindicator0.install, debian/libcustomindicator-dev.install, debian/indicator-custom.install to make all the different packages. 2009-11-02 20:48:39 -0600 Ted Gould (81d7988) * Merging project name change. 2009-11-02 20:45:25 -0600 Ted Gould (a260225) * Changing the package name 2009-11-02 20:35:05 -0600 Ted Gould (733c841) * releasing version 0.0.1-0ubuntu2~ppa1~service1 2009-11-02 20:18:30 -0600 Ted Gould (8d4cdc7) * Grabbing from the service development branch 2009-11-02 20:08:07 -0600 Ted Gould (d496d7a) * We've got a service manager. Now we'll start ourselves up! 2009-11-02 19:52:47 -0600 Ted Gould (9aff9ba) * Getting the name into a header. 2009-11-02 17:19:25 -0600 Ted Gould (3d1c4c4) * Boom, make us an indicator service. 2009-11-02 12:14:36 +1100 Robert Collins (df182c1) * Draft packaging. 2009-10-28 15:55:28 -0500 Ted Gould (f2c4a15) * Building our app store 2009-10-28 15:52:48 -0500 Ted Gould (714f372) * Registering ourselves on dbus 2009-10-28 15:12:46 -0500 Ted Gould (8903841) * Boom! Now we're implementing dbus. 2009-10-28 14:57:38 -0500 Ted Gould (ecf44bf) * Adding an appstore object to hold all of our apps. 2009-10-28 14:52:08 -0500 Ted Gould (ec8cd68) * Adding the custom-service interface. 2009-10-28 11:33:00 -0500 Ted Gould (b6d06ca) * Pulling in the unreviewed lib-flesh branch 2009-10-22 16:30:31 -0500 Ted Gould (9c868b9) * 'Merging' in trunk. No changes. Better history. 2009-10-22 16:19:40 -0500 Ted Gould (1b71a85) * Adding in testing the location of the dbusmenuserver 2009-10-22 16:19:24 -0500 Ted Gould (d6cc939) * Looking for the wrong property, we can only set the object. 2009-10-22 16:04:52 -0500 Ted Gould (20caa2f) * We can't get the enum values from the string param spec, we need to find the enum one and then use that. 2009-10-22 15:47:31 -0500 Ted Gould (6030445) * Property name changes. Boo. 2009-10-22 15:45:26 -0500 Ted Gould (6a255c6) * Changes due to the properties changes. 2009-10-22 15:43:28 -0500 Ted Gould (0256208) * Gimme a break 2009-10-22 15:29:05 -0500 Ted Gould (00f4a53) * Adding a set of read-only properties that deal with the strings for dbus, and let the other properties do the real work. 2009-10-22 15:06:13 -0500 Ted Gould (20d116a) * Branch building up the interface for the library. 2009-10-22 14:30:40 -0500 Ted Gould (b04e0de) * Checking the category and state 2009-10-22 14:26:53 -0500 Ted Gould (af10235) * All strings work. 2009-10-22 14:21:49 -0500 Ted Gould (e99a6fe) * Fleshing out the property counting. 2009-10-22 14:15:53 -0500 Ted Gould (199365d) * Settng the right path 2009-10-22 11:31:22 -0500 Ted Gould (9db2ce5) * If we fail, we need to really fail. 2009-10-22 11:30:41 -0500 Ted Gould (e0d35fc) * Adding a kill function, just in case. 2009-10-22 11:24:06 -0500 Ted Gould (a8b1009) * Basic code calling all the properties. 2009-10-22 09:46:17 -0500 Ted Gould (83a3d84) * Fleshing out the server to setup a simple custom indicator. 2009-10-22 09:30:59 -0500 Ted Gould (23b7242) * Switching to using a little autotest as well. 2009-10-22 09:20:36 -0500 Ted Gould (bca9b7e) * Adding in two little client server binaries for testing the custom indicator. 2009-10-21 15:42:13 -0500 Ted Gould (0df50d7) * Change the enums to match the KDE ones to make life simpler even though I dislike the names. 2009-10-21 14:03:18 -0500 Ted Gould (5e34573) * Turning on verbose output and showing the status of all tests. 2009-10-21 13:24:21 -0500 Ted Gould (5aeff27) * Getting the prototype right. 2009-10-21 13:23:56 -0500 Ted Gould (02cb525) * The signal should have a string not a enum value. 2009-10-21 12:10:38 -0500 Ted Gould (b08b158) * Making sure to signal if we change the status. 2009-10-21 12:06:19 -0500 Ted Gould (5e1d1d9) * Adding test to test the property change signals. 2009-10-21 11:40:23 -0500 Ted Gould (dc43af9) * Checking all the set functions. 2009-10-21 11:35:30 -0500 Ted Gould (d11f7e6) * Switching from doing the GValues as enums to the more specific types. 2009-10-21 11:31:44 -0500 Ted Gould (fdd9a5d) * Silly, these are enums not ints. 2009-10-21 11:14:09 -0500 Ted Gould (795f7d9) * Adding a test that sets a bunch of properties. 2009-10-21 09:33:57 -0500 Cody Russell (0093c37) * Ah, forgot a return. Cody would kill me! Oh, no. 2009-10-21 09:23:21 -0500 Ted Gould (10e9550) * Woot! We can build a custom indicator, and it exists. 2009-10-20 23:47:20 -0500 Ted Gould (5e928c9) * Now we're building a test, woot! 2009-10-20 23:23:31 -0500 Ted Gould (d28010e) * Tests directory. 2009-10-20 22:39:45 -0500 Ted Gould (ada3399) * Fleshing out the get functions. 2009-10-20 22:07:29 -0500 Ted Gould (e932bfa) * Fleshing out the set functions. 2009-10-20 17:18:48 -0500 Ted Gould (08c19ed) * Filling out some prototypes. 2009-10-20 17:06:34 -0500 Ted Gould (81afbd1) * Okay, connecting this little thing into DBus already. 2009-10-20 16:57:57 -0500 Ted Gould (484b489) * Making sure to free and unref all of our private variables. 2009-10-20 16:42:08 -0500 Ted Gould (59d8fbd) * Now for some 'set' code. Bringin' it. 2009-10-20 14:16:22 -0500 Ted Gould (23fdc86) * Fleshing out get parameters... 2009-10-20 13:23:13 -0500 Ted Gould (b52ac88) * Adding in a bunch of things to the private struct. We now have data! 2009-10-20 09:59:57 -0500 Ted Gould (56cd30a) * Basic property case statements. 2009-10-19 16:44:59 -0500 Ted Gould (b82c8da) * Creating a connected property to check easily. 2009-10-19 16:22:24 -0500 Ted Gould (9dbe19d) * Boom, there are some signals. 2009-10-19 14:35:26 -0500 Ted Gould (6587e75) * Adding in the dbus signals from that interface. 2009-10-19 14:11:58 -0500 Ted Gould (bf1efc1) * Header comments and a new signal that we'll need to deal with. 2009-10-19 14:03:12 -0500 Ted Gould (6da6b6b) * Wow, properties. The properties system in gobject is a little insane. 2009-10-17 22:27:34 -0500 Ted Gould (9e25a77) * Changing the name to match the changes in the previous commit. 2009-10-17 22:25:55 -0500 Ted Gould (49bddff) * Switching the name to be more consistent. 2009-10-17 22:25:10 -0500 Ted Gould (72815e1) * Getting the name change into the templates properly. 2009-10-17 22:16:44 -0500 Ted Gould (06111bc) * Making the enums camel case. I prefer the other, but it seems best to match GTK style 2009-10-17 21:46:45 -0500 Ted Gould (7b45f65) * Making sure to get the property names into defines so that we can ensure they're all the same. 2009-10-17 21:42:00 -0500 Ted Gould (a49c643) * Filling out the property list. 2009-10-16 16:22:04 -0500 Ted Gould (85b61a4) * Putting in our first property, status. Woo hoo! 2009-10-16 16:04:18 -0500 Ted Gould (8dc712f) * Oops, shouldn't be CLUTTER there. 2009-10-16 15:54:32 -0500 Ted Gould (63e10a6) * Forgot to change the package name 2009-10-16 15:53:59 -0500 Ted Gould (31f519d) * Set and get properties 2009-10-16 15:36:22 -0500 Ted Gould (227666e) * Merging in the library interface. 2009-10-16 14:50:37 -0500 Ted Gould (50e28fd) * Adding the possibility of making the directories silently. 2009-10-16 14:47:28 -0500 Ted Gould (f4f482c) * Some small changes to make 'distcheck' happy. 2009-10-16 14:32:21 -0500 Ted Gould (174af37) * Another object file bites the dust 2009-10-16 14:31:50 -0500 Ted Gould (00c4764) * Fixing the templates. 2009-10-16 14:31:35 -0500 Ted Gould (0b6ffb4) * Filling out the enums to have values. 2009-10-16 14:08:47 -0500 Ted Gould (d7e3756) * Adding the C file into the build as well. 2009-10-16 13:43:47 -0500 Ted Gould (ba81d4a) * Putting in the enum templates and building them. 2009-10-16 13:20:56 -0500 Ted Gould (5b8ab09) * Setting up build to build the enums. 2009-10-16 13:20:33 -0500 Ted Gould (0336cb4) * Adding programs for buiding enums and marsherers and all that jazz 2009-10-16 12:59:39 -0500 Emmanuele Bassi (8ad3fb0) * Stealing these makefile segments to build enums and marshallers 2009-10-16 12:33:31 -0500 Ted Gould (1101075) * Building a basic prototype of the API for the lib. 2009-10-16 12:20:43 -0500 Ted Gould (664bc74) * Adding in the DBus interface files and building of those. 2009-10-15 21:12:52 -0500 Ted Gould (b666cc1) * Building a basic library starting out. 2009-10-15 21:02:52 -0500 Ted Gould (be305bc) * We need a directory. 2009-10-15 17:01:35 -0500 Ted Gould (e576b28) * We're on the dbus branch now 2009-10-15 14:49:04 -0500 Ted Gould (afd1d17) * Ignoring the generated dbus interfaces. 2009-10-15 14:45:07 -0500 Ted Gould (d6fb194) * Building the ChangeLog on dist 2009-10-13 22:26:35 -0500 Ted Gould (df1cc80) * Making sure we get our specs and clean up after ourselves. Distcheck magic. 2009-10-13 22:22:38 -0500 Ted Gould (89ebfc6) * Getting some functions so that we can link happy like. 2009-10-13 22:19:39 -0500 Ted Gould (17192c2) * Fixing symbol names. 2009-10-13 22:16:49 -0500 Ted Gould (7b2c29f) * Getting to building all these header files nicely. 2009-10-13 17:16:43 -0500 Ted Gould (9fc5dd8) * Some dbus y'all! 2009-10-13 15:48:42 -0500 Ted Gould (e265e46) * A basical build system and basic files. 2009-10-13 15:37:08 -0500 Ted Gould (fb328a4) * Building a basic indicator and the service to go along with it. 2009-10-13 14:46:56 -0500 Ted Gould (d7640ed) * Cleaning up status 2009-10-13 14:39:46 -0500 Ted Gould (683109e) * Local install on distcheck, now it passes. 2009-10-13 14:39:35 -0500 Ted Gould (5b565b0) * Wrong version 2009-10-13 14:34:09 -0500 Ted Gould (6e1d6b9) * DBus Service file 2009-10-13 14:02:17 -0500 Ted Gould (7bd4902) * Autogen and friends 2009-10-13 13:48:46 -0500 Ted Gould (8f6b6e0) * Very basic. 2009-10-13 13:36:37 -0500 Ted Gould (140fda5) * First version libayatana-appindicator-0.5.3/configure.ac0000644000000000000000000001635613254161055015470 0ustar AC_INIT([libayatana-appindicator], [0.5.3], [https://github.com/ArcticaProject/libayatana-appindicator/issues], [libayatana-appindicator], [https://github.com/ArcticaProject/libayatana-appindicator]) AC_COPYRIGHT([Copyright 2009, 2010 Canonical Copyright 2015, Arctica Project]) AC_PREREQ([2.64]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.11 -Wall tar-pax]) AM_MAINTAINER_MODE([enable]) AM_SILENT_RULES([yes]) # Check for programs AC_PROG_CC AM_PROG_CC_C_O AM_PROG_AR # Initialize libtool LT_PREREQ([2.2]) LT_INIT AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums]) AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) PKG_PROG_PKG_CONFIG ########################### # GTK Doc ########################### GTK_DOC_CHECK([1.14],[--flavour no-tmpl]) ########################### # Dependencies ########################### GTK_REQUIRED_VERSION=2.18 GTK3_REQUIRED_VERSION=2.91 GLIB_REQUIRED_VERSION=2.35.4 GIO_REQUIRED_VERSION=2.26 INDICATOR_REQUIRED_VERSION=0.6.0 DBUSMENUGTK_REQUIRED_VERSION=0.5.90 DBUS_GLIB_REQUIRED_VERSION=0.82 AC_ARG_WITH([gtk], [AS_HELP_STRING([--with-gtk], [Which version of gtk to use @<:@default=2@:>@])], [], [with_gtk=2]) AS_IF([test "x$with_gtk" = x3], [PKG_CHECK_MODULES(LIBRARY, gtk+-3.0 >= $GTK3_REQUIRED_VERSION glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION ayatana-indicator3-0.4 >= $INDICATOR_REQUIRED_VERSION dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION) AC_DEFINE(HAVE_GTK3, 1, [whether gtk3 is available]) ], [test "x$with_gtk" = x2], [PKG_CHECK_MODULES(LIBRARY, gtk+-2.0 >= $GTK_REQUIRED_VERSION glib-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GIO_REQUIRED_VERSION ayatana-indicator-0.4 >= $INDICATOR_REQUIRED_VERSION dbusmenu-gtk-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION) ], [AC_MSG_FAILURE([Value for --with-gtk was neither 2 nor 3])] ) AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3]) PKG_CHECK_MODULES(TESTDEPS, dbus-glib-1) ########################### # GObject Introspection ########################### GOBJECT_INTROSPECTION_CHECK([0.6.7]) PKG_CHECK_EXISTS([gobject-introspection-1.0 >= 0.10], introspection_ten=yes, introspection_ten=no) AM_CONDITIONAL(INTROSPECTION_TEN, [test "x$introspection_ten" = "xyes"]) ########################### # Vala API Generation ########################### AC_PATH_PROG([VALA_API_GEN], [vapigen]) AM_CONDITIONAL(HAVE_VAPIGEN, [test "x$VALA_API_GEN" != "x"]) ########################### # Vala Compiler support ########################### AM_PROG_VALAC([0.14.0]) AM_CONDITIONAL(HAVE_VALAC, [test "x$VALAC" != "x"]) ########################### # Check for Mono support ########################### MONO_REQUIRED_VERSION=1.0 PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false) AM_CONDITIONAL(HAS_MONO, [test "x$has_mono" = "xtrue"]) AC_PATH_PROG(AL, al, no) if test "x$AL" = "xno" ; then AC_MSG_NOTICE([No al tool found. You need to install Mono.]) fi if test "x$has_mono" = "xtrue" ; then GENERATED_SOURCES=generated/*.cs AC_PATH_PROG(RUNTIME, mono, no) if test "x$RUNTIME" != "no" ; then RUNTIME=mono fi AC_PATH_PROG(CSC, mono-csc, no) LIB_PREFIX=.so LIB_SUFFIX= fi if test "x$CSC" = "xno" ; then AC_MSG_NOTICE([No Mono compiler found.]) fi AC_PATH_PROG(GACUTIL, gacutil, no) if test "x$GACUTIL" = "xno" ; then AC_MSG_NOTICE([No gacutil tool found]) fi AC_SUBST(RUNTIME) AC_SUBST(CSC) AC_SUBST(GACUTIL) AC_SUBST(LIB_PREFIX) AC_SUBST(LIB_SUFFIX) AC_SUBST(GENERATED_SOURCES) GLIB_SHARP_REQ_VERSION=2.12.1 GTK_SHARP_REQ_VERSION=2.12 PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQ_VERSION, has_gtksharp=true, has_gtksharp=false) PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIB_SHARP_REQ_VERSION, has_gapi=true, has_gapi=false) AC_PATH_PROG(GAPI_PARSER, gapi2-parser, no) AC_SUBST(GAPI_PARSER) AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no) AC_SUBST(GAPI_CODEGEN) AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no) AC_SUBST(GAPI_FIXUP) # Check for nunit AC_ARG_ENABLE([mono-test], AC_HELP_STRING([--disable-mono-test], [Disable mono test]),, [enable_mono_test=auto]) if test x"$enable_mono_test" != x"no" ; then PKG_CHECK_MODULES(NUNIT, nunit >= 2.4.7, [have_nunit=yes], [PKG_CHECK_MODULES(MONO_NUNIT, mono-nunit, [have_nunit=yes], [have_nunit=no]) ]) if test x${enable_mono_test} = xyes && test x${have_nunit} = xno; then AC_MSG_ERROR([Mono test configured but nunit not found]) fi else have_nunit=no fi AM_CONDITIONAL(BUILD_MONO_TEST, test x${have_nunit} = xyes) ########################### # Python ########################### PYGTK_REQUIRED=2.14.0 PYGOBJECT_REQUIRED=0.22 AM_PATH_PYTHON(2.3.5) AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)]) PKG_CHECK_MODULES(APPINDICATOR_PYTHON, [ pygtk-2.0 >= $PYGTK_REQUIRED gtk+-2.0 >= $GTK_REQUIRED_VERSION pygobject-2.0 >= $PYGOBJECT_REQUIRED ]) AC_MSG_CHECKING(for pygtk defs) PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0` AC_SUBST(PYGTK_DEFSDIR) AC_MSG_RESULT($PYGTK_DEFSDIR) AC_MSG_CHECKING(for pygtk codegen) PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py" AC_SUBST(PYGTK_CODEGEN) AC_MSG_RESULT($PYGTK_CODEGEN) ######################### # Check if build tests ######################### AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests], [Disable tests]),, [enable_tests=yes]) AM_CONDITIONAL([WANT_TESTS], [test "x$enable_tests" != "xno"]) ########################### # gcov coverage reporting ########################### m4_include([m4/gcov.m4]) AC_TDD_GCOV AM_CONDITIONAL([HAVE_GCOV], [test "x$ac_cv_check_gcov" = xyes]) AM_CONDITIONAL([HAVE_LCOV], [test "x$ac_cv_check_lcov" = xyes]) AM_CONDITIONAL([HAVE_GCOVR], [test "x$ac_cv_check_gcovr" = xyes]) AC_SUBST(COVERAGE_CFLAGS) AC_SUBST(COVERAGE_CXXFLAGS) AC_SUBST(COVERAGE_LDFLAGS) ########################### # Files ########################### AC_CONFIG_FILES([ Makefile src/Makefile src/ayatana-appindicator-0.1.pc src/ayatana-appindicator3-0.1.pc bindings/Makefile bindings/python/Makefile bindings/python/ayatana_appindicator.override bindings/vala/Makefile bindings/vala/examples/Makefile tests/Makefile example/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml docs/reference/libayatana-appindicator-docs.sgml ]) if test "x$has_mono" = "xtrue" ; then AC_CONFIG_FILES([ bindings/mono/Makefile bindings/mono/ayatana-appindicator-sharp.dll.config bindings/mono/ayatana-appindicator-sharp-0.1.pc bindings/mono/app-indicator.sources.xml bindings/mono/examples/Makefile bindings/mono/examples/ayatana-indicator-example ]) fi AC_OUTPUT ########################### # Results ########################### AC_MSG_NOTICE([ libayatana-appindicator Configuration: Prefix: $prefix GTK+ Version: $with_gtk Mono: $has_mono Tests: $enable_tests Mono tests: $have_nunit gcov: $use_gcov ]) libayatana-appindicator-0.5.3/COPYING0000644000000000000000000001672713254161055014237 0ustar GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. libayatana-appindicator-0.5.3/COPYING.LGPL.2.10000644000000000000000000006363713254161055015275 0ustar GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! libayatana-appindicator-0.5.3/docs/Makefile.am0000644000000000000000000000006113254161055016150 0ustar SUBDIRS = reference DISTCLEANFILES = Makefile.in libayatana-appindicator-0.5.3/docs/reference/libayatana-appindicator-docs.sgml.in0000644000000000000000000000232413254161055025055 0ustar ]> libayatana-appindicator Reference Manual for libayatana-appindicator @VERSION@ Base Classes for Applications Object Hierarchy API Index API 0.5 Index Deprecated API Index libayatana-appindicator-0.5.3/docs/reference/libayatana-appindicator-overrides.txt0000644000000000000000000000000013254161055025364 0ustar libayatana-appindicator-0.5.3/docs/reference/libayatana-appindicator-sections.txt0000644000000000000000000000254713254161055025233 0ustar
app-indicator APP_INDICATOR_TYPE APP_INDICATOR APP_INDICATOR_CLASS IS_APP_INDICATOR IS_APP_INDICATOR_CLASS APP_INDICATOR_GET_CLASS APP_INDICATOR_SIGNAL_NEW_ICON APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON APP_INDICATOR_SIGNAL_NEW_STATUS APP_INDICATOR_SIGNAL_NEW_LABEL APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH APP_INDICATOR_SIGNAL_CONNECTION_CHANGED APP_INDICATOR_SIGNAL_SCROLL_EVENT AppIndicatorCategory AppIndicatorStatus AppIndicatorPrivate Ayatana AppIndicator AppIndicator AppIndicatorClass app_indicator_get_type app_indicator_new app_indicator_new_with_path app_indicator_set_status app_indicator_set_attention_icon app_indicator_set_attention_icon_full app_indicator_set_menu app_indicator_set_icon app_indicator_set_icon_full app_indicator_set_icon_theme_path app_indicator_set_label app_indicator_set_ordering_index app_indicator_set_secondary_activate_target app_indicator_set_title app_indicator_get_id app_indicator_get_category app_indicator_get_status app_indicator_get_icon app_indicator_get_icon_desc app_indicator_get_icon_theme_path app_indicator_get_attention_icon app_indicator_get_attention_icon_desc app_indicator_get_menu app_indicator_get_label app_indicator_get_label_guide app_indicator_get_ordering_index app_indicator_get_secondary_activate_target app_indicator_get_title app_indicator_build_menu_from_desktop
libayatana-appindicator-0.5.3/docs/reference/libayatana-appindicator.types0000644000000000000000000000002713254161055023722 0ustar app_indicator_get_type libayatana-appindicator-0.5.3/docs/reference/Makefile.am0000644000000000000000000001016513254161055020114 0ustar ## Process this file with automake to produce Makefile.in # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 if USE_GTK3 VER=3 APPINDICATORLIB = libayatana-appindicator3.la else VER= APPINDICATORLIB = libayatana-appindicator.la endif # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples # of using the various options. # The name of the module, e.g. 'glib'. DOC_MODULE=libayatana-appindicator # Uncomment for versioned docs and specify the version of the module, e.g. '2'. #DOC_MODULE_VERSION=2 # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk DOC_SOURCE_DIR=$(top_srcdir)/src # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS= --type-init-func="g_type_init()" # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" #SCAN_OPTIONS=--rebuild-types --rebuild-sections SCAN_OPTIONS= # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml MKDB_OPTIONS=--sgml-mode --output-format=xml # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS= # Extra options to supply to gtkdoc-mkhtml MKHTML_OPTIONS= # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c HFILE_GLOB=$(top_srcdir)/src/app-indicator*.h CFILE_GLOB=$(top_srcdir)/src/app-indicator*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h IGNORE_HFILES= \ app-indicator-enum-types.h \ application-service-appstore.h \ application-service-client.h \ application-service-lru-file.h \ application-service-marshal.h \ application-service-server.h \ application-service-watcher.h \ dbus-properties-client.h \ dbus-properties-server.h \ dbus-shared.h \ generate-id.h \ notification-item-client.h \ notification-item-server.h \ notification-watcher-client.h \ notification-watcher-server.h # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES= # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files=version.xml # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files= # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_srcdir)/src $(LIBRARY_CFLAGS) GTKDOC_LIBS=$(top_builddir)/src/$(APPINDICATORLIB) $(LIBRARY_LIBS) # This includes the standard gtk-doc make rules, copied by gtkdocize. include $(top_srcdir)/gtk-doc.make # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST += version.xml.in libayatana-appindicator-docs.sgml.in # Files not to distribute # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += # Comment this out if you want 'make check' to test you doc status # and run some sanity checks if ENABLE_GTK_DOC TESTS_ENVIRONMENT = cd $(srcdir) && \ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) #TESTS = $(GTKDOC_CHECK) endif DISTCLEANFILES = Makefile.inlibayatana-appindicator-0.5.3/docs/reference/version.xml.in0000644000000000000000000000001213254161055020662 0ustar @VERSION@ libayatana-appindicator-0.5.3/example/Makefile.am0000644000000000000000000000245613254161055016665 0ustar if USE_GTK3 VER=3 else VER= endif CLEANFILES = DISTCLEANFILES = Makefile Makefile.in .deps/ EXTRA_DIST = check_PROGRAMS = \ simple-client \ simple-client-vala ######################################### ## simple-client ######################################### simple_client_SOURCES = \ simple-client.c #-Werror removed for Vala simple_client_CFLAGS = \ $(LIBRARY_CFLAGS) \ -DLOCAL_ICON="\"$(abs_srcdir)/simple-client-test-icon.png\"" \ -Wall \ -I$(top_srcdir)/src simple_client_LDADD = \ $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la EXTRA_DIST += \ simple-client-test-icon.png ######################################### ## simple-client-vala ######################################### if HAVE_VALAC VALAFLAGS = \ --pkg appindicator$(VER)-0.1 \ --vapidir=$(top_builddir)/bindings/vala BUILT_SOURCES = simple-client-vala.c simple-client-vala.c: $(srcdir)/simple-client-vala.vala $(VALAC) $(VALAFLAGS) -C $< -o $@ $(SED) -i "s|#include\s*<\s*libayatana-appindicator/app-indicator.h\s*>||g" $@ simple_client_vala_SOURCES = simple-client-vala.c simple_client_vala_CFLAGS = \ $(simple_client_CFLAGS) \ -include $(top_srcdir)/src/app-indicator.h simple_client_vala_LDADD = $(simple_client_LDADD) CLEANFILES += *.stamp *-vala.c endif EXTRA_DIST += \ simple-client-vala.vala libayatana-appindicator-0.5.3/example/simple-client.c0000644000000000000000000001625513254161055017544 0ustar /* A small piece of sample code demonstrating a very simple application with an indicator. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "app-indicator.h" #include "libdbusmenu-glib/server.h" #include "libdbusmenu-glib/menuitem.h" GMainLoop * mainloop = NULL; static gboolean active = TRUE; static gboolean can_haz_label = TRUE; static void label_toggle_cb (GtkWidget * widget, gpointer data) { can_haz_label = !can_haz_label; if (can_haz_label) { gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "Hide label"); } else { gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "Show label"); } return; } static void activate_clicked_cb (GtkWidget *widget, gpointer data) { AppIndicator * ci = APP_INDICATOR(data); if (active) { app_indicator_set_status (ci, APP_INDICATOR_STATUS_ATTENTION); gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "I'm okay now"); active = FALSE; } else { app_indicator_set_status (ci, APP_INDICATOR_STATUS_ACTIVE); gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "Get Attention"); active = TRUE; } } static void local_icon_toggle_cb (GtkWidget *widget, gpointer data) { AppIndicator * ci = APP_INDICATOR(data); if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { app_indicator_set_icon_full(ci, LOCAL_ICON, "Local Icon"); } else { app_indicator_set_icon_full(ci, "indicator-messages", "System Icon"); } return; } static void item_clicked_cb (GtkWidget *widget, gpointer data) { const gchar *text = (const gchar *)data; g_print ("%s clicked!\n", text); } static void toggle_sensitivity_cb (GtkWidget *widget, gpointer data) { GtkWidget *target = (GtkWidget *)data; gtk_widget_set_sensitive (target, !gtk_widget_is_sensitive (target)); } static void image_clicked_cb (GtkWidget *widget, gpointer data) { gtk_image_set_from_stock (GTK_IMAGE (gtk_image_menu_item_get_image ( GTK_IMAGE_MENU_ITEM (widget))), GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); } static void scroll_event_cb (AppIndicator * ci, gint delta, guint direction, gpointer data) { g_print("Got scroll event! delta: %d, direction: %d\n", delta, direction); } static void append_submenu (GtkWidget *item) { GtkWidget *menu; GtkWidget *mi; GtkWidget *prev_mi; menu = gtk_menu_new (); mi = gtk_menu_item_new_with_label ("Sub 1"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect (mi, "activate", G_CALLBACK (item_clicked_cb), "Sub 1"); prev_mi = mi; mi = gtk_menu_item_new_with_label ("Sub 2"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect (mi, "activate", G_CALLBACK (toggle_sensitivity_cb), prev_mi); mi = gtk_menu_item_new_with_label ("Sub 3"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect (mi, "activate", G_CALLBACK (item_clicked_cb), "Sub 3"); gtk_widget_show_all (menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu); } guint percentage = 0; static gboolean percent_change (gpointer user_data) { percentage = (percentage + 1) % 100; if (can_haz_label) { gchar * percentstr = g_strdup_printf("%d%%", percentage + 1); app_indicator_set_label (APP_INDICATOR(user_data), percentstr, "100%"); g_free(percentstr); } else { app_indicator_set_label (APP_INDICATOR(user_data), NULL, NULL); } return TRUE; } int main (int argc, char ** argv) { GtkWidget *menu = NULL; AppIndicator *ci = NULL; gtk_init (&argc, &argv); ci = app_indicator_new ("example-simple-client", "indicator-messages", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert (IS_APP_INDICATOR (ci)); g_assert (G_IS_OBJECT (ci)); app_indicator_set_status (ci, APP_INDICATOR_STATUS_ACTIVE); app_indicator_set_attention_icon_full(ci, "indicator-messages-new", "System Messages Icon Highlighted"); app_indicator_set_label (ci, "1%", "100%"); app_indicator_set_title (ci, "Test Inidcator"); g_signal_connect (ci, "scroll-event", G_CALLBACK (scroll_event_cb), NULL); g_timeout_add_seconds(1, percent_change, ci); menu = gtk_menu_new (); GtkWidget *item = gtk_check_menu_item_new_with_label ("1"); g_signal_connect (item, "activate", G_CALLBACK (item_clicked_cb), "1"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); item = gtk_radio_menu_item_new_with_label (NULL, "2"); g_signal_connect (item, "activate", G_CALLBACK (item_clicked_cb), "2"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); item = gtk_menu_item_new_with_label ("3"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); append_submenu (item); gtk_widget_show (item); GtkWidget *toggle_item = gtk_menu_item_new_with_label ("Toggle 3"); g_signal_connect (toggle_item, "activate", G_CALLBACK (toggle_sensitivity_cb), item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), toggle_item); gtk_widget_show(toggle_item); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, NULL); g_signal_connect (item, "activate", G_CALLBACK (image_clicked_cb), NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); item = gtk_menu_item_new_with_label ("Get Attention"); g_signal_connect (item, "activate", G_CALLBACK (activate_clicked_cb), ci); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); app_indicator_set_secondary_activate_target(ci, item); item = gtk_menu_item_new_with_label ("Show label"); label_toggle_cb(item, ci); g_signal_connect (item, "activate", G_CALLBACK (label_toggle_cb), ci); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); item = gtk_check_menu_item_new_with_label ("Set Local Icon"); g_signal_connect (item, "activate", G_CALLBACK (local_icon_toggle_cb), ci); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show(item); app_indicator_set_menu (ci, GTK_MENU (menu)); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); return 0; } libayatana-appindicator-0.5.3/example/simple-client-test-icon.png0000644000000000000000000000635613254161055022012 0ustar PNG  IHDR$$nbsRGB pHYs  tIME ,IOztEXtCommentCreated with GIMPW [IDATHuWY\Y>ݪn^ܫێ1 8b|_'.w/>*bH(c7~s !DA! omx3zB0Q䦦'3)"-JBHIW!AEÊѢD5ѳ )RJ `5 +ZܩrBQrpO=u}rsc7X0üVGi C"L#tbaga}˲  ϗB-W>p JoCPWBa hx&z, zA~v~꩟S!h4:q*2>QY(X "c'>oQș\Plg1| gN[ZZ4탭ǵ MOOXQT*p`jQ7=t:Bb !~ ݮJz>;7c&t-B0E;w6\QH$1.JZ1R|A.3Msaa!L:)뺍Fc0LLLPJ޽j25w/pܨ}669=MbhfLNwjQef6@;p]vE)MӃݻL4MuvVqױ'ڇˑI-x.D)}W*۷oW j-RM w:rk] *c]qNC.tA;pz!´Zr|pp0L"H%5u-dX\YYRf~# U[:BnY f #T4MӔ҃K.;(3 HqLZ% bP(?́zxC΄᱙ CwMMM (sk5h*d4f C<|<7 瞻p7okj`D`A TCqUe0b ru\ce6&PIL5B1ڽF>ąx<>H11_r} H E .UH)DBG?iMv8f]o>lfzfjr]7J-,,՟}Kz!\  q5Jŋ(j]-0–ɮ݌΋1,a.~^ӉFT*Hǎ] `R C J-FCCι#l۶(ҡ3ƄryeYBT*H$!eD"u1TaZ0$AwBd(cRNghօBa{{󼹹e4GFF\t:/_j(Pt̙p!U1<6vS3:BP(< Q(J&!rvbSN<MGUQq6{l( uaΩl6+LVU,٬iV*n+h4t:ɔJl6dDZpQH"ݤIU1Q"aW&T7M&j5s766ݮt:B)RA)W^aiO>˯آ.L؍@C_=!*3r\6-ˎ$c.D"D"a6TuB뺜shB @p BsI5844::cH,*vXEuCk6Mܹs ͈2٣W1EdztgXBث_;{0Rd2 !?߾/..D"vuuU(N.uTÜMAdIENDB`libayatana-appindicator-0.5.3/example/simple-client-vala.vala0000644000000000000000000001103213254161055021152 0ustar /* A small piece of sample code demonstrating a very simple application with an indicator. Copyright 2011 Canonical Ltd. Authors: Marco Trevisan This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ using Gtk; using AppIndicator; static int main(string[] args) { var sc = new SimpleClient(args); sc.run(); return 0; } class SimpleClient { Gtk.Menu menu; Indicator ci; int percentage; bool active; bool can_haz_label; public SimpleClient(string[] args) { Gtk.init(ref args); ci = new Indicator("example-simple-client", "indicator-messages", IndicatorCategory.APPLICATION_STATUS); ci.set_status(IndicatorStatus.ACTIVE); ci.set_attention_icon("indicator-messages-new"); ci.set_label("1%", "100%"); ci.set_title("Test Indicator (vala)"); active = true; can_haz_label = true; } private void toggle_sensitivity(Widget widget) { widget.set_sensitive(!widget.is_sensitive()); } private void append_submenu(Gtk.MenuItem item) { var menu = new Gtk.Menu(); Gtk.MenuItem mi; mi = new Gtk.MenuItem.with_label("Sub 1"); menu.append(mi); mi.activate.connect(() => { print("Sub1\n"); }); Gtk.MenuItem prev_mi = mi; mi = new Gtk.MenuItem.with_label("Sub 2"); menu.append(mi); mi.activate.connect(() => { toggle_sensitivity(prev_mi); }); mi = new Gtk.MenuItem.with_label("Sub 3"); menu.append(mi); mi.activate.connect(() => { print("Sub3\n"); }); mi = new Gtk.MenuItem.with_label("Toggle Attention"); menu.append(mi); mi.activate.connect(() => { if (ci.get_status() == IndicatorStatus.ATTENTION) ci.set_status(IndicatorStatus.ACTIVE); else ci.set_status(IndicatorStatus.ATTENTION); }); ci.set_secondary_activate_target(mi); menu.show_all(); item.set_submenu(menu); } private void label_toggle(Gtk.MenuItem item) { can_haz_label = !can_haz_label; if (can_haz_label) { item.set_label("Hide label"); } else { item.set_label("Show label"); } } public void run() { ci.scroll_event.connect((delta, direction) => { print(@"Got scroll event! delta: $delta, direction: $direction\n"); }); GLib.Timeout.add_seconds(1, () => { percentage = (percentage + 1) % 100; if (can_haz_label) { ci.set_label(@"$(percentage+1)%", ""); } else { ci.set_label("", ""); } return true; }); menu = new Gtk.Menu(); var chk = new CheckMenuItem.with_label("1"); chk.activate.connect(() => { print("1\n"); }); menu.append(chk); chk.show(); var radio = new Gtk.RadioMenuItem.with_label(new SList(), "2"); radio.activate.connect(() => { print("2\n"); }); menu.append(radio); radio.show(); var submenu = new Gtk.MenuItem.with_label("3"); menu.append(submenu); append_submenu(submenu); submenu.show(); var toggle_item = new Gtk.MenuItem.with_label("Toggle 3"); toggle_item.activate.connect(() => { toggle_sensitivity(submenu); }); menu.append(toggle_item); toggle_item.show(); var imgitem = new Gtk.ImageMenuItem.from_stock(Stock.NEW, null); imgitem.activate.connect(() => { Image img = (Image) imgitem.get_image(); img.set_from_stock(Stock.OPEN, IconSize.MENU); }); menu.append(imgitem); imgitem.show(); var att = new Gtk.MenuItem.with_label("Get Attention"); att.activate.connect(() => { if (active) { ci.set_status(IndicatorStatus.ATTENTION); att.set_label("I'm okay now"); active = false; } else { ci.set_status(IndicatorStatus.ACTIVE); att.set_label("Get Attention"); active = false; } }); menu.append(att); att.show(); var show = new Gtk.MenuItem.with_label("Show Label"); label_toggle(show); show.activate.connect(() => { label_toggle(show); }); menu.append(show); show.show(); var icon = new Gtk.CheckMenuItem.with_label("Set Local Icon"); icon.activate.connect(() => { if (icon.get_active()) { ci.set_icon("simple-client-test-icon.png"); } else { ci.set_icon("indicator-messages"); } }); menu.append(icon); icon.show(); ci.set_menu(menu); Gtk.main(); } } libayatana-appindicator-0.5.3/m4/gcov.m40000644000000000000000000000471713254161055014720 0ustar # Checks for existence of coverage tools: # * gcov # * lcov # * genhtml # * gcovr # # Sets ac_cv_check_gcov to yes if tooling is present # and reports the executables to the variables LCOV, GCOVR and GENHTML. AC_DEFUN([AC_TDD_GCOV], [ AC_ARG_ENABLE(gcov, AS_HELP_STRING([--enable-gcov], [enable coverage testing with gcov]), [use_gcov=$enableval], [use_gcov=no]) if test "x$use_gcov" = "xyes"; then # we need gcc: if test "$GCC" != "yes"; then AC_MSG_ERROR([GCC is required for --enable-gcov]) fi # Check if ccache is being used AC_CHECK_PROG(SHTOOL, shtool, shtool) case `$SHTOOL path $CC` in *ccache*[)] gcc_ccache=yes;; *[)] gcc_ccache=no;; esac if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.]) fi lcov_version_list="1.6 1.7 1.8 1.9 1.10 1.11" AC_CHECK_PROG(LCOV, lcov, lcov) AC_CHECK_PROG(GENHTML, genhtml, genhtml) if test "$LCOV"; then AC_CACHE_CHECK([for lcov version], glib_cv_lcov_version, [ glib_cv_lcov_version=invalid lcov_version=`$LCOV -v 2>/dev/null | $SED -e 's/^.* //'` for lcov_check_version in $lcov_version_list; do if test "$lcov_version" = "$lcov_check_version"; then glib_cv_lcov_version="$lcov_check_version (ok)" fi done ]) else lcov_msg="To enable code coverage reporting you must have one of the following lcov versions installed: $lcov_version_list" AC_MSG_ERROR([$lcov_msg]) fi case $glib_cv_lcov_version in ""|invalid[)] lcov_msg="You must have one of the following versions of lcov: $lcov_version_list (found: $lcov_version)." AC_MSG_ERROR([$lcov_msg]) LCOV="exit 0;" ;; esac if test -z "$GENHTML"; then AC_MSG_ERROR([Could not find genhtml from the lcov package]) fi ac_cv_check_gcov=yes ac_cv_check_lcov=yes # Remove all optimization flags from CFLAGS changequote({,}) CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'` changequote([,]) # Add the special gcc flags COVERAGE_CFLAGS="-O0 -fprofile-arcs -ftest-coverage" COVERAGE_CXXFLAGS="-O0 -fprofile-arcs -ftest-coverage" COVERAGE_LDFLAGS="-lgcov" # Check availability of gcovr AC_CHECK_PROG(GCOVR, gcovr, gcovr) if test -z "$GCOVR"; then ac_cv_check_gcovr=no else ac_cv_check_gcovr=yes fi fi ]) # AC_TDD_GCOV libayatana-appindicator-0.5.3/m4/introspection.m40000644000000000000000000000661413254161055016660 0ustar dnl -*- mode: autoconf -*- dnl Copyright 2009 Johan Dahlin dnl dnl This file is free software; the author(s) gives unlimited dnl permission to copy and/or distribute it, with or without dnl modifications, as long as this notice is preserved. dnl # serial 1 m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], [ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first AC_BEFORE([LT_INIT],[$0])dnl setup libtool first dnl enable/disable introspection m4_if([$2], [require], [dnl enable_introspection=yes ],[dnl AC_ARG_ENABLE(introspection, AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], [Enable introspection for this build]),, [enable_introspection=auto]) ])dnl AC_MSG_CHECKING([for gobject-introspection]) dnl presence/version checking AS_CASE([$enable_introspection], [no], [dnl found_introspection="no (disabled, use --enable-introspection to enable)" ],dnl [yes],[dnl PKG_CHECK_EXISTS([gobject-introspection-1.0],, AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) ],dnl [auto],[dnl PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) ],dnl [dnl AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) ])dnl AC_MSG_RESULT([$found_introspection]) INTROSPECTION_SCANNER= INTROSPECTION_COMPILER= INTROSPECTION_GENERATE= INTROSPECTION_GIRDIR= INTROSPECTION_TYPELIBDIR= if test "x$found_introspection" = "xyes"; then INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection fi AC_SUBST(INTROSPECTION_SCANNER) AC_SUBST(INTROSPECTION_COMPILER) AC_SUBST(INTROSPECTION_GENERATE) AC_SUBST(INTROSPECTION_GIRDIR) AC_SUBST(INTROSPECTION_TYPELIBDIR) AC_SUBST(INTROSPECTION_CFLAGS) AC_SUBST(INTROSPECTION_LIBS) AC_SUBST(INTROSPECTION_MAKEFILE) AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") ]) dnl Usage: dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], [ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) ]) dnl Usage: dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], [ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) ]) libayatana-appindicator-0.5.3/Makefile.am0000644000000000000000000000135013254161055015222 0ustar ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} SUBDIRS = \ src \ bindings \ docs # FIXME: Disabled, vala error # example if WANT_TESTS SUBDIRS += tests endif EXTRA_DIST = \ m4/introspection.m4 \ gtk-doc.make \ omf.make \ xmldocs.make \ autogen.sh \ COPYING.LGPL.2.1 \ ChangeLog DISTCLEANFILES = \ INSTALL \ Makefile.in \ aclocal.m4 \ ar-lib \ autom4te.cache/ \ compile \ config.guess \ config.h.in \ config.h.in~ \ config.sub \ configure \ depcomp \ gtk-doc.make \ install-sh \ ltmain.sh \ m4/gtk-doc.m4 \ m4/libtool.m4 \ m4/ltoptions.m4 \ m4/ltsugar.m4 \ m4/ltversion.m4 \ m4/lt~obsolete.m4 \ missing \ omf.make \ py-compile \ test-driver \ xmldocs.make include $(top_srcdir)/Makefile.am.coverage libayatana-appindicator-0.5.3/Makefile.am.coverage0000644000000000000000000000250513254161055017017 0ustar # Coverage targets .PHONY: clean-gcno clean-gcda \ coverage-html generate-coverage-html clean-coverage-html \ coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr clean-local: clean-gcno clean-coverage-html clean-coverage-gcovr if HAVE_GCOV clean-gcno: @echo Removing old coverage instrumentation -find -name '*.gcno' -print | xargs -r rm clean-gcda: @echo Removing old coverage results -find -name '*.gcda' -print | xargs -r rm coverage-html: clean-gcda -$(MAKE) $(AM_MAKEFLAGS) -k check $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html generate-coverage-html: @echo Collecting coverage data $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info clean-coverage-html: clean-gcda -$(LCOV) --directory $(top_builddir) -z -rm -rf coverage.info coveragereport if HAVE_GCOVR coverage-gcovr: clean-gcda -$(MAKE) $(AM_MAKEFLAGS) -k check $(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr generate-coverage-gcovr: @echo Generating coverage GCOVR report $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml clean-coverage-gcovr: clean-gcda -rm -rf $(top_builddir)/coverage.xml endif # HAVE_GCOVR endif # HAVE_GCOV libayatana-appindicator-0.5.3/Makefile.am.enum0000644000000000000000000000243713254161055016174 0ustar # Rules for generating enumeration types using glib-mkenums # # Define: # glib_enum_h = header template file # glib_enum_c = source template file # glib_enum_headers = list of headers to parse # # before including Makefile.am.enums. You will also need to have # the following targets already defined: # # CLEANFILES # DISTCLEANFILES # BUILT_SOURCES # EXTRA_DIST # # Author: Emmanuele Bassi enum_tmpl_h=$(glib_enum_h:.h=.h.in) enum_tmpl_c=$(glib_enum_c:.c=.c.in) CLEANFILES += stamp-enum-types DISTCLEANFILES += $(glib_enum_h) $(glib_enum_c) BUILT_SOURCES += $(glib_enum_h) $(glib_enum_c) EXTRA_DIST += $(enum_tmpl_h) $(enum_tmpl_c) stamp-enum-types: $(glib_enum_headers) $(QUIET_GEN)mkdir -p `dirname $(builddir)/$(glib_enum_h)` $(QUIET_GEN)$(GLIB_MKENUMS) \ --template $(srcdir)/$(enum_tmpl_h) \ $(glib_enum_headers) > xgen-eh \ && (cmp -s xgen-eh $(builddir)/$(glib_enum_h) || cp -f xgen-eh $(builddir)/$(glib_enum_h)) \ && rm -f xgen-eh \ && echo timestamp > $(@F) $(glib_enum_h): stamp-enum-types @true $(glib_enum_c): $(glib_enum_h) $(QUIET_GEN)mkdir -p `dirname $(builddir)/$(glib_enum_c)` $(QUIET_GEN)$(GLIB_MKENUMS) \ --template $(srcdir)/$(enum_tmpl_c) \ $(glib_enum_headers) > xgen-ec \ && cp -f xgen-ec $(builddir)/$(glib_enum_c) \ && rm -f xgen-ec libayatana-appindicator-0.5.3/Makefile.am.marshal0000644000000000000000000000223613254161055016654 0ustar # Rules for generating marshal files using glib-genmarshal # # Define: # glib_marshal_list = marshal list file # glib_marshal_prefix = prefix for marshal functions # # before including Makefile.am.marshal. You will also need to have # the following targets already defined: # # CLEANFILES # DISTCLEANFILES # BUILT_SOURCES # EXTRA_DIST # # Author: Emmanuele Bassi marshal_h = $(glib_marshal_list:.list=.h) marshal_c = $(glib_marshal_list:.list=.c) CLEANFILES += stamp-marshal DISTCLEANFILES += $(marshal_h) $(marshal_c) BUILT_SOURCES += $(marshal_h) $(marshal_c) EXTRA_DIST += $(glib_marshal_list) stamp-marshal: $(glib_marshal_list) $(QUIET_GEN)$(GLIB_GENMARSHAL) \ --prefix=$(glib_marshal_prefix) \ --header \ $(srcdir)/$(glib_marshal_list) > xgen-mh \ && (cmp -s xgen-mh $(marshal_h) || cp -f xgen-mh $(marshal_h)) \ && rm -f xgen-mh \ && echo timestamp > $(@F) $(marshal_h): stamp-marshal @true $(marshal_c): $(marshal_h) $(QUIET_GEN)(echo "#include \"$(marshal_h)\"" ; \ $(GLIB_GENMARSHAL) \ --prefix=$(glib_marshal_prefix) \ --body \ $(srcdir)/$(glib_marshal_list)) > xgen-mc \ && cp xgen-mc $(marshal_c) \ && rm -f xgen-mc libayatana-appindicator-0.5.3/NEWS0000644000000000000000000000000013254161055013654 0ustar libayatana-appindicator-0.5.3/README0000644000000000000000000000072613254161055014054 0ustar # Ayatana Application Indicators (Shared Library) # A library to allow applications to export a menu into the an Application Indicators aware menu bar. Based on KSNI it also works in KDE and will fallback to generic Systray support if none of those are available. This code project was originally started by Canonical Ltd. and has been adapted by various authors with the purpose of making this Application Indicators available on Ubuntu and non-Ubuntu systems alike. libayatana-appindicator-0.5.3/src/app-indicator.c0000644000000000000000000024723713254161055016673 0ustar /* An object to represent the application as an application indicator in the system panel. Copyright 2009 Canonical Ltd. Authors: Ted Gould Cody Russell This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #define _GNU_SOURCE #include #include #include #include #include #include #include #include "app-indicator.h" #include "app-indicator-enum-types.h" #include "application-service-marshal.h" #include "gen-notification-watcher.xml.h" #include "gen-notification-item.xml.h" #include "dbus-shared.h" #include "generate-id.h" #define PANEL_ICON_SUFFIX "panel" /** * AppIndicatorPrivate: * @id: The ID of the indicator. Maps to AppIndicator:id. * @category: Which category the indicator is. Maps to AppIndicator:category. * @status: The status of the indicator. Maps to AppIndicator:status. * @icon_name: The name of the icon to use. Maps to AppIndicator:icon-name. * @attention_icon_name: The name of the attention icon to use. Maps to AppIndicator:attention-icon-name. * @menu: The menu for this indicator. Maps to AppIndicator:menu * @watcher_proxy: The proxy connection to the watcher we're connected to. If we're not connected to one this will be %NULL. * * All of the private data in an instance of an application indicator. * */ struct _AppIndicatorPrivate { /*< Private >*/ /* Properties */ gchar *id; gchar *clean_id; AppIndicatorCategory category; AppIndicatorStatus status; gchar *icon_name; gchar *absolute_icon_name; gchar *attention_icon_name; gchar *absolute_attention_icon_name; gchar *icon_theme_path; gchar *absolute_icon_theme_path; DbusmenuServer *menuservice; GtkWidget *menu; GtkWidget *sec_activate_target; gboolean sec_activate_enabled; guint32 ordering_index; gchar * title; gchar * label; gchar * label_guide; gchar * accessible_desc; gchar * att_accessible_desc; guint label_change_idle; GtkStatusIcon * status_icon; gint fallback_timer; /* Fun stuff */ GDBusConnection *connection; guint dbus_registration; gchar * path; /* StatusNotifierWatcher */ GDBusProxy *watcher_proxy; guint watcher_id; /* Might be used */ IndicatorDesktopShortcuts * shorties; }; /* Signals Stuff */ enum { NEW_ICON, NEW_ATTENTION_ICON, NEW_STATUS, NEW_LABEL, CONNECTION_CHANGED, NEW_ICON_THEME_PATH, SCROLL_EVENT, LAST_SIGNAL }; static guint signals[LAST_SIGNAL] = { 0 }; /* Enum for the properties so that they can be quickly found and looked up. */ enum { PROP_0, PROP_ID, PROP_CATEGORY, PROP_STATUS, PROP_ICON_NAME, PROP_ICON_DESC, PROP_ATTENTION_ICON_NAME, PROP_ATTENTION_ICON_DESC, PROP_ICON_THEME_PATH, PROP_CONNECTED, PROP_LABEL, PROP_LABEL_GUIDE, PROP_ORDERING_INDEX, PROP_DBUS_MENU_SERVER, PROP_TITLE }; /* The strings so that they can be slowly looked up. */ #define PROP_ID_S "id" #define PROP_CATEGORY_S "category" #define PROP_STATUS_S "status" #define PROP_ICON_NAME_S "icon-name" #define PROP_ICON_DESC_S "icon-desc" #define PROP_ATTENTION_ICON_NAME_S "attention-icon-name" #define PROP_ATTENTION_ICON_DESC_S "attention-icon-desc" #define PROP_ICON_THEME_PATH_S "icon-theme-path" #define PROP_CONNECTED_S "connected" #define PROP_LABEL_S "label" #define PROP_LABEL_GUIDE_S "label-guide" #define PROP_ORDERING_INDEX_S "ordering-index" #define PROP_DBUS_MENU_SERVER_S "dbus-menu-server" #define PROP_TITLE_S "title" /* Private macro, shhhh! */ #define APP_INDICATOR_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), APP_INDICATOR_TYPE, AppIndicatorPrivate)) /* Default Path */ #define DEFAULT_ITEM_PATH "/org/ayatana/NotificationItem" /* More constants */ #define DEFAULT_FALLBACK_TIMER 100 /* in milliseconds */ /* Globals */ static GDBusNodeInfo * item_node_info = NULL; static GDBusInterfaceInfo * item_interface_info = NULL; static GDBusNodeInfo * watcher_node_info = NULL; static GDBusInterfaceInfo * watcher_interface_info = NULL; /* Boiler plate */ static void app_indicator_class_init (AppIndicatorClass *klass); static void app_indicator_init (AppIndicator *self); static void app_indicator_dispose (GObject *object); static void app_indicator_finalize (GObject *object); /* Property functions */ static void app_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void app_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); /* Other stuff */ static void signal_label_change (AppIndicator * self); static void check_connect (AppIndicator * self); static void register_service_cb (GObject * obj, GAsyncResult * res, gpointer user_data); static void start_fallback_timer (AppIndicator * self, gboolean disable_timeout); static gboolean fallback_timer_expire (gpointer data); static GtkStatusIcon * fallback (AppIndicator * self); static void status_icon_status_wrapper (AppIndicator * self, const gchar * status, gpointer data); static gboolean scroll_event_wrapper(GtkWidget *status_icon, GdkEventScroll *event, gpointer user_data); static gboolean middle_click_wrapper(GtkWidget *status_icon, GdkEventButton *event, gpointer user_data); static void status_icon_changes (AppIndicator * self, gpointer data); static void status_icon_activate (GtkStatusIcon * icon, gpointer data); static void status_icon_menu_activate (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data); static void unfallback (AppIndicator * self, GtkStatusIcon * status_icon); static gchar * append_panel_icon_suffix (const gchar * icon_name); static gchar * get_real_theme_path (AppIndicator * self); static gchar * append_snap_prefix (const gchar * path); static void theme_changed_cb (GtkIconTheme * theme, gpointer user_data); static void sec_activate_target_parent_changed(GtkWidget *menuitem, GtkWidget *old_parent, gpointer user_data); static GVariant * bus_get_prop (GDBusConnection * connection, const gchar * sender, const gchar * path, const gchar * interface, const gchar * property, GError ** error, gpointer user_data); static void bus_method_call (GDBusConnection * connection, const gchar * sender, const gchar * path, const gchar * interface, const gchar * method, GVariant * params, GDBusMethodInvocation * invocation, gpointer user_data); static void bus_creation (GObject * obj, GAsyncResult * res, gpointer user_data); static const GDBusInterfaceVTable item_interface_table = { method_call: bus_method_call, get_property: bus_get_prop, set_property: NULL /* No properties that can be set */ }; /* GObject type */ G_DEFINE_TYPE (AppIndicator, app_indicator, G_TYPE_OBJECT); static void watcher_ready_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) { AppIndicator *self = (AppIndicator *) user_data; GError *error = NULL; self->priv->watcher_proxy = g_dbus_proxy_new_finish (res, &error); if (error) { start_fallback_timer (self, FALSE); g_object_unref (self); g_error_free (error); return; } check_connect (self); g_object_unref (self); } static void name_appeared_handler (GDBusConnection *connection, const gchar *name, const gchar *name_owner, gpointer user_data) { AppIndicator *self = (AppIndicator *) user_data; g_dbus_proxy_new (self->priv->connection, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS, watcher_interface_info, NOTIFICATION_WATCHER_DBUS_ADDR, NOTIFICATION_WATCHER_DBUS_OBJ, NOTIFICATION_WATCHER_DBUS_IFACE, NULL, (GAsyncReadyCallback) watcher_ready_cb, (AppIndicator*)g_object_ref (self)); } static void name_vanished_handler (GDBusConnection *connection, const gchar *name, gpointer user_data) { AppIndicator *self = (AppIndicator *) user_data; g_clear_object (&self->priv->watcher_proxy); /* Emit the AppIndicator::connection-changed signal*/ g_signal_emit (self, signals[CONNECTION_CHANGED], 0, FALSE); start_fallback_timer (self, FALSE); } static void app_indicator_class_init (AppIndicatorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); g_type_class_add_private (klass, sizeof (AppIndicatorPrivate)); /* Clean up */ object_class->dispose = app_indicator_dispose; object_class->finalize = app_indicator_finalize; /* Property funcs */ object_class->set_property = app_indicator_set_property; object_class->get_property = app_indicator_get_property; /* Our own funcs */ klass->fallback = fallback; klass->unfallback = unfallback; /* Properties */ /** * AppIndicator:id: * * The ID for this indicator, which should be unique, but used consistently * by this program and its indicator. */ g_object_class_install_property (object_class, PROP_ID, g_param_spec_string(PROP_ID_S, "The ID for this indicator", "An ID that should be unique, but used consistently by this program and its indicator.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY)); /** * AppIndicator:category: * * The type of indicator that this represents. Please don't use 'Other'. * Defaults to 'ApplicationStatus'. */ g_object_class_install_property (object_class, PROP_CATEGORY, g_param_spec_string (PROP_CATEGORY_S, "Indicator Category", "The type of indicator that this represents. Please don't use 'other'. Defaults to 'ApplicationStatus'.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY)); /** * AppIndicator:status: * * Whether the indicator is shown or requests attention. Defaults to * 'Passive'. */ g_object_class_install_property (object_class, PROP_STATUS, g_param_spec_string (PROP_STATUS_S, "Indicator Status", "Whether the indicator is shown or requests attention. Defaults to 'Passive'.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:icon-name: * * The name of the regular icon that is shown for the indicator. */ g_object_class_install_property(object_class, PROP_ICON_NAME, g_param_spec_string (PROP_ICON_NAME_S, "An icon for the indicator", "The default icon that is shown for the indicator.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:icon-desc: * * The description of the regular icon that is shown for the indicator. */ g_object_class_install_property(object_class, PROP_ICON_DESC, g_param_spec_string (PROP_ICON_DESC_S, "A description of the icon for the indicator", "A description of the default icon that is shown for the indicator.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:attention-icon-name: * * If the indicator sets it's status to %APP_INDICATOR_STATUS_ATTENTION * then this icon is shown. */ g_object_class_install_property (object_class, PROP_ATTENTION_ICON_NAME, g_param_spec_string (PROP_ATTENTION_ICON_NAME_S, "An icon to show when the indicator request attention.", "If the indicator sets it's status to 'attention' then this icon is shown.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:attention-icon-desc: * * If the indicator sets it's status to %APP_INDICATOR_STATUS_ATTENTION * then this textual description of the icon shown. */ g_object_class_install_property (object_class, PROP_ATTENTION_ICON_DESC, g_param_spec_string (PROP_ATTENTION_ICON_DESC_S, "A description of the icon to show when the indicator request attention.", "When the indicator is an attention mode this should describe the icon shown", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:icon-theme-path: * * An additional place to look for icon names that may be installed by the * application. */ g_object_class_install_property(object_class, PROP_ICON_THEME_PATH, g_param_spec_string (PROP_ICON_THEME_PATH_S, "An additional path for custom icons.", "An additional place to look for icon names that may be installed by the application.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT)); /** * AppIndicator:connected: * * Pretty simple, %TRUE if we have a reasonable expectation of being * displayed through this object. You should hide your TrayIcon if so. */ g_object_class_install_property (object_class, PROP_CONNECTED, g_param_spec_boolean (PROP_CONNECTED_S, "Whether we're conneced to a watcher", "Pretty simple, true if we have a reasonable expectation of being displayed through this object. You should hide your TrayIcon if so.", FALSE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:label: * * A label that can be shown next to the string in the application * indicator. The label will not be shown unless there is an icon * as well. The label is useful for numerical and other frequently * updated information. In general, it shouldn't be shown unless a * user requests it as it can take up a significant amount of space * on the user's panel. This may not be shown in all visualizations. */ g_object_class_install_property(object_class, PROP_LABEL, g_param_spec_string (PROP_LABEL_S, "A label next to the icon", "A label to provide dynamic information.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:label-guide: * * An optional string to provide guidance to the panel on how big * the #AppIndicator:label string could get. If this is set correctly * then the panel should never 'jiggle' as the string adjusts through * out the range of options. For instance, if you were providing a * percentage like "54% thrust" in #AppIndicator:label you'd want to * set this string to "100% thrust" to ensure space when Scotty can * get you enough power. */ g_object_class_install_property(object_class, PROP_LABEL_GUIDE, g_param_spec_string (PROP_LABEL_GUIDE_S, "A string to size the space available for the label.", "To ensure that the label does not cause the panel to 'jiggle' this string should provide information on how much space it could take.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:ordering-index: * * The ordering index is an odd parameter, and if you think you don't need * it you're probably right. In general, the application indicator try * to place the applications in a recreatable place taking into account * which category they're in to try and group them. But, there are some * cases where you'd want to ensure indicators are next to each other. * To do that you can override the generated ordering index and replace it * with a new one. Again, you probably don't want to be doing this, but * in case you do, this is the way. */ g_object_class_install_property(object_class, PROP_ORDERING_INDEX, g_param_spec_uint (PROP_ORDERING_INDEX_S, "The location that this app indicator should be in the list.", "A way to override the default ordering of the applications by providing a very specific idea of where this entry should be placed.", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:dbus-menu-server: * * A way to get the internal dbusmenu server if it is available. * This should only be used for testing. */ g_object_class_install_property(object_class, PROP_DBUS_MENU_SERVER, g_param_spec_object (PROP_DBUS_MENU_SERVER_S, "The internal DBusmenu Server", "DBusmenu server which is available for testing the application indicators.", DBUSMENU_TYPE_SERVER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /** * AppIndicator:title: * * Provides a way to refer to this application indicator in a human * readable form. This is used in the Unity desktop in the HUD as * the first part of the menu entries to distinguish them from the * focused application's entries. */ g_object_class_install_property(object_class, PROP_TITLE, g_param_spec_string (PROP_TITLE_S, "Title of the application indicator", "A human readable way to refer to this application indicator in the UI.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); /* Signals */ /** * AppIndicator::new-icon: * @arg0: The #AppIndicator object * * when #AppIndicator:icon-name is changed */ signals[NEW_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ICON, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, new_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); /** * AppIndicator::new-attention-icon: * @arg0: The #AppIndicator object * * Emitted when #AppIndicator:attention-icon-name is changed */ signals[NEW_ATTENTION_ICON] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, new_attention_icon), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); /** * AppIndicator::new-status: * @arg0: The #AppIndicator object * @arg1: The string value of the #AppIndicatorStatus enum. * * Emitted when #AppIndicator:status is changed */ signals[NEW_STATUS] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_STATUS, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, new_status), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); /** * AppIndicator::new-label: * @arg0: The #AppIndicator object * @arg1: The string for the label * @arg2: The string for the guide * * Emitted when either #AppIndicator:label or #AppIndicator:label-guide are * changed. */ signals[NEW_LABEL] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_LABEL, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, new_label), NULL, NULL, _application_service_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); /** * AppIndicator::connection-changed: * @arg0: The #AppIndicator object * @arg1: Whether we're connected or not * * Signaled when we connect to a watcher, or when it drops away. */ signals[CONNECTION_CHANGED] = g_signal_new (APP_INDICATOR_SIGNAL_CONNECTION_CHANGED, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, connection_changed), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN, G_TYPE_NONE); /** * AppIndicator::new-icon-theme-path: * @arg0: The #AppIndicator object * * Signaled when there is a new icon set for the * object. */ signals[NEW_ICON_THEME_PATH] = g_signal_new (APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, new_icon_theme_path), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); /** * AppIndicator::scroll-event: * @arg0: The #AppIndicator object * @arg1: How many steps the scroll wheel has taken * @arg2: (type Gdk.ScrollDirection): Which direction the wheel went in * * Signaled when the #AppIndicator receives a scroll event. */ signals[SCROLL_EVENT] = g_signal_new (APP_INDICATOR_SIGNAL_SCROLL_EVENT, G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (AppIndicatorClass, scroll_event), NULL, NULL, _application_service_marshal_VOID__INT_UINT, G_TYPE_NONE, 2, G_TYPE_INT, GDK_TYPE_SCROLL_DIRECTION); /* DBus interfaces */ if (item_node_info == NULL) { GError * error = NULL; item_node_info = g_dbus_node_info_new_for_xml(_notification_item, &error); if (error != NULL) { g_error("Unable to parse Notification Item DBus interface: %s", error->message); g_error_free(error); } } if (item_interface_info == NULL && item_node_info != NULL) { item_interface_info = g_dbus_node_info_lookup_interface(item_node_info, NOTIFICATION_ITEM_DBUS_IFACE); if (item_interface_info == NULL) { g_error("Unable to find interface '" NOTIFICATION_ITEM_DBUS_IFACE "'"); } } if (watcher_node_info == NULL) { GError * error = NULL; watcher_node_info = g_dbus_node_info_new_for_xml(_notification_watcher, &error); if (error != NULL) { g_error("Unable to parse Notification Item DBus interface: %s", error->message); g_error_free(error); } } if (watcher_interface_info == NULL && watcher_node_info != NULL) { watcher_interface_info = g_dbus_node_info_lookup_interface(watcher_node_info, NOTIFICATION_WATCHER_DBUS_IFACE); if (watcher_interface_info == NULL) { g_error("Unable to find interface '" NOTIFICATION_WATCHER_DBUS_IFACE "'"); } } return; } static void app_indicator_init (AppIndicator *self) { AppIndicatorPrivate * priv = APP_INDICATOR_GET_PRIVATE(self); self->priv = priv; priv->id = NULL; priv->clean_id = NULL; priv->category = APP_INDICATOR_CATEGORY_OTHER; priv->status = APP_INDICATOR_STATUS_PASSIVE; priv->icon_name = NULL; priv->attention_icon_name = NULL; priv->icon_theme_path = NULL; priv->absolute_icon_theme_path = get_real_theme_path (self); priv->menu = NULL; priv->menuservice = NULL; priv->ordering_index = 0; priv->title = NULL; priv->label = NULL; priv->label_guide = NULL; priv->label_change_idle = 0; priv->connection = NULL; priv->dbus_registration = 0; priv->path = NULL; priv->status_icon = NULL; priv->fallback_timer = 0; priv->shorties = NULL; priv->sec_activate_target = NULL; priv->sec_activate_enabled = FALSE; priv->watcher_proxy = NULL; priv->watcher_id = g_bus_watch_name (G_BUS_TYPE_SESSION, NOTIFICATION_WATCHER_DBUS_ADDR, G_BUS_NAME_WATCHER_FLAGS_NONE, (GBusNameAppearedCallback) name_appeared_handler, (GBusNameVanishedCallback) name_vanished_handler, self, NULL); /* Start getting the session bus */ g_object_ref(self); /* ref for the bus creation callback */ g_bus_get(G_BUS_TYPE_SESSION, NULL, bus_creation, self); g_signal_connect(G_OBJECT(gtk_icon_theme_get_default()), "changed", G_CALLBACK(theme_changed_cb), self); return; } /* Free all objects, make sure that all the dbus signals are sent out before we shut this down. */ static void app_indicator_dispose (GObject *object) { AppIndicator *self = APP_INDICATOR (object); AppIndicatorPrivate *priv = self->priv; if (priv->shorties != NULL) { g_object_unref(G_OBJECT(priv->shorties)); priv->shorties = NULL; } if (priv->status != APP_INDICATOR_STATUS_PASSIVE) { app_indicator_set_status(self, APP_INDICATOR_STATUS_PASSIVE); } if (priv->status_icon != NULL) { AppIndicatorClass * class = APP_INDICATOR_GET_CLASS(object); if (class->unfallback != NULL) { class->unfallback(self, priv->status_icon); } priv->status_icon = NULL; } if (priv->fallback_timer != 0) { g_source_remove(priv->fallback_timer); priv->fallback_timer = 0; } if (priv->label_change_idle != 0) { g_source_remove(priv->label_change_idle); priv->label_change_idle = 0; } if (priv->menu != NULL) { g_object_unref(G_OBJECT(priv->menu)); priv->menu = NULL; } if (priv->menuservice != NULL) { g_object_unref (priv->menuservice); } if (priv->watcher_id != 0) { g_bus_unwatch_name (priv->watcher_id); priv->watcher_id = 0; } if (priv->watcher_proxy != NULL) { g_object_unref(G_OBJECT(priv->watcher_proxy)); priv->watcher_proxy = NULL; /* Emit the AppIndicator::connection-changed signal*/ g_signal_emit (self, signals[CONNECTION_CHANGED], 0, FALSE); } if (priv->dbus_registration != 0) { g_dbus_connection_unregister_object(priv->connection, priv->dbus_registration); priv->dbus_registration = 0; } if (priv->connection != NULL) { g_object_unref(G_OBJECT(priv->connection)); priv->connection = NULL; } if (priv->sec_activate_target != NULL) { g_signal_handlers_disconnect_by_func (priv->sec_activate_target, sec_activate_target_parent_changed, self); g_object_unref(G_OBJECT(priv->sec_activate_target)); priv->sec_activate_target = NULL; } g_signal_handlers_disconnect_by_func(gtk_icon_theme_get_default(), G_CALLBACK(theme_changed_cb), self); G_OBJECT_CLASS (app_indicator_parent_class)->dispose (object); return; } /* Free all of the memory that we could be using in the object. */ static void app_indicator_finalize (GObject *object) { AppIndicator * self = APP_INDICATOR(object); AppIndicatorPrivate *priv = self->priv; if (priv->status != APP_INDICATOR_STATUS_PASSIVE) { g_warning("Finalizing Application Status with the status set to: %d", priv->status); } if (priv->id != NULL) { g_free(priv->id); priv->id = NULL; } if (priv->clean_id != NULL) { g_free(priv->clean_id); priv->clean_id = NULL; } if (priv->icon_name != NULL) { g_free(priv->icon_name); priv->icon_name = NULL; } if (priv->absolute_icon_name != NULL) { g_free(priv->absolute_icon_name); priv->absolute_icon_name = NULL; } if (priv->attention_icon_name != NULL) { g_free(priv->attention_icon_name); priv->attention_icon_name = NULL; } if (priv->absolute_attention_icon_name != NULL) { g_free(priv->absolute_attention_icon_name); priv->absolute_attention_icon_name = NULL; } if (priv->icon_theme_path != NULL) { g_free(priv->icon_theme_path); priv->icon_theme_path = NULL; } if (priv->absolute_icon_theme_path != NULL) { g_free(priv->absolute_icon_theme_path); priv->absolute_icon_theme_path = NULL; } if (priv->title != NULL) { g_free(priv->title); priv->title = NULL; } if (priv->label != NULL) { g_free(priv->label); priv->label = NULL; } if (priv->label_guide != NULL) { g_free(priv->label_guide); priv->label_guide = NULL; } if (priv->accessible_desc != NULL) { g_free(priv->accessible_desc); priv->accessible_desc = NULL; } if (priv->att_accessible_desc != NULL) { g_free(priv->att_accessible_desc); priv->att_accessible_desc = NULL; } if (priv->path != NULL) { g_free(priv->path); priv->path = NULL; } G_OBJECT_CLASS (app_indicator_parent_class)->finalize (object); return; } #define WARN_BAD_TYPE(prop, value) g_warning("Can not work with property '%s' with value of type '%s'.", prop, G_VALUE_TYPE_NAME(value)) /* Set some properties */ static void app_indicator_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { AppIndicator *self = APP_INDICATOR (object); AppIndicatorPrivate *priv = self->priv; GEnumValue *enum_val; switch (prop_id) { case PROP_ID: if (priv->id != NULL) { g_warning ("Resetting ID value when I already had a value of: %s", priv->id); break; } priv->id = g_strdup (g_value_get_string (value)); priv->clean_id = g_strdup(priv->id); gchar * cleaner; for (cleaner = priv->clean_id; *cleaner != '\0'; cleaner++) { if (!g_ascii_isalnum(*cleaner)) { *cleaner = '_'; } } check_connect (self); break; case PROP_CATEGORY: enum_val = g_enum_get_value_by_nick ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_CATEGORY), g_value_get_string (value)); if (priv->category != enum_val->value) { priv->category = enum_val->value; } break; case PROP_STATUS: enum_val = g_enum_get_value_by_nick ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), g_value_get_string (value)); app_indicator_set_status (APP_INDICATOR (object), enum_val->value); break; case PROP_ICON_NAME: app_indicator_set_icon_full (APP_INDICATOR (object), g_value_get_string (value), priv->accessible_desc); check_connect (self); break; case PROP_ICON_DESC: app_indicator_set_icon_full (APP_INDICATOR (object), priv->icon_name, g_value_get_string (value)); check_connect (self); break; case PROP_ATTENTION_ICON_NAME: app_indicator_set_attention_icon_full (APP_INDICATOR (object), g_value_get_string (value), priv->att_accessible_desc); break; case PROP_ATTENTION_ICON_DESC: app_indicator_set_attention_icon_full (APP_INDICATOR (object), priv->attention_icon_name, g_value_get_string (value)); break; case PROP_ICON_THEME_PATH: app_indicator_set_icon_theme_path (APP_INDICATOR (object), g_value_get_string (value)); check_connect (self); break; case PROP_LABEL: { gchar * oldlabel = priv->label; priv->label = g_value_dup_string(value); if (priv->label != NULL && priv->label[0] == '\0') { g_free(priv->label); priv->label = NULL; } if (g_strcmp0(oldlabel, priv->label) != 0) { signal_label_change(APP_INDICATOR(object)); } if (oldlabel != NULL) { g_free(oldlabel); } break; } case PROP_TITLE: { gchar * oldtitle = priv->title; priv->title = g_value_dup_string(value); if (priv->title != NULL && priv->title[0] == '\0') { g_free(priv->title); priv->title = NULL; } if (g_strcmp0(oldtitle, priv->title) != 0 && self->priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(self->priv->connection, NULL, self->priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewTitle", NULL, &error); if (error != NULL) { g_warning("Unable to send signal for NewTitle: %s", error->message); g_error_free(error); } } if (oldtitle != NULL) { g_free(oldtitle); } if (priv->status_icon != NULL) { gtk_status_icon_set_title(priv->status_icon, priv->title ? priv->title : ""); } break; } case PROP_LABEL_GUIDE: { gchar * oldguide = priv->label_guide; priv->label_guide = g_value_dup_string(value); if (priv->label_guide != NULL && priv->label_guide[0] == '\0') { g_free(priv->label_guide); priv->label_guide = NULL; } if (g_strcmp0(oldguide, priv->label_guide) != 0) { signal_label_change(APP_INDICATOR(object)); } if (priv->label_guide != NULL && priv->label_guide[0] == '\0') { g_free(priv->label_guide); priv->label_guide = NULL; } if (oldguide != NULL) { g_free(oldguide); } break; } case PROP_ORDERING_INDEX: priv->ordering_index = g_value_get_uint(value); break; case PROP_DBUS_MENU_SERVER: g_clear_object (&priv->menuservice); priv->menuservice = DBUSMENU_SERVER (g_value_dup_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } return; } /* Function to fill our value with the property it's requesting. */ static void app_indicator_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { AppIndicator *self = APP_INDICATOR (object); AppIndicatorPrivate *priv = self->priv; GEnumValue *enum_value; switch (prop_id) { case PROP_ID: g_value_set_string (value, priv->id); break; case PROP_CATEGORY: enum_value = g_enum_get_value ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_CATEGORY), priv->category); g_value_set_string (value, enum_value->value_nick); break; case PROP_STATUS: enum_value = g_enum_get_value ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), priv->status); g_value_set_string (value, enum_value->value_nick); break; case PROP_ICON_NAME: g_value_set_string (value, priv->icon_name); break; case PROP_ICON_DESC: g_value_set_string (value, priv->accessible_desc); break; case PROP_ATTENTION_ICON_NAME: g_value_set_string (value, priv->attention_icon_name); break; case PROP_ATTENTION_ICON_DESC: g_value_set_string (value, priv->att_accessible_desc); break; case PROP_ICON_THEME_PATH: g_value_set_string (value, priv->icon_theme_path); break; case PROP_CONNECTED: { gboolean connected = FALSE; if (priv->watcher_proxy != NULL) { gchar * name = g_dbus_proxy_get_name_owner(priv->watcher_proxy); if (name != NULL) { connected = TRUE; g_free(name); } } g_value_set_boolean (value, connected); break; } case PROP_LABEL: g_value_set_string (value, priv->label); break; case PROP_LABEL_GUIDE: g_value_set_string (value, priv->label_guide); break; case PROP_ORDERING_INDEX: g_value_set_uint(value, priv->ordering_index); break; case PROP_DBUS_MENU_SERVER: g_value_set_object(value, priv->menuservice); break; case PROP_TITLE: g_value_set_string(value, priv->title); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } return; } /* DBus bus has been created, well maybe, but we got a call back about it so we need to check into it. */ static void bus_creation (GObject * obj, GAsyncResult * res, gpointer user_data) { GError * error = NULL; GDBusConnection * connection = g_bus_get_finish(res, &error); if (error != NULL) { g_warning("Unable to get the session bus: %s", error->message); g_error_free(error); g_object_unref(G_OBJECT(user_data)); return; } AppIndicator * app = APP_INDICATOR(user_data); app->priv->connection = connection; /* If the connection was blocking the exporting of the object this function will export everything. */ check_connect(app); g_object_unref(G_OBJECT(app)); return; } static void bus_method_call (GDBusConnection * connection, const gchar * sender, const gchar * path, const gchar * interface, const gchar * method, GVariant * params, GDBusMethodInvocation * invocation, gpointer user_data) { g_return_if_fail(IS_APP_INDICATOR(user_data)); AppIndicator * app = APP_INDICATOR(user_data); AppIndicatorPrivate * priv = app->priv; GVariant * retval = NULL; if (g_strcmp0(method, "Scroll") == 0) { GdkScrollDirection direction; gint delta; const gchar *orientation; g_variant_get(params, "(i&s)", &delta, &orientation); if (g_strcmp0(orientation, "horizontal") == 0) { direction = (delta >= 0) ? GDK_SCROLL_RIGHT : GDK_SCROLL_LEFT; } else if (g_strcmp0(orientation, "vertical") == 0) { direction = (delta >= 0) ? GDK_SCROLL_DOWN : GDK_SCROLL_UP; } else { g_dbus_method_invocation_return_value(invocation, retval); return; } delta = ABS(delta); g_signal_emit(app, signals[SCROLL_EVENT], 0, delta, direction); } else if (g_strcmp0(method, "SecondaryActivate") == 0 || g_strcmp0(method, "XAyatanaSecondaryActivate") == 0) { GtkWidget *menuitem = priv->sec_activate_target; if (priv->sec_activate_enabled && menuitem && gtk_widget_get_visible (menuitem) && gtk_widget_get_sensitive (menuitem)) { gtk_widget_activate (menuitem); } } else { g_warning("Calling method '%s' on the app-indicator and it's unknown", method); } g_dbus_method_invocation_return_value(invocation, retval); } /* DBus is asking for a property so we should figure out what it wants and try and deliver. */ static GVariant * bus_get_prop (GDBusConnection * connection, const gchar * sender, const gchar * path, const gchar * interface, const gchar * property, GError ** error, gpointer user_data) { g_return_val_if_fail(IS_APP_INDICATOR(user_data), NULL); AppIndicator * app = APP_INDICATOR(user_data); AppIndicatorPrivate *priv = app->priv; if (g_strcmp0(property, "Id") == 0) { return g_variant_new_string(app->priv->id ? app->priv->id : ""); } else if (g_strcmp0(property, "Category") == 0) { GEnumValue *enum_value; enum_value = g_enum_get_value ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_CATEGORY), priv->category); return g_variant_new_string(enum_value->value_nick ? enum_value->value_nick : ""); } else if (g_strcmp0(property, "Status") == 0) { GEnumValue *enum_value; enum_value = g_enum_get_value ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), priv->status); return g_variant_new_string(enum_value->value_nick ? enum_value->value_nick : ""); } else if (g_strcmp0(property, "IconName") == 0) { if (priv->absolute_icon_name) { return g_variant_new_string(priv->absolute_icon_name); } return g_variant_new_string(priv->icon_name ? priv->icon_name : ""); } else if (g_strcmp0(property, "AttentionIconName") == 0) { if (priv->absolute_attention_icon_name) { return g_variant_new_string(priv->absolute_attention_icon_name); } return g_variant_new_string(priv->attention_icon_name ? priv->attention_icon_name : ""); } else if (g_strcmp0(property, "Title") == 0) { const gchar * output = NULL; if (priv->title == NULL) { const gchar * name = g_get_application_name(); if (name != NULL) { output = name; } else { output = ""; } } else { output = priv->title; } return g_variant_new_string(output); } else if (g_strcmp0(property, "IconThemePath") == 0) { if (priv->absolute_icon_theme_path) { return g_variant_new_string(priv->absolute_icon_theme_path); } return g_variant_new_string(priv->icon_theme_path ? priv->icon_theme_path : ""); } else if (g_strcmp0(property, "Menu") == 0) { if (priv->menuservice != NULL) { GValue strval = { 0 }; g_value_init(&strval, G_TYPE_STRING); g_object_get_property (G_OBJECT (priv->menuservice), DBUSMENU_SERVER_PROP_DBUS_OBJECT, &strval); GVariant * var = g_variant_new("o", g_value_get_string(&strval)); g_value_unset(&strval); return var; } else { return g_variant_new("o", "/"); } } else if (g_strcmp0(property, "XAyatanaLabel") == 0) { return g_variant_new_string(priv->label ? priv->label : ""); } else if (g_strcmp0(property, "XAyatanaLabelGuide") == 0) { return g_variant_new_string(priv->label_guide ? priv->label_guide : ""); } else if (g_strcmp0(property, "XAyatanaOrderingIndex") == 0) { return g_variant_new_uint32(priv->ordering_index); } else if (g_strcmp0(property, "IconAccessibleDesc") == 0) { return g_variant_new_string(priv->accessible_desc ? priv->accessible_desc : ""); } else if (g_strcmp0(property, "AttentionAccessibleDesc") == 0) { return g_variant_new_string(priv->att_accessible_desc ? priv->att_accessible_desc : ""); } *error = g_error_new(0, 0, "Unknown property: %s", property); return NULL; } /* Sends the label changed signal and resets the source ID */ static gboolean signal_label_change_idle (gpointer user_data) { AppIndicator * self = (AppIndicator *)user_data; AppIndicatorPrivate *priv = self->priv; gchar * label = priv->label != NULL ? priv->label : ""; gchar * guide = priv->label_guide != NULL ? priv->label_guide : ""; g_signal_emit(G_OBJECT(self), signals[NEW_LABEL], 0, label, guide, TRUE); if (priv->dbus_registration != 0 && priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(priv->connection, NULL, priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "XAyatanaNewLabel", g_variant_new("(ss)", label, guide), &error); if (error != NULL) { g_warning("Unable to send signal for NewIcon: %s", error->message); g_error_free(error); } } priv->label_change_idle = 0; return FALSE; } /* Sets up an idle function to send the label changed signal so that we don't send it too many times. */ static void signal_label_change (AppIndicator * self) { AppIndicatorPrivate *priv = self->priv; /* don't set it twice */ if (priv->label_change_idle != 0) { return; } priv->label_change_idle = g_idle_add(signal_label_change_idle, self); return; } /* This function is used to see if we have enough information to connect to things. If we do, and we're not connected, it connects for us. */ static void check_connect (AppIndicator *self) { AppIndicatorPrivate *priv = self->priv; /* Do we have a connection? */ if (priv->connection == NULL) return; /* If we already have a proxy, let's see if it has someone implementing it. If not, we can't do much more than to do nothing. */ if (priv->watcher_proxy != NULL) { gchar * name = g_dbus_proxy_get_name_owner(priv->watcher_proxy); if (name == NULL) { return; } g_free(name); } /* Do we have enough information? */ if (priv->menu == NULL) return; if (priv->icon_name == NULL) return; if (priv->id == NULL) return; if (priv->path == NULL) { priv->path = g_strdup_printf(DEFAULT_ITEM_PATH "/%s", priv->clean_id); } if (priv->dbus_registration == 0) { GError * error = NULL; priv->dbus_registration = g_dbus_connection_register_object(priv->connection, priv->path, item_interface_info, &item_interface_table, self, NULL, &error); if (error != NULL) { g_warning("Unable to register object on path '%s': %s", priv->path, error->message); g_error_free(error); return; } } /* NOTE: It's really important the order here. We make sure to *publish* the object on the bus and *then* get the proxy. The reason is that we want to ensure all the filters are setup before talking to the watcher and that's where the order is important. */ if (priv->watcher_proxy == NULL) return; g_dbus_proxy_call (priv->watcher_proxy, "RegisterStatusNotifierItem", g_variant_new ("(s)", priv->path), G_DBUS_CALL_FLAGS_NONE, -1, NULL, (GAsyncReadyCallback) register_service_cb, (AppIndicator*)g_object_ref (self)); } /* Responce from the DBus command to register a service with a NotificationWatcher. */ static void register_service_cb (GObject * obj, GAsyncResult * res, gpointer user_data) { GError * error = NULL; GVariant * returns = g_dbus_proxy_call_finish(G_DBUS_PROXY(obj), res, &error); /* We don't care about any return values */ if (returns != NULL) { g_variant_unref(returns); } if (error != NULL) { /* They didn't respond, ewww. Not sure what they could be doing */ g_warning("Unable to connect to the Notification Watcher: %s", error->message); start_fallback_timer(APP_INDICATOR(user_data), TRUE); g_object_unref(G_OBJECT(user_data)); return; } g_return_if_fail(IS_APP_INDICATOR(user_data)); AppIndicator * app = APP_INDICATOR(user_data); AppIndicatorPrivate * priv = app->priv; /* Emit the AppIndicator::connection-changed signal*/ g_signal_emit (app, signals[CONNECTION_CHANGED], 0, TRUE); if (priv->status_icon) { AppIndicatorClass * class = APP_INDICATOR_GET_CLASS(app); if (class->unfallback != NULL) { class->unfallback(app, priv->status_icon); priv->status_icon = NULL; } } g_object_unref(G_OBJECT(user_data)); return; } /* A helper function to get the nick out of a given category enum value. */ static const gchar * category_from_enum (AppIndicatorCategory category) { GEnumValue *value; value = g_enum_get_value ((GEnumClass *)g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_CATEGORY), category); return value->value_nick; } /* A function that will start the fallback timer if it's not already started. It sets up the DBus watcher to see if there is a change. Also, provides an override mode for cases where it's unlikely that a timer will help anything. */ static void start_fallback_timer (AppIndicator * self, gboolean disable_timeout) { g_return_if_fail(IS_APP_INDICATOR(self)); AppIndicatorPrivate * priv = APP_INDICATOR(self)->priv; if (priv->fallback_timer != 0) { /* The timer is set, let's just be happy with the one we've already got running */ return; } if (priv->status_icon != NULL) { /* We're already fallen back. Let's not do it again. */ return; } if (disable_timeout) { fallback_timer_expire(self); } else { priv->fallback_timer = g_timeout_add(DEFAULT_FALLBACK_TIMER, fallback_timer_expire, self); } return; } /* A function that gets executed when we want to change the state of the fallback. */ static gboolean fallback_timer_expire (gpointer data) { g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE); AppIndicatorPrivate * priv = APP_INDICATOR(data)->priv; AppIndicatorClass * class = APP_INDICATOR_GET_CLASS(data); if (priv->status_icon == NULL) { if (class->fallback != NULL) { priv->status_icon = class->fallback(APP_INDICATOR(data)); } } else { if (class->unfallback != NULL) { class->unfallback(APP_INDICATOR(data), priv->status_icon); priv->status_icon = NULL; } else { g_warning("No 'unfallback' function but the 'fallback' function returned a non-NULL result."); } } priv->fallback_timer = 0; return FALSE; } /* emit a NEW_ICON signal in response for the theme change */ static void theme_changed_cb (GtkIconTheme * theme, gpointer user_data) { g_signal_emit (user_data, signals[NEW_ICON], 0, TRUE); AppIndicator * self = (AppIndicator *)user_data; AppIndicatorPrivate *priv = self->priv; if (priv->dbus_registration != 0 && priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(priv->connection, NULL, priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewIcon", NULL, &error); if (error != NULL) { g_warning("Unable to send signal for NewIcon: %s", error->message); g_error_free(error); } } return; } /* Creates a StatusIcon that can be used when the application indicator area isn't available. */ static GtkStatusIcon * fallback (AppIndicator * self) { GtkStatusIcon * icon = gtk_status_icon_new(); gtk_status_icon_set_name(icon, app_indicator_get_id(self)); const gchar * title = app_indicator_get_title(self); if (title != NULL) { gtk_status_icon_set_title(icon, title); } g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_STATUS, G_CALLBACK(status_icon_status_wrapper), icon); g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ICON, G_CALLBACK(status_icon_changes), icon); g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, G_CALLBACK(status_icon_changes), icon); status_icon_changes(self, icon); g_signal_connect(G_OBJECT(icon), "activate", G_CALLBACK(status_icon_activate), self); g_signal_connect(G_OBJECT(icon), "popup-menu", G_CALLBACK(status_icon_menu_activate), self); g_signal_connect(G_OBJECT(icon), "scroll-event", G_CALLBACK(scroll_event_wrapper), self); g_signal_connect(G_OBJECT(icon), "button-release-event", G_CALLBACK(middle_click_wrapper), self); return icon; } /* A wrapper as the status update prototype is a little bit different, but we want to handle it the same. */ static void status_icon_status_wrapper (AppIndicator * self, const gchar * status, gpointer data) { return status_icon_changes(self, data); } /* A wrapper for redirecting the scroll events to the app-indicator from status icon widget. */ static gboolean scroll_event_wrapper (GtkWidget *status_icon, GdkEventScroll *event, gpointer data) { g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE); AppIndicator * app = APP_INDICATOR(data); g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction); return TRUE; } static gboolean middle_click_wrapper (GtkWidget *status_icon, GdkEventButton *event, gpointer data) { g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE); AppIndicator * app = APP_INDICATOR(data); AppIndicatorPrivate *priv = app->priv; if (event->button == 2 && event->type == GDK_BUTTON_RELEASE) { GtkAllocation alloc; gint px = event->x; gint py = event->y; gtk_widget_get_allocation (status_icon, &alloc); GtkWidget *menuitem = priv->sec_activate_target; if (px >= 0 && px < alloc.width && py >= 0 && py < alloc.height && priv->sec_activate_enabled && menuitem && gtk_widget_get_visible (menuitem) && gtk_widget_get_sensitive (menuitem)) { gtk_widget_activate (menuitem); return TRUE; } } return FALSE; } /* This tracks changes to either the status or the icons that are associated with the app indicator */ static void status_icon_changes (AppIndicator * self, gpointer data) { GtkStatusIcon * icon = GTK_STATUS_ICON(data); /* add the icon_theme_path once if needed */ GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); const gchar *theme_path = self->priv->absolute_icon_theme_path ? self->priv->absolute_icon_theme_path : self->priv->icon_theme_path; if (theme_path != NULL) { gchar **path; gint n_elements, i; gboolean found=FALSE; gtk_icon_theme_get_search_path(icon_theme, &path, &n_elements); for (i=0; i< n_elements || path[i] == NULL; i++) { if(g_strcmp0(path[i], theme_path) == 0) { found=TRUE; break; } } if(!found) { gtk_icon_theme_append_search_path(icon_theme, theme_path); } g_strfreev (path); } const gchar * icon_name = NULL; switch (app_indicator_get_status(self)) { case APP_INDICATOR_STATUS_PASSIVE: /* hide first to avoid that the change is visible to the user */ gtk_status_icon_set_visible(icon, FALSE); icon_name = app_indicator_get_icon(self); break; case APP_INDICATOR_STATUS_ACTIVE: icon_name = app_indicator_get_icon(self); gtk_status_icon_set_visible(icon, TRUE); break; case APP_INDICATOR_STATUS_ATTENTION: /* get the _attention_ icon here */ icon_name = app_indicator_get_attention_icon(self); gtk_status_icon_set_visible(icon, TRUE); break; }; if (icon_name != NULL) { gchar *snapped_icon = append_snap_prefix(icon_name); if (g_file_test(icon_name, G_FILE_TEST_EXISTS)) { gtk_status_icon_set_from_file(icon, icon_name); } else if (snapped_icon && g_file_test(snapped_icon, G_FILE_TEST_EXISTS)) { gtk_status_icon_set_from_file(icon, snapped_icon); } else { gchar *longname = append_panel_icon_suffix(icon_name); if (longname != NULL && gtk_icon_theme_has_icon (icon_theme, longname)) { gtk_status_icon_set_from_icon_name(icon, longname); } else { gtk_status_icon_set_from_icon_name(icon, icon_name); } g_free(longname); } g_free(snapped_icon); } return; } /* Handles the activate action by the status icon by showing the menu in a popup. */ static void status_icon_activate (GtkStatusIcon * icon, gpointer data) { GtkMenu * menu = app_indicator_get_menu(APP_INDICATOR(data)); if (menu == NULL) return; gtk_menu_popup(menu, NULL, /* Parent Menu */ NULL, /* Parent item */ gtk_status_icon_position_menu, icon, 1, /* Button */ gtk_get_current_event_time()); return; } /* Handles the right-click action by the status icon by showing the menu in a popup. */ static void status_icon_menu_activate (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data) { status_icon_activate(status_icon, user_data); } /* Removes the status icon as the application indicator area is now up and running again. */ static void unfallback (AppIndicator * self, GtkStatusIcon * status_icon) { g_signal_handlers_disconnect_by_func(G_OBJECT(self), status_icon_status_wrapper, status_icon); g_signal_handlers_disconnect_by_func(G_OBJECT(self), status_icon_changes, status_icon); g_signal_handlers_disconnect_by_func(G_OBJECT(self), scroll_event_wrapper, status_icon); g_signal_handlers_disconnect_by_func(G_OBJECT(self), middle_click_wrapper, status_icon); gtk_status_icon_set_visible(status_icon, FALSE); g_object_unref(G_OBJECT(status_icon)); return; } /* A helper function that appends PANEL_ICON_SUFFIX to the given icon name if it's missing. */ static gchar * append_panel_icon_suffix (const gchar *icon_name) { gchar * long_name = NULL; if (!g_str_has_suffix (icon_name, PANEL_ICON_SUFFIX)) { long_name = g_strdup_printf("%s-%s", icon_name, PANEL_ICON_SUFFIX); } else { long_name = g_strdup (icon_name); } return long_name; } static gboolean widget_is_menu_child(AppIndicator * self, GtkWidget *child) { g_return_val_if_fail(IS_APP_INDICATOR(self), FALSE); if (!self->priv->menu) return FALSE; if (!child) return FALSE; GtkWidget *parent; while ((parent = gtk_widget_get_parent(child))) { if (parent == self->priv->menu) return TRUE; if (GTK_IS_MENU(parent)) child = gtk_menu_get_attach_widget(GTK_MENU(parent)); else child = parent; } return FALSE; } static void sec_activate_target_parent_changed(GtkWidget *menuitem, GtkWidget *old_parent, gpointer data) { g_return_if_fail(IS_APP_INDICATOR(data)); AppIndicator *self = data; self->priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); } /* ************************* */ /* Public Functions */ /* ************************* */ /** * app_indicator_new: * @id: The unique id of the indicator to create. * @icon_name: The icon name for this indicator * @category: The category of indicator. * * Creates a new #AppIndicator setting the properties: * #AppIndicator:id with @id, #AppIndicator:category with @category * and #AppIndicator:icon-name with @icon_name. * * Return value: A pointer to a new #AppIndicator object. */ AppIndicator * app_indicator_new (const gchar *id, const gchar *icon_name, AppIndicatorCategory category) { AppIndicator *indicator = g_object_new (APP_INDICATOR_TYPE, PROP_ID_S, id, PROP_CATEGORY_S, category_from_enum (category), PROP_ICON_NAME_S, icon_name, NULL); return indicator; } /** * app_indicator_new_with_path: * @id: The unique id of the indicator to create. * @icon_name: The icon name for this indicator * @category: The category of indicator. * @icon_theme_path: A custom path for finding icons. * Creates a new #AppIndicator setting the properties: * #AppIndicator:id with @id, #AppIndicator:category with @category, * #AppIndicator:icon-name with @icon_name and #AppIndicator:icon-theme-path * with @icon_theme_path. * * Return value: A pointer to a new #AppIndicator object. */ AppIndicator * app_indicator_new_with_path (const gchar *id, const gchar *icon_name, AppIndicatorCategory category, const gchar *icon_theme_path) { AppIndicator *indicator = g_object_new (APP_INDICATOR_TYPE, PROP_ID_S, id, PROP_CATEGORY_S, category_from_enum (category), PROP_ICON_NAME_S, icon_name, PROP_ICON_THEME_PATH_S, icon_theme_path, NULL); return indicator; } /** * app_indicator_get_type: * * Generates or returns the unique #GType for #AppIndicator. * * Return value: A unique #GType for #AppIndicator objects. */ /** * app_indicator_set_status: * @self: The #AppIndicator object to use * @status: The status to set for this indicator * * Wrapper function for property #AppIndicator:status. */ void app_indicator_set_status (AppIndicator *self, AppIndicatorStatus status) { g_return_if_fail (IS_APP_INDICATOR (self)); if (self->priv->status != status) { GEnumValue *value = g_enum_get_value ((GEnumClass *) g_type_class_ref (APP_INDICATOR_TYPE_INDICATOR_STATUS), status); self->priv->status = status; g_signal_emit (self, signals[NEW_STATUS], 0, value->value_nick); if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(self->priv->connection, NULL, self->priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewStatus", g_variant_new("(s)", value->value_nick), &error); if (error != NULL) { g_warning("Unable to send signal for NewStatus: %s", error->message); g_error_free(error); } } } return; } /** * app_indicator_set_attention_icon: * @self: The #AppIndicator object to use * @icon_name: The name of the attention icon to set for this indicator * * Wrapper for app_indicator_set_attention_icon_full() with a NULL * description. * * Deprecated: Use app_indicator_set_attention_icon_full() instead. */ void app_indicator_set_attention_icon (AppIndicator *self, const gchar *icon_name) { return app_indicator_set_attention_icon_full(self, icon_name, NULL); } /** * app_indicator_set_attention_icon_full: * @self: The #AppIndicator object to use * @icon_name: The name of the attention icon to set for this indicator * @icon_desc: A textual description of the icon * * Wrapper function for property #AppIndicator:attention-icon-name. */ void app_indicator_set_attention_icon_full (AppIndicator *self, const gchar *icon_name, const gchar * icon_desc) { g_return_if_fail (IS_APP_INDICATOR (self)); g_return_if_fail (icon_name != NULL); gboolean changed = FALSE; if (g_strcmp0 (self->priv->attention_icon_name, icon_name) != 0) { g_free (self->priv->attention_icon_name); self->priv->attention_icon_name = g_strdup (icon_name); g_free(self->priv->absolute_attention_icon_name); self->priv->absolute_attention_icon_name = NULL; if (icon_name && icon_name[0] == '/') { self->priv->absolute_attention_icon_name = append_snap_prefix (icon_name); } changed = TRUE; } if (g_strcmp0(self->priv->att_accessible_desc, icon_desc) != 0) { g_free (self->priv->att_accessible_desc); self->priv->att_accessible_desc = g_strdup (icon_desc); changed = TRUE; } if (changed) { g_signal_emit (self, signals[NEW_ATTENTION_ICON], 0, TRUE); if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(self->priv->connection, NULL, self->priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewAttentionIcon", NULL, &error); if (error != NULL) { g_warning("Unable to send signal for NewAttentionIcon: %s", error->message); g_error_free(error); } } } return; } /** * app_indicator_set_icon: * @self: The #AppIndicator object to use * @icon_name: The icon name to set. * * Wrapper function for app_indicator_set_icon_full() with a NULL * description. * * Deprecated: Use app_indicator_set_icon_full() */ void app_indicator_set_icon (AppIndicator *self, const gchar *icon_name) { return app_indicator_set_icon_full(self, icon_name, NULL); } /** * app_indicator_set_icon_full: * @self: The #AppIndicator object to use * @icon_name: The icon name to set. * @icon_desc: A textual description of the icon for accessibility * * Sets the default icon to use when the status is active but * not set to attention. In most cases, this should be the * application icon for the program. * * Wrapper function for property #AppIndicator:icon-name and * #AppIndicator::icon-desc. */ void app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const gchar * icon_desc) { g_return_if_fail (IS_APP_INDICATOR (self)); g_return_if_fail (icon_name != NULL); gboolean changed = FALSE; if (g_strcmp0 (self->priv->icon_name, icon_name) != 0) { if (self->priv->icon_name) { g_free (self->priv->icon_name); } self->priv->icon_name = g_strdup(icon_name); g_free(self->priv->absolute_icon_name); self->priv->absolute_icon_name = NULL; if (icon_name && icon_name[0] == '/') { self->priv->absolute_icon_name = append_snap_prefix (icon_name); } changed = TRUE; } if (g_strcmp0(self->priv->accessible_desc, icon_desc) != 0) { if (self->priv->accessible_desc != NULL) { g_free(self->priv->accessible_desc); } self->priv->accessible_desc = g_strdup(icon_desc); changed = TRUE; } if (changed) { g_signal_emit (self, signals[NEW_ICON], 0, TRUE); if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) { GError * error = NULL; g_dbus_connection_emit_signal(self->priv->connection, NULL, self->priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewIcon", NULL, &error); if (error != NULL) { g_warning("Unable to send signal for NewIcon: %s", error->message); g_error_free(error); } } } return; } /** * app_indicator_set_label: * @self: The #AppIndicator object to use * @label: The label to show next to the icon. * @guide: A guide to size the label correctly. * * This is a wrapper function for the #AppIndicator:label and * #AppIndicator:guide properties. This function can take #NULL * as either @label or @guide and will clear the entries. */ void app_indicator_set_label (AppIndicator *self, const gchar * label, const gchar * guide) { g_return_if_fail (IS_APP_INDICATOR (self)); /* Note: The label can be NULL, it's okay */ /* Note: The guide can be NULL, it's okay */ g_object_set(G_OBJECT(self), PROP_LABEL_S, label == NULL ? "" : label, PROP_LABEL_GUIDE_S, guide == NULL ? "" : guide, NULL); return; } static const gchar * get_snap_prefix () { const gchar *snap = g_getenv ("SNAP"); return (snap && *snap != '\0') ? snap : NULL; } static gchar * append_snap_prefix (const gchar *path) { gint i; const gchar *snap = get_snap_prefix (); g_autofree gchar *canon_path = NULL; if (snap != NULL && path != NULL) { canon_path = canonicalize_file_name(path); if (g_str_has_prefix (canon_path, "/tmp/")) { g_warning ("Using '/tmp' paths in SNAP environment will lead to unreadable resources"); return NULL; } if (g_str_has_prefix (canon_path, snap) || g_str_has_prefix (canon_path, g_get_home_dir ()) || g_str_has_prefix (canon_path, g_get_user_cache_dir ()) || g_str_has_prefix (canon_path, g_get_user_config_dir ()) || g_str_has_prefix (canon_path, g_get_user_data_dir ()) || g_str_has_prefix (canon_path, g_get_user_runtime_dir ())) { return g_strdup (canon_path); } for (i = 0; i < G_USER_N_DIRECTORIES; ++ i) { if (g_str_has_prefix (canon_path, g_get_user_special_dir (i))) { return g_strdup (canon_path); } } return g_build_path (G_DIR_SEPARATOR_S, snap, canon_path, NULL); } return NULL; } static gchar * get_real_theme_path (AppIndicator * self) { const gchar *theme_path = self->priv->icon_theme_path; gchar *snapped_path = append_snap_prefix (theme_path); if (snapped_path != NULL) { return snapped_path; } else if (get_snap_prefix ()) { return g_build_path (G_DIR_SEPARATOR_S, g_get_user_data_dir (), "icons", NULL); } return NULL; } /** * app_indicator_set_icon_theme_path: * @self: The #AppIndicator object to use * @icon_theme_path: The icon theme path to set. * * Sets the path to use when searching for icons. */ void app_indicator_set_icon_theme_path (AppIndicator *self, const gchar *icon_theme_path) { g_return_if_fail (IS_APP_INDICATOR (self)); if (g_strcmp0 (self->priv->icon_theme_path, icon_theme_path) != 0) { if (self->priv->icon_theme_path != NULL) g_free(self->priv->icon_theme_path); self->priv->icon_theme_path = g_strdup(icon_theme_path); g_free (self->priv->absolute_icon_theme_path); self->priv->absolute_icon_theme_path = get_real_theme_path (self); g_signal_emit (self, signals[NEW_ICON_THEME_PATH], 0, self->priv->icon_theme_path, TRUE); if (self->priv->dbus_registration != 0 && self->priv->connection != NULL) { const gchar *theme_path = self->priv->absolute_icon_theme_path ? self->priv->absolute_icon_theme_path : self->priv->icon_theme_path; GError * error = NULL; g_dbus_connection_emit_signal(self->priv->connection, NULL, self->priv->path, NOTIFICATION_ITEM_DBUS_IFACE, "NewIconThemePath", g_variant_new("(s)", theme_path ? theme_path : ""), &error); if (error != NULL) { g_warning("Unable to send signal for NewIconThemePath: %s", error->message); g_error_free(error); } } } return; } /* Does the dbusmenu related work. If there isn't a server, it builds one and if there are menus it runs the parse to put those menus into the server. */ static void setup_dbusmenu (AppIndicator *self) { AppIndicatorPrivate *priv; DbusmenuMenuitem *root = NULL; priv = self->priv; if (priv->menu) { root = dbusmenu_gtk_parse_menu_structure(priv->menu); } if (priv->menuservice == NULL) { gchar * path = g_strdup_printf(DEFAULT_ITEM_PATH "/%s/Menu", priv->clean_id); priv->menuservice = dbusmenu_server_new (path); g_free(path); } dbusmenu_server_set_root (priv->menuservice, root); /* Drop our local ref as set_root should get it's own. */ if (root != NULL) { g_object_unref(root); } return; } /** * app_indicator_set_menu: * @self: The #AppIndicator * @menu: (allow-none): A #GtkMenu to set * * Sets the menu that should be shown when the Application Indicator * is clicked on in the panel. An application indicator will not * be rendered unless it has a menu. * * Wrapper function for property #AppIndicator:menu. */ void app_indicator_set_menu (AppIndicator *self, GtkMenu *menu) { AppIndicatorPrivate *priv; g_return_if_fail (IS_APP_INDICATOR (self)); g_return_if_fail (GTK_IS_MENU (menu)); g_return_if_fail (self->priv->clean_id != NULL); priv = self->priv; if (priv->menu != NULL) { g_object_unref (priv->menu); } priv->menu = GTK_WIDGET (menu); g_object_ref_sink (priv->menu); setup_dbusmenu (self); priv->sec_activate_enabled = widget_is_menu_child (self, priv->sec_activate_target); check_connect (self); return; } /** * app_indicator_set_ordering_index: * @self: The #AppIndicator * @ordering_index: A value for the ordering of this app indicator * * Sets the ordering index for the app indicator which effects the * placement of it on the panel. For almost all app indicator * this is not the function you're looking for. * * Wrapper function for property #AppIndicator:ordering-index. */ void app_indicator_set_ordering_index (AppIndicator *self, guint32 ordering_index) { g_return_if_fail (IS_APP_INDICATOR (self)); self->priv->ordering_index = ordering_index; return; } /** * app_indicator_set_secondary_activate_target: * @self: The #AppIndicator * @menuitem: (allow-none): A #GtkWidget to be activated on secondary activation * * Set the @menuitem to be activated when a secondary activation event (i.e. a * middle-click) is emitted over the #AppIndicator icon/label. * * The @menuitem can be also a complex #GtkWidget, but to get activated when * a secondary activation occurs in the #Appindicator, it must be a visible and * active child (or inner-child) of the #AppIndicator:menu. * * Setting @menuitem to %NULL causes to disable this feature. */ void app_indicator_set_secondary_activate_target (AppIndicator *self, GtkWidget *menuitem) { g_return_if_fail (IS_APP_INDICATOR (self)); AppIndicatorPrivate *priv = self->priv; if (priv->sec_activate_target) { g_signal_handlers_disconnect_by_func (priv->sec_activate_target, sec_activate_target_parent_changed, self); g_object_unref(G_OBJECT(priv->sec_activate_target)); priv->sec_activate_target = NULL; } if (menuitem == NULL) { return; } g_return_if_fail (GTK_IS_WIDGET (menuitem)); priv->sec_activate_target = (GtkWidget*)g_object_ref(G_OBJECT(menuitem)); priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); g_signal_connect(menuitem, "parent-set", G_CALLBACK(sec_activate_target_parent_changed), self); } /** * app_indicator_set_title: * @self: The #AppIndicator * @title: (allow-none): Title of the app indicator * * Sets the title of the application indicator, or how it should be referred * in a human readable form. This string should be UTF-8 and localized as it * expected that users will set it. * * In the Unity desktop the most prominent place that this is show will be * in the HUD. HUD listings for this application indicator will start with * the title as the first part of the line for the menu items. * * Setting @title to %NULL removes the title. * * Since: 0.5 * */ void app_indicator_set_title (AppIndicator *self, const gchar * title) { g_return_if_fail (IS_APP_INDICATOR (self)); g_object_set(G_OBJECT(self), PROP_TITLE_S, title == NULL ? "": title, NULL); return; } /** * app_indicator_get_id: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:id. * * Return value: The current ID */ const gchar * app_indicator_get_id (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->id; } /** * app_indicator_get_category: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:category. * * Return value: The current category. */ AppIndicatorCategory app_indicator_get_category (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), APP_INDICATOR_CATEGORY_APPLICATION_STATUS); return self->priv->category; } /** * app_indicator_get_status: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:status. * * Return value: The current status. */ AppIndicatorStatus app_indicator_get_status (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), APP_INDICATOR_STATUS_PASSIVE); return self->priv->status; } /** * app_indicator_get_icon: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:icon-name. * * Return value: The current icon name. */ const gchar * app_indicator_get_icon (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->icon_name; } /** * app_indicator_get_icon_desc: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:icon-desc. * * Return value: The current icon description. */ const gchar * app_indicator_get_icon_desc (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->accessible_desc; } /** * app_indicator_get_icon_theme_path: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:icon-theme-path. * * Return value: The current icon theme path. */ const gchar * app_indicator_get_icon_theme_path (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->icon_theme_path; } /** * app_indicator_get_attention_icon: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:attention-icon-name. * * Return value: The current attention icon name. */ const gchar * app_indicator_get_attention_icon (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->attention_icon_name; } /** * app_indicator_get_attention_icon_desc: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:attention-icon-desc. * * Return value: The current attention icon description. */ const gchar * app_indicator_get_attention_icon_desc (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->att_accessible_desc; } /** * app_indicator_get_title: * @self: The #AppIndicator object to use * * Gets the title of the application indicator. See the function * app_indicator_set_title() for information on the title. * * Return value: The current title. * * Since: 0.5 * */ const gchar * app_indicator_get_title (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->title; } /** * app_indicator_get_menu: * @self: The #AppIndicator object to use * * Gets the menu being used for this application indicator. * Wrapper function for property #AppIndicator:menu. * * Returns: (transfer none): A #GtkMenu object or %NULL if one hasn't been set. */ GtkMenu * app_indicator_get_menu (AppIndicator *self) { AppIndicatorPrivate *priv; g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); priv = self->priv; return GTK_MENU(priv->menu); } /** * app_indicator_get_label: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:label. * * Return value: The current label. */ const gchar * app_indicator_get_label (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->label; } /** * app_indicator_get_label_guide: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:label-guide. * * Return value: The current label guide. */ const gchar * app_indicator_get_label_guide (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return self->priv->label_guide; } /** * app_indicator_get_ordering_index: * @self: The #AppIndicator object to use * * Wrapper function for property #AppIndicator:ordering-index. * * Return value: The current ordering index. */ guint32 app_indicator_get_ordering_index (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), 0); if (self->priv->ordering_index == 0) { return _generate_id(self->priv->category, self->priv->id); } else { return self->priv->ordering_index; } } /** * app_indicator_get_secondary_activate_target: * @self: The #AppIndicator object to use * * Gets the menuitem being called on secondary-activate event. * * Returns: (transfer none): A #GtkWidget object or %NULL if none has been set. */ GtkWidget * app_indicator_get_secondary_activate_target (AppIndicator *self) { g_return_val_if_fail (IS_APP_INDICATOR (self), NULL); return GTK_WIDGET(self->priv->sec_activate_target); } #define APP_INDICATOR_SHORTY_NICK "app-indicator-shorty-nick" /* Callback when an item from the desktop shortcuts gets called. */ static void shorty_activated_cb (DbusmenuMenuitem * mi, guint timestamp, gpointer user_data) { gchar * nick = g_object_get_data(G_OBJECT(mi), APP_INDICATOR_SHORTY_NICK); g_return_if_fail(nick != NULL); g_return_if_fail(IS_APP_INDICATOR(user_data)); AppIndicator * self = APP_INDICATOR(user_data); AppIndicatorPrivate *priv = self->priv; g_return_if_fail(priv->shorties != NULL); indicator_desktop_shortcuts_nick_exec_with_context(priv->shorties, nick, NULL); return; } /** * app_indicator_build_menu_from_desktop: * @self: The #AppIndicator object to use * @desktop_file: A path to the desktop file to build the menu from * @desktop_profile: Which entries should be used from the desktop file * * This function allows for building the Application Indicator menu * from a static desktop file. */ void app_indicator_build_menu_from_desktop (AppIndicator * self, const gchar * desktop_file, const gchar * desktop_profile) { g_return_if_fail(IS_APP_INDICATOR(self)); AppIndicatorPrivate *priv = self->priv; /* Build a new shortcuts object */ if (priv->shorties != NULL) { g_object_unref(priv->shorties); priv->shorties = NULL; } priv->shorties = indicator_desktop_shortcuts_new(desktop_file, desktop_profile); g_return_if_fail(priv->shorties != NULL); const gchar ** nicks = indicator_desktop_shortcuts_get_nicks(priv->shorties); int nick_num; /* Place the items on a dbusmenu */ DbusmenuMenuitem * root = dbusmenu_menuitem_new(); for (nick_num = 0; nicks[nick_num] != NULL; nick_num++) { DbusmenuMenuitem * item = dbusmenu_menuitem_new(); g_object_set_data(G_OBJECT(item), APP_INDICATOR_SHORTY_NICK, (gpointer)nicks[nick_num]); gchar * name = indicator_desktop_shortcuts_nick_get_name(priv->shorties, nicks[nick_num]); dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, name); g_free(name); g_signal_connect(G_OBJECT(item), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(shorty_activated_cb), self); dbusmenu_menuitem_child_append(root, item); } /* Swap it if needed */ if (priv->menuservice == NULL) { gchar * path = g_strdup_printf(DEFAULT_ITEM_PATH "/%s/Menu", priv->clean_id); priv->menuservice = dbusmenu_server_new (path); g_free(path); } dbusmenu_server_set_root (priv->menuservice, root); if (priv->menu != NULL) { g_object_unref(G_OBJECT(priv->menu)); priv->menu = NULL; } return; } libayatana-appindicator-0.5.3/src/app-indicator-enum-types.c.in0000644000000000000000000000341313254161055021366 0ustar /*** BEGIN file-header ***/ /* An object to represent the application as an application indicator in the system panel. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ #include "app-indicator-enum-types.h" /*** END file-header ***/ /*** BEGIN file-production ***/ #include "@basename@" /*** END file-production ***/ /*** BEGIN value-header ***/ /** @enum_name@_get_type: Builds a GLib type for the #@EnumName@ enumeration. Return value: A unique #GType for the #@EnumName@ enum. */ GType @enum_name@_get_type (void) { static GType etype = 0; if (G_UNLIKELY(etype == 0)) { static const G@Type@Value values[] = { /*** END value-header ***/ /*** BEGIN value-production ***/ { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, /*** END value-production ***/ /*** BEGIN value-tail ***/ { 0, NULL, NULL} }; etype = g_@type@_register_static (g_intern_static_string("@EnumName@"), values); } return etype; } /*** END value-tail ***/ libayatana-appindicator-0.5.3/src/app-indicator-enum-types.h.in0000644000000000000000000000301613254161055021372 0ustar /*** BEGIN file-header ***/ /* An object to represent the application as an application indicator in the system panel. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ #ifndef __APP_INDICATOR_ENUM_TYPES_H__ #define __APP_INDICATOR_ENUM_TYPES_H__ #include G_BEGIN_DECLS /*** END file-header ***/ /*** BEGIN file-tail ***/ G_END_DECLS #endif /* __APP_INDICATOR_ENUM_TYPES_H__ */ /*** END file-tail ***/ /*** BEGIN file-production ***/ /* Enumerations from file: "@basename@" */ /*** END file-production ***/ /*** BEGIN value-header ***/ GType @enum_name@_get_type (void) G_GNUC_CONST; #define APP_INDICATOR_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) /*** END value-header ***/ libayatana-appindicator-0.5.3/src/app-indicator.h0000644000000000000000000003513113254161055016664 0ustar /* An object to represent the application as an application indicator in the system panel. Copyright 2009 Canonical Ltd. Authors: Ted Gould Cody Russell This program is free software: you can redistribute it and/or modify it under the terms of either or both of the following licenses: 1) the GNU Lesser General Public License version 3, as published by the Free Software Foundation; and/or 2) the GNU Lesser General Public License version 2.1, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable version of the GNU Lesser General Public License for more details. You should have received a copy of both the GNU Lesser General Public License version 3 and version 2.1 along with this program. If not, see */ #ifndef __APP_INDICATOR_H__ #define __APP_INDICATOR_H__ #include G_BEGIN_DECLS /** * APP_INDICATOR_TYPE: * * Get the #GType for a #AppIndicator. */ /** * APP_INDICATOR: * @obj: The object to convert * * Safely convert a #GObject into an #AppIndicator. */ /** * APP_INDICATOR_CLASS: * @klass: #GObjectClass based class to convert. * * Safely convert a #GObjectClass into a #AppIndicatorClass. */ /** * IS_APP_INDICATOR: * @obj: An #GObject to check * * Checks to see if @obj is in the object hierarchy of #AppIndicator. */ /** * IS_APP_INDICATOR_CLASS: * @klass: An #GObjectClass to check * * Checks to see if @klass is in the object class hierarchy of #AppIndicatorClass. */ /** * APP_INDICATOR_GET_CLASS: * @obj: A #GObject in the class hierarchy of #AppIndicator. * * Gets a pointer to the #AppIndicatorClass for the object @obj. */ #define APP_INDICATOR_TYPE (app_indicator_get_type ()) #define APP_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), APP_INDICATOR_TYPE, AppIndicator)) #define APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), APP_INDICATOR_TYPE, AppIndicatorClass)) #define IS_APP_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APP_INDICATOR_TYPE)) #define IS_APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APP_INDICATOR_TYPE)) #define APP_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), APP_INDICATOR_TYPE, AppIndicatorClass)) /** * APP_INDICATOR_SIGNAL_NEW_ICON: * * String identifier for the #AppIndicator::new-icon signal. */ /** * APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON: * * String identifier for the #AppIndicator::new-attention-icon signal. */ /** * APP_INDICATOR_SIGNAL_NEW_STATUS: * * String identifier for the #AppIndicator::new-status signal. */ /** * APP_INDICATOR_SIGNAL_NEW_LABEL: * * String identifier for the #AppIndicator::new-label signal. */ /** * APP_INDICATOR_SIGNAL_CONNECTION_CHANGED: * * String identifier for the #AppIndicator::connection-changed signal. */ /** * APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH: * * String identifier for the #AppIndicator::new-icon-theme-path signal. */ /** * APP_INDICATOR_SIGNAL_SCROLL_EVENT: * * String identifier for the #AppIndicator::scroll-event signal. */ #define APP_INDICATOR_SIGNAL_NEW_ICON "new-icon" #define APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON "new-attention-icon" #define APP_INDICATOR_SIGNAL_NEW_STATUS "new-status" #define APP_INDICATOR_SIGNAL_NEW_LABEL "new-label" #define APP_INDICATOR_SIGNAL_CONNECTION_CHANGED "connection-changed" #define APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH "new-icon-theme-path" #define APP_INDICATOR_SIGNAL_SCROLL_EVENT "scroll-event" /** * AppIndicatorCategory: * @APP_INDICATOR_CATEGORY_APPLICATION_STATUS: The indicator is used to display the status of the application. * @APP_INDICATOR_CATEGORY_COMMUNICATIONS: The application is used for communication with other people. * @APP_INDICATOR_CATEGORY_SYSTEM_SERVICES: A system indicator relating to something in the user's system. * @APP_INDICATOR_CATEGORY_HARDWARE: An indicator relating to the user's hardware. * @APP_INDICATOR_CATEGORY_OTHER: Something not defined in this enum, please don't use unless you really need it. * * The category provides grouping for the indicators so that * users can find indicators that are similar together. */ typedef enum { /*< prefix=APP_INDICATOR_CATEGORY >*/ APP_INDICATOR_CATEGORY_APPLICATION_STATUS, /*< nick=ApplicationStatus >*/ APP_INDICATOR_CATEGORY_COMMUNICATIONS, /*< nick=Communications >*/ APP_INDICATOR_CATEGORY_SYSTEM_SERVICES, /*< nick=SystemServices >*/ APP_INDICATOR_CATEGORY_HARDWARE, /*< nick=Hardware >*/ APP_INDICATOR_CATEGORY_OTHER /*< nick=Other >*/ } AppIndicatorCategory; /** * AppIndicatorStatus: * @APP_INDICATOR_STATUS_PASSIVE: The indicator should not be shown to the user. * @APP_INDICATOR_STATUS_ACTIVE: The indicator should be shown in it's default state. * @APP_INDICATOR_STATUS_ATTENTION: The indicator should show it's attention icon. * * These are the states that the indicator can be on in * the user's panel. The indicator by default starts * in the state @APP_INDICATOR_STATUS_PASSIVE and can be * shown by setting it to @APP_INDICATOR_STATUS_ACTIVE. */ typedef enum { /*< prefix=APP_INDICATOR_STATUS >*/ APP_INDICATOR_STATUS_PASSIVE, /*< nick=Passive >*/ APP_INDICATOR_STATUS_ACTIVE, /*< nick=Active >*/ APP_INDICATOR_STATUS_ATTENTION /*< nick=NeedsAttention >*/ } AppIndicatorStatus; typedef struct _AppIndicator AppIndicator; typedef struct _AppIndicatorClass AppIndicatorClass; typedef struct _AppIndicatorPrivate AppIndicatorPrivate; /** * AppIndicatorClass: * @parent_class: Mia familia * @new_icon: Slot for #AppIndicator::new-icon. * @new_attention_icon: Slot for #AppIndicator::new-attention-icon. * @new_status: Slot for #AppIndicator::new-status. * @new_icon_theme_path: Slot for #AppIndicator::new-icon-theme-path * @new_label: Slot for #AppIndicator::new-label. * @connection_changed: Slot for #AppIndicator::connection-changed. * @scroll_event: Slot for #AppIndicator::scroll-event * @app_indicator_reserved_ats: Reserved for future use. * @fallback: Function that gets called to make a #GtkStatusIcon when * there is no Application Indicator area available. * @unfallback: The function that gets called if an Application * Indicator area appears after the fallback has been created. * @app_indicator_reserved_1: Reserved for future use. * @app_indicator_reserved_2: Reserved for future use. * @app_indicator_reserved_3: Reserved for future use. * @app_indicator_reserved_4: Reserved for future use. * @app_indicator_reserved_5: Reserved for future use. * @app_indicator_reserved_6: Reserved for future use. * * The signals and external functions that make up the #AppIndicator * class object. */ struct _AppIndicatorClass { /* Parent */ GObjectClass parent_class; /* DBus Signals */ void (* new_icon) (AppIndicator *indicator, gpointer user_data); void (* new_attention_icon) (AppIndicator *indicator, gpointer user_data); void (* new_status) (AppIndicator *indicator, const gchar *status, gpointer user_data); void (* new_icon_theme_path) (AppIndicator *indicator, const gchar *icon_theme_path, gpointer user_data); void (* new_label) (AppIndicator *indicator, const gchar *label, const gchar *guide, gpointer user_data); /* Local Signals */ void (* connection_changed) (AppIndicator * indicator, gboolean connected, gpointer user_data); void (* scroll_event) (AppIndicator * indicator, gint delta, GdkScrollDirection direction, gpointer user_data); void (*app_indicator_reserved_ats)(void); /* Overridable Functions */ GtkStatusIcon * (*fallback) (AppIndicator * indicator); void (*unfallback) (AppIndicator * indicator, GtkStatusIcon * status_icon); /* Reserved */ void (*app_indicator_reserved_1)(void); void (*app_indicator_reserved_2)(void); void (*app_indicator_reserved_3)(void); void (*app_indicator_reserved_4)(void); void (*app_indicator_reserved_5)(void); void (*app_indicator_reserved_6)(void); }; /** * AppIndicator: * parent: Parent object. * priv: Internal data. * * An application indicator represents the values that are needed to show a * unique status in the panel for an application. In general, applications * should try to fit in the other indicators that are available on the * panel before using this. But, sometimes it is necissary. * */ struct _AppIndicator { GObject parent; /*< Private >*/ AppIndicatorPrivate *priv; }; /* GObject Stuff */ GType app_indicator_get_type (void) G_GNUC_CONST; AppIndicator *app_indicator_new (const gchar *id, const gchar *icon_name, AppIndicatorCategory category); AppIndicator *app_indicator_new_with_path (const gchar *id, const gchar *icon_name, AppIndicatorCategory category, const gchar *icon_theme_path); /* Set properties */ void app_indicator_set_status (AppIndicator *self, AppIndicatorStatus status); void app_indicator_set_attention_icon (AppIndicator *self, const gchar *icon_name); void app_indicator_set_attention_icon_full (AppIndicator *self, const gchar *icon_name, const gchar *icon_desc); void app_indicator_set_menu (AppIndicator *self, GtkMenu *menu); void app_indicator_set_icon (AppIndicator *self, const gchar *icon_name); void app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const gchar *icon_desc); void app_indicator_set_label (AppIndicator *self, const gchar *label, const gchar *guide); void app_indicator_set_icon_theme_path(AppIndicator *self, const gchar *icon_theme_path); void app_indicator_set_ordering_index (AppIndicator *self, guint32 ordering_index); void app_indicator_set_secondary_activate_target (AppIndicator *self, GtkWidget *menuitem); void app_indicator_set_title (AppIndicator *self, const gchar *title); /* Get properties */ const gchar * app_indicator_get_id (AppIndicator *self); AppIndicatorCategory app_indicator_get_category (AppIndicator *self); AppIndicatorStatus app_indicator_get_status (AppIndicator *self); const gchar * app_indicator_get_icon (AppIndicator *self); const gchar * app_indicator_get_icon_desc (AppIndicator *self); const gchar * app_indicator_get_icon_theme_path (AppIndicator *self); const gchar * app_indicator_get_attention_icon (AppIndicator *self); const gchar * app_indicator_get_attention_icon_desc (AppIndicator *self); const gchar * app_indicator_get_title (AppIndicator *self); GtkMenu * app_indicator_get_menu (AppIndicator *self); const gchar * app_indicator_get_label (AppIndicator *self); const gchar * app_indicator_get_label_guide (AppIndicator *self); guint32 app_indicator_get_ordering_index (AppIndicator *self); GtkWidget * app_indicator_get_secondary_activate_target (AppIndicator *self); /* Helpers */ void app_indicator_build_menu_from_desktop (AppIndicator * self, const gchar * desktop_file, const gchar * desktop_profile); G_END_DECLS /** * SECTION:app-indicator * @short_description: An object to put application information * into the panel. * @stability: Unstable * @include: libappindicator/app-indicator.h * * An application indicator is a way for an application to put * a menu into the panel on the user's screen. This allows the * user to interact with the application even though it might * not be visible to the user at the time. In most cases this * is not a good solution as there are other ways to inform the * user. It should only be use if persistence is a desired * feature for the user (not for your marketing purpose of * having your logo in the panel). */ #endif libayatana-appindicator-0.5.3/src/application-service-marshal.list0000644000000000000000000000162213254161055022242 0ustar # Marshaller definitions to be generated. # # Copyright 2009 Canonical Ltd. # # Authors: # Ted Gould # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranties of # MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR # PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . VOID: STRING, INT, STRING, STRING, STRING, STRING, STRING VOID: INT, STRING, STRING VOID: INT, STRING VOID: STRING, STRING VOID: BOOL, STRING, OBJECT VOID: INT, UINT VOID: INT, INT libayatana-appindicator-0.5.3/src/AyatanaAppIndicator-0.1.metadata.in0000644000000000000000000000013613254161055022235 0ustar AyatanaAppIndicator name="AppIndicator" Indicator.priv hidden="1" IndicatorPrivate hidden="1" libayatana-appindicator-0.5.3/src/ayatana-appindicator-0.1.pc.in0000644000000000000000000000050513254161055021274 0ustar prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ bindir=@bindir@ includedir=@includedir@ Cflags: -I${includedir}/libayatana-appindicator-0.1 Requires: dbusmenu-glib-0.4 gtk+-2.0 Libs: -L${libdir} -layatana-appindicator Name: ayatana-appindicator-0.1 Description: Ayatana Application Indicators Version: @VERSION@ libayatana-appindicator-0.5.3/src/AyatanaAppIndicator3-0.1.metadata.in0000644000000000000000000000013713254161055022321 0ustar AyatanaAppIndicator3 name="AppIndicator" Indicator.priv hidden="1" IndicatorPrivate hidden="1" libayatana-appindicator-0.5.3/src/ayatana-appindicator3-0.1.pc.in0000644000000000000000000000051013254161055021353 0ustar prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ bindir=@bindir@ includedir=@includedir@ Cflags: -I${includedir}/libayatana-appindicator3-0.1 Requires: dbusmenu-glib-0.4 gtk+-3.0 Libs: -L${libdir} -layatana-appindicator3 Name: ayatana-appindicator3-0.1 Description: Ayatana Application Indicators Version: @VERSION@ libayatana-appindicator-0.5.3/src/dbus-shared.h0000644000000000000000000000261013254161055016327 0ustar /* DBus defaults for everyone to share in the project. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define INDICATOR_APPLICATION_DBUS_ADDR "org.ayatana.indicator.application" #define INDICATOR_APPLICATION_DBUS_OBJ "/org/ayatana/indicator/application/service" #define INDICATOR_APPLICATION_DBUS_IFACE "org.ayatana.indicator.application.service" #define NOTIFICATION_WATCHER_DBUS_ADDR "org.kde.StatusNotifierWatcher" #define NOTIFICATION_WATCHER_DBUS_OBJ "/StatusNotifierWatcher" #define NOTIFICATION_WATCHER_DBUS_IFACE "org.kde.StatusNotifierWatcher" #define NOTIFICATION_ITEM_DBUS_IFACE "org.kde.StatusNotifierItem" #define NOTIFICATION_ITEM_DEFAULT_OBJ "/StatusNotifierItem" #define NOTIFICATION_APPROVER_DBUS_IFACE "org.ayatana.StatusNotifierApprover" libayatana-appindicator-0.5.3/src/generate-id.c0000644000000000000000000000321613254161055016310 0ustar /* Quick litte lack to generate the ordering ID. Copyright 2010 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "generate-id.h" #define MULTIPLIER 32 guint32 _generate_id (const AppIndicatorCategory catenum, const gchar * id) { guchar category = 0; guchar first = 0; guchar second = 0; guchar third = 0; switch (catenum) { case APP_INDICATOR_CATEGORY_OTHER: category = MULTIPLIER * 5; break; case APP_INDICATOR_CATEGORY_APPLICATION_STATUS: category = MULTIPLIER * 4; break; case APP_INDICATOR_CATEGORY_COMMUNICATIONS: category = MULTIPLIER * 3; break; case APP_INDICATOR_CATEGORY_SYSTEM_SERVICES: category = MULTIPLIER * 2; break; case APP_INDICATOR_CATEGORY_HARDWARE: category = MULTIPLIER * 1; break; default: g_warning("Got an undefined category: %d", category); category = 0; break; } if (id != NULL) { if (id[0] != '\0') { first = id[0]; if (id[1] != '\0') { second = id[1]; if (id[2] != '\0') { third = id[2]; } } } } return (((((category << 8) + first) << 8) + second) << 8) + third; } libayatana-appindicator-0.5.3/src/generate-id.h0000644000000000000000000000163013254161055016313 0ustar /* Quick litte lack to generate the ordering ID. Copyright 2010 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef __GENERATE_ID_H__ #define __GENERATE_ID_H__ #include #include "app-indicator.h" guint32 _generate_id (const AppIndicatorCategory category, const gchar * id); #endif /* __GENERATE_ID_H__ */ libayatana-appindicator-0.5.3/src/Makefile.am0000644000000000000000000001324513254161055016017 0ustar if USE_GTK3 VER=3 lib_LTLIBRARIES = libayatana-appindicator3.la GTKGIR = Gtk-3.0 else VER= lib_LTLIBRARIES = libayatana-appindicator.la GTKGIR = Gtk-2.0 endif CLEANFILES = DISTCLEANFILES = Makefile.in BUILT_SOURCES = EXTRA_DIST = \ ayatana-appindicator-0.1.pc.in \ ayatana-appindicator3-0.1.pc.in \ AyatanaAppIndicator-0.1.metadata.in \ AyatanaAppIndicator3-0.1.metadata.in include $(top_srcdir)/Makefile.am.enum include $(top_srcdir)/Makefile.am.marshal ################################## # Marshallers ################################## BUILT_SOURCES += \ application-service-marshal.h \ application-service-marshal.c glib_marshal_list = application-service-marshal.list glib_marshal_prefix = _application_service_marshal ################################## # Library ################################## pkgconfig_DATA = ayatana-appindicator$(VER)-0.1.pc pkgconfigdir = $(libdir)/pkgconfig glib_enum_h = app-indicator-enum-types.h glib_enum_c = app-indicator-enum-types.c glib_enum_headers = $(addprefix $(srcdir)/, $(libayatana_appindicator_headers)) DISTCLEANFILES += app-indicator-enum-types.c libayatana_appindicatorincludefolder=libayatana-appindicator libayatana_appindicatorincludedir=$(includedir)/libayatana-appindicator$(VER)-0.1/$(libayatana_appindicatorincludefolder) libayatana_appindicator_headers = \ app-indicator.h libayatana_appindicatorinclude_HEADERS = \ $(libayatana_appindicator_headers) \ $(glib_enum_h) libayatana_appindicator_la_SOURCES = \ $(libayatana_appindicator_headers) \ app-indicator-enum-types.c \ app-indicator.c \ application-service-marshal.c \ dbus-shared.h \ generate-id.h \ generate-id.c \ gen-notification-item.xml.h \ gen-notification-item.xml.c \ gen-notification-watcher.xml.h \ gen-notification-watcher.xml.c libayatana_appindicator_la_LDFLAGS = \ $(COVERAGE_LDFLAGS) \ -version-info 1:0:0 \ -no-undefined \ -export-symbols-regex "^[^_d].*" libayatana_appindicator_la_CFLAGS = \ $(LIBRARY_CFLAGS) \ $(COVERAGE_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -DG_LOG_DOMAIN=\"libayatana-appindicator\" libayatana_appindicator_la_LIBADD = \ $(LIBRARY_LIBS) # We duplicate these here because Automake won't let us use $(VER) on the left hand side. # Since we carefully use $(VER) in the right hand side above, we can assign the same values. # Only one version of the library is every compiled at the same time, so it is safe to reuse # the right hand sides like this. libayatana_appindicator3includedir = $(libayatana_appindicatorincludedir) libayatana_appindicator3include_HEADERS = $(libayatana_appindicatorinclude_HEADERS) libayatana_appindicator3_la_SOURCES = $(libayatana_appindicator_la_SOURCES) libayatana_appindicator3_la_LDFLAGS = $(libayatana_appindicator_la_LDFLAGS) libayatana_appindicator3_la_CFLAGS = $(libayatana_appindicator_la_CFLAGS) libayatana_appindicator3_la_LIBADD = $(libayatana_appindicator_la_LIBADD) ################################## # DBus Specs ################################## DBUS_SPECS = \ notification-item.xml \ notification-watcher.xml gen-%.xml.h: %.xml @echo "Building $@ from $<" @echo "extern const char * _$(subst -,_,$(subst .,_,$(basename $(notdir $<))));" > $@ gen-%.xml.c: %.xml @echo "Building $@ from $<" @echo "const char * _$(subst -,_,$(subst .,_,$(basename $(notdir $<)))) = " > $@ @sed -e "s:\":\\\\\":g" -e s:^:\": -e s:\$$:\\\\n\": $< >> $@ @echo ";" >> $@ BUILT_SOURCES += \ gen-notification-item.xml.c \ gen-notification-item.xml.h \ gen-notification-watcher.xml.c \ gen-notification-watcher.xml.h CLEANFILES += \ gen-notification-item.xml.c \ gen-notification-item.xml.h \ gen-notification-watcher.xml.c \ gen-notification-watcher.xml.h EXTRA_DIST += $(DBUS_SPECS) ######################### # GObject Introsepction ######################### -include $(INTROSPECTION_MAKEFILE) INTROSPECTION_GIRS = if INTROSPECTION_TEN INTROSPECTION_SCANNER_ARGS = \ --add-include-path=$(srcdir) \ $(addprefix --c-include=$(libayatana_appindicatorincludefolder)/, $(libayatana_appindicator_headers)) \ --symbol-prefix=app \ --identifier-prefix=App \ --warn-all else INTROSPECTION_SCANNER_ARGS = \ --add-include-path=$(srcdir) \ $(addprefix --c-include=$(libayatana_appindicatorincludefolder)/, $(libayatana_appindicator_headers)) endif INTROSPECTION_COMPILER_ARGS = --includedir=$(builddir) if HAVE_INTROSPECTION introspection_sources = \ $(addprefix $(srcdir)/,app-indicator.c) \ $(addprefix $(srcdir)/,$(libayatana_appindicator_headers)) AyatanaAppIndicator$(VER)-0.1.gir: libayatana-appindicator$(VER).la AyatanaAppIndicator_0_1_gir_INCLUDES = \ GObject-2.0 \ $(GTKGIR) AyatanaAppIndicator_0_1_gir_CFLAGS = $(LIBRARY_CFLAGS) -I$(srcdir) -I$(top_builddir)/src AyatanaAppIndicator_0_1_gir_LIBS = libayatana-appindicator$(VER).la AyatanaAppIndicator_0_1_gir_FILES = $(introspection_sources) # AyatanaAppIndicator_0_1_gir_NAMESPACE = AyatanaAppIndicator AyatanaAppIndicator3_0_1_gir_INCLUDES = $(AyatanaAppIndicator_0_1_gir_INCLUDES) AyatanaAyatanaAppIndicator3_0_1_gir_CFLAGS = $(AyatanaAyatanaAppIndicator_0_1_gir_CFLAGS) AyatanaAppIndicator3_0_1_gir_LIBS = $(AyatanaAppIndicator_0_1_gir_LIBS) AyatanaAppIndicator3_0_1_gir_FILES = $(AyatanaAppIndicator_0_1_gir_FILES) # AyatanaAppIndicator3_0_1_gir_NAMESPACE = AyatanaAppIndicator INTROSPECTION_GIRS += AyatanaAppIndicator$(VER)-0.1.gir AyatanaAppIndicator$(VER)-0.1.metadata: AyatanaAppIndicator$(VER)-0.1.gir cp -f $(srcdir)/$@.in $@ BUILT_SOURCES += AyatanaAppIndicator$(VER)-0.1.metadata CLEANFILES += AyatanaAppIndicator$(VER)-0.1.metadata girdir = $(datadir)/gir-1.0 gir_DATA = $(INTROSPECTION_GIRS) typelibdir = $(libdir)/girepository-1.0 typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelib_DATA) endif libayatana-appindicator-0.5.3/src/notification-item.xml0000644000000000000000000000357013254161055020127 0ustar libayatana-appindicator-0.5.3/src/notification-watcher.xml0000644000000000000000000000173313254161055020625 0ustar libayatana-appindicator-0.5.3/tests/Makefile.am0000644000000000000000000001470313254161055016372 0ustar if USE_GTK3 VER=3 else VER= endif check_PROGRAMS = \ test-libappindicator \ test-libappindicator-dbus-client \ test-libappindicator-dbus-server \ test-libappindicator-status-client \ test-libappindicator-status-server \ test-libappindicator-fallback-watcher \ test-libappindicator-fallback-item \ test-simple-app TESTS = DISTCLEANFILES = $(TESTS) Makefile.in EXTRA_DIST = \ run-xvfb.sh \ test-libappindicator.desktop ######################################### ## test-libappindicator ######################################### test_libappindicator_SOURCES = \ test-libappindicator.c test_libappindicator_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -DSRCDIR="\"$(srcdir)\"" \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la ######################################### ## test-libappindicator-dbus-client ######################################### test_libappindicator_dbus_client_SOURCES = \ test-defines.h \ test-libappindicator-dbus-client.c test_libappindicator_dbus_client_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_dbus_client_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la ######################################### ## test-libappindicator-dbus-server ######################################### test_libappindicator_dbus_server_SOURCES = \ test-defines.h \ test-libappindicator-dbus-server.c test_libappindicator_dbus_server_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_dbus_server_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la ######################################### ## test-libappindicator-status-client ######################################### test_libappindicator_status_client_SOURCES = \ test-defines.h \ test-libappindicator-status-client.c test_libappindicator_status_client_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_status_client_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la ######################################### ## test-libappindicator-status-server ######################################### test_libappindicator_status_server_SOURCES = \ test-defines.h \ test-libappindicator-status-server.c test_libappindicator_status_server_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_status_server_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la ######################################### ## test-libappindicator-fallback ######################################### test_libappindicator_fallback_watcher_SOURCES = \ test-libappindicator-fallback-watcher.c test_libappindicator_fallback_watcher_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_fallback_watcher_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la test_libappindicator_fallback_item_SOURCES = \ test-libappindicator-fallback-item.c test_libappindicator_fallback_item_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_libappindicator_fallback_item_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la test-libappindicator-fallback: test-libappindicator-fallback-watcher test-libappindicator-fallback-item Makefile.am @echo "#!/bin/bash" > $@ @echo export DISPLAY= >> $@ @echo . $(srcdir)/run-xvfb.sh >> $@ @echo $(DBUS_RUNNER) --task ./test-libappindicator-fallback-watcher --task-name Watcher --ignore-return --task ./test-libappindicator-fallback-item --task-name Item >> $@ @chmod +x $@ TESTS += test-libappindicator-fallback ######################################### ## Actual tests ######################################### XML_REPORT = libappindicator-check-results.xml HTML_REPORT = libappindicator-check-results.html libappindicator-tests: libappindicator-tests-gtester Makefile.am @echo "#!/bin/bash" > $@ @echo export DISPLAY= >> $@ @echo . $(srcdir)/run-xvfb.sh >> $@ @echo export UBUNTU_MENUPROXY= >> $@ @echo $(DBUS_RUNNER) --task ./libappindicator-tests-gtester >> $@ @chmod +x $@ libappindicator-tests-gtester: test-libappindicator Makefile.am @echo "#!/bin/sh" > $@ @echo gtester -k --verbose -o=$(XML_REPORT) ./test-libappindicator >> $@ @chmod +x $@ TESTS += libappindicator-tests DISTCLEANFILES += $(XML_REPORT) $(HTML_REPORT) libappindicator-tests-gtester DBUS_RUNNER=dbus-test-runner -m 300 --dbus-config /usr/share/dbus-test-runner/session.conf test-libappindicator-dbus: test-libappindicator-dbus-client test-libappindicator-dbus-server Makefile.am @echo "#!/bin/bash" > test-libappindicator-dbus @echo export DISPLAY= >> $@ @echo . $(srcdir)/run-xvfb.sh >> $@ @echo $(DBUS_RUNNER) --task ./test-libappindicator-dbus-client --task-name Client --task ./test-libappindicator-dbus-server --task-name Server --ignore-return >> test-libappindicator-dbus @chmod +x test-libappindicator-dbus TESTS += test-libappindicator-dbus XFAIL_TESTS = test-libappindicator-dbus test-libappindicator-status: test-libappindicator-status-client test-libappindicator-status-server Makefile.am @echo "#!/bin/bash" > test-libappindicator-status @echo export DISPLAY= >> $@ @echo . $(srcdir)/run-xvfb.sh >> $@ @echo $(DBUS_RUNNER) --task ./test-libappindicator-status-client --task-name Client --task ./test-libappindicator-status-server --task-name Server --ignore-return >> test-libappindicator-status @chmod +x test-libappindicator-status TESTS += test-libappindicator-status ######################################### ## test-simple-app ######################################### test_simple_app_SOURCES = \ test-simple-app.c test_simple_app_CFLAGS = \ $(TESTDEPS_CFLAGS) $(LIBRARY_CFLAGS) \ -Wall -Werror -Wno-error=deprecated-declarations \ -I$(top_srcdir)/src test_simple_app_LDADD = \ $(TESTDEPS_LIBS) $(LIBRARY_LIBS) \ $(top_builddir)/src/libayatana-appindicator$(VER).la libayatana-appindicator-0.5.3/tests/run-xvfb.sh0000644000000000000000000000156613254161055016444 0ustar if [ "$DISPLAY" == "" ]; then Xvfb -ac -noreset -screen 0 800x600x16 -help 2>/dev/null 1>&2 XID=`for id in 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 ; do test -e /tmp/.X$id-lock || { echo $id; exit 0; }; done; exit 1` { Xvfb -ac -noreset -screen 0 800x600x16 :$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & trap "kill -15 $! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } || { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } DISPLAY=:$XID export DISPLAY sleep 10 fi libayatana-appindicator-0.5.3/tests/test-defines.h0000644000000000000000000000222213254161055017072 0ustar /* Testing defines to be shared between various tests. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define TEST_ID "my-id" #define TEST_ICON_NAME "my-icon-name" #define TEST_ATTENTION_ICON_NAME "my-attention-icon-name" #define TEST_STATE APP_INDICATOR_STATUS_ACTIVE #define TEST_STATE_S "Active" #define TEST_CATEGORY APP_INDICATOR_CATEGORY_APPLICATION_STATUS #define TEST_CATEGORY_S "ApplicationStatus" #define TEST_OBJECT "/an/object/path/to/use" libayatana-appindicator-0.5.3/tests/test-libappindicator.c0000644000000000000000000003510513254161055020622 0ustar /* Tests for the libappindicator library. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include static gboolean allow_warnings (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { // By default, gtest will fail a test on even a warning message. // But since some of our sub-libraries are noisy (especially at-spi2), // only fail on critical or worse. return ((log_level & G_LOG_LEVEL_MASK) <= G_LOG_LEVEL_CRITICAL); } void test_libappindicator_prop_signals_status_helper (AppIndicator * ci, gchar * status, gboolean * signalactivated) { *signalactivated = TRUE; return; } void test_libappindicator_prop_signals_helper (AppIndicator * ci, gboolean * signalactivated) { *signalactivated = TRUE; return; } void test_libappindicator_prop_signals (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("test-app-indicator", "indicator-messages", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); gboolean signaled = FALSE; gulong handlerid; handlerid = 0; handlerid = g_signal_connect(G_OBJECT(ci), "new-icon", G_CALLBACK(test_libappindicator_prop_signals_helper), &signaled); g_assert(handlerid != 0); handlerid = 0; handlerid = g_signal_connect(G_OBJECT(ci), "new-attention-icon", G_CALLBACK(test_libappindicator_prop_signals_helper), &signaled); g_assert(handlerid != 0); handlerid = 0; handlerid = g_signal_connect(G_OBJECT(ci), "new-status", G_CALLBACK(test_libappindicator_prop_signals_status_helper), &signaled); g_assert(handlerid != 0); signaled = FALSE; app_indicator_set_icon(ci, "bob"); g_assert(signaled); signaled = FALSE; app_indicator_set_icon(ci, "bob"); g_assert(!signaled); signaled = FALSE; app_indicator_set_icon(ci, "al"); g_assert(signaled); signaled = FALSE; app_indicator_set_attention_icon(ci, "bob"); g_assert(signaled); signaled = FALSE; app_indicator_set_attention_icon(ci, "bob"); g_assert(!signaled); signaled = FALSE; app_indicator_set_attention_icon(ci, "al"); g_assert(signaled); signaled = FALSE; app_indicator_set_status(ci, APP_INDICATOR_STATUS_PASSIVE); g_assert(!signaled); signaled = FALSE; app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); g_assert(signaled); signaled = FALSE; app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); g_assert(!signaled); signaled = FALSE; app_indicator_set_status(ci, APP_INDICATOR_STATUS_ATTENTION); g_assert(signaled); return; } void test_libappindicator_init_set_props (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); app_indicator_set_attention_icon(ci, "my-attention-name"); app_indicator_set_title(ci, "My Title"); g_assert(!g_strcmp0("my-id", app_indicator_get_id(ci))); g_assert(!g_strcmp0("my-name", app_indicator_get_icon(ci))); g_assert(!g_strcmp0("my-attention-name", app_indicator_get_attention_icon(ci))); g_assert(!g_strcmp0("My Title", app_indicator_get_title(ci))); g_assert(app_indicator_get_status(ci) == APP_INDICATOR_STATUS_ACTIVE); g_assert(app_indicator_get_category(ci) == APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_init_with_props (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); app_indicator_set_status (ci, APP_INDICATOR_STATUS_ACTIVE); app_indicator_set_attention_icon (ci, "my-attention-name"); g_assert(ci != NULL); g_assert(!g_strcmp0("my-id", app_indicator_get_id(ci))); g_assert(!g_strcmp0("my-name", app_indicator_get_icon(ci))); g_assert(!g_strcmp0("my-attention-name", app_indicator_get_attention_icon(ci))); g_assert(app_indicator_get_status(ci) == APP_INDICATOR_STATUS_ACTIVE); g_assert(app_indicator_get_category(ci) == APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_init (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_set_label (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); /* First check all the clearing modes, this is important as we're going to use them later, we need them to work. */ app_indicator_set_label(ci, NULL, NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, "", NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, NULL, ""); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, "", ""); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, "label", ""); g_assert(g_strcmp0(app_indicator_get_label(ci), "label") == 0); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, NULL, NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_set_label(ci, "label", "guide"); g_assert(g_strcmp0(app_indicator_get_label(ci), "label") == 0); g_assert(g_strcmp0(app_indicator_get_label_guide(ci), "guide") == 0); app_indicator_set_label(ci, "label2", "guide"); g_assert(g_strcmp0(app_indicator_get_label(ci), "label2") == 0); g_assert(g_strcmp0(app_indicator_get_label_guide(ci), "guide") == 0); app_indicator_set_label(ci, "trick-label", "trick-guide"); g_assert(g_strcmp0(app_indicator_get_label(ci), "trick-label") == 0); g_assert(g_strcmp0(app_indicator_get_label_guide(ci), "trick-guide") == 0); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_set_menu (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); GtkMenu * menu = GTK_MENU(gtk_menu_new()); GtkMenuItem * item = GTK_MENU_ITEM(gtk_menu_item_new_with_label("Test Label")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(item)); gtk_widget_show(GTK_WIDGET(item)); app_indicator_set_menu(ci, menu); g_assert(app_indicator_get_menu(ci) != NULL); GValue serverval = {0}; g_value_init(&serverval, DBUSMENU_TYPE_SERVER); g_object_get_property(G_OBJECT(ci), "dbus-menu-server", &serverval); DbusmenuServer * server = DBUSMENU_SERVER(g_value_get_object(&serverval)); g_assert(server != NULL); GValue rootval = {0}; g_value_init(&rootval, DBUSMENU_TYPE_MENUITEM); g_object_get_property(G_OBJECT(server), DBUSMENU_SERVER_PROP_ROOT_NODE, &rootval); DbusmenuMenuitem * root = DBUSMENU_MENUITEM(g_value_get_object(&rootval)); g_assert(root != NULL); GList * children = dbusmenu_menuitem_get_children(root); g_assert(children != NULL); g_assert(g_list_length(children) == 1); const gchar * label = dbusmenu_menuitem_property_get(DBUSMENU_MENUITEM(children->data), DBUSMENU_MENUITEM_PROP_LABEL); g_assert(label != NULL); g_assert(g_strcmp0(label, "Test Label") == 0); /* Interesting, eh? We need this because we send out events on the bus but they don't come back until the idle is run. So we need those events to clear before removing the object */ while (g_main_context_pending(NULL)) { g_main_context_iteration(NULL, TRUE); } g_object_unref(G_OBJECT(ci)); return; } void label_signals_cb (AppIndicator * appindicator, gchar * label, gchar * guide, gpointer user_data) { gint * label_signals_count = (gint *)user_data; (*label_signals_count)++; return; } void label_signals_check (void) { while (g_main_context_pending(NULL)) { g_main_context_iteration(NULL, TRUE); } return; } void test_libappindicator_label_signals (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); gint label_signals_count = 0; AppIndicator * ci = app_indicator_new ("my-id", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); g_signal_connect(G_OBJECT(ci), APP_INDICATOR_SIGNAL_NEW_LABEL, G_CALLBACK(label_signals_cb), &label_signals_count); /* Shouldn't be a signal as it should be stuck in idle */ app_indicator_set_label(ci, "label", "guide"); g_assert(label_signals_count == 0); /* Should show up after idle processing */ label_signals_check(); g_assert(label_signals_count == 1); /* Shouldn't signal with no change */ label_signals_count = 0; app_indicator_set_label(ci, "label", "guide"); label_signals_check(); g_assert(label_signals_count == 0); /* Change one, we should get one signal */ app_indicator_set_label(ci, "label2", "guide"); label_signals_check(); g_assert(label_signals_count == 1); /* Change several times, one signal */ label_signals_count = 0; app_indicator_set_label(ci, "label1", "guide0"); app_indicator_set_label(ci, "label1", "guide1"); app_indicator_set_label(ci, "label2", "guide2"); app_indicator_set_label(ci, "label3", "guide3"); label_signals_check(); g_assert(label_signals_count == 1); /* Clear should signal too */ label_signals_count = 0; app_indicator_set_label(ci, NULL, NULL); label_signals_check(); g_assert(label_signals_count == 1); return; } void test_libappindicator_desktop_menu (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id-desktop-menu", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_build_menu_from_desktop(ci, SRCDIR "/test-libappindicator.desktop", "Test Program"); GValue serverval = {0}; g_value_init(&serverval, DBUSMENU_TYPE_SERVER); g_object_get_property(G_OBJECT(ci), "dbus-menu-server", &serverval); DbusmenuServer * server = DBUSMENU_SERVER(g_value_get_object(&serverval)); g_assert(server != NULL); GValue rootval = {0}; g_value_init(&rootval, DBUSMENU_TYPE_MENUITEM); g_object_get_property(G_OBJECT(server), DBUSMENU_SERVER_PROP_ROOT_NODE, &rootval); DbusmenuMenuitem * root = DBUSMENU_MENUITEM(g_value_get_object(&rootval)); g_assert(root != NULL); GList * children = dbusmenu_menuitem_get_children(root); g_assert(children != NULL); g_assert(g_list_length(children) == 3); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_desktop_menu_bad (void) { g_test_log_set_fatal_handler (allow_warnings, NULL); AppIndicator * ci = app_indicator_new ("my-id-desktop-menu-bad", "my-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); g_assert(ci != NULL); g_assert(app_indicator_get_label(ci) == NULL); g_assert(app_indicator_get_label_guide(ci) == NULL); app_indicator_build_menu_from_desktop(ci, SRCDIR "/test-libappindicator.desktop", "Not Test Program"); GValue serverval = {0}; g_value_init(&serverval, DBUSMENU_TYPE_SERVER); g_object_get_property(G_OBJECT(ci), "dbus-menu-server", &serverval); DbusmenuServer * server = DBUSMENU_SERVER(g_value_get_object(&serverval)); g_assert(server != NULL); GValue rootval = {0}; g_value_init(&rootval, DBUSMENU_TYPE_MENUITEM); g_object_get_property(G_OBJECT(server), DBUSMENU_SERVER_PROP_ROOT_NODE, &rootval); DbusmenuMenuitem * root = DBUSMENU_MENUITEM(g_value_get_object(&rootval)); g_assert(root != NULL); GList * children = dbusmenu_menuitem_get_children(root); g_assert(g_list_length(children) == 0); g_object_unref(G_OBJECT(ci)); return; } void test_libappindicator_props_suite (void) { g_test_add_func ("/indicator-application/libappindicator/init", test_libappindicator_init); g_test_add_func ("/indicator-application/libappindicator/init_props", test_libappindicator_init_with_props); g_test_add_func ("/indicator-application/libappindicator/init_set_props", test_libappindicator_init_set_props); g_test_add_func ("/indicator-application/libappindicator/prop_signals", test_libappindicator_prop_signals); g_test_add_func ("/indicator-application/libappindicator/set_label", test_libappindicator_set_label); g_test_add_func ("/indicator-application/libappindicator/set_menu", test_libappindicator_set_menu); g_test_add_func ("/indicator-application/libappindicator/label_signals", test_libappindicator_label_signals); g_test_add_func ("/indicator-application/libappindicator/desktop_menu", test_libappindicator_desktop_menu); g_test_add_func ("/indicator-application/libappindicator/desktop_menu_bad",test_libappindicator_desktop_menu_bad); return; } gint main (gint argc, gchar * argv[]) { gtk_init(&argc, &argv); g_test_init(&argc, &argv, NULL); /* Test suites */ test_libappindicator_props_suite(); return g_test_run (); } libayatana-appindicator-0.5.3/tests/test-libappindicator-dbus-client.c0000644000000000000000000001723613254161055023036 0ustar /* Tests for the libappindicator library that are over DBus. This is the client side of those tests. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include "test-defines.h" #include "../src/dbus-shared.h" static GMainLoop * mainloop = NULL; static gboolean passed = TRUE; static int propcount = 0; static void check_propcount (void) { if (propcount >= 5) { g_main_loop_quit(mainloop); } return; } static void prop_id_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) { propcount++; GError * error = NULL; GValue value = {0}; if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &value, G_TYPE_INVALID)) { g_warning("Getting ID failed: %s", error->message); g_error_free(error); passed = FALSE; check_propcount(); return; } if (g_strcmp0(TEST_ID, g_value_get_string(&value))) { g_debug("Property ID Returned: FAILED"); passed = FALSE; } else { g_debug("Property ID Returned: PASSED"); } check_propcount(); return; } static void prop_category_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) { propcount++; GError * error = NULL; GValue value = {0}; if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &value, G_TYPE_INVALID)) { g_warning("Getting category failed: %s", error->message); g_error_free(error); passed = FALSE; check_propcount(); return; } if (g_strcmp0(TEST_CATEGORY_S, g_value_get_string(&value))) { g_debug("Property category Returned: FAILED"); passed = FALSE; } else { g_debug("Property category Returned: PASSED"); } check_propcount(); return; } static void prop_status_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) { propcount++; GError * error = NULL; GValue value = {0}; if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &value, G_TYPE_INVALID)) { g_warning("Getting status failed: %s", error->message); g_error_free(error); passed = FALSE; check_propcount(); return; } if (g_strcmp0(TEST_STATE_S, g_value_get_string(&value))) { g_debug("Property status Returned: FAILED"); passed = FALSE; } else { g_debug("Property status Returned: PASSED"); } check_propcount(); return; } static void prop_icon_name_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) { propcount++; GError * error = NULL; GValue value = {0}; if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &value, G_TYPE_INVALID)) { g_warning("Getting icon name failed: %s", error->message); g_error_free(error); passed = FALSE; check_propcount(); return; } if (g_strcmp0(TEST_ICON_NAME, g_value_get_string(&value))) { g_debug("Property icon name Returned: FAILED"); passed = FALSE; } else { g_debug("Property icon name Returned: PASSED"); } check_propcount(); return; } static void prop_attention_icon_name_cb (DBusGProxy * proxy, DBusGProxyCall * call, void * data) { propcount++; GError * error = NULL; GValue value = {0}; if (!dbus_g_proxy_end_call(proxy, call, &error, G_TYPE_VALUE, &value, G_TYPE_INVALID)) { g_warning("Getting attention icon name failed: %s", error->message); g_error_free(error); passed = FALSE; check_propcount(); return; } if (g_strcmp0(TEST_ATTENTION_ICON_NAME, g_value_get_string(&value))) { g_debug("Property attention icon name Returned: FAILED"); passed = FALSE; } else { g_debug("Property attention icon name Returned: PASSED"); } check_propcount(); return; } gboolean kill_func (gpointer userdata) { g_main_loop_quit(mainloop); g_warning("Forced to Kill"); passed = FALSE; return FALSE; } static DBusHandlerResult dbus_filter (DBusConnection * connection, DBusMessage * message, void * user_data) { if (dbus_message_is_method_call(message, NOTIFICATION_WATCHER_DBUS_ADDR, "RegisterStatusNotifierItem")) { DBusMessage * reply = dbus_message_new_method_return(message); dbus_connection_send(connection, reply, NULL); dbus_message_unref(reply); return DBUS_HANDLER_RESULT_HANDLED; } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } gint main (gint argc, gchar * argv[]) { GError * error = NULL; DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (error != NULL) { g_error("Unable to get session bus: %s", error->message); return 1; } DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(session_bus, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); guint nameret = 0; if (!org_freedesktop_DBus_request_name(bus_proxy, NOTIFICATION_WATCHER_DBUS_ADDR, 0, &nameret, &error)) { g_error("Unable to call to request name"); return 1; } if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { g_error("Unable to get name"); return 1; } dbus_connection_add_filter(dbus_g_connection_get_connection(session_bus), dbus_filter, NULL, NULL); g_usleep(500000); DBusGProxy * props = dbus_g_proxy_new_for_name_owner(session_bus, ":1.2", "/org/ayatana/NotificationItem/my_id", DBUS_INTERFACE_PROPERTIES, &error); if (error != NULL) { g_error("Unable to get property proxy: %s", error->message); return 1; } dbus_g_proxy_begin_call (props, "Get", prop_id_cb, NULL, NULL, G_TYPE_STRING, NOTIFICATION_ITEM_DBUS_IFACE, G_TYPE_STRING, "Id", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_category_cb, NULL, NULL, G_TYPE_STRING, NOTIFICATION_ITEM_DBUS_IFACE, G_TYPE_STRING, "Category", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_status_cb, NULL, NULL, G_TYPE_STRING, NOTIFICATION_ITEM_DBUS_IFACE, G_TYPE_STRING, "Status", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_icon_name_cb, NULL, NULL, G_TYPE_STRING, NOTIFICATION_ITEM_DBUS_IFACE, G_TYPE_STRING, "IconName", G_TYPE_INVALID); dbus_g_proxy_begin_call (props, "Get", prop_attention_icon_name_cb, NULL, NULL, G_TYPE_STRING, NOTIFICATION_ITEM_DBUS_IFACE, G_TYPE_STRING, "AttentionIconName", G_TYPE_INVALID); g_timeout_add_seconds(2, kill_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); if (passed) { g_debug("Quiting"); return 0; } else { g_debug("Quiting as we're a failure"); return 1; } return 0; } libayatana-appindicator-0.5.3/tests/test-libappindicator-dbus-server.c0000644000000000000000000000312513254161055023056 0ustar /* Tests for the libappindicator library that are over DBus. This is the server side of those tests. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "test-defines.h" static GMainLoop * mainloop = NULL; gboolean kill_func (gpointer userdata) { g_main_loop_quit(mainloop); return FALSE; } gint main (gint argc, gchar * argv[]) { gtk_init(&argc, &argv); AppIndicator * ci = app_indicator_new (TEST_ID, TEST_ICON_NAME, TEST_CATEGORY); app_indicator_set_status (ci, TEST_STATE); app_indicator_set_attention_icon (ci, TEST_ATTENTION_ICON_NAME); GtkMenu * menu = GTK_MENU(gtk_menu_new()); GtkMenuItem * item = GTK_MENU_ITEM(gtk_menu_item_new_with_label("Label")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(item)); app_indicator_set_menu(ci, menu); g_timeout_add_seconds(2, kill_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); g_object_unref(G_OBJECT(ci)); g_debug("Quiting"); return 0; } libayatana-appindicator-0.5.3/tests/test-libappindicator.desktop0000644000000000000000000000064513254161055022052 0ustar [Desktop Entry] Name=AppIndicator Test GenericName=Test Comment=This is only a test Exec=/usr/bin/false Terminal=false Type=Application Actions=Short1;Short2;Short3; [Desktop Action Short1] Name=Shortcut 1 Exec=/usr/bin/true OnlyShowIn=Test Program; [Desktop Action Short2] Name=Shortcut 2 Exec=/usr/bin/true OnlyShowIn=Test Program; [Desktop Action Short3] Name=Shortcut 3 Exec=/usr/bin/true OnlyShowIn=Test Program; libayatana-appindicator-0.5.3/tests/test-libappindicator-fallback-item.c0000644000000000000000000001063713254161055023316 0ustar #include #include #include #include #include #define TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE (test_libappindicator_fallback_item_get_type ()) #define TEST_LIBAPPINDICATOR_FALLBACK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE, TestLibappindicatorFallbackItem)) #define TEST_LIBAPPINDICATOR_FALLBACK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE, TestLibappindicatorFallbackItemClass)) #define IS_TEST_LIBAPPINDICATOR_FALLBACK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE)) #define IS_TEST_LIBAPPINDICATOR_FALLBACK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE)) #define TEST_LIBAPPINDICATOR_FALLBACK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE, TestLibappindicatorFallbackItemClass)) typedef struct _TestLibappindicatorFallbackItem TestLibappindicatorFallbackItem; typedef struct _TestLibappindicatorFallbackItemClass TestLibappindicatorFallbackItemClass; struct _TestLibappindicatorFallbackItemClass { AppIndicatorClass parent_class; }; struct _TestLibappindicatorFallbackItem { AppIndicator parent; }; GType test_libappindicator_fallback_item_get_type (void); #define TEST_LIBAPPINDICATOR_FALLBACK_ITEM_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE, TestLibappindicatorFallbackItemPrivate)) static void test_libappindicator_fallback_item_class_init (TestLibappindicatorFallbackItemClass *klass); static void test_libappindicator_fallback_item_init (TestLibappindicatorFallbackItem *self); static GtkStatusIcon * fallback (AppIndicator * indicator); static void unfallback (AppIndicator * indicator, GtkStatusIcon * status_icon); G_DEFINE_TYPE (TestLibappindicatorFallbackItem, test_libappindicator_fallback_item, APP_INDICATOR_TYPE); static void test_libappindicator_fallback_item_class_init (TestLibappindicatorFallbackItemClass *klass) { AppIndicatorClass * aiclass = APP_INDICATOR_CLASS(klass); aiclass->fallback = fallback; aiclass->unfallback = unfallback; } static void test_libappindicator_fallback_item_init (TestLibappindicatorFallbackItem *self) { } GMainLoop * mainloop = NULL; gboolean passed = FALSE; enum { STATE_INIT, STATE_FALLBACK, STATE_UNFALLBACK, STATE_REFALLBACK, STATE_REUNFALLBACK }; gint state = STATE_INIT; static GtkStatusIcon * fallback (AppIndicator * indicator) { g_debug("Fallback"); if (state == STATE_INIT) { state = STATE_FALLBACK; } else if (state == STATE_UNFALLBACK) { state = STATE_REFALLBACK; } else { g_debug("Error, fallback in state: %d", state); passed = FALSE; } return (GtkStatusIcon *)5; } static void unfallback (AppIndicator * indicator, GtkStatusIcon * status_icon) { g_debug("Unfallback"); if (state == STATE_FALLBACK) { state = STATE_UNFALLBACK; } else if (state == STATE_REFALLBACK) { state = STATE_REUNFALLBACK; passed = TRUE; g_main_loop_quit(mainloop); } else { g_debug("Error, unfallback in state: %d", state); passed = FALSE; } return; } gboolean kill_func (gpointer data) { g_debug("Kill Function"); g_main_loop_quit(mainloop); return FALSE; } int main (int argc, char ** argv) { gtk_init(&argc, &argv); GError * error = NULL; DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (error != NULL) { g_error("Unable to get session bus: %s", error->message); return 1; } DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(session_bus, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); guint nameret = 0; if (!org_freedesktop_DBus_request_name(bus_proxy, "org.test", 0, &nameret, NULL)) { g_error("Unable to call to request name"); return 1; } if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { g_error("Unable to get name"); return 1; } TestLibappindicatorFallbackItem * item = g_object_new(TEST_LIBAPPINDICATOR_FALLBACK_ITEM_TYPE, "id", "test-id", "category", "Other", "icon-name", "bob", NULL); GtkWidget * menu = gtk_menu_new(); app_indicator_set_menu(APP_INDICATOR(item), GTK_MENU(menu)); g_timeout_add_seconds(20, kill_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); g_object_unref(G_OBJECT(item)); if (passed) { return 0; } else { return 1; } } libayatana-appindicator-0.5.3/tests/test-libappindicator-fallback-watcher.c0000644000000000000000000000577113254161055024020 0ustar /* This puts the NotificationWatcher on the bus, kinda. Enough to trick the Item into unfalling back. Copyright 2010 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "../src/dbus-shared.h" gboolean kill_func (gpointer userdata); static GMainLoop * mainloop = NULL; static DBusHandlerResult dbus_filter (DBusConnection * connection, DBusMessage * message, void * user_data) { if (dbus_message_is_method_call(message, NOTIFICATION_WATCHER_DBUS_ADDR, "RegisterStatusNotifierItem")) { DBusMessage * reply = dbus_message_new_method_return(message); dbus_connection_send(connection, reply, NULL); dbus_message_unref(reply); /* Let the messages get out, but we're done at this point */ g_timeout_add(50, kill_func, NULL); return DBUS_HANDLER_RESULT_HANDLED; } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } gboolean kill_func (gpointer userdata) { g_main_loop_quit(mainloop); return FALSE; } int main (int argv, char ** argc) { g_debug("Waiting to init."); GError * error = NULL; DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (error != NULL) { g_error("Unable to get session bus: %s", error->message); return 1; } DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(session_bus, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); gboolean has_owner = FALSE; gint owner_count = 0; while (!has_owner && owner_count < 10000) { org_freedesktop_DBus_name_has_owner(bus_proxy, "org.test", &has_owner, NULL); owner_count++; g_usleep(500000); } if (owner_count == 10000) { g_error("Unable to get name owner after 10000 tries"); return 1; } g_usleep(500000); g_debug("Initing"); guint nameret = 0; if (!org_freedesktop_DBus_request_name(bus_proxy, NOTIFICATION_WATCHER_DBUS_ADDR, 0, &nameret, &error)) { g_error("Unable to call to request name"); return 1; } if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { g_error("Unable to get name"); return 1; } dbus_connection_add_filter(dbus_g_connection_get_connection(session_bus), dbus_filter, NULL, NULL); /* This is the final kill function. It really shouldn't happen unless we get an error. */ g_timeout_add_seconds(20, kill_func, NULL); g_debug("Entering Mainloop"); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); g_debug("Exiting"); return 0; } libayatana-appindicator-0.5.3/tests/test-libappindicator-status-client.c0000644000000000000000000000776413254161055023431 0ustar /* Tests for the libappindicator library that are over DBus. This is the client side of those tests. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include "../src/dbus-shared.h" static GMainLoop * mainloop = NULL; static gboolean passed = TRUE; static gboolean watchdog_hit = TRUE; static gboolean active = FALSE; static guint toggle_count = 0; #define PASSIVE_STR "Passive" #define ACTIVE_STR "Active" #define ATTN_STR "NeedsAttention" static DBusHandlerResult dbus_reg_filter (DBusConnection * connection, DBusMessage * message, void * user_data) { if (dbus_message_is_method_call(message, NOTIFICATION_WATCHER_DBUS_ADDR, "RegisterStatusNotifierItem")) { DBusMessage * reply = dbus_message_new_method_return(message); dbus_connection_send(connection, reply, NULL); dbus_message_unref(reply); return DBUS_HANDLER_RESULT_HANDLED; } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } static DBusHandlerResult dbus_filter (DBusConnection * connection, DBusMessage * message, void * user_data) { if (!dbus_message_is_signal(message, NOTIFICATION_ITEM_DBUS_IFACE, "NewStatus")) { return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } gchar * string; DBusError derror; dbus_error_init(&derror); if (!dbus_message_get_args(message, &derror, DBUS_TYPE_STRING, &string, DBUS_TYPE_INVALID)) { g_warning("Couldn't get parameters"); dbus_error_free(&derror); return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } watchdog_hit = TRUE; if (g_strcmp0(string, ACTIVE_STR) == 0) { if (active) { g_warning("Got active when already active"); passed = FALSE; return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } active = TRUE; } else { active = FALSE; } toggle_count++; if (toggle_count == 100) { g_main_loop_quit(mainloop); } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } gboolean kill_func (gpointer userdata) { if (watchdog_hit == FALSE) { g_main_loop_quit(mainloop); g_warning("Forced to Kill"); g_warning("Toggle count: %d", toggle_count); passed = FALSE; return FALSE; } watchdog_hit = FALSE; return TRUE; } gint main (gint argc, gchar * argv[]) { GError * error = NULL; DBusGConnection * session_bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (error != NULL) { g_error("Unable to get session bus: %s", error->message); return 1; } DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(session_bus, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); guint nameret = 0; if (!org_freedesktop_DBus_request_name(bus_proxy, NOTIFICATION_WATCHER_DBUS_ADDR, 0, &nameret, &error)) { g_error("Unable to call to request name"); return 1; } if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { g_error("Unable to get name"); return 1; } dbus_connection_add_filter(dbus_g_connection_get_connection(session_bus), dbus_reg_filter, NULL, NULL); dbus_connection_add_filter(dbus_g_connection_get_connection(session_bus), dbus_filter, NULL, NULL); dbus_bus_add_match(dbus_g_connection_get_connection(session_bus), "type='signal',interface='" NOTIFICATION_ITEM_DBUS_IFACE "',member='NewStatus'", NULL); watchdog_hit = TRUE; g_timeout_add_seconds(20, kill_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); if (passed) { g_debug("Quiting"); return 0; } else { g_debug("Quiting as we're a failure"); return 1; } return 0; } libayatana-appindicator-0.5.3/tests/test-libappindicator-status-server.c0000644000000000000000000000452413254161055023450 0ustar /* Tests for the libappindicator library that are over DBus. This is the server side of those tests. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include static GMainLoop * mainloop = NULL; static gboolean active = FALSE; static guint toggle_count = 0; static GDBusConnection * connection = NULL; static gboolean times_up (gpointer unused G_GNUC_UNUSED) { g_dbus_connection_flush_sync (connection, NULL, NULL); g_clear_object (&connection); g_main_loop_quit (mainloop); return G_SOURCE_REMOVE; } gboolean toggle (gpointer userdata) { const AppIndicatorStatus new_status = active ? APP_INDICATOR_STATUS_ATTENTION : APP_INDICATOR_STATUS_ACTIVE; app_indicator_set_status (APP_INDICATOR(userdata), new_status); ++toggle_count; active = !active; if (toggle_count == 100) { g_timeout_add (100, times_up, NULL); return G_SOURCE_REMOVE; } return G_SOURCE_CONTINUE; } gint main (gint argc, gchar * argv[]) { gtk_init(&argc, &argv); g_usleep(100000); connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); g_debug("DBus Name: %s", g_dbus_connection_get_unique_name (connection)); AppIndicator * ci = app_indicator_new ("my-id", "my-icon-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); app_indicator_set_attention_icon (ci, "my-attention-icon"); GtkMenu * menu = GTK_MENU(gtk_menu_new()); GtkMenuItem * item = GTK_MENU_ITEM(gtk_menu_item_new_with_label("Label")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(item)); app_indicator_set_menu(ci, menu); g_timeout_add(50, toggle, ci); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); g_object_unref(G_OBJECT(ci)); g_debug("Quiting"); return 0; } libayatana-appindicator-0.5.3/tests/test-simple-app.c0000644000000000000000000000304613254161055017524 0ustar /* Test that creates a small test app which links with libappindicator. Copyright 2009 Canonical Ltd. Authors: Ted Gould This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include static GMainLoop * mainloop = NULL; int main (int argc, char ** argv) { gtk_init(&argc, &argv); GtkWidget *menu_item = gtk_menu_item_new_with_label("Test"); GtkMenu *menu = GTK_MENU(gtk_menu_new()); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); gtk_widget_show(menu_item); AppIndicator * ci = app_indicator_new("test-application", "system-shutdown", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); app_indicator_set_status(ci, APP_INDICATOR_STATUS_ACTIVE); app_indicator_set_menu(ci, menu); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); g_object_unref(G_OBJECT(ci)); g_object_unref(G_OBJECT(menu)); g_object_unref(G_OBJECT(menu_item)); g_debug("Quiting"); return 0; }