parent
e5a34ab98f
commit
19fd612b97
2
TODO
2
TODO
|
@ -8,6 +8,8 @@ Some of the things (in very short form) that need to be done to E17...
|
|||
BUGS / FIXES
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* BUG: pager dnd is broken when shelf below (in desktop canvas) and @ of rows
|
||||
is > 1.
|
||||
* BUG: ghost windows happen if windows close when on another desktop or if
|
||||
windows are very short-lived
|
||||
* BUG: k3b has minimization issues when burning cds (it tries to unminimize
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -649,7 +649,7 @@ e_config_init(void)
|
|||
|
||||
CFG_MODULE("start", 1);
|
||||
CFG_MODULE("ibar", 1);
|
||||
CFG_MODULE("ibox", 0);
|
||||
CFG_MODULE("ibox", 1);
|
||||
CFG_MODULE("dropshadow", 1);
|
||||
CFG_MODULE("clock", 1);
|
||||
CFG_MODULE("battery", 1);
|
||||
|
@ -1094,31 +1094,33 @@ e_config_init(void)
|
|||
CFG_GADCON_CLIENT("ibar", "default", 800, 200,
|
||||
400 - (16 / 2), "inset", 1, 0);
|
||||
CFG_GADCON_CLIENT("temperature", "default", 800, 32,
|
||||
800 - (4 * 32), NULL, 0, 0);
|
||||
800 - (5 * 32), NULL, 0, 0);
|
||||
CFG_GADCON_CLIENT("cpufreq", "default", 800, 32,
|
||||
800 - (3 * 32), NULL, 0, 0);
|
||||
800 - (4 * 32), NULL, 0, 0);
|
||||
CFG_GADCON_CLIENT("battery", "default", 800, 32,
|
||||
800 - (2 * 32), NULL, 0, 0);
|
||||
800 - (3 * 32), NULL, 0, 0);
|
||||
CFG_GADCON_CLIENT("clock", "default", 800, 32,
|
||||
800 - (1 * 32), NULL, 0, 0);
|
||||
800 - (2 * 32), NULL, 0, 0);
|
||||
CFG_GADCON_CLIENT("ibox", "default", 800, 200,
|
||||
400 - (1 * 32), "inset", 1, 0);
|
||||
/* additional shelves for up to 3 more heads by default */
|
||||
CFG_GADCON("shelf", "1");
|
||||
CFG_GADCON_CLIENT("pager", "default2", 800, 120,
|
||||
0, "inset", 0, 0);
|
||||
CFG_GADCON_CLIENT("ibar", "default2", 800, 200,
|
||||
400 - (16 / 2), "inset", 1, 0);
|
||||
CFG_GADCON_CLIENT("ibox", "default", 800, 200,
|
||||
400 - (1 * 32), "inset", 1, 0);
|
||||
|
||||
CFG_GADCON("shelf", "2");
|
||||
CFG_GADCON_CLIENT("pager", "default3", 800, 120,
|
||||
0, "inset", 0, 0);
|
||||
CFG_GADCON_CLIENT("ibar", "default2", 800, 200,
|
||||
400 - (16 / 2), "inset", 1, 0);
|
||||
CFG_GADCON_CLIENT("ibox", "default", 800, 200,
|
||||
400 - (1 * 32), "inset", 1, 0);
|
||||
|
||||
CFG_GADCON("shelf", "3");
|
||||
CFG_GADCON_CLIENT("pager", "default4", 800, 120,
|
||||
0, "inset", 0, 0);
|
||||
CFG_GADCON_CLIENT("ibar", "default2", 800, 200,
|
||||
400 - (16 / 2), "inset", 1, 0);
|
||||
CFG_GADCON_CLIENT("ibox", "default", 800, 200,
|
||||
400 - (1 * 32), "inset", 1, 0);
|
||||
}
|
||||
IFCFGEND;
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ static IBar_Icon *_ibar_icon_new(IBar *b, E_App *a);
|
|||
static void _ibar_icon_free(IBar_Icon *ic);
|
||||
static void _ibar_icon_fill(IBar_Icon *ic);
|
||||
static void _ibar_icon_empty(IBar_Icon *ic);
|
||||
static void _ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char *src);
|
||||
static void _ibar_cb_app_change(void *data, E_App *a, E_App_Change ch);
|
||||
static int _ibar_cb_timer_drop_recalc(void *data);
|
||||
static void _ibar_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||
|
@ -599,18 +600,23 @@ _ibar_icon_fill(IBar_Icon *ic)
|
|||
static void
|
||||
_ibar_icon_empty(IBar_Icon *ic)
|
||||
{
|
||||
evas_object_del(ic->o_icon);
|
||||
evas_object_del(ic->o_icon2);
|
||||
if (ic->o_icon) evas_object_del(ic->o_icon);
|
||||
if (ic->o_icon2) evas_object_del(ic->o_icon2);
|
||||
ic->o_icon = NULL;
|
||||
ic->o_icon2 = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char *src)
|
||||
{
|
||||
edje_object_signal_emit(ic->o_holder, sig, src);
|
||||
edje_object_signal_emit(ic->o_icon, sig, src);
|
||||
edje_object_signal_emit(ic->o_holder2, sig, src);
|
||||
edje_object_signal_emit(ic->o_icon2, sig, src);
|
||||
if (ic->o_holder)
|
||||
edje_object_signal_emit(ic->o_holder, sig, src);
|
||||
if (ic->o_icon)
|
||||
edje_object_signal_emit(ic->o_icon, sig, src);
|
||||
if (ic->o_holder2)
|
||||
edje_object_signal_emit(ic->o_holder2, sig, src);
|
||||
if (ic->o_icon2)
|
||||
edje_object_signal_emit(ic->o_icon2, sig, src);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1220,6 +1226,7 @@ _ibar_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
inst->ibar->o_drop = NULL;
|
||||
evas_object_del(inst->ibar->o_drop_over);
|
||||
inst->ibar->o_drop_over = NULL;
|
||||
_ibar_empty_handle(inst->ibar);
|
||||
_ibar_resize_handle(inst->ibar);
|
||||
_gc_orient(inst->gcc);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ MODULE = ibox
|
|||
# data files for the module
|
||||
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
|
||||
files_DATA = \
|
||||
module.eap \
|
||||
module_icon.png
|
||||
|
||||
EXTRA_DIST = $(files_DATA)
|
||||
|
@ -19,9 +20,7 @@ INCLUDES = -I. \
|
|||
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
||||
pkg_LTLIBRARIES = module.la
|
||||
module_la_SOURCES = e_mod_main.c \
|
||||
e_mod_main.h \
|
||||
e_mod_config.c \
|
||||
e_mod_config.h
|
||||
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,175 +0,0 @@
|
|||
#include "e.h"
|
||||
#include "e_mod_main.h"
|
||||
#include "e_mod_config.h"
|
||||
#include "config.h"
|
||||
|
||||
struct _E_Config_Dialog_Data
|
||||
{
|
||||
int autofit;
|
||||
int follower;
|
||||
int iconsize;
|
||||
double follow_speed;
|
||||
double autoscroll_speed;
|
||||
};
|
||||
|
||||
/* Protos */
|
||||
static void *_create_data(E_Config_Dialog *cfd);
|
||||
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
||||
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||
static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
||||
static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||
|
||||
void
|
||||
_config_ibox_module(E_Container *con, IBox *ibox)
|
||||
{
|
||||
E_Config_Dialog *cfd;
|
||||
E_Config_Dialog_View *v;
|
||||
|
||||
v = E_NEW(E_Config_Dialog_View, 1);
|
||||
|
||||
/* Dialog Methods */
|
||||
v->create_cfdata = _create_data;
|
||||
v->free_cfdata = _free_data;
|
||||
v->basic.apply_cfdata = _basic_apply_data;
|
||||
v->basic.create_widgets = _basic_create_widgets;
|
||||
v->advanced.apply_cfdata = _advanced_apply_data;
|
||||
v->advanced.create_widgets = _advanced_create_widgets;
|
||||
|
||||
/* Create The Dialog */
|
||||
cfd = e_config_dialog_new(con, _("IBox Configuration"), NULL, 0, v, ibox);
|
||||
ibox->config_dialog = cfd;
|
||||
}
|
||||
|
||||
static void
|
||||
_fill_data(IBox *ib, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
cfdata->autofit = (ib->conf->width == IBOX_WIDTH_AUTO);
|
||||
cfdata->follower = ib->conf->follower;
|
||||
cfdata->iconsize = ib->conf->iconsize;
|
||||
cfdata->follow_speed = ib->conf->follow_speed;
|
||||
cfdata->autoscroll_speed = ib->conf->autoscroll_speed;
|
||||
}
|
||||
|
||||
static void *
|
||||
_create_data(E_Config_Dialog *cfd)
|
||||
{
|
||||
E_Config_Dialog_Data *cfdata;
|
||||
IBox *ib;
|
||||
|
||||
ib = cfd->data;
|
||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||
_fill_data(ib, cfdata);
|
||||
return cfdata;
|
||||
}
|
||||
|
||||
static void
|
||||
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
IBox *ib;
|
||||
|
||||
ib = cfd->data;
|
||||
ib->config_dialog = NULL;
|
||||
free(cfdata);
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *ob;
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
ob = e_widget_check_add(evas, _("Show Follower"), &(cfdata->follower));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
ob = e_widget_check_add(evas, _("Auto Fit Icons"), &(cfdata->autofit));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
return o;
|
||||
}
|
||||
|
||||
static int
|
||||
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
IBox *ib;
|
||||
|
||||
ib = cfd->data;
|
||||
e_border_button_bindings_ungrab_all();
|
||||
if ((cfdata->follower) && (!ib->conf->follower))
|
||||
ib->conf->follower = 1;
|
||||
else if (!(cfdata->follower) && (ib->conf->follower))
|
||||
ib->conf->follower = 0;
|
||||
|
||||
if ((cfdata->autofit) && (ib->conf->width == IBOX_WIDTH_FIXED))
|
||||
ib->conf->width = IBOX_WIDTH_AUTO;
|
||||
else if (!(cfdata->autofit) && (ib->conf->width == IBOX_WIDTH_AUTO))
|
||||
ib->conf->width = IBOX_WIDTH_FIXED;
|
||||
|
||||
e_border_button_bindings_grab_all();
|
||||
e_config_save_queue();
|
||||
|
||||
_ibox_box_cb_config_updated(ib);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Follower"), 0);
|
||||
ob = e_widget_check_add(evas, _("Visible"), &(cfdata->follower));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_label_add(evas, _("Follow Speed"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f px/s"), 0.0, 1.0, 0.01, 0, &(cfdata->follow_speed), NULL,200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Icon Size"), 0);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%3.0f pixels"), 8.0, 128.0, 1.0, 0, NULL, &(cfdata->iconsize), 200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Width"), 0);
|
||||
ob = e_widget_check_add(evas, _("Auto Fit"), &(cfdata->autofit));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_label_add(evas, _("Autoscroll Speed:"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f px/s"), 0.0, 1.0, 0.01, 0, &(cfdata->autoscroll_speed), NULL,200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
static int
|
||||
_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
IBox *ib;
|
||||
|
||||
ib = cfd->data;
|
||||
e_border_button_bindings_ungrab_all();
|
||||
if ((cfdata->follower) && (!ib->conf->follower))
|
||||
ib->conf->follower = 1;
|
||||
else if (!(cfdata->follower) && (ib->conf->follower))
|
||||
ib->conf->follower = 0;
|
||||
|
||||
if ((cfdata->autofit) && (ib->conf->width == IBOX_WIDTH_FIXED))
|
||||
ib->conf->width = IBOX_WIDTH_AUTO;
|
||||
else if (!(cfdata->autofit) && (ib->conf->width == IBOX_WIDTH_AUTO))
|
||||
ib->conf->width = IBOX_WIDTH_FIXED;
|
||||
|
||||
if (cfdata->iconsize != ib->conf->iconsize)
|
||||
ib->conf->iconsize = cfdata->iconsize;
|
||||
if (cfdata->follow_speed != ib->conf->follow_speed)
|
||||
ib->conf->follow_speed = cfdata->follow_speed;
|
||||
if (cfdata->autoscroll_speed != ib->conf->autoscroll_speed)
|
||||
ib->conf->autoscroll_speed = cfdata->autoscroll_speed;
|
||||
|
||||
e_border_button_bindings_grab_all();
|
||||
e_config_save_queue();
|
||||
|
||||
_ibox_box_cb_config_updated(ib);
|
||||
return 1;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
#ifdef E_TYPEDEFS
|
||||
#else
|
||||
#ifndef E_MOD_CONFIG_H
|
||||
#define E_MOD_CONFIG_H
|
||||
#include "e_mod_main.h"
|
||||
void _config_ibox_module(E_Container *con, IBox *ibox);
|
||||
#endif
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -5,84 +5,14 @@
|
|||
#define E_MOD_MAIN_H
|
||||
|
||||
typedef struct _Config Config;
|
||||
typedef struct _Config_Box Config_Box;
|
||||
typedef struct _IBox IBox;
|
||||
typedef struct _IBox_Box IBox_Box;
|
||||
typedef struct _IBox_Icon IBox_Icon;
|
||||
|
||||
#define IBOX_WIDTH_AUTO -1
|
||||
#define IBOX_WIDTH_FIXED -2
|
||||
|
||||
struct _Config
|
||||
{
|
||||
double follow_speed;
|
||||
int follower;
|
||||
double autoscroll_speed;
|
||||
int iconsize;
|
||||
int width;
|
||||
Evas_List *boxes;
|
||||
};
|
||||
|
||||
struct _Config_Box
|
||||
{
|
||||
unsigned char enabled;
|
||||
};
|
||||
|
||||
struct _IBox
|
||||
{
|
||||
Evas_List *boxes;
|
||||
E_Menu *config_menu;
|
||||
|
||||
Config *conf;
|
||||
E_Config_Dialog *config_dialog;
|
||||
};
|
||||
|
||||
struct _IBox_Box
|
||||
{
|
||||
IBox *ibox;
|
||||
E_Container *con;
|
||||
Evas *evas;
|
||||
E_Menu *menu;
|
||||
|
||||
Evas_Object *box_object;
|
||||
Evas_Object *overlay_object;
|
||||
Evas_Object *item_object;
|
||||
Evas_Object *event_object;
|
||||
|
||||
Evas_List *icons;
|
||||
|
||||
Ecore_Event_Handler *ev_handler_border_iconify;
|
||||
Ecore_Event_Handler *ev_handler_border_uniconify;
|
||||
Ecore_Event_Handler *ev_handler_border_remove;
|
||||
|
||||
double align, align_req;
|
||||
double follow, follow_req;
|
||||
Ecore_Timer *timer;
|
||||
Ecore_Animator *animator;
|
||||
|
||||
Evas_Coord x, y, w, h;
|
||||
struct {
|
||||
Evas_Coord l, r, t, b;
|
||||
} box_inset;
|
||||
struct {
|
||||
Evas_Coord l, r, t, b;
|
||||
} icon_inset;
|
||||
|
||||
E_Gadman_Client *gmc;
|
||||
|
||||
Config_Box *conf;
|
||||
};
|
||||
|
||||
struct _IBox_Icon
|
||||
{
|
||||
IBox_Box *ibb;
|
||||
E_Border *border;
|
||||
Evas_Object *bg_object;
|
||||
Evas_Object *overlay_object;
|
||||
Evas_Object *icon_object;
|
||||
Evas_Object *event_object;
|
||||
|
||||
unsigned char raise_on_hilight : 1;
|
||||
/* just config state */
|
||||
E_Module *module;
|
||||
Evas_List *instances;
|
||||
E_Menu *menu;
|
||||
Evas_List *handlers;
|
||||
};
|
||||
|
||||
EAPI extern E_Module_Api e_modapi;
|
||||
|
@ -92,8 +22,5 @@ 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);
|
||||
EAPI int e_modapi_config (E_Module *m);
|
||||
|
||||
void _ibox_box_cb_config_updated(void *data);
|
||||
|
||||
#endif
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1569,6 +1569,7 @@ _pager_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
{
|
||||
Evas_Coord nx, ny;
|
||||
|
||||
if (bd->iconic) e_border_uniconify(bd);
|
||||
e_border_desk_set(bd, pd->desk);
|
||||
if ((!pw) || ((pw) && (!pw->drag.no_place)))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue