forked from enlightenment/enlightenment
e17: add notification that systray does not work on a shelf that is 'below everything'
- native speakers are welcome to correct the message SVN revision: 64531
This commit is contained in:
parent
f3aa1d3293
commit
707aed7926
|
@ -113,15 +113,10 @@ static char tmpbuf[PATH_MAX]; /* general purpose buffer, just use immediately */
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_systray_site_is_safe(E_Gadcon_Site site)
|
_systray_site_is_safe(E_Gadcon_Site site)
|
||||||
{
|
{
|
||||||
/* NB: filter out sites we know are not safe for a systray to sit.
|
if (e_gadcon_site_is_shelf(site))
|
||||||
* This was done so that systray could be put into illume indicator
|
return EINA_TRUE;
|
||||||
* (or anywhere else really) that is 'safe' for systray to be.
|
|
||||||
* Pretty much, this is anywhere but Desktop and toolbars at the moment */
|
return EINA_FALSE;
|
||||||
if (e_gadcon_site_is_desktop(site))
|
|
||||||
return EINA_FALSE;
|
|
||||||
else if (e_gadcon_site_is_any_toolbar(site))
|
|
||||||
return EINA_FALSE;
|
|
||||||
return EINA_TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
|
@ -411,12 +406,10 @@ _systray_atom_st_get(int screen_num)
|
||||||
return _atom_st_num;
|
return _atom_st_num;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXX TODO: should be in ecore_x */
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_systray_selection_owner_set(int screen_num, Ecore_X_Window win)
|
_systray_selection_owner_set(int screen_num, Ecore_X_Window win)
|
||||||
{
|
{
|
||||||
Ecore_X_Atom atom;
|
Ecore_X_Atom atom;
|
||||||
// Ecore_X_Display *disp = ecore_x_display_get();
|
|
||||||
Ecore_X_Window cur_selection;
|
Ecore_X_Window cur_selection;
|
||||||
Eina_Bool ret;
|
Eina_Bool ret;
|
||||||
|
|
||||||
|
@ -503,12 +496,10 @@ _systray_activate(Instance *inst)
|
||||||
Ecore_X_Atom atom;
|
Ecore_X_Atom atom;
|
||||||
Ecore_X_Window old_win;
|
Ecore_X_Window old_win;
|
||||||
Ecore_X_Window_Attributes attr;
|
Ecore_X_Window_Attributes attr;
|
||||||
Ecore_X_Display *dpy;
|
|
||||||
|
|
||||||
if (inst->win.selection != 0) return 1;
|
if (inst->win.selection != 0) return 1;
|
||||||
|
|
||||||
atom = _systray_atom_st_get(inst->con->manager->num);
|
atom = _systray_atom_st_get(inst->con->manager->num);
|
||||||
dpy = ecore_x_display_get();
|
|
||||||
old_win = ecore_x_selection_owner_get(atom);
|
old_win = ecore_x_selection_owner_get(atom);
|
||||||
if (old_win != 0) return 0;
|
if (old_win != 0) return 0;
|
||||||
|
|
||||||
|
@ -903,6 +894,14 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((gc->shelf) && (!gc->shelf->popup))
|
||||||
|
{
|
||||||
|
e_util_dialog_internal
|
||||||
|
(_("Systray Error"),
|
||||||
|
_("Systray cannot work in a shelf that is set to below everything."));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
inst = E_NEW(Instance, 1);
|
inst = E_NEW(Instance, 1);
|
||||||
if (!inst)
|
if (!inst)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue