summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Janetzek <hannes.janetzek@gmail.com>2011-09-04 22:10:31 +0000
committerHannes Janetzek <hannes.janetzek@gmail.com>2011-09-04 22:10:31 +0000
commitf8fb4a32af2998ccd5656b4a31c848b20d41e794 (patch)
treedc6c37834782b34f3bdc3c10f38b7c4597560313
parent11fe807adef091a822fd70c371e9ec0e46c29bee (diff)
e17/ill/tablet: make home screen work with indicator again
SVN revision: 63176
-rw-r--r--src/modules/illume2/policies/tablet/policy.c95
1 files changed, 60 insertions, 35 deletions
diff --git a/src/modules/illume2/policies/tablet/policy.c b/src/modules/illume2/policies/tablet/policy.c
index 863a4ed80..89204fad0 100644
--- a/src/modules/illume2/policies/tablet/policy.c
+++ b/src/modules/illume2/policies/tablet/policy.c
@@ -426,36 +426,6 @@ _policy_zone_layout_softkey(E_Border *bd, E_Illume_Config_Zone *cz)
426 if (bd->layer != POL_SOFTKEY_LAYER) e_border_layer_set(bd, POL_SOFTKEY_LAYER); 426 if (bd->layer != POL_SOFTKEY_LAYER) e_border_layer_set(bd, POL_SOFTKEY_LAYER);
427} 427}
428 428
429static void
430_policy_zone_layout_keyboard(E_Border *bd, E_Illume_Config_Zone *cz)
431{
432 int ny, layer;
433
434 if ((!bd) || (!cz) || (!bd->visible)) return;
435
436 ZONE_GEOMETRY;
437
438 e_illume_border_min_get(bd, NULL, &cz->vkbd.size);
439
440 ny = ((bd->zone->y + h) - cz->vkbd.size);
441
442 if ((bd->fullscreen) || (bd->need_fullscreen))
443 layer = POL_FULLSCREEN_LAYER;
444 else
445 layer = POL_KEYBOARD_LAYER;
446
447 _border_geometry_set(bd, x, ny, w, cz->vkbd.size, layer);
448}
449
450static void
451_policy_zone_layout_home_single(E_Border *bd, E_Illume_Config_Zone *cz)
452{
453 if ((!bd) || (!cz) || (!bd->visible)) return;
454
455 ZONE_GEOMETRY;
456
457 _border_geometry_set(bd, x, y, w, h, POL_HOME_LAYER);
458}
459 429
460 430
461#define MIN_HEIGHT 100 431#define MIN_HEIGHT 100
@@ -508,13 +478,43 @@ _policy_softkey_restrict(E_Illume_Config_Zone *cz, int *y, int *h)
508} 478}
509 479
510static void 480static void
481_policy_zone_layout_keyboard(E_Border *bd, E_Illume_Config_Zone *cz)
482{
483 int ny, layer;
484
485 if ((!bd) || (!cz) || (!bd->visible)) return;
486
487 ZONE_GEOMETRY;
488
489 e_illume_border_min_get(bd, NULL, &cz->vkbd.size);
490
491 ny = ((bd->zone->y + h) - cz->vkbd.size);
492
493 /* if ((bd->fullscreen) || (bd->need_fullscreen))
494 * layer = POL_FULLSCREEN_LAYER;
495 * else */
496 layer = POL_KEYBOARD_LAYER;
497
498 _border_geometry_set(bd, x, ny, w, cz->vkbd.size, layer);
499}
500
501static void
502_policy_zone_layout_home_single(E_Border *bd, E_Illume_Config_Zone *cz)
503{
504 if ((!bd) || (!cz) || (!bd->visible)) return;
505
506 ZONE_GEOMETRY;
507 _policy_indicator_restrict(cz, &y, &h);
508 _border_geometry_set(bd, x, y, w, h, POL_HOME_LAYER);
509}
510
511static void
511_policy_zone_layout_fullscreen(E_Border *bd) 512_policy_zone_layout_fullscreen(E_Border *bd)
512{ 513{
513 if (!_policy_layout_app_check(bd)) return; 514 if (!_policy_layout_app_check(bd)) return;
514 515
515 ZONE_GEOMETRY; 516 ZONE_GEOMETRY;
516 517
517
518 _policy_keyboard_restrict(bd, &h); 518 _policy_keyboard_restrict(bd, &h);
519 519
520 _border_geometry_set(bd, x, y, w, h, POL_FULLSCREEN_LAYER); 520 _border_geometry_set(bd, x, y, w, h, POL_FULLSCREEN_LAYER);
@@ -726,7 +726,28 @@ _policy_border_add(E_Border *bd)
726 ecore_x_e_illume_zone_set(bd->client.win, bd->zone->black_win); 726 ecore_x_e_illume_zone_set(bd->client.win, bd->zone->black_win);
727 727
728 if (e_illume_border_is_keyboard(bd)) 728 if (e_illume_border_is_keyboard(bd))
729 e_hints_window_sticky_set(bd, 1); 729 {
730 bd->sticky = 1;
731 e_hints_window_sticky_set(bd, 1);
732 }
733
734 if (e_illume_border_is_home(bd))
735 {
736 bd->sticky = 1;
737 e_hints_window_sticky_set(bd, 1);
738 }
739
740 if (e_illume_border_is_indicator(bd))
741 {
742 bd->sticky = 1;
743 e_hints_window_sticky_set(bd, 1);
744 }
745
746 if (e_illume_border_is_softkey(bd))
747 {
748 bd->sticky = 1;
749 e_hints_window_sticky_set(bd, 1);
750 }
730 751
731 /* ignore stolen borders. These are typically quickpanel or keyboards */ 752 /* ignore stolen borders. These are typically quickpanel or keyboards */
732 if (bd->stolen) return; 753 if (bd->stolen) return;
@@ -958,6 +979,8 @@ _policy_border_is_dialog(E_Border *bd)
958 { 979 {
959 if (bd->client.icccm.class) 980 if (bd->client.icccm.class)
960 { 981 {
982 if (!strncmp(bd->client.icccm.class, "Illume", 6))
983 return EINA_FALSE;
961 if (!strncmp(bd->client.icccm.class, "e_fwin", 6)) 984 if (!strncmp(bd->client.icccm.class, "e_fwin", 6))
962 return EINA_FALSE; 985 return EINA_FALSE;
963 if (!strncmp(bd->client.icccm.class, "every", 5)) 986 if (!strncmp(bd->client.icccm.class, "every", 5))
@@ -1108,9 +1131,11 @@ _policy_zone_layout(E_Zone *zone)
1108 _policy_zone_layout_app_single(bd, cz); 1131 _policy_zone_layout_app_single(bd, cz);
1109 /* else 1132 /* else
1110 * _policy_zone_layout_app_dual_left(bd, cz, EINA_TRUE); */ 1133 * _policy_zone_layout_app_dual_left(bd, cz, EINA_TRUE); */
1111 1134 if (bd->layer != POL_ACTIVATE_LAYER)
1112 if (bd->layer != POL_SPLASH_LAYER) 1135 e_border_layer_set(bd, POL_ACTIVATE_LAYER);
1113 e_border_layer_set(bd, POL_SPLASH_LAYER); 1136
1137 /* if (bd->layer != POL_SPLASH_LAYER)
1138 * e_border_layer_set(bd, POL_SPLASH_LAYER); */
1114 } 1139 }
1115 else if (bd->client.e.state.centered) 1140 else if (bd->client.e.state.centered)
1116 _policy_zone_layout_dialog(bd, cz); 1141 _policy_zone_layout_dialog(bd, cz);