parent
7e22c5e6b5
commit
bd26872690
|
@ -266,7 +266,6 @@ src/modules/temperature/Makefile
|
||||||
src/modules/cpufreq/Makefile
|
src/modules/cpufreq/Makefile
|
||||||
src/modules/ibox/Makefile
|
src/modules/ibox/Makefile
|
||||||
src/modules/start/Makefile
|
src/modules/start/Makefile
|
||||||
src/modules/desktopname/Makefile
|
|
||||||
src/modules/randr/Makefile
|
src/modules/randr/Makefile
|
||||||
src/preload/Makefile
|
src/preload/Makefile
|
||||||
data/Makefile
|
data/Makefile
|
||||||
|
|
|
@ -32,7 +32,6 @@ default_start.edc \
|
||||||
default_winlist.edc \
|
default_winlist.edc \
|
||||||
default_transitions.edc \
|
default_transitions.edc \
|
||||||
default_dialog.edc \
|
default_dialog.edc \
|
||||||
default_desktopname.edc \
|
|
||||||
default_icons.edc \
|
default_icons.edc \
|
||||||
default_pointer.edc \
|
default_pointer.edc \
|
||||||
default_randr.edc
|
default_randr.edc
|
||||||
|
|
|
@ -40,7 +40,6 @@ collections {
|
||||||
#include "default_winlist.edc"
|
#include "default_winlist.edc"
|
||||||
#include "default_transitions.edc"
|
#include "default_transitions.edc"
|
||||||
#include "default_dialog.edc"
|
#include "default_dialog.edc"
|
||||||
#include "default_desktopname.edc"
|
|
||||||
#include "default_icons.edc"
|
#include "default_icons.edc"
|
||||||
#include "default_randr.edc"
|
#include "default_randr.edc"
|
||||||
#include "default_pointer.edc"
|
#include "default_pointer.edc"
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
images {
|
|
||||||
image: "e17_menu_bg.png" COMP;
|
|
||||||
image: "e17_ibar_bg_h.png" COMP;
|
|
||||||
image: "e17_ibar_over_h.png" COMP;
|
|
||||||
image: "e17_menu_bg.png" COMP;
|
|
||||||
image: "e17_menu_bg_border.png" COMP;
|
|
||||||
}
|
|
||||||
|
|
||||||
group {
|
|
||||||
name: "widgets/desktop/main";
|
|
||||||
parts {
|
|
||||||
part {
|
|
||||||
name: "base";
|
|
||||||
mouse_events: 0;
|
|
||||||
type: RECT;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 1.0;
|
|
||||||
offset: 1 0;
|
|
||||||
to_y: "base2";
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -2 -2;
|
|
||||||
}
|
|
||||||
color: 221 221 221 255;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "base2";
|
|
||||||
mouse_events: 0;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
max: 99999 48;
|
|
||||||
align: 0.5 0.0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 0.0;
|
|
||||||
offset: 1 1;
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -2 -2;
|
|
||||||
}
|
|
||||||
image {
|
|
||||||
normal: "e17_menu_bg.png";
|
|
||||||
}
|
|
||||||
fill {
|
|
||||||
smooth: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "base3";
|
|
||||||
mouse_events: 0;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 0.0;
|
|
||||||
offset: 0 0;
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -1 -1;
|
|
||||||
}
|
|
||||||
image {
|
|
||||||
normal: "e17_menu_bg_border.png";
|
|
||||||
border: 1 1 1 1;
|
|
||||||
middle: 0;
|
|
||||||
}
|
|
||||||
fill {
|
|
||||||
smooth: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "title_bg";
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
rel1 {
|
|
||||||
to: "title_overlay";
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
to: "title_overlay";
|
|
||||||
}
|
|
||||||
image {
|
|
||||||
normal: "e17_ibar_bg_h.png";
|
|
||||||
border: 6 6 6 6;
|
|
||||||
}
|
|
||||||
fill {
|
|
||||||
smooth: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "text";
|
|
||||||
type: TEXT;
|
|
||||||
effect: SOFT_SHADOW;
|
|
||||||
mouse_events: 0;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
align: 0.5 0.0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 0.0;
|
|
||||||
offset: 26 24;
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -26 -24;
|
|
||||||
}
|
|
||||||
color: 0 0 0 255;
|
|
||||||
color3: 0 0 0 22;
|
|
||||||
text {
|
|
||||||
text: "Title goes here";
|
|
||||||
font: "Edje Vera Bold";
|
|
||||||
size: 12;
|
|
||||||
min: 1 1;
|
|
||||||
align: 0.5 0.5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "title_overlay";
|
|
||||||
mouse_events: 0;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
align: 0.5 1.0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 0.0;
|
|
||||||
offset: 16 -7;
|
|
||||||
to_y: "text";
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -17 6;
|
|
||||||
to_y: "text";
|
|
||||||
}
|
|
||||||
image {
|
|
||||||
normal: "e17_ibar_over_h.png";
|
|
||||||
border: 13 13 13 13;
|
|
||||||
middle: 0;
|
|
||||||
}
|
|
||||||
fill {
|
|
||||||
smooth: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -466,10 +466,6 @@ e_config_init(void)
|
||||||
em->enabled = 1;
|
em->enabled = 1;
|
||||||
e_config->modules = evas_list_append(e_config->modules, em);
|
e_config->modules = evas_list_append(e_config->modules, em);
|
||||||
em = E_NEW(E_Config_Module, 1);
|
em = E_NEW(E_Config_Module, 1);
|
||||||
em->name = strdup("desktopname");
|
|
||||||
em->enabled = 1;
|
|
||||||
e_config->modules = evas_list_append(e_config->modules, em);
|
|
||||||
em = E_NEW(E_Config_Module, 1);
|
|
||||||
em->name = strdup("randr");
|
em->name = strdup("randr");
|
||||||
em->enabled = 1;
|
em->enabled = 1;
|
||||||
e_config->modules = evas_list_append(e_config->modules, em);
|
e_config->modules = evas_list_append(e_config->modules, em);
|
||||||
|
|
|
@ -10,5 +10,4 @@ temperature \
|
||||||
cpufreq \
|
cpufreq \
|
||||||
ibox \
|
ibox \
|
||||||
start \
|
start \
|
||||||
desktopname \
|
|
||||||
randr
|
randr
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
.deps
|
|
||||||
.libs
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
*.lo
|
|
||||||
module.la
|
|
|
@ -1,27 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
MODULE = desktopname
|
|
||||||
|
|
||||||
# data files for the module
|
|
||||||
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
|
|
||||||
files_DATA = \
|
|
||||||
module_icon.png
|
|
||||||
|
|
||||||
EXTRA_DIST = $(files_DATA)
|
|
||||||
|
|
||||||
# the module .so file
|
|
||||||
INCLUDES = -I. \
|
|
||||||
-I$(top_srcdir) \
|
|
||||||
-I$(includedir) \
|
|
||||||
-I$(top_srcdir)$(MODULE) \
|
|
||||||
-I$(top_srcdir)/src/bin \
|
|
||||||
-I$(top_srcdir)/src/lib \
|
|
||||||
-I$(top_srcdir)/src/modules \
|
|
||||||
@e_cflags@
|
|
||||||
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
|
||||||
pkg_LTLIBRARIES = module.la
|
|
||||||
module_la_SOURCES = e_mod_main.c \
|
|
||||||
e_mod_main.h
|
|
||||||
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
|
||||||
module_la_LDFLAGS = -module -avoid-version
|
|
||||||
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
|
||||||
|
|
|
@ -1,301 +0,0 @@
|
||||||
/*
|
|
||||||
* * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
||||||
*/
|
|
||||||
#include "e.h"
|
|
||||||
#include "e_mod_main.h"
|
|
||||||
#include "e_int_menus.h"
|
|
||||||
|
|
||||||
static DesktopName *_dn_new(void);
|
|
||||||
static E_Menu *_dn_config_menu_new(DesktopName *dn);
|
|
||||||
static void _dn_free(DesktopName *dn);
|
|
||||||
static int _dn_cb_event_desk_show(void *data, int type, void *event);
|
|
||||||
static int _dn_popup_timeout_cb(void *data);
|
|
||||||
|
|
||||||
static void _dn_config_speed_set(DesktopName *dn, double speed);
|
|
||||||
static void _dn_menu_cb_speed_very_slow(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _dn_menu_cb_speed_slow(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _dn_menu_cb_speed_normal(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _dn_menu_cb_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _dn_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
|
|
||||||
static Ecore_Timer *timeout_timer = NULL;
|
|
||||||
|
|
||||||
void *
|
|
||||||
e_modapi_init(E_Module *m)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
|
|
||||||
if (m->api->version < E_MODULE_API_VERSION)
|
|
||||||
{
|
|
||||||
e_error_dialog_show(_("Module API Error"),
|
|
||||||
_("Error initializing Module: desktop\n"
|
|
||||||
"It requires a minimum module API version of: %i.\n"
|
|
||||||
"The module API advertized by Enlightenment is: %i.\n"
|
|
||||||
"Aborting module."),
|
|
||||||
E_MODULE_API_VERSION,
|
|
||||||
m->api->version);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
dn = _dn_new();
|
|
||||||
m->config_menu = _dn_config_menu_new(dn);
|
|
||||||
return dn;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
e_modapi_shutdown(E_Module *m)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
dn = m->data;
|
|
||||||
if (dn)
|
|
||||||
{
|
|
||||||
if (m->config_menu)
|
|
||||||
{
|
|
||||||
e_menu_deactivate(m->config_menu);
|
|
||||||
e_object_del(E_OBJECT(m->config_menu));
|
|
||||||
m->config_menu = NULL;
|
|
||||||
}
|
|
||||||
_dn_free(dn);
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
e_modapi_save(E_Module *m)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
dn = m->data;
|
|
||||||
e_config_domain_save("module.desktopname", dn->conf_edd, dn->conf);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
e_modapi_info(E_Module *m)
|
|
||||||
{
|
|
||||||
char buf[4096];
|
|
||||||
|
|
||||||
m->label = strdup(_("DesktopName"));
|
|
||||||
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
|
|
||||||
m->icon_file = strdup(buf);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
e_modapi_about(E_Module *m)
|
|
||||||
{
|
|
||||||
e_error_dialog_show(_("Enlightenment DesktopName Module"),
|
|
||||||
_("Experimental module for E17: display desktop name on screen."));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static DesktopName *
|
|
||||||
_dn_new(void)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
|
|
||||||
dn = E_NEW(DesktopName, 1);
|
|
||||||
if (!dn) return NULL;
|
|
||||||
|
|
||||||
dn->conf_edd = E_CONFIG_DD_NEW("DesktopName_Config", Config);
|
|
||||||
#undef T
|
|
||||||
#undef D
|
|
||||||
#define T Config
|
|
||||||
#define D dn->conf_edd
|
|
||||||
E_CONFIG_VAL(D, T, speed, DOUBLE);
|
|
||||||
|
|
||||||
dn->conf = e_config_domain_load("module.desktopname", dn->conf_edd);
|
|
||||||
if (!dn->conf)
|
|
||||||
{
|
|
||||||
dn->conf = E_NEW(Config, 1);
|
|
||||||
dn->conf->speed = 1.2;
|
|
||||||
}
|
|
||||||
E_CONFIG_LIMIT(dn->conf->speed, 0.2, 10.0);
|
|
||||||
|
|
||||||
dn->ev_handler_desk_show = ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
|
||||||
_dn_cb_event_desk_show,
|
|
||||||
dn);
|
|
||||||
return dn;
|
|
||||||
}
|
|
||||||
|
|
||||||
static E_Menu *
|
|
||||||
_dn_config_menu_new(DesktopName *dn)
|
|
||||||
{
|
|
||||||
E_Menu *mn;
|
|
||||||
E_Menu_Item *mi;
|
|
||||||
|
|
||||||
mn = e_menu_new();
|
|
||||||
if(!mn) return NULL;
|
|
||||||
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Very Slow"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 1);
|
|
||||||
if (dn->conf->speed == 6.0) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _dn_menu_cb_speed_very_slow, dn);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Slow"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 1);
|
|
||||||
if (dn->conf->speed == 4.0) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _dn_menu_cb_speed_slow, dn);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Normal"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 1);
|
|
||||||
if (dn->conf->speed == 1.2) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _dn_menu_cb_speed_normal, dn);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Fast"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 1);
|
|
||||||
if (dn->conf->speed == 0.7) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _dn_menu_cb_speed_fast, dn);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Very Fast"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 1);
|
|
||||||
if (dn->conf->speed == 0.3) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _dn_menu_cb_speed_very_fast, dn);
|
|
||||||
|
|
||||||
return mn;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_free(DesktopName *dn)
|
|
||||||
{
|
|
||||||
free(dn->conf);
|
|
||||||
E_CONFIG_DD_FREE(dn->conf_edd);
|
|
||||||
ecore_event_handler_del(dn->ev_handler_desk_show);
|
|
||||||
if (dn->obj)
|
|
||||||
{
|
|
||||||
evas_object_del(dn->obj);
|
|
||||||
dn->obj = NULL;
|
|
||||||
}
|
|
||||||
if (dn->popup)
|
|
||||||
{
|
|
||||||
e_object_del(E_OBJECT(dn->popup));
|
|
||||||
dn->popup = NULL;
|
|
||||||
}
|
|
||||||
free(dn);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_menu_cb_speed_very_slow(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
dn = data;
|
|
||||||
_dn_config_speed_set(dn, 6.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_menu_cb_speed_slow(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
dn = data;
|
|
||||||
_dn_config_speed_set(dn, 4.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_menu_cb_speed_normal(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
dn = data;
|
|
||||||
_dn_config_speed_set(dn, 1.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_menu_cb_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
|
|
||||||
dn = data;
|
|
||||||
_dn_config_speed_set(dn, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
|
|
||||||
dn = data;
|
|
||||||
_dn_config_speed_set(dn, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_dn_config_speed_set(DesktopName *dn, double speed)
|
|
||||||
{
|
|
||||||
if (speed < 0.0) speed = 1.2;
|
|
||||||
dn->conf->speed = speed;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
_dn_cb_event_desk_show(void *data, int type, void *event)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
E_Event_Desk_Show *ev;
|
|
||||||
E_Zone *zone;
|
|
||||||
|
|
||||||
Evas_Coord ew, eh;
|
|
||||||
char buf[128];
|
|
||||||
|
|
||||||
dn = data;
|
|
||||||
ev = event;
|
|
||||||
zone = ev->desk->zone;
|
|
||||||
|
|
||||||
if (timeout_timer) ecore_timer_del(timeout_timer);
|
|
||||||
|
|
||||||
if (dn->popup) e_object_del(E_OBJECT(dn->popup));
|
|
||||||
|
|
||||||
dn->popup = e_popup_new(zone, 0, 0, 1, 1);
|
|
||||||
if (!dn->popup) return 1;
|
|
||||||
e_popup_layer_set(dn->popup, 255);
|
|
||||||
dn->obj = edje_object_add(dn->popup->evas);
|
|
||||||
e_theme_edje_object_set(dn->obj, "base/theme/desktop",
|
|
||||||
"widgets/desktop/main");
|
|
||||||
snprintf(buf, sizeof(buf), ev->desk->name);
|
|
||||||
edje_object_part_text_set(dn->obj, "text", buf);
|
|
||||||
|
|
||||||
|
|
||||||
edje_object_size_min_calc(dn->obj, &ew, &eh);
|
|
||||||
|
|
||||||
evas_object_move(dn->obj, 0, 0);
|
|
||||||
evas_object_resize(dn->obj, ew, eh);
|
|
||||||
evas_object_show(dn->obj);
|
|
||||||
edje_object_signal_emit(dn->obj, "active", "");
|
|
||||||
e_popup_edje_bg_object_set(dn->popup, dn->obj);
|
|
||||||
e_popup_move_resize(dn->popup,
|
|
||||||
(zone->x - dn->popup->zone->x) +
|
|
||||||
((zone->w - ew) / 2),
|
|
||||||
(zone->y - dn->popup->zone->y) +
|
|
||||||
((zone->h - eh) / 2),
|
|
||||||
ew, eh);
|
|
||||||
e_popup_show(dn->popup);
|
|
||||||
|
|
||||||
timeout_timer = ecore_timer_add(dn->conf->speed, _dn_popup_timeout_cb, dn);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
_dn_popup_timeout_cb(void *data)
|
|
||||||
{
|
|
||||||
DesktopName *dn;
|
|
||||||
|
|
||||||
dn = data;
|
|
||||||
if (dn->obj)
|
|
||||||
{
|
|
||||||
evas_object_del(dn->obj);
|
|
||||||
dn->obj = NULL;
|
|
||||||
}
|
|
||||||
if (dn->popup)
|
|
||||||
{
|
|
||||||
e_object_del(E_OBJECT(dn->popup));
|
|
||||||
dn->popup = NULL;
|
|
||||||
}
|
|
||||||
timeout_timer = NULL;
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
#ifndef E_MOD_MAIN_H
|
|
||||||
#define E_MOD_MAIN_H
|
|
||||||
|
|
||||||
typedef struct _Config Config;
|
|
||||||
typedef struct _DesktopName DesktopName;
|
|
||||||
|
|
||||||
struct _Config
|
|
||||||
{
|
|
||||||
double speed;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _DesktopName
|
|
||||||
{
|
|
||||||
E_Config_DD *conf_edd;
|
|
||||||
Config *conf;
|
|
||||||
E_Popup *popup;
|
|
||||||
Evas_Object *obj;
|
|
||||||
|
|
||||||
Ecore_Event_Handler *ev_handler_desk_show;
|
|
||||||
};
|
|
||||||
|
|
||||||
EAPI void *e_modapi_init (E_Module *m);
|
|
||||||
EAPI int e_modapi_shutdown (E_Module *m);
|
|
||||||
EAPI int e_modapi_save (E_Module *m);
|
|
||||||
EAPI int e_modapi_info (E_Module *m);
|
|
||||||
EAPI int e_modapi_about (E_Module *m);
|
|
||||||
|
|
||||||
#endif
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.3 KiB |
|
@ -14,7 +14,8 @@ static Pager *_pager_new();
|
||||||
static void _pager_free(Pager *pager);
|
static void _pager_free(Pager *pager);
|
||||||
static void _pager_config_menu_new(Pager *pager);
|
static void _pager_config_menu_new(Pager *pager);
|
||||||
|
|
||||||
static Pager_Face *_pager_face_new(Pager *pager, E_Zone *zone);
|
static Pager_Face *_pager_face_new(Pager *pager, E_Zone *zone, Evas *evas);
|
||||||
|
static void _pager_face_events_init(Pager_Face *face);
|
||||||
static void _pager_face_free(Pager_Face *face);
|
static void _pager_face_free(Pager_Face *face);
|
||||||
static void _pager_face_menu_new(Pager_Face *face);
|
static void _pager_face_menu_new(Pager_Face *face);
|
||||||
static void _pager_face_enable(Pager_Face *face);
|
static void _pager_face_enable(Pager_Face *face);
|
||||||
|
@ -74,6 +75,13 @@ static void _pager_face_cb_deskname_bottom(void *data, E_Menu *m, E_Menu_
|
||||||
static void _pager_face_cb_deskname_left(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_deskname_left(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _pager_face_cb_deskname_right(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_deskname_right(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _pager_face_deskname_position_change(Pager_Face *face);
|
static void _pager_face_deskname_position_change(Pager_Face *face);
|
||||||
|
static int _pager_popup_cb_timeout(void *data);
|
||||||
|
|
||||||
|
static void _pager_menu_cb_speed_very_slow(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_menu_cb_speed_slow(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_menu_cb_speed_normal(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_menu_cb_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
|
||||||
static int _pager_count;
|
static int _pager_count;
|
||||||
|
|
||||||
|
@ -185,11 +193,14 @@ _pager_new()
|
||||||
#define D _conf_edd
|
#define D _conf_edd
|
||||||
E_CONFIG_LIST(D, T, faces, _conf_face_edd);
|
E_CONFIG_LIST(D, T, faces, _conf_face_edd);
|
||||||
E_CONFIG_VAL(D, T, deskname_pos, UINT);
|
E_CONFIG_VAL(D, T, deskname_pos, UINT);
|
||||||
|
E_CONFIG_VAL(D, T, speed, UINT);
|
||||||
|
|
||||||
pager->conf = e_config_domain_load("module.pager", _conf_edd);
|
pager->conf = e_config_domain_load("module.pager", _conf_edd);
|
||||||
if (!pager->conf)
|
if (!pager->conf)
|
||||||
{
|
{
|
||||||
pager->conf = E_NEW(Config, 1);
|
pager->conf = E_NEW(Config, 1);
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_NONE;
|
||||||
|
pager->conf->speed = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
_pager_config_menu_new(pager);
|
_pager_config_menu_new(pager);
|
||||||
|
@ -215,10 +226,11 @@ _pager_new()
|
||||||
{
|
{
|
||||||
zone = l3->data;
|
zone = l3->data;
|
||||||
|
|
||||||
face = _pager_face_new(pager, zone);
|
face = _pager_face_new(pager, zone, zone->container->bg_evas);
|
||||||
if (face)
|
if (face)
|
||||||
{
|
{
|
||||||
pager->faces = evas_list_append(pager->faces, face);
|
pager->faces = evas_list_append(pager->faces, face);
|
||||||
|
_pager_face_events_init(face);
|
||||||
|
|
||||||
/* Config */
|
/* Config */
|
||||||
if (!cl)
|
if (!cl)
|
||||||
|
@ -269,6 +281,8 @@ _pager_free(Pager *pager)
|
||||||
e_object_del(E_OBJECT(l->data));
|
e_object_del(E_OBJECT(l->data));
|
||||||
evas_list_free(pager->menus);
|
evas_list_free(pager->menus);
|
||||||
e_object_del(E_OBJECT(pager->config_menu));
|
e_object_del(E_OBJECT(pager->config_menu));
|
||||||
|
e_object_del(E_OBJECT(pager->config_menu_deskname));
|
||||||
|
e_object_del(E_OBJECT(pager->config_menu_speed));
|
||||||
|
|
||||||
evas_list_free(pager->conf->faces);
|
evas_list_free(pager->conf->faces);
|
||||||
free(pager->conf);
|
free(pager->conf);
|
||||||
|
@ -330,14 +344,57 @@ _pager_config_menu_new(Pager *pager)
|
||||||
e_menu_item_callback_set(mi, _pager_face_cb_deskname_right, pager);
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_right, pager);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
mn = e_menu_new();
|
||||||
|
pager->config_menu_speed = mn;
|
||||||
|
|
||||||
|
/* Desktopname speed */
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Very Slow"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 1);
|
||||||
|
if (pager->conf->speed == 60) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_menu_cb_speed_very_slow, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Slow"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 1);
|
||||||
|
if (pager->conf->speed == 40) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_menu_cb_speed_slow, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Normal"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 1);
|
||||||
|
if (pager->conf->speed == 12) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_menu_cb_speed_normal, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Fast"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 1);
|
||||||
|
if (pager->conf->speed == 7) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_menu_cb_speed_fast, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Very Fast"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 1);
|
||||||
|
if (pager->conf->speed == 3) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_menu_cb_speed_very_fast, pager);
|
||||||
|
|
||||||
/* Submenus */
|
/* Submenus */
|
||||||
mi = e_menu_item_new(pager->config_menu);
|
mi = e_menu_item_new(pager->config_menu);
|
||||||
e_menu_item_label_set(mi, _("Desktop Name"));
|
e_menu_item_label_set(mi, _("Desktop Name"));
|
||||||
e_menu_item_submenu_set(mi, pager->config_menu_deskname);
|
e_menu_item_submenu_set(mi, pager->config_menu_deskname);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(pager->config_menu);
|
||||||
|
e_menu_item_label_set(mi, _("Desktop Speed"));
|
||||||
|
e_menu_item_submenu_set(mi, pager->config_menu_speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Pager_Face *
|
static Pager_Face *
|
||||||
_pager_face_new(Pager *pager, E_Zone *zone)
|
_pager_face_new(Pager *pager, E_Zone *zone, Evas *evas)
|
||||||
{
|
{
|
||||||
Pager_Face *face;
|
Pager_Face *face;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
@ -349,57 +406,7 @@ _pager_face_new(Pager *pager, E_Zone *zone)
|
||||||
face->pager = pager;
|
face->pager = pager;
|
||||||
|
|
||||||
/* store what evas we live in */
|
/* store what evas we live in */
|
||||||
face->evas = zone->container->bg_evas;
|
face->evas = evas;
|
||||||
|
|
||||||
/* set up event handles for when windows change and desktops */
|
|
||||||
face->ev_handler_border_resize =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_RESIZE,
|
|
||||||
_pager_face_cb_event_border_resize, face);
|
|
||||||
face->ev_handler_border_move =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_MOVE,
|
|
||||||
_pager_face_cb_event_border_move, face);
|
|
||||||
face->ev_handler_border_add =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_ADD,
|
|
||||||
_pager_face_cb_event_border_add, face);
|
|
||||||
face->ev_handler_border_remove =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_REMOVE,
|
|
||||||
_pager_face_cb_event_border_remove, face);
|
|
||||||
face->ev_handler_border_iconify =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_ICONIFY,
|
|
||||||
_pager_face_cb_event_border_iconify, face);
|
|
||||||
face->ev_handler_border_uniconify =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_UNICONIFY,
|
|
||||||
_pager_face_cb_event_border_uniconify, face);
|
|
||||||
face->ev_handler_border_stick =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_STICK,
|
|
||||||
_pager_face_cb_event_border_stick, face);
|
|
||||||
face->ev_handler_border_unstick =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_UNSTICK,
|
|
||||||
_pager_face_cb_event_border_unstick, face);
|
|
||||||
face->ev_handler_border_desk_set =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_DESK_SET,
|
|
||||||
_pager_face_cb_event_border_desk_set, face);
|
|
||||||
face->ev_handler_border_raise =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_RAISE,
|
|
||||||
_pager_face_cb_event_border_raise, face);
|
|
||||||
face->ev_handler_border_lower =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_LOWER,
|
|
||||||
_pager_face_cb_event_border_lower, face);
|
|
||||||
face->ev_handler_border_icon_change =
|
|
||||||
ecore_event_handler_add(E_EVENT_BORDER_ICON_CHANGE,
|
|
||||||
_pager_face_cb_event_border_icon_change, face);
|
|
||||||
face->ev_handler_zone_desk_count_set =
|
|
||||||
ecore_event_handler_add(E_EVENT_ZONE_DESK_COUNT_SET,
|
|
||||||
_pager_face_cb_event_zone_desk_count_set, face);
|
|
||||||
face->ev_handler_desk_show =
|
|
||||||
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
|
||||||
_pager_face_cb_event_desk_show, face);
|
|
||||||
face->ev_handler_desk_name_change =
|
|
||||||
ecore_event_handler_add(E_EVENT_DESK_NAME_CHANGE,
|
|
||||||
_pager_face_cb_event_desk_name_change, face);
|
|
||||||
face->ev_handler_container_resize =
|
|
||||||
ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
|
|
||||||
_pager_face_cb_event_container_resize, face);
|
|
||||||
|
|
||||||
/* the bg */
|
/* the bg */
|
||||||
o = edje_object_add(face->evas);
|
o = edje_object_add(face->evas);
|
||||||
|
@ -453,6 +460,60 @@ _pager_face_new(Pager *pager, E_Zone *zone)
|
||||||
return face;
|
return face;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_events_init(Pager_Face *face)
|
||||||
|
{
|
||||||
|
/* set up event handles for when windows change and desktops */
|
||||||
|
face->ev_handler_border_resize =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_RESIZE,
|
||||||
|
_pager_face_cb_event_border_resize, face);
|
||||||
|
face->ev_handler_border_move =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_MOVE,
|
||||||
|
_pager_face_cb_event_border_move, face);
|
||||||
|
face->ev_handler_border_add =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_ADD,
|
||||||
|
_pager_face_cb_event_border_add, face);
|
||||||
|
face->ev_handler_border_remove =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_REMOVE,
|
||||||
|
_pager_face_cb_event_border_remove, face);
|
||||||
|
face->ev_handler_border_iconify =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_ICONIFY,
|
||||||
|
_pager_face_cb_event_border_iconify, face);
|
||||||
|
face->ev_handler_border_uniconify =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_UNICONIFY,
|
||||||
|
_pager_face_cb_event_border_uniconify, face);
|
||||||
|
face->ev_handler_border_stick =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_STICK,
|
||||||
|
_pager_face_cb_event_border_stick, face);
|
||||||
|
face->ev_handler_border_unstick =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_UNSTICK,
|
||||||
|
_pager_face_cb_event_border_unstick, face);
|
||||||
|
face->ev_handler_border_desk_set =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_DESK_SET,
|
||||||
|
_pager_face_cb_event_border_desk_set, face);
|
||||||
|
face->ev_handler_border_raise =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_RAISE,
|
||||||
|
_pager_face_cb_event_border_raise, face);
|
||||||
|
face->ev_handler_border_lower =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_LOWER,
|
||||||
|
_pager_face_cb_event_border_lower, face);
|
||||||
|
face->ev_handler_border_icon_change =
|
||||||
|
ecore_event_handler_add(E_EVENT_BORDER_ICON_CHANGE,
|
||||||
|
_pager_face_cb_event_border_icon_change, face);
|
||||||
|
face->ev_handler_zone_desk_count_set =
|
||||||
|
ecore_event_handler_add(E_EVENT_ZONE_DESK_COUNT_SET,
|
||||||
|
_pager_face_cb_event_zone_desk_count_set, face);
|
||||||
|
face->ev_handler_desk_show =
|
||||||
|
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
||||||
|
_pager_face_cb_event_desk_show, face);
|
||||||
|
face->ev_handler_desk_name_change =
|
||||||
|
ecore_event_handler_add(E_EVENT_DESK_NAME_CHANGE,
|
||||||
|
_pager_face_cb_event_desk_name_change, face);
|
||||||
|
face->ev_handler_container_resize =
|
||||||
|
ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
|
||||||
|
_pager_face_cb_event_container_resize, face);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_pager_face_free(Pager_Face *face)
|
_pager_face_free(Pager_Face *face)
|
||||||
{
|
{
|
||||||
|
@ -464,24 +525,41 @@ _pager_face_free(Pager_Face *face)
|
||||||
e_drop_handler_del(face->drop_handler);
|
e_drop_handler_del(face->drop_handler);
|
||||||
|
|
||||||
_pager_face_zone_unset(face);
|
_pager_face_zone_unset(face);
|
||||||
ecore_event_handler_del(face->ev_handler_border_resize);
|
if (face->ev_handler_border_resize)
|
||||||
ecore_event_handler_del(face->ev_handler_border_move);
|
ecore_event_handler_del(face->ev_handler_border_resize);
|
||||||
ecore_event_handler_del(face->ev_handler_border_add);
|
if (face->ev_handler_border_move)
|
||||||
ecore_event_handler_del(face->ev_handler_border_remove);
|
ecore_event_handler_del(face->ev_handler_border_move);
|
||||||
ecore_event_handler_del(face->ev_handler_border_iconify);
|
if (face->ev_handler_border_add)
|
||||||
ecore_event_handler_del(face->ev_handler_border_uniconify);
|
ecore_event_handler_del(face->ev_handler_border_add);
|
||||||
ecore_event_handler_del(face->ev_handler_border_stick);
|
if (face->ev_handler_border_remove)
|
||||||
ecore_event_handler_del(face->ev_handler_border_unstick);
|
ecore_event_handler_del(face->ev_handler_border_remove);
|
||||||
ecore_event_handler_del(face->ev_handler_border_desk_set);
|
if (face->ev_handler_border_iconify)
|
||||||
ecore_event_handler_del(face->ev_handler_border_raise);
|
ecore_event_handler_del(face->ev_handler_border_iconify);
|
||||||
ecore_event_handler_del(face->ev_handler_border_lower);
|
if (face->ev_handler_border_uniconify)
|
||||||
ecore_event_handler_del(face->ev_handler_border_icon_change);
|
ecore_event_handler_del(face->ev_handler_border_uniconify);
|
||||||
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
if (face->ev_handler_border_stick)
|
||||||
ecore_event_handler_del(face->ev_handler_desk_show);
|
ecore_event_handler_del(face->ev_handler_border_stick);
|
||||||
ecore_event_handler_del(face->ev_handler_desk_name_change);
|
if (face->ev_handler_border_unstick)
|
||||||
ecore_event_handler_del(face->ev_handler_container_resize);
|
ecore_event_handler_del(face->ev_handler_border_unstick);
|
||||||
|
if (face->ev_handler_border_desk_set)
|
||||||
|
ecore_event_handler_del(face->ev_handler_border_desk_set);
|
||||||
|
if (face->ev_handler_border_raise)
|
||||||
|
ecore_event_handler_del(face->ev_handler_border_raise);
|
||||||
|
if (face->ev_handler_border_lower)
|
||||||
|
ecore_event_handler_del(face->ev_handler_border_lower);
|
||||||
|
if (face->ev_handler_border_icon_change)
|
||||||
|
ecore_event_handler_del(face->ev_handler_border_icon_change);
|
||||||
|
if (face->ev_handler_zone_desk_count_set)
|
||||||
|
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
||||||
|
if (face->ev_handler_desk_show)
|
||||||
|
ecore_event_handler_del(face->ev_handler_desk_show);
|
||||||
|
if (face->ev_handler_desk_name_change)
|
||||||
|
ecore_event_handler_del(face->ev_handler_desk_name_change);
|
||||||
|
if (face->ev_handler_container_resize)
|
||||||
|
ecore_event_handler_del(face->ev_handler_container_resize);
|
||||||
|
|
||||||
e_object_del(E_OBJECT(face->menu));
|
if (face->menu)
|
||||||
|
e_object_del(E_OBJECT(face->menu));
|
||||||
|
|
||||||
free(face->conf);
|
free(face->conf);
|
||||||
free(face);
|
free(face);
|
||||||
|
@ -513,6 +591,10 @@ _pager_face_menu_new(Pager_Face *face)
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
e_menu_item_label_set(mi, _("Desktop Name"));
|
e_menu_item_label_set(mi, _("Desktop Name"));
|
||||||
e_menu_item_submenu_set(mi, face->pager->config_menu_deskname);
|
e_menu_item_submenu_set(mi, face->pager->config_menu_deskname);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Desktop Speed"));
|
||||||
|
e_menu_item_submenu_set(mi, face->pager->config_menu_speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1303,11 +1385,68 @@ _pager_face_cb_event_desk_show(void *data, int type, void *event)
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
if (face->zone != ev->desk->zone) return 1;
|
if (face->zone != ev->desk->zone) return 1;
|
||||||
|
|
||||||
desk = _pager_face_desk_find(face, ev->desk);
|
desk = _pager_face_desk_find(face, ev->desk);
|
||||||
if (desk) _pager_face_desk_select(desk);
|
if (desk)
|
||||||
|
{
|
||||||
|
Pager_Popup *pp;
|
||||||
|
Evas_Coord w, h;
|
||||||
|
char buf[1024];
|
||||||
|
|
||||||
|
_pager_face_desk_select(desk);
|
||||||
|
|
||||||
|
pp = E_NEW(Pager_Popup, 1);
|
||||||
|
if (!pp) return 1;
|
||||||
|
|
||||||
|
/* Show popup */
|
||||||
|
pp->popup = e_popup_new(face->zone, 0, 0, 1, 1);
|
||||||
|
if (!pp->popup)
|
||||||
|
{
|
||||||
|
free(pp);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
e_popup_layer_set(pp->popup, 999);
|
||||||
|
|
||||||
|
/* FIXME, this doesn't resize nicely when the name is shown! */
|
||||||
|
evas_object_geometry_get(face->pager_object, NULL, NULL, &w, &h);
|
||||||
|
w *= 3;
|
||||||
|
h *= 3;
|
||||||
|
|
||||||
|
pp->face = _pager_face_new(face->pager, face->zone, pp->popup->evas);
|
||||||
|
evas_object_move(pp->face->pager_object, 0, 0);
|
||||||
|
evas_object_resize(pp->face->pager_object, w, h);
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), desk->desk->name);
|
||||||
|
edje_object_part_text_set(pp->face->pager_object, "desktop_name", buf);
|
||||||
|
edje_object_signal_emit(pp->face->pager_object, "desktop_name,top", "");
|
||||||
|
|
||||||
|
e_popup_edje_bg_object_set(pp->popup, pp->face->pager_object);
|
||||||
|
e_popup_move_resize(pp->popup,
|
||||||
|
pp->popup->zone->x + ((pp->popup->zone->w - w) / 2),
|
||||||
|
pp->popup->zone->y + ((pp->popup->zone->h - h) / 2),
|
||||||
|
w, h);
|
||||||
|
e_popup_show(pp->popup);
|
||||||
|
|
||||||
|
ecore_timer_add(face->pager->conf->speed / 10.0, _pager_popup_cb_timeout, pp);
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_pager_popup_cb_timeout(void *data)
|
||||||
|
{
|
||||||
|
Pager_Popup *pp;
|
||||||
|
|
||||||
|
pp = data;
|
||||||
|
|
||||||
|
pp->face->pager->faces = evas_list_remove(pp->face->pager->faces, pp->face);
|
||||||
|
_pager_face_free(pp->face);
|
||||||
|
e_object_del(E_OBJECT(pp->popup));
|
||||||
|
free(pp);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
static int
|
static int
|
||||||
_pager_face_cb_event_desk_name_change(void *data, int type, void *event)
|
_pager_face_cb_event_desk_name_change(void *data, int type, void *event)
|
||||||
{
|
{
|
||||||
|
@ -1431,17 +1570,16 @@ _pager_desk_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
desk = data;
|
desk = data;
|
||||||
|
|
||||||
for(l = desk->face->desks; l; l = l->next)
|
for (l = desk->face->desks; l; l = l->next)
|
||||||
{
|
{
|
||||||
Pager_Desk *pd;
|
Pager_Desk *pd;
|
||||||
pd = l->data;
|
pd = l->data;
|
||||||
if (pd->current)
|
if (pd->current)
|
||||||
{
|
{
|
||||||
edje_object_part_text_set(pd->face->pager_object, "desktop_name", pd->desk->name);
|
edje_object_part_text_set(pd->face->pager_object, "desktop_name", pd->desk->name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1452,7 +1590,7 @@ _pager_desk_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
||||||
|
|
||||||
ev = event_info;
|
ev = event_info;
|
||||||
pd = data;
|
pd = data;
|
||||||
if (ev->button == 3)
|
if ((ev->button == 3) && (pd->face->menu))
|
||||||
{
|
{
|
||||||
e_menu_activate_mouse(pd->face->menu, pd->face->zone,
|
e_menu_activate_mouse(pd->face->menu, pd->face->zone,
|
||||||
ev->output.x, ev->output.y, 1, 1,
|
ev->output.x, ev->output.y, 1, 1,
|
||||||
|
@ -1722,3 +1860,47 @@ _pager_face_deskname_position_change(Pager_Face *face)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_menu_cb_speed_very_slow(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
pager = data;
|
||||||
|
pager->conf->speed = 60;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_menu_cb_speed_slow(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
pager = data;
|
||||||
|
pager->conf->speed = 40;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_menu_cb_speed_normal(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
pager = data;
|
||||||
|
pager->conf->speed = 12;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_menu_cb_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
pager = data;
|
||||||
|
pager->conf->speed = 7;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
pager = data;
|
||||||
|
pager->conf->speed = 3;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ typedef struct _Pager Pager;
|
||||||
typedef struct _Pager_Face Pager_Face;
|
typedef struct _Pager_Face Pager_Face;
|
||||||
typedef struct _Pager_Desk Pager_Desk;
|
typedef struct _Pager_Desk Pager_Desk;
|
||||||
typedef struct _Pager_Win Pager_Win;
|
typedef struct _Pager_Win Pager_Win;
|
||||||
|
typedef struct _Pager_Popup Pager_Popup;
|
||||||
|
|
||||||
#define PAGER_RESIZE_NONE 0
|
#define PAGER_RESIZE_NONE 0
|
||||||
#define PAGER_RESIZE_HORZ 1
|
#define PAGER_RESIZE_HORZ 1
|
||||||
|
@ -27,6 +28,8 @@ struct _Config
|
||||||
Evas_List *faces;
|
Evas_List *faces;
|
||||||
/* Position of desktop name */
|
/* Position of desktop name */
|
||||||
unsigned int deskname_pos;
|
unsigned int deskname_pos;
|
||||||
|
/* How the popup is shown on desk change */
|
||||||
|
unsigned int speed;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Config_Face
|
struct _Config_Face
|
||||||
|
@ -44,6 +47,7 @@ struct _Pager
|
||||||
Evas_List *faces;
|
Evas_List *faces;
|
||||||
E_Menu *config_menu;
|
E_Menu *config_menu;
|
||||||
E_Menu *config_menu_deskname;
|
E_Menu *config_menu_deskname;
|
||||||
|
E_Menu *config_menu_speed;
|
||||||
Evas_List *menus;
|
Evas_List *menus;
|
||||||
|
|
||||||
Config *conf;
|
Config *conf;
|
||||||
|
@ -116,6 +120,12 @@ struct _Pager_Win
|
||||||
Evas_Object *icon_object;
|
Evas_Object *icon_object;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _Pager_Popup
|
||||||
|
{
|
||||||
|
E_Popup *popup;
|
||||||
|
Pager_Face *face;
|
||||||
|
};
|
||||||
|
|
||||||
EAPI void *e_modapi_init (E_Module *module);
|
EAPI void *e_modapi_init (E_Module *module);
|
||||||
EAPI int e_modapi_shutdown (E_Module *module);
|
EAPI int e_modapi_shutdown (E_Module *module);
|
||||||
EAPI int e_modapi_save (E_Module *module);
|
EAPI int e_modapi_save (E_Module *module);
|
||||||
|
|
Loading…
Reference in New Issue