forked from enlightenment/enlightenment
parent
86b74f635a
commit
9f01af5e1d
3
TODO
3
TODO
|
@ -10,9 +10,6 @@ Some of the things (in very short form) that need to be done to E17...
|
||||||
|
|
||||||
* BUG: e often forgets what window is focused so ctrl+alt+x for example doesnt
|
* BUG: e often forgets what window is focused so ctrl+alt+x for example doesnt
|
||||||
close the current focused window... hmmmm
|
close the current focused window... hmmmm
|
||||||
* e_hints.c manually changes flags on a border instead of calling
|
|
||||||
e_border_stick() for example or the calls in e_border.c - add calls as needed
|
|
||||||
to e_border.c. before calling check the lock flags too.
|
|
||||||
* BUG: in general fullscreen needs work, cleaning and testing. dont allow
|
* BUG: in general fullscreen needs work, cleaning and testing. dont allow
|
||||||
desktop switches for the desk a fullscreened window is on, nor allow windows
|
desktop switches for the desk a fullscreened window is on, nor allow windows
|
||||||
to be raised above the fs win etc. ie the app must seem to be entirely fs for
|
to be raised above the fs win etc. ie the app must seem to be entirely fs for
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
*/
|
*/
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
#define INOUTDEBUG_MOUSE 1
|
//#define INOUTDEBUG_MOUSE 1
|
||||||
#define INOUTDEBUG_FOCUS 1
|
//#define INOUTDEBUG_FOCUS 1
|
||||||
|
|
||||||
/* These are compatible with netwm */
|
/* These are compatible with netwm */
|
||||||
#define RESIZE_TL 0
|
#define RESIZE_TL 0
|
||||||
|
@ -863,7 +863,7 @@ e_border_focus_set(E_Border *bd, int focus, int set)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(bd);
|
E_OBJECT_CHECK(bd);
|
||||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||||
printf("e_border_focus_set(%p, %i %i);\n", bd, focus, set);
|
//printf("e_border_focus_set(%p, %i %i);\n", bd, focus, set);
|
||||||
if ((bd->visible) && (bd->changes.visible))
|
if ((bd->visible) && (bd->changes.visible))
|
||||||
{
|
{
|
||||||
if ((bd->want_focus) && (set) && (!focus))
|
if ((bd->want_focus) && (set) && (!focus))
|
||||||
|
@ -968,12 +968,12 @@ e_border_focus_set(E_Border *bd, int focus, int set)
|
||||||
if (bd->focused)
|
if (bd->focused)
|
||||||
{
|
{
|
||||||
focused = bd;
|
focused = bd;
|
||||||
printf("set focused to %p\n", focused);
|
//printf("set focused to %p\n", focused);
|
||||||
}
|
}
|
||||||
else if ((!bd->focused) && (focused == bd))
|
else if ((!bd->focused) && (focused == bd))
|
||||||
{
|
{
|
||||||
focused = NULL;
|
focused = NULL;
|
||||||
printf("set focused to %p\n", focused);
|
//printf("set focused to %p\n", focused);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -515,33 +515,30 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
e_border_iconify(bd);
|
e_border_iconify(bd);
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_MODAL:
|
case ECORE_X_WINDOW_STATE_MODAL:
|
||||||
changed = 0;
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
if (bd->client.netwm.state.modal)
|
if (bd->client.netwm.state.modal)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.modal = 0;
|
bd->client.netwm.state.modal = 0;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.modal)
|
if (!bd->client.netwm.state.modal)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.modal = 1;
|
bd->client.netwm.state.modal = 1;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.modal = !bd->client.netwm.state.modal;
|
bd->client.netwm.state.modal = !bd->client.netwm.state.modal;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (changed)
|
|
||||||
{
|
|
||||||
bd->client.netwm.update.state = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_STICKY:
|
case ECORE_X_WINDOW_STATE_STICKY:
|
||||||
if (bd->lock_client_sticky) return;
|
if (bd->lock_client_sticky) return;
|
||||||
|
@ -563,6 +560,10 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
||||||
if (bd->lock_client_maximize) return;
|
if (bd->lock_client_maximize) return;
|
||||||
|
/* We might end up in a state where maximized_h or maximized_v is
|
||||||
|
* set. This doesn't matter, because E only checks if both are
|
||||||
|
* set for maximization.
|
||||||
|
*/
|
||||||
changed = 0;
|
changed = 0;
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
|
@ -599,6 +600,10 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
||||||
if (bd->lock_client_maximize) return;
|
if (bd->lock_client_maximize) return;
|
||||||
|
/* We might end up in a state where maximized_h or maximized_v is
|
||||||
|
* set. This doesn't matter, because E only checks if both are
|
||||||
|
* set for maximization.
|
||||||
|
*/
|
||||||
changed = 0;
|
changed = 0;
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
|
@ -652,62 +657,56 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
||||||
changed = 0;
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
if (bd->client.netwm.state.skip_taskbar)
|
if (bd->client.netwm.state.skip_taskbar)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.skip_taskbar = 0;
|
bd->client.netwm.state.skip_taskbar = 0;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.skip_taskbar)
|
if (!bd->client.netwm.state.skip_taskbar)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.skip_taskbar = 1;
|
bd->client.netwm.state.skip_taskbar = 1;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.skip_taskbar = !bd->client.netwm.state.skip_taskbar;
|
bd->client.netwm.state.skip_taskbar = !bd->client.netwm.state.skip_taskbar;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (changed)
|
|
||||||
{
|
|
||||||
bd->client.netwm.update.state = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
||||||
changed = 0;
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
if (bd->client.netwm.state.skip_pager)
|
if (bd->client.netwm.state.skip_pager)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.skip_pager = 0;
|
bd->client.netwm.state.skip_pager = 0;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.skip_pager)
|
if (!bd->client.netwm.state.skip_pager)
|
||||||
{
|
{
|
||||||
bd->client.netwm.state.skip_pager = 1;
|
bd->client.netwm.state.skip_pager = 1;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.skip_pager = !bd->client.netwm.state.skip_pager;
|
bd->client.netwm.state.skip_pager = !bd->client.netwm.state.skip_pager;
|
||||||
changed = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->changed = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (changed)
|
|
||||||
{
|
|
||||||
bd->client.netwm.update.state = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case ECORE_X_WINDOW_STATE_HIDDEN:
|
case ECORE_X_WINDOW_STATE_HIDDEN:
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
|
|
Loading…
Reference in New Issue