parent
78192f5973
commit
edbe48cda4
19
TODO
19
TODO
|
@ -44,6 +44,7 @@ Some of the things (in very short form) that need to be done to E17...
|
||||||
ESSENTIAL FEATURES
|
ESSENTIAL FEATURES
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
* be able to set window to skip window list (and remember this)
|
||||||
* emit signal to submenu entries if they have a submenu shown for them or not
|
* emit signal to submenu entries if they have a submenu shown for them or not
|
||||||
* add window placement options like place at pointer
|
* add window placement options like place at pointer
|
||||||
* shaded windows should not allow border changes by the user
|
* shaded windows should not allow border changes by the user
|
||||||
|
@ -86,9 +87,9 @@ Some of the things (in very short form) that need to be done to E17...
|
||||||
* break out ipc to set names for desktops (and get names/list them)
|
* break out ipc to set names for desktops (and get names/list them)
|
||||||
* some sort of gui display of a desktop name (in the pager?)
|
* some sort of gui display of a desktop name (in the pager?)
|
||||||
* window icons should be able to be chosen if e eapp icon overrides netwm
|
* window icons should be able to be chosen if e eapp icon overrides netwm
|
||||||
icon or the other way around.
|
icon or the other way around (and remember this).
|
||||||
* transients should have option to always follow parent
|
* transients should have option to always follow parent
|
||||||
(move/resize/raise/lower)
|
(move/resize/raise/lower) (and remember this).
|
||||||
* actions to make current zone different (warp mouse to there)
|
* actions to make current zone different (warp mouse to there)
|
||||||
* actions to make the current container different
|
* actions to make the current container different
|
||||||
* titlebar/border expansion/gadget panel for modules to put window widgets in
|
* titlebar/border expansion/gadget panel for modules to put window widgets in
|
||||||
|
@ -128,22 +129,12 @@ Some of the things (in very short form) that need to be done to E17...
|
||||||
* make xrandr support get rotation and store it
|
* make xrandr support get rotation and store it
|
||||||
* add separate app menu bars at top of screen support
|
* add separate app menu bars at top of screen support
|
||||||
* add really nice "about" box with theme, authors credits list etc etc.
|
* add really nice "about" box with theme, authors credits list etc etc.
|
||||||
* "immortal" windows (e will not allow that window to be closed or will
|
|
||||||
refuse to exit as long as the immortal flags is set until it is unset to
|
|
||||||
stop users from doing silly things like logging out while important stuff
|
|
||||||
is happening in that window -a menu option for this woudl be nice)
|
|
||||||
* need to be able to remember client positons/etc.
|
|
||||||
* with remember need to be able lock in attributes so the app (or user or both)
|
|
||||||
cannot change them (eg this window is a fixed size and location - app cannot
|
|
||||||
ask for a new size or location)
|
|
||||||
* gui config tools for bg's, keybindings, etc. etc. etc.
|
* gui config tools for bg's, keybindings, etc. etc. etc.
|
||||||
* "control panel" app to launch the gui config tools
|
* "control panel" app to launch the gui config tools
|
||||||
* make it possible to disable border buttons/actions (tell theme what is
|
* make it possible to disable border buttons/actions (tell theme what is
|
||||||
disabled)
|
disabled)
|
||||||
* modules need config executables with proper widgets (sliders, check boxes,
|
* modules need config dialogs instead of long winded menus
|
||||||
radio etc. not massive menus)
|
* remove module config menus (make them part of the module control panel etc.)
|
||||||
* remove module config menus (make them part of the module control panel and
|
|
||||||
as separate executables)
|
|
||||||
]]]
|
]]]
|
||||||
|
|
||||||
[[[
|
[[[
|
||||||
|
|
|
@ -1878,6 +1878,22 @@ e_border_resize_cancel(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Evas_List *
|
||||||
|
e_border_immortal_windows_get(void)
|
||||||
|
{
|
||||||
|
Evas_List *list = NULL, *l;
|
||||||
|
|
||||||
|
for (l = borders; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = l->data;
|
||||||
|
if (bd->lock_life)
|
||||||
|
list = evas_list_append(list, bd);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void
|
static void
|
||||||
_e_border_free(E_Border *bd)
|
_e_border_free(E_Border *bd)
|
||||||
|
@ -5532,7 +5548,7 @@ _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key)
|
||||||
NEW_LOCK_MI(_("Close"), lock_close);
|
NEW_LOCK_MI(_("Close"), lock_close);
|
||||||
/* NEW_LOCK_MI(_("Focus In"), lock_focus_in);*/
|
/* NEW_LOCK_MI(_("Focus In"), lock_focus_in);*/
|
||||||
/* NEW_LOCK_MI(_("Focus Out"), lock_focus_out);*/
|
/* NEW_LOCK_MI(_("Focus Out"), lock_focus_out);*/
|
||||||
/* NEW_LOCK_MI(_("Lifespan"), lock_life);*/
|
NEW_LOCK_MI(_("Lifespan"), lock_life);
|
||||||
|
|
||||||
m = e_menu_new();
|
m = e_menu_new();
|
||||||
bd->border_remember_menu = m;
|
bd->border_remember_menu = m;
|
||||||
|
|
|
@ -511,6 +511,7 @@ EAPI Evas_List *e_border_lost_windows_get(E_Zone *zone);
|
||||||
EAPI void e_border_ping(E_Border *bd);
|
EAPI void e_border_ping(E_Border *bd);
|
||||||
EAPI void e_border_move_cancel(void);
|
EAPI void e_border_move_cancel(void);
|
||||||
EAPI void e_border_resize_cancel(void);
|
EAPI void e_border_resize_cancel(void);
|
||||||
|
EAPI Evas_List *e_border_immortal_windows_get(void);
|
||||||
|
|
||||||
extern EAPI int E_EVENT_BORDER_RESIZE;
|
extern EAPI int E_EVENT_BORDER_RESIZE;
|
||||||
extern EAPI int E_EVENT_BORDER_MOVE;
|
extern EAPI int E_EVENT_BORDER_MOVE;
|
||||||
|
|
|
@ -331,7 +331,7 @@ _e_int_menus_main_restart(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
static void
|
static void
|
||||||
_e_int_menus_main_exit(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_int_menus_main_exit(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
ecore_main_loop_quit();
|
if (!e_util_immortal_check()) ecore_main_loop_quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -1028,7 +1028,7 @@ break;
|
||||||
REQ_NULL(HDL);
|
REQ_NULL(HDL);
|
||||||
#elif (TYPE == E_WM_IN)
|
#elif (TYPE == E_WM_IN)
|
||||||
GENERIC(HDL);
|
GENERIC(HDL);
|
||||||
ecore_main_loop_quit();
|
if (!e_util_immortal_check()) ecore_main_loop_quit();
|
||||||
END_GENERIC();
|
END_GENERIC();
|
||||||
#elif (TYPE == E_REMOTE_IN)
|
#elif (TYPE == E_REMOTE_IN)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -923,7 +923,7 @@ static int
|
||||||
_e_main_cb_signal_exit(void *data __UNUSED__, int ev_type __UNUSED__, void *ev __UNUSED__)
|
_e_main_cb_signal_exit(void *data __UNUSED__, int ev_type __UNUSED__, void *ev __UNUSED__)
|
||||||
{
|
{
|
||||||
/* called on ctrl-c, kill (pid) (also SIGINT, SIGTERM and SIGQIT) */
|
/* called on ctrl-c, kill (pid) (also SIGINT, SIGTERM and SIGQIT) */
|
||||||
ecore_main_loop_quit();
|
if (!e_util_immortal_check()) ecore_main_loop_quit();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -235,3 +235,26 @@ e_util_both_str_empty(char *s1, char *s2)
|
||||||
if (empty == 2) return 1;
|
if (empty == 2) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
e_util_immortal_check(void)
|
||||||
|
{
|
||||||
|
Evas_List *wins;
|
||||||
|
|
||||||
|
wins = e_border_immortal_windows_get();
|
||||||
|
if (wins)
|
||||||
|
{
|
||||||
|
e_error_dialog_show(_("Cannot exit becaose of immortal windows."),
|
||||||
|
_("Some windows are left with still around with\n"
|
||||||
|
"the Lifespan lock enabled. This means that\n"
|
||||||
|
"Enlightenment will not allow itself to exit\n"
|
||||||
|
"until these windows have been closed or have\n"
|
||||||
|
"the lifespan lock removed.\n"));
|
||||||
|
/* FIXME: should really display a list of these lifespan locked */
|
||||||
|
/* windows in a dialog and let the user disable their locks in */
|
||||||
|
/* this dialog */
|
||||||
|
evas_list_free(wins);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ EAPI E_Zone *e_util_container_zone_number_get(int con_num, int zone_num);
|
||||||
EAPI int e_util_head_exec(int head, char *cmd);
|
EAPI int e_util_head_exec(int head, char *cmd);
|
||||||
EAPI int e_util_strcmp(char *s1, char *s2);
|
EAPI int e_util_strcmp(char *s1, char *s2);
|
||||||
EAPI int e_util_both_str_empty(char *s1, char *s2);
|
EAPI int e_util_both_str_empty(char *s1, char *s2);
|
||||||
|
EAPI int e_util_immortal_check(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue