summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2014-01-14 20:19:12 -0500
committerMike Blumenkrantz <zmike@samsung.com>2014-01-14 20:22:02 -0500
commit86656e4df9d9125d594e9b24ba793c252b6a0a9f (patch)
tree651b51b9216b24b3158dfb973f45f2dde6a645ce /src
parent7f0c849a27573fdb5b646a3dc39ff7d6200cf8ed (diff)
compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once. * compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine. ** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes ** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects ** protocol-specific window management and compositor functionality is now kept exclusively in backend files ** e_pixmap api provides generic client finding and rendering api ** screen/xinerama screens are now provided directly by compositor on startup and re-set on change ** e_comp_render_update finally replaced with eina_tiler ** wayland compositor no longer creates X windows ** compositor e_layout removed entirely * e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra * e_manager is just for screensaver and keybind stuff now, possibly remove later? * e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor ** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed. *** do NOT set interceptors on a client's comp_object. seriously. * startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor * ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get * e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas * deskmirror is (more) broken for now * illume is totally fucked * Ecore_X_Window replaced with Ecore_Window in most cases * edge binding XWindows replaced with regular canvas objects * some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result comp files and descriptions: e_comp.c - overall compositor functions, rendering/update loop, shape cutting e_comp_x.c - X window management and compositor functionality e_comp_wl.c - Wayland surface management and compositor functionality e_comp_canvas.c - general compositor canvas functions and utilities e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems additional authors: ivan.briano@intel.com feature: new compositor removal: e_border, e_container, e_popup
Diffstat (limited to 'src')
-rw-r--r--src/bin/Makefile.mk43
-rw-r--r--src/bin/e_about.c4
-rw-r--r--src/bin/e_about.h2
-rw-r--r--src/bin/e_actions.c949
-rw-r--r--src/bin/e_alert_main.c12
-rw-r--r--src/bin/e_atoms.c27
-rw-r--r--src/bin/e_atoms.h1
-rw-r--r--src/bin/e_backlight.c75
-rw-r--r--src/bin/e_bg.c82
-rw-r--r--src/bin/e_bg.h10
-rw-r--r--src/bin/e_bindings.c71
-rw-r--r--src/bin/e_bindings.h4
-rw-r--r--src/bin/e_border.c10232
-rw-r--r--src/bin/e_border.h885
-rw-r--r--src/bin/e_canvas.c2
-rw-r--r--src/bin/e_client.c4465
-rw-r--r--src/bin/e_client.h846
-rw-r--r--src/bin/e_client.x98
-rw-r--r--src/bin/e_color_dialog.c6
-rw-r--r--src/bin/e_color_dialog.h3
-rw-r--r--src/bin/e_comp.c4852
-rw-r--r--src/bin/e_comp.h333
-rw-r--r--src/bin/e_comp_canvas.c559
-rw-r--r--src/bin/e_comp_canvas.h81
-rw-r--r--src/bin/e_comp_object.c3364
-rw-r--r--src/bin/e_comp_object.h79
-rw-r--r--src/bin/e_comp_render_update.c248
-rw-r--r--src/bin/e_comp_render_update.h46
-rw-r--r--src/bin/e_comp_wl.c151
-rw-r--r--src/bin/e_comp_wl.h20
-rw-r--r--src/bin/e_comp_x.c4851
-rw-r--r--src/bin/e_comp_x.h7
-rw-r--r--src/bin/e_config.c117
-rw-r--r--src/bin/e_config.h14
-rw-r--r--src/bin/e_config_dialog.c29
-rw-r--r--src/bin/e_config_dialog.h4
-rw-r--r--src/bin/e_configure.c66
-rw-r--r--src/bin/e_configure.h14
-rw-r--r--src/bin/e_confirm_dialog.c2
-rw-r--r--src/bin/e_container.c1095
-rw-r--r--src/bin/e_container.h157
-rw-r--r--src/bin/e_desk.c379
-rw-r--r--src/bin/e_desk.h16
-rw-r--r--src/bin/e_desklock.c59
-rw-r--r--src/bin/e_deskmirror.c5
-rw-r--r--src/bin/e_desktop_editor.c43
-rw-r--r--src/bin/e_desktop_editor.h6
-rw-r--r--src/bin/e_dialog.c36
-rw-r--r--src/bin/e_dialog.h4
-rw-r--r--src/bin/e_dnd.c188
-rw-r--r--src/bin/e_dnd.h6
-rw-r--r--src/bin/e_dpms.c12
-rw-r--r--src/bin/e_entry.c44
-rw-r--r--src/bin/e_entry_dialog.c3
-rw-r--r--src/bin/e_exec.c84
-rw-r--r--src/bin/e_exec.h6
-rw-r--r--src/bin/e_fm.c124
-rw-r--r--src/bin/e_fm_prop.c6
-rw-r--r--src/bin/e_fm_prop.h2
-rw-r--r--src/bin/e_focus.c141
-rw-r--r--src/bin/e_focus.h20
-rw-r--r--src/bin/e_font.c27
-rw-r--r--src/bin/e_gadcon.c55
-rw-r--r--src/bin/e_gadcon_popup.c86
-rw-r--r--src/bin/e_gadcon_popup.h5
-rw-r--r--src/bin/e_grab_dialog.c21
-rw-r--r--src/bin/e_grabinput.c26
-rw-r--r--src/bin/e_grabinput.h10
-rw-r--r--src/bin/e_hints.c1259
-rw-r--r--src/bin/e_hints.h58
-rw-r--r--src/bin/e_import_config_dialog.c10
-rw-r--r--src/bin/e_import_config_dialog.h2
-rw-r--r--src/bin/e_import_dialog.c14
-rw-r--r--src/bin/e_import_dialog.h2
-rw-r--r--src/bin/e_includes.h19
-rw-r--r--src/bin/e_init.c21
-rw-r--r--src/bin/e_int_border_menu.h22
-rw-r--r--src/bin/e_int_border_remember.h10
-rw-r--r--src/bin/e_int_client_locks.c (renamed from src/bin/e_int_border_locks.c)208
-rw-r--r--src/bin/e_int_client_locks.h (renamed from src/bin/e_int_border_locks.h)2
-rw-r--r--src/bin/e_int_client_menu.c (renamed from src/bin/e_int_border_menu.c)940
-rw-r--r--src/bin/e_int_client_menu.h22
-rw-r--r--src/bin/e_int_client_prop.c (renamed from src/bin/e_int_border_prop.c)172
-rw-r--r--src/bin/e_int_client_prop.h (renamed from src/bin/e_int_border_prop.h)2
-rw-r--r--src/bin/e_int_client_remember.c (renamed from src/bin/e_int_border_remember.c)222
-rw-r--r--src/bin/e_int_client_remember.h10
-rw-r--r--src/bin/e_int_config_modules.c4
-rw-r--r--src/bin/e_int_config_modules.h2
-rw-r--r--src/bin/e_int_gadcon_config.c6
-rw-r--r--src/bin/e_int_menus.c316
-rw-r--r--src/bin/e_int_shelf_config.c52
-rw-r--r--src/bin/e_int_toolbar_config.c4
-rw-r--r--src/bin/e_main.c309
-rw-r--r--src/bin/e_manager.c871
-rw-r--r--src/bin/e_manager.h20
-rw-r--r--src/bin/e_maximize.c164
-rw-r--r--src/bin/e_maximize.h8
-rw-r--r--src/bin/e_menu.c206
-rw-r--r--src/bin/e_menu.h3
-rw-r--r--src/bin/e_module.c14
-rw-r--r--src/bin/e_moveresize.c216
-rw-r--r--src/bin/e_msgbus.c46
-rw-r--r--src/bin/e_obj_dialog.c24
-rw-r--r--src/bin/e_obj_dialog.h2
-rw-r--r--src/bin/e_pixmap.c671
-rw-r--r--src/bin/e_pixmap.h54
-rw-r--r--src/bin/e_place.c114
-rw-r--r--src/bin/e_popup.c289
-rw-r--r--src/bin/e_popup.h54
-rw-r--r--src/bin/e_remember.c601
-rw-r--r--src/bin/e_remember.h10
-rw-r--r--src/bin/e_resist.c43
-rw-r--r--src/bin/e_resist.h4
-rw-r--r--src/bin/e_screensaver.c18
-rw-r--r--src/bin/e_shelf.c207
-rw-r--r--src/bin/e_shelf.h5
-rw-r--r--src/bin/e_start_main.c2
-rw-r--r--src/bin/e_stolen.c67
-rw-r--r--src/bin/e_stolen.h11
-rw-r--r--src/bin/e_surface.c4
-rw-r--r--src/bin/e_surface.h2
-rw-r--r--src/bin/e_sys.c44
-rw-r--r--src/bin/e_test.c228
-rw-r--r--src/bin/e_theme.c4
-rw-r--r--src/bin/e_theme_about.c6
-rw-r--r--src/bin/e_theme_about.h2
-rw-r--r--src/bin/e_toolbar.c2
-rw-r--r--src/bin/e_update.c8
-rw-r--r--src/bin/e_utils.c254
-rw-r--r--src/bin/e_utils.h33
-rw-r--r--src/bin/e_widget_bgpreview.c16
-rw-r--r--src/bin/e_widget_color_well.c10
-rw-r--r--src/bin/e_win.c351
-rw-r--r--src/bin/e_win.h12
-rw-r--r--src/bin/e_xinerama.c79
-rw-r--r--src/bin/e_xinerama.h1
-rw-r--r--src/bin/e_xsettings.c65
-rw-r--r--src/bin/e_zone.c1082
-rw-r--r--src/bin/e_zone.h26
-rw-r--r--src/modules/access/e_mod_config.c4
-rw-r--r--src/modules/access/e_mod_main.c32
-rw-r--r--src/modules/appmenu/e_mod_appmenu_render.c4
-rw-r--r--src/modules/appmenu/e_mod_main.c10
-rw-r--r--src/modules/backlight/e_mod_main.c17
-rw-r--r--src/modules/battery/e_mod_config.c4
-rw-r--r--src/modules/battery/e_mod_main.c14
-rw-r--r--src/modules/battery/e_mod_main.h2
-rw-r--r--src/modules/bluez4/agent.c4
-rw-r--r--src/modules/bluez4/e_mod_main.c19
-rw-r--r--src/modules/clock/e_mod_config.c4
-rw-r--r--src/modules/clock/e_mod_main.c40
-rw-r--r--src/modules/clock/e_mod_main.h2
-rw-r--r--src/modules/conf/e_conf.c38
-rw-r--r--src/modules/conf/e_mod_config.c4
-rw-r--r--src/modules/conf/e_mod_main.c14
-rw-r--r--src/modules/conf/e_mod_main.h4
-rw-r--r--src/modules/conf_applications/e_int_config_apps.c38
-rw-r--r--src/modules/conf_applications/e_int_config_apps_personal.c14
-rw-r--r--src/modules/conf_applications/e_int_config_defapps.c4
-rw-r--r--src/modules/conf_applications/e_int_config_deskenv.c4
-rw-r--r--src/modules/conf_applications/e_mod_main.h22
-rw-r--r--src/modules/conf_bindings/e_int_config_acpibindings.c6
-rw-r--r--src/modules/conf_bindings/e_int_config_edgebindings.c22
-rw-r--r--src/modules/conf_bindings/e_int_config_keybindings.c4
-rw-r--r--src/modules/conf_bindings/e_int_config_mousebindings.c12
-rw-r--r--src/modules/conf_bindings/e_int_config_signalbindings.c4
-rw-r--r--src/modules/conf_bindings/e_mod_main.h10
-rw-r--r--src/modules/conf_comp/e_mod_config.c4
-rw-r--r--src/modules/conf_comp/e_mod_config_match.c4
-rw-r--r--src/modules/conf_comp/e_mod_main.c2
-rw-r--r--src/modules/conf_comp/e_mod_main.h4
-rw-r--r--src/modules/conf_dialogs/e_int_config_dialogs.c4
-rw-r--r--src/modules/conf_dialogs/e_int_config_profiles.c4
-rw-r--r--src/modules/conf_dialogs/e_mod_main.h4
-rw-r--r--src/modules/conf_display/e_int_config_desk.c45
-rw-r--r--src/modules/conf_display/e_int_config_desklock.c46
-rw-r--r--src/modules/conf_display/e_int_config_desklock_fsel.c8
-rw-r--r--src/modules/conf_display/e_int_config_desks.c39
-rw-r--r--src/modules/conf_display/e_int_config_display.c6
-rw-r--r--src/modules/conf_display/e_int_config_dpms.c4
-rw-r--r--src/modules/conf_display/e_int_config_screensaver.c4
-rw-r--r--src/modules/conf_display/e_mod_main.h12
-rw-r--r--src/modules/conf_interaction/e_int_config_interaction.c4
-rw-r--r--src/modules/conf_interaction/e_int_config_mouse.c18
-rw-r--r--src/modules/conf_interaction/e_mod_main.h4
-rw-r--r--src/modules/conf_intl/e_int_config_imc.c4
-rw-r--r--src/modules/conf_intl/e_int_config_imc_import.c4
-rw-r--r--src/modules/conf_intl/e_int_config_intl.c8
-rw-r--r--src/modules/conf_intl/e_mod_main.h6
-rw-r--r--src/modules/conf_menus/e_int_config_menus.c4
-rw-r--r--src/modules/conf_menus/e_mod_main.h2
-rw-r--r--src/modules/conf_paths/e_int_config_env.c4
-rw-r--r--src/modules/conf_paths/e_int_config_paths.c4
-rw-r--r--src/modules/conf_paths/e_mod_main.h4
-rw-r--r--src/modules/conf_performance/e_int_config_engine.c4
-rw-r--r--src/modules/conf_performance/e_int_config_performance.c4
-rw-r--r--src/modules/conf_performance/e_int_config_powermanagement.c4
-rw-r--r--src/modules/conf_performance/e_mod_main.h6
-rw-r--r--src/modules/conf_randr/e_int_config_randr.c4
-rw-r--r--src/modules/conf_randr/e_int_config_randr.h2
-rw-r--r--src/modules/conf_randr/e_smart_monitor.c18
-rw-r--r--src/modules/conf_shelves/e_int_config_shelf.c20
-rw-r--r--src/modules/conf_shelves/e_int_config_shelf.h2
-rw-r--r--src/modules/conf_shelves/e_mod_main.c2
-rw-r--r--src/modules/conf_shelves/e_mod_main.h2
-rw-r--r--src/modules/conf_theme/e_int_config_borders.c111
-rw-r--r--src/modules/conf_theme/e_int_config_color_classes.c4
-rw-r--r--src/modules/conf_theme/e_int_config_fonts.c4
-rw-r--r--src/modules/conf_theme/e_int_config_scale.c18
-rw-r--r--src/modules/conf_theme/e_int_config_theme.c16
-rw-r--r--src/modules/conf_theme/e_int_config_theme_import.c21
-rw-r--r--src/modules/conf_theme/e_int_config_transitions.c6
-rw-r--r--src/modules/conf_theme/e_int_config_wallpaper.c78
-rw-r--r--src/modules/conf_theme/e_int_config_xsettings.c4
-rw-r--r--src/modules/conf_theme/e_mod_main.c4
-rw-r--r--src/modules/conf_theme/e_mod_main.h23
-rw-r--r--src/modules/conf_wallpaper2/e_int_config_wallpaper.c38
-rw-r--r--src/modules/conf_wallpaper2/e_mod_main.c2
-rw-r--r--src/modules/conf_wallpaper2/e_mod_main.h2
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_clientlist.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_focus.c12
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_display.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_geometry.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_process.c4
-rw-r--r--src/modules/conf_window_manipulation/e_mod_main.h10
-rw-r--r--src/modules/conf_window_remembers/e_int_config_remembers.c6
-rw-r--r--src/modules/conf_window_remembers/e_mod_main.h2
-rw-r--r--src/modules/connman/e_mod_config.c4
-rw-r--r--src/modules/connman/e_mod_main.c21
-rw-r--r--src/modules/connman/e_mod_main.h2
-rw-r--r--src/modules/contact/e_edges.c20
-rw-r--r--src/modules/contact/e_mod_main.c60
-rw-r--r--src/modules/contact/e_policy.c243
-rw-r--r--src/modules/contact/e_policy.h4
-rw-r--r--src/modules/cpufreq/e_mod_config.c4
-rw-r--r--src/modules/cpufreq/e_mod_main.c18
-rw-r--r--src/modules/cpufreq/e_mod_main.h2
-rw-r--r--src/modules/everything/e_mod_main.c6
-rw-r--r--src/modules/everything/e_mod_main.h4
-rw-r--r--src/modules/everything/evry.c33
-rw-r--r--src/modules/everything/evry_api.h2
-rw-r--r--src/modules/everything/evry_config.c12
-rw-r--r--src/modules/everything/evry_gadget.c50
-rw-r--r--src/modules/everything/evry_plug_apps.c8
-rw-r--r--src/modules/everything/evry_plug_files.c4
-rw-r--r--src/modules/everything/evry_plug_settings.c2
-rw-r--r--src/modules/everything/evry_plug_windows.c211
-rw-r--r--src/modules/fileman/e_fwin.c201
-rw-r--r--src/modules/fileman/e_fwin_nav.c2
-rw-r--r--src/modules/fileman/e_int_config_mime.c4
-rw-r--r--src/modules/fileman/e_int_config_mime_edit.c6
-rw-r--r--src/modules/fileman/e_mod_config.c5
-rw-r--r--src/modules/fileman/e_mod_dbus.c2
-rw-r--r--src/modules/fileman/e_mod_main.c73
-rw-r--r--src/modules/fileman/e_mod_main.h8
-rw-r--r--src/modules/fileman/e_mod_menu.c12
-rw-r--r--src/modules/fileman_opinfo/e_mod_main.c16
-rw-r--r--src/modules/gadman/e_mod_config.c6
-rw-r--r--src/modules/gadman/e_mod_gadman.c81
-rw-r--r--src/modules/gadman/e_mod_gadman.h7
-rw-r--r--src/modules/gadman/e_mod_main.c2
-rw-r--r--src/modules/ibar/e_mod_config.c5
-rw-r--r--src/modules/ibar/e_mod_main.c167
-rw-r--r--src/modules/ibox/e_mod_config.c24
-rw-r--r--src/modules/ibox/e_mod_main.c223
-rw-r--r--src/modules/illume-home/e_mod_config.c4
-rw-r--r--src/modules/illume-home/e_mod_config.h2
-rw-r--r--src/modules/illume-home/e_mod_main.c133
-rw-r--r--src/modules/illume-indicator/e_mod_ind_win.c64
-rw-r--r--src/modules/illume-indicator/e_mod_main.c36
-rw-r--r--src/modules/illume-indicator/e_mod_notify.c6
-rw-r--r--src/modules/illume-kbd-toggle/e_mod_main.c46
-rw-r--r--src/modules/illume-keyboard/e_kbd_int.c86
-rw-r--r--src/modules/illume-keyboard/e_kbd_int.h8
-rw-r--r--src/modules/illume-keyboard/e_mod_config.c4
-rw-r--r--src/modules/illume-keyboard/e_mod_config.h2
-rw-r--r--src/modules/illume-softkey/e_mod_main.c32
-rw-r--r--src/modules/illume-softkey/e_mod_sft_win.c47
-rw-r--r--src/modules/illume2/e_illume.c409
-rw-r--r--src/modules/illume2/e_illume.h68
-rw-r--r--src/modules/illume2/e_mod_config.c8
-rw-r--r--src/modules/illume2/e_mod_config_animation.c4
-rw-r--r--src/modules/illume2/e_mod_config_policy.c4
-rw-r--r--src/modules/illume2/e_mod_config_windows.c4
-rw-r--r--src/modules/illume2/e_mod_kbd.c237
-rw-r--r--src/modules/illume2/e_mod_main.c39
-rw-r--r--src/modules/illume2/e_mod_main.h6
-rw-r--r--src/modules/illume2/e_mod_policy.c159
-rw-r--r--src/modules/illume2/e_mod_quickpanel.c191
-rw-r--r--src/modules/illume2/e_mod_select_window.c45
-rw-r--r--src/modules/illume2/policies/illume/policy.c1371
-rw-r--r--src/modules/illume2/policies/illume/policy.h20
-rw-r--r--src/modules/illume2/policies/tablet/policy.c1137
-rw-r--r--src/modules/illume2/policies/tablet/policy.h22
-rw-r--r--src/modules/layout/e_mod_main.c40
-rw-r--r--src/modules/mixer/app_mixer.c4
-rw-r--r--src/modules/mixer/conf_gadget.c4
-rw-r--r--src/modules/mixer/conf_module.c8
-rw-r--r--src/modules/mixer/e_mod_main.c36
-rw-r--r--src/modules/mixer/e_mod_main.h6
-rw-r--r--src/modules/msgbus/msgbus_desktop.c30
-rw-r--r--src/modules/music-control/ui.c12
-rw-r--r--src/modules/notification/e_mod_config.c4
-rw-r--r--src/modules/notification/e_mod_main.h4
-rw-r--r--src/modules/notification/e_mod_popup.c142
-rw-r--r--src/modules/pager/e_mod_config.c6
-rw-r--r--src/modules/pager/e_mod_main.c623
-rw-r--r--src/modules/quickaccess/e_mod_config.c4
-rw-r--r--src/modules/quickaccess/e_mod_main.h4
-rw-r--r--src/modules/quickaccess/e_mod_quickaccess.c254
-rw-r--r--src/modules/shot/e_mod_main.c84
-rw-r--r--src/modules/syscon/e_int_config_syscon.c4
-rw-r--r--src/modules/syscon/e_mod_main.c6
-rw-r--r--src/modules/syscon/e_mod_main.h2
-rw-r--r--src/modules/syscon/e_syscon.c76
-rw-r--r--src/modules/syscon/e_syscon_gadget.c2
-rw-r--r--src/modules/systray/e_mod_main.c10
-rw-r--r--src/modules/systray/e_mod_main.h2
-rw-r--r--src/modules/systray/e_mod_notifier_host.c2
-rw-r--r--src/modules/systray/e_mod_xembed.c132
-rw-r--r--src/modules/tasks/e_mod_config.c6
-rw-r--r--src/modules/tasks/e_mod_main.c320
-rw-r--r--src/modules/tasks/e_mod_main.h2
-rw-r--r--src/modules/teamwork/e_mod_config.c4
-rw-r--r--src/modules/teamwork/e_mod_main.h4
-rw-r--r--src/modules/teamwork/e_mod_tw.c99
-rw-r--r--src/modules/temperature/e_mod_config.c2
-rw-r--r--src/modules/tiling/e_mod_config.c12
-rw-r--r--src/modules/tiling/e_mod_tiling.c1588
-rw-r--r--src/modules/tiling/e_mod_tiling.h6
-rw-r--r--src/modules/winlist/e_int_config_winlist.c4
-rw-r--r--src/modules/winlist/e_mod_main.c6
-rw-r--r--src/modules/winlist/e_mod_main.h2
-rw-r--r--src/modules/winlist/e_winlist.c573
-rw-r--r--src/modules/wizard/e_wizard.c80
-rw-r--r--src/modules/wizard/page_050.c2
-rw-r--r--src/modules/wl_desktop_shell/e_mod_main.c982
-rw-r--r--src/modules/xkbswitch/e_mod_config.c6
-rw-r--r--src/modules/xkbswitch/e_mod_main.c2
-rw-r--r--src/modules/xkbswitch/e_mod_main.h2
340 files changed, 26285 insertions, 30684 deletions
diff --git a/src/bin/Makefile.mk b/src/bin/Makefile.mk
index 0e58521..d5f994e 100644
--- a/src/bin/Makefile.mk
+++ b/src/bin/Makefile.mk
@@ -46,21 +46,23 @@ src/bin/e_atoms.h \
46src/bin/e_backlight.h \ 46src/bin/e_backlight.h \
47src/bin/e_bg.h \ 47src/bin/e_bg.h \
48src/bin/e_bindings.h \ 48src/bin/e_bindings.h \
49src/bin/e_border.h \
50src/bin/e_box.h \ 49src/bin/e_box.h \
51src/bin/e_canvas.h \ 50src/bin/e_canvas.h \
51src/bin/e_client.h \
52src/bin/e_client.x \
52src/bin/e_color_class.h \ 53src/bin/e_color_class.h \
53src/bin/e_color_dialog.h \ 54src/bin/e_color_dialog.h \
54src/bin/e_color.h \ 55src/bin/e_color.h \
55src/bin/e_comp.h \ 56src/bin/e_comp.h \
57src/bin/e_comp_canvas.h \
56src/bin/e_comp_cfdata.h \ 58src/bin/e_comp_cfdata.h \
57src/bin/e_comp_render_update.h \ 59src/bin/e_comp_object.h \
60src/bin/e_comp_x.h \
58src/bin/e_config_data.h \ 61src/bin/e_config_data.h \
59src/bin/e_config_dialog.h \ 62src/bin/e_config_dialog.h \
60src/bin/e_config.h \ 63src/bin/e_config.h \
61src/bin/e_configure.h \ 64src/bin/e_configure.h \
62src/bin/e_confirm_dialog.h \ 65src/bin/e_confirm_dialog.h \
63src/bin/e_container.h \
64src/bin/e_datastore.h \ 66src/bin/e_datastore.h \
65src/bin/e_dbusmenu.h \ 67src/bin/e_dbusmenu.h \
66src/bin/e_desk.h \ 68src/bin/e_desk.h \
@@ -103,10 +105,10 @@ src/bin/e_import_config_dialog.h \
103src/bin/e_import_dialog.h \ 105src/bin/e_import_dialog.h \
104src/bin/e_includes.h \ 106src/bin/e_includes.h \
105src/bin/e_init.h \ 107src/bin/e_init.h \
106src/bin/e_int_border_locks.h \ 108src/bin/e_int_client_locks.h \
107src/bin/e_int_border_menu.h \ 109src/bin/e_int_client_menu.h \
108src/bin/e_int_border_prop.h \ 110src/bin/e_int_client_prop.h \
109src/bin/e_int_border_remember.h \ 111src/bin/e_int_client_remember.h \
110src/bin/e_int_config_modules.h \ 112src/bin/e_int_config_modules.h \
111src/bin/e_int_gadcon_config.h \ 113src/bin/e_int_gadcon_config.h \
112src/bin/e_intl_data.h \ 114src/bin/e_intl_data.h \
@@ -134,9 +136,9 @@ src/bin/e_object.h \
134src/bin/e_order.h \ 136src/bin/e_order.h \
135src/bin/e_pan.h \ 137src/bin/e_pan.h \
136src/bin/e_path.h \ 138src/bin/e_path.h \
139src/bin/e_pixmap.h \
137src/bin/e_place.h \ 140src/bin/e_place.h \
138src/bin/e_pointer.h \ 141src/bin/e_pointer.h \
139src/bin/e_popup.h \
140src/bin/e_powersave.h \ 142src/bin/e_powersave.h \
141src/bin/e_prefix.h \ 143src/bin/e_prefix.h \
142src/bin/e_randr.h \ 144src/bin/e_randr.h \
@@ -153,7 +155,6 @@ src/bin/e_slider.h \
153src/bin/e_slidesel.h \ 155src/bin/e_slidesel.h \
154src/bin/e_spectrum.h \ 156src/bin/e_spectrum.h \
155src/bin/e_startup.h \ 157src/bin/e_startup.h \
156src/bin/e_stolen.h \
157src/bin/e_sys.h \ 158src/bin/e_sys.h \
158src/bin/e_table.h \ 159src/bin/e_table.h \
159src/bin/e_test.h \ 160src/bin/e_test.h \
@@ -202,8 +203,7 @@ src/bin/e_zone.h
202 203
203if HAVE_WAYLAND_CLIENTS 204if HAVE_WAYLAND_CLIENTS
204ENLIGHTENMENTHEADERS += \ 205ENLIGHTENMENTHEADERS += \
205src/bin/e_comp_wl.h \ 206src/bin/e_comp_wl.h
206src/bin/e_surface.h
207endif 207endif
208 208
209 209
@@ -216,21 +216,22 @@ src/bin/e_atoms.c \
216src/bin/e_backlight.c \ 216src/bin/e_backlight.c \
217src/bin/e_bg.c \ 217src/bin/e_bg.c \
218src/bin/e_bindings.c \ 218src/bin/e_bindings.c \
219src/bin/e_border.c \
220src/bin/e_box.c \ 219src/bin/e_box.c \
221src/bin/e_canvas.c \ 220src/bin/e_canvas.c \
221src/bin/e_client.c \
222src/bin/e_color.c \ 222src/bin/e_color.c \
223src/bin/e_color_class.c \ 223src/bin/e_color_class.c \
224src/bin/e_color_dialog.c \ 224src/bin/e_color_dialog.c \
225src/bin/e_comp.c \ 225src/bin/e_comp.c \
226src/bin/e_comp_canvas.c \
226src/bin/e_comp_cfdata.c \ 227src/bin/e_comp_cfdata.c \
227src/bin/e_comp_render_update.c \ 228src/bin/e_comp_object.c \
229src/bin/e_comp_x.c \
228src/bin/e_config.c \ 230src/bin/e_config.c \
229src/bin/e_config_data.c \ 231src/bin/e_config_data.c \
230src/bin/e_config_dialog.c \ 232src/bin/e_config_dialog.c \
231src/bin/e_configure.c \ 233src/bin/e_configure.c \
232src/bin/e_confirm_dialog.c \ 234src/bin/e_confirm_dialog.c \
233src/bin/e_container.c \
234src/bin/e_datastore.c \ 235src/bin/e_datastore.c \
235src/bin/e_dbusmenu.c \ 236src/bin/e_dbusmenu.c \
236src/bin/e_desk.c \ 237src/bin/e_desk.c \
@@ -269,10 +270,10 @@ src/bin/e_ilist.c \
269src/bin/e_import_config_dialog.c \ 270src/bin/e_import_config_dialog.c \
270src/bin/e_import_dialog.c \ 271src/bin/e_import_dialog.c \
271src/bin/e_init.c \ 272src/bin/e_init.c \
272src/bin/e_int_border_locks.c \ 273src/bin/e_int_client_locks.c \
273src/bin/e_int_border_menu.c \ 274src/bin/e_int_client_menu.c \
274src/bin/e_int_border_prop.c \ 275src/bin/e_int_client_prop.c \
275src/bin/e_int_border_remember.c \ 276src/bin/e_int_client_remember.c \
276src/bin/e_int_config_modules.c \ 277src/bin/e_int_config_modules.c \
277src/bin/e_int_gadcon_config.c \ 278src/bin/e_int_gadcon_config.c \
278src/bin/e_intl.c \ 279src/bin/e_intl.c \
@@ -299,9 +300,9 @@ src/bin/e_object.c \
299src/bin/e_order.c \ 300src/bin/e_order.c \
300src/bin/e_pan.c \ 301src/bin/e_pan.c \
301src/bin/e_path.c \ 302src/bin/e_path.c \
303src/bin/e_pixmap.c \
302src/bin/e_place.c \ 304src/bin/e_place.c \
303src/bin/e_pointer.c \ 305src/bin/e_pointer.c \
304src/bin/e_popup.c \
305src/bin/e_powersave.c \ 306src/bin/e_powersave.c \
306src/bin/e_prefix.c \ 307src/bin/e_prefix.c \
307src/bin/e_randr.c \ 308src/bin/e_randr.c \
@@ -318,7 +319,6 @@ src/bin/e_slider.c \
318src/bin/e_slidesel.c \ 319src/bin/e_slidesel.c \
319src/bin/e_spectrum.c \ 320src/bin/e_spectrum.c \
320src/bin/e_startup.c \ 321src/bin/e_startup.c \
321src/bin/e_stolen.c \
322src/bin/e_sys.c \ 322src/bin/e_sys.c \
323src/bin/e_table.c \ 323src/bin/e_table.c \
324src/bin/e_test.c \ 324src/bin/e_test.c \
@@ -368,8 +368,7 @@ $(ENLIGHTENMENTHEADERS)
368 368
369if HAVE_WAYLAND_CLIENTS 369if HAVE_WAYLAND_CLIENTS
370enlightenment_src += \ 370enlightenment_src += \
371src/bin/e_comp_wl.c \ 371src/bin/e_comp_wl.c
372src/bin/e_surface.c
373endif 372endif
374 373
375src_bin_enlightenment_CFLAGS = $(AM_CPPFLAGS) @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ 374src_bin_enlightenment_CFLAGS = $(AM_CPPFLAGS) @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@
diff --git a/src/bin/e_about.c b/src/bin/e_about.c
index b1a64f8..5c6e4c2 100644
--- a/src/bin/e_about.c
+++ b/src/bin/e_about.c
@@ -7,14 +7,14 @@
7/* externally accessible functions */ 7/* externally accessible functions */
8 8
9EAPI E_About * 9EAPI E_About *
10e_about_new(E_Container *con) 10e_about_new(E_Comp *c)
11{ 11{
12 E_Obj_Dialog *od; 12 E_Obj_Dialog *od;
13 char buf[16384]; 13 char buf[16384];
14 FILE *f; 14 FILE *f;
15 Eina_Strbuf *tbuf; 15 Eina_Strbuf *tbuf;
16 16
17 od = e_obj_dialog_new(con, _("About Enlightenment"), "E", "_about"); 17 od = e_obj_dialog_new(c, _("About Enlightenment"), "E", "_about");
18 if (!od) return NULL; 18 if (!od) return NULL;
19 e_obj_dialog_obj_theme_set(od, "base/theme/about", "e/widgets/about/main"); 19 e_obj_dialog_obj_theme_set(od, "base/theme/about", "e/widgets/about/main");
20 e_obj_dialog_obj_part_text_set(od, "e.text.label", _("Close")); 20 e_obj_dialog_obj_part_text_set(od, "e.text.label", _("Close"));
diff --git a/src/bin/e_about.h b/src/bin/e_about.h
index 7636b8a..612c765 100644
--- a/src/bin/e_about.h
+++ b/src/bin/e_about.h
@@ -6,7 +6,7 @@ typedef struct _E_Obj_Dialog E_About;
6#ifndef E_ABOUT_H 6#ifndef E_ABOUT_H
7#define E_ABOUT_H 7#define E_ABOUT_H
8 8
9EAPI E_About *e_about_new (E_Container *con); 9EAPI E_About *e_about_new (E_Comp *c);
10EAPI void e_about_show (E_About *about); 10EAPI void e_about_show (E_About *about);
11 11
12#endif 12#endif
diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c
index 002650b..4c93c70 100644
--- a/src/bin/e_actions.c
+++ b/src/bin/e_actions.c
@@ -93,212 +93,212 @@ static int _action_groups_sort_cb(const void *d1, const void *d2);
93/***************************************************************************/ 93/***************************************************************************/
94ACT_FN_GO(window_move, __UNUSED__) 94ACT_FN_GO(window_move, __UNUSED__)
95{ 95{
96 if (!obj) obj = E_OBJECT(e_border_focused_get()); 96 if (!obj) obj = E_OBJECT(e_client_focused_get());
97 if (!obj) return; 97 if (!obj) return;
98 if (obj->type != E_BORDER_TYPE) return; 98 if (obj->type != E_CLIENT_TYPE) return;
99 if (!((E_Border *)obj)->lock_user_location) 99 if (!((E_Client *)obj)->lock_user_location)
100 e_border_act_move_begin((E_Border *)obj, NULL); 100 e_client_act_move_begin((E_Client *)obj, NULL);
101} 101}
102 102
103ACT_FN_GO_MOUSE(window_move, __UNUSED__) 103ACT_FN_GO_MOUSE(window_move, __UNUSED__)
104{ 104{
105 if (!obj) obj = E_OBJECT(e_border_focused_get()); 105 if (!obj) obj = E_OBJECT(e_client_focused_get());
106 if (!obj) return; 106 if (!obj) return;
107 if (obj->type != E_BORDER_TYPE) return; 107 if (obj->type != E_CLIENT_TYPE) return;
108 e_border_act_move_begin((E_Border *)obj, ev); 108 e_client_act_move_begin((E_Client *)obj, ev);
109} 109}
110 110
111ACT_FN_GO_SIGNAL(window_move, ) 111ACT_FN_GO_SIGNAL(window_move, )
112{ 112{
113 if (!obj) obj = E_OBJECT(e_border_focused_get()); 113 if (!obj) obj = E_OBJECT(e_client_focused_get());
114 if (!obj) return; 114 if (!obj) return;
115 if (obj->type != E_BORDER_TYPE) return; 115 if (obj->type != E_CLIENT_TYPE) return;
116 if (!((E_Border *)obj)->lock_user_location) 116 if (!((E_Client *)obj)->lock_user_location)
117 { 117 {
118 if ((params) && (!strcmp(params, "end"))) 118 if ((params) && (!strcmp(params, "end")))
119 e_border_signal_move_end((E_Border *)obj, sig, src); 119 e_client_signal_move_end((E_Client *)obj, sig, src);
120 else 120 else
121 { 121 {
122 if (!((E_Border *)obj)->moving) 122 if (!((E_Client *)obj)->moving)
123 e_border_signal_move_begin((E_Border *)obj, sig, src); 123 e_client_signal_move_begin((E_Client *)obj, sig, src);
124 } 124 }
125 } 125 }
126} 126}
127 127
128ACT_FN_END(window_move, __UNUSED__) 128ACT_FN_END(window_move, __UNUSED__)
129{ 129{
130 if (!obj) obj = E_OBJECT(e_border_focused_get()); 130 if (!obj) obj = E_OBJECT(e_client_focused_get());
131 if (!obj) return; 131 if (!obj) return;
132 if (obj->type != E_BORDER_TYPE) return; 132 if (obj->type != E_CLIENT_TYPE) return;
133 e_border_act_move_end((E_Border *)obj, NULL); 133 e_client_act_move_end((E_Client *)obj, NULL);
134} 134}
135 135
136ACT_FN_END_MOUSE(window_move, __UNUSED__) 136ACT_FN_END_MOUSE(window_move, __UNUSED__)
137{ 137{
138 if (!obj) obj = E_OBJECT(e_border_focused_get()); 138 if (!obj) obj = E_OBJECT(e_client_focused_get());
139 if (!obj) return; 139 if (!obj) return;
140 if (obj->type != E_BORDER_TYPE) return; 140 if (obj->type != E_CLIENT_TYPE) return;
141 e_border_act_move_end((E_Border *)obj, ev); 141 e_client_act_move_end((E_Client *)obj, ev);
142} 142}
143 143
144ACT_FN_GO_KEY(window_move, __UNUSED__, __UNUSED__) 144ACT_FN_GO_KEY(window_move, __UNUSED__, __UNUSED__)
145{ 145{
146 if (!obj) obj = E_OBJECT(e_border_focused_get()); 146 if (!obj) obj = E_OBJECT(e_client_focused_get());
147 if (!obj) return; 147 if (!obj) return;
148 if (obj->type != E_BORDER_TYPE) 148 if (obj->type != E_CLIENT_TYPE)
149 { 149 {
150 obj = E_OBJECT(e_border_focused_get()); 150 obj = E_OBJECT(e_client_focused_get());
151 if (!obj) return; 151 if (!obj) return;
152 } 152 }
153 if (!((E_Border *)obj)->lock_user_location) 153 if (!((E_Client *)obj)->lock_user_location)
154 e_border_act_move_keyboard((E_Border *)obj); 154 e_client_act_move_keyboard((E_Client *)obj);
155} 155}
156 156
157/***************************************************************************/ 157/***************************************************************************/
158ACT_FN_GO(window_resize, __UNUSED__) 158ACT_FN_GO(window_resize, __UNUSED__)
159{ 159{
160 if (!obj) obj = E_OBJECT(e_border_focused_get()); 160 if (!obj) obj = E_OBJECT(e_client_focused_get());
161 if (!obj) return; 161 if (!obj) return;
162 if (obj->type != E_BORDER_TYPE) return; 162 if (obj->type != E_CLIENT_TYPE) return;
163 if (!((E_Border *)obj)->lock_user_size) 163 if (!((E_Client *)obj)->lock_user_size)
164 e_border_act_resize_begin((E_Border *)obj, NULL); 164 e_client_act_resize_begin((E_Client *)obj, NULL);
165} 165}
166 166
167ACT_FN_GO_MOUSE(window_resize, __UNUSED__) 167ACT_FN_GO_MOUSE(window_resize, __UNUSED__)
168{ 168{
169 if (!obj) obj = E_OBJECT(e_border_focused_get()); 169 if (!obj) obj = E_OBJECT(e_client_focused_get());
170 if (!obj) return; 170 if (!obj) return;
171 if (obj->type != E_BORDER_TYPE) return; 171 if (obj->type != E_CLIENT_TYPE) return;
172 if (!((E_Border *)obj)->lock_user_size) 172 if (!((E_Client *)obj)->lock_user_size)
173 e_border_act_resize_begin((E_Border *)obj, ev); 173 e_client_act_resize_begin((E_Client *)obj, ev);
174} 174}
175 175
176ACT_FN_GO_SIGNAL(window_resize, ) 176ACT_FN_GO_SIGNAL(window_resize, )
177{ 177{
178 if (!obj) obj = E_OBJECT(e_border_focused_get()); 178 if (!obj) obj = E_OBJECT(e_client_focused_get());
179 if (!obj) return; 179 if (!obj) return;
180 if (obj->type != E_BORDER_TYPE) return; 180 if (obj->type != E_CLIENT_TYPE) return;
181 if (!((E_Border *)obj)->lock_user_size) 181 if (!((E_Client *)obj)->lock_user_size)
182 { 182 {
183 if ((params) && (!strcmp(params, "end"))) 183 if ((params) && (!strcmp(params, "end")))
184 e_border_signal_resize_end((E_Border *)obj, params, sig, src); 184 e_client_signal_resize_end((E_Client *)obj, params, sig, src);
185 else 185 else
186 { 186 {
187 if (!params) params = ""; 187 if (!params) params = "";
188 if (e_border_resizing_get((E_Border *)obj)) 188 if (e_client_resizing_get((E_Client *)obj))
189 e_border_signal_resize_end((E_Border *)obj, params, sig, src); 189 e_client_signal_resize_end((E_Client *)obj, params, sig, src);
190 else 190 else
191 e_border_signal_resize_begin((E_Border *)obj, params, sig, src); 191 e_client_signal_resize_begin((E_Client *)obj, params, sig, src);
192 } 192 }
193 } 193 }
194} 194}
195 195
196ACT_FN_END(window_resize, __UNUSED__) 196ACT_FN_END(window_resize, __UNUSED__)
197{ 197{
198 if (!obj) obj = E_OBJECT(e_border_focused_get()); 198 if (!obj) obj = E_OBJECT(e_client_focused_get());
199 if (!obj) return; 199 if (!obj) return;
200 if (obj->type != E_BORDER_TYPE) return; 200 if (obj->type != E_CLIENT_TYPE) return;
201 e_border_act_resize_end((E_Border *)obj, NULL); 201 e_client_act_resize_end((E_Client *)obj, NULL);
202} 202}
203 203
204ACT_FN_END_MOUSE(window_resize, __UNUSED__) 204ACT_FN_END_MOUSE(window_resize, __UNUSED__)
205{ 205{
206 if (!obj) obj = E_OBJECT(e_border_focused_get()); 206 if (!obj) obj = E_OBJECT(e_client_focused_get());
207 if (!obj) return; 207 if (!obj) return;
208 if (obj->type != E_BORDER_TYPE) return; 208 if (obj->type != E_CLIENT_TYPE) return;
209 e_border_act_resize_end((E_Border *)obj, ev); 209 e_client_act_resize_end((E_Client *)obj, ev);
210} 210}
211 211
212ACT_FN_GO_KEY(window_resize, __UNUSED__, __UNUSED__) 212ACT_FN_GO_KEY(window_resize, __UNUSED__, __UNUSED__)
213{ 213{
214 if (!obj) obj = E_OBJECT(e_border_focused_get()); 214 if (!obj) obj = E_OBJECT(e_client_focused_get());
215 if (!obj) return; 215 if (!obj) return;
216 if (obj->type != E_BORDER_TYPE) 216 if (obj->type != E_CLIENT_TYPE)
217 { 217 {
218 obj = E_OBJECT(e_border_focused_get()); 218 obj = E_OBJECT(e_client_focused_get());
219 if (!obj) return; 219 if (!obj) return;
220 } 220 }
221 if (!((E_Border *)obj)->lock_user_size) 221 if (!((E_Client *)obj)->lock_user_size)
222 e_border_act_resize_keyboard((E_Border *)obj); 222 e_client_act_resize_keyboard((E_Client *)obj);
223} 223}
224 224
225/***************************************************************************/ 225/***************************************************************************/
226ACT_FN_GO(window_menu, __UNUSED__) 226ACT_FN_GO(window_menu, __UNUSED__)
227{ 227{
228 if (!obj) obj = E_OBJECT(e_border_focused_get()); 228 if (!obj) obj = E_OBJECT(e_client_focused_get());
229 if (!obj) return; 229 if (!obj) return;
230 if (obj->type != E_BORDER_TYPE) 230 if (obj->type != E_CLIENT_TYPE)
231 { 231 {
232 obj = E_OBJECT(e_border_focused_get()); 232 obj = E_OBJECT(e_client_focused_get());
233 if (!obj) return; 233 if (!obj) return;
234 } 234 }
235 e_border_act_menu_begin((E_Border *)obj, NULL, 0); 235 e_client_act_menu_begin((E_Client *)obj, NULL, 0);
236} 236}
237 237
238ACT_FN_GO_MOUSE(window_menu, __UNUSED__) 238ACT_FN_GO_MOUSE(window_menu, __UNUSED__)
239{ 239{
240 if (!obj) obj = E_OBJECT(e_border_focused_get()); 240 if (!obj) obj = E_OBJECT(e_client_focused_get());
241 if (!obj) return; 241 if (!obj) return;
242 if (obj->type != E_BORDER_TYPE) 242 if (obj->type != E_CLIENT_TYPE)
243 { 243 {
244 obj = E_OBJECT(e_border_focused_get()); 244 obj = E_OBJECT(e_client_focused_get());
245 if (!obj) return; 245 if (!obj) return;
246 } 246 }
247 e_border_act_menu_begin((E_Border *)obj, ev, 0); 247 e_client_act_menu_begin((E_Client *)obj, ev, 0);
248} 248}
249 249
250ACT_FN_GO_KEY(window_menu, __UNUSED__, __UNUSED__) 250ACT_FN_GO_KEY(window_menu, __UNUSED__, __UNUSED__)
251{ 251{
252 if (!obj) obj = E_OBJECT(e_border_focused_get()); 252 if (!obj) obj = E_OBJECT(e_client_focused_get());
253 if (!obj) return; 253 if (!obj) return;
254 if (obj->type != E_BORDER_TYPE) 254 if (obj->type != E_CLIENT_TYPE)
255 { 255 {
256 obj = E_OBJECT(e_border_focused_get()); 256 obj = E_OBJECT(e_client_focused_get());
257 if (!obj) return; 257 if (!obj) return;
258 } 258 }
259 e_border_act_menu_begin((E_Border *)obj, NULL, 1); 259 e_client_act_menu_begin((E_Client *)obj, NULL, 1);
260} 260}
261 261
262/***************************************************************************/ 262/***************************************************************************/
263ACT_FN_GO(window_raise, __UNUSED__) 263ACT_FN_GO(window_raise, __UNUSED__)
264{ 264{
265 if (!obj) obj = E_OBJECT(e_border_focused_get()); 265 if (!obj) obj = E_OBJECT(e_client_focused_get());
266 if (!obj) return; 266 if (!obj) return;
267 if (obj->type != E_BORDER_TYPE) 267 if (obj->type != E_CLIENT_TYPE)
268 { 268 {
269 obj = E_OBJECT(e_border_focused_get()); 269 obj = E_OBJECT(e_client_focused_get());
270 if (!obj) return; 270 if (!obj) return;
271 } 271 }
272 if (!((E_Border *)obj)->lock_user_stacking) 272 if (!((E_Client *)obj)->lock_user_stacking)
273 e_border_raise((E_Border *)obj); 273 evas_object_raise(((E_Client *)obj)->frame);
274} 274}
275 275
276/***************************************************************************/ 276/***************************************************************************/
277ACT_FN_GO(window_lower, __UNUSED__) 277ACT_FN_GO(window_lower, __UNUSED__)
278{ 278{
279 if (!obj) obj = E_OBJECT(e_border_focused_get()); 279 if (!obj) obj = E_OBJECT(e_client_focused_get());
280 if (!obj) return; 280 if (!obj) return;
281 if (obj->type != E_BORDER_TYPE) 281 if (obj->type != E_CLIENT_TYPE)
282 { 282 {
283 obj = E_OBJECT(e_border_focused_get()); 283 obj = E_OBJECT(e_client_focused_get());
284 if (!obj) return; 284 if (!obj) return;
285 } 285 }
286 if (!((E_Border *)obj)->lock_user_stacking) 286 if (!((E_Client *)obj)->lock_user_stacking)
287 e_border_lower((E_Border *)obj); 287 evas_object_lower(((E_Client *)obj)->frame);
288} 288}
289 289
290/***************************************************************************/ 290/***************************************************************************/
291ACT_FN_GO(window_close, __UNUSED__) 291ACT_FN_GO(window_close, __UNUSED__)
292{ 292{
293 if (!obj) obj = E_OBJECT(e_border_focused_get()); 293 if (!obj) obj = E_OBJECT(e_client_focused_get());
294 if (!obj) return; 294 if (!obj) return;
295 if (obj->type != E_BORDER_TYPE) 295 if (obj->type != E_CLIENT_TYPE)
296 { 296 {
297 obj = E_OBJECT(e_border_focused_get()); 297 obj = E_OBJECT(e_client_focused_get());
298 if (!obj) return; 298 if (!obj) return;
299 } 299 }
300 if (!((E_Border *)obj)->lock_close) 300 if (!((E_Client *)obj)->lock_close)
301 e_border_act_close_begin((E_Border *)obj); 301 e_client_act_close_begin((E_Client *)obj);
302} 302}
303 303
304/***************************************************************************/ 304/***************************************************************************/
@@ -315,8 +315,8 @@ _e_actions_cb_kill_dialog_ok(void *data, E_Dialog *dia)
315 e_object_del(E_OBJECT(kill_dialog)); 315 e_object_del(E_OBJECT(kill_dialog));
316 kill_dialog = NULL; 316 kill_dialog = NULL;
317 } 317 }
318 if ((!((E_Border *)obj)->lock_close) && (!((E_Border *)obj)->internal)) 318 if ((!((E_Client *)obj)->lock_close) && (!((E_Client *)obj)->internal))
319 e_border_act_kill_begin((E_Border *)obj); 319 e_client_act_kill_begin((E_Client *)obj);
320} 320}
321 321
322static void 322static void
@@ -337,14 +337,14 @@ _e_actions_cb_kill_dialog_delete(E_Win *win)
337 337
338ACT_FN_GO(window_kill, __UNUSED__) 338ACT_FN_GO(window_kill, __UNUSED__)
339{ 339{
340 E_Border *bd; 340 E_Client *ec;
341 char dialog_text[1024]; 341 char dialog_text[1024];
342 342
343 if (!obj) obj = E_OBJECT(e_border_focused_get()); 343 if (!obj) obj = E_OBJECT(e_client_focused_get());
344 if (!obj) return; 344 if (!obj) return;
345 if (obj->type != E_BORDER_TYPE) return; 345 if (obj->type != E_CLIENT_TYPE) return;
346 bd = (E_Border *)obj; 346 ec = (E_Client *)obj;
347 if ((bd->lock_close) || (bd->internal)) return; 347 if ((ec->lock_close) || (ec->internal)) return;
348 348
349 if (kill_dialog) e_object_del(E_OBJECT(kill_dialog)); 349 if (kill_dialog) e_object_del(E_OBJECT(kill_dialog));
350 350
@@ -359,9 +359,9 @@ ACT_FN_GO(window_kill, __UNUSED__)
359 "Please keep in mind that all data from this window<br>" 359 "Please keep in mind that all data from this window<br>"
360 "which has not yet been saved will be lost!<br><br>" 360 "which has not yet been saved will be lost!<br><br>"
361 "Are you sure you want to kill this window?"), 361 "Are you sure you want to kill this window?"),
362 bd->client.icccm.name); 362 ec->icccm.name);
363 363
364 kill_dialog = e_dialog_new(e_container_current_get(e_manager_current_get()), 364 kill_dialog = e_dialog_new(NULL,
365 "E", "_kill_dialog"); 365 "E", "_kill_dialog");
366 if (!kill_dialog) return; 366 if (!kill_dialog) return;
367 e_win_delete_callback_set(kill_dialog->win, 367 e_win_delete_callback_set(kill_dialog->win,
@@ -382,44 +382,44 @@ ACT_FN_GO(window_kill, __UNUSED__)
382/***************************************************************************/ 382/***************************************************************************/
383ACT_FN_GO(window_sticky_toggle, __UNUSED__) 383ACT_FN_GO(window_sticky_toggle, __UNUSED__)
384{ 384{
385 if (!obj) obj = E_OBJECT(e_border_focused_get()); 385 if (!obj) obj = E_OBJECT(e_client_focused_get());
386 if (!obj) return; 386 if (!obj) return;
387 if (obj->type != E_BORDER_TYPE) 387 if (obj->type != E_CLIENT_TYPE)
388 { 388 {
389 obj = E_OBJECT(e_border_focused_get()); 389 obj = E_OBJECT(e_client_focused_get());
390 if (!obj) return; 390 if (!obj) return;
391 } 391 }
392 if (!((E_Border *)obj)->lock_user_sticky) 392 if (!((E_Client *)obj)->lock_user_sticky)
393 { 393 {
394 E_Border *bd; 394 E_Client *ec;
395 395
396 bd = (E_Border *)obj; 396 ec = (E_Client *)obj;
397 if (bd->sticky) e_border_unstick(bd); 397 if (ec->sticky) e_client_unstick(ec);
398 else e_border_stick(bd); 398 else e_client_stick(ec);
399 } 399 }
400} 400}
401 401
402/***************************************************************************/ 402/***************************************************************************/
403ACT_FN_GO(window_sticky, ) 403ACT_FN_GO(window_sticky, )
404{ 404{
405 if (!obj) obj = E_OBJECT(e_border_focused_get()); 405 if (!obj) obj = E_OBJECT(e_client_focused_get());
406 if (!obj) return; 406 if (!obj) return;
407 if (obj->type != E_BORDER_TYPE) 407 if (obj->type != E_CLIENT_TYPE)
408 { 408 {
409 obj = E_OBJECT(e_border_focused_get()); 409 obj = E_OBJECT(e_client_focused_get());
410 if (!obj) return; 410 if (!obj) return;
411 } 411 }
412 if (!((E_Border *)obj)->lock_user_sticky) 412 if (!((E_Client *)obj)->lock_user_sticky)
413 { 413 {
414 E_Border *bd; 414 E_Client *ec;
415 415
416 bd = (E_Border *)obj; 416 ec = (E_Client *)obj;
417 if (params) 417 if (params)
418 { 418 {
419 if (atoi(params) == 1) 419 if (atoi(params) == 1)
420 e_border_stick(bd); 420 e_client_stick(ec);
421 else if (atoi(params) == 0) 421 else if (atoi(params) == 0)
422 e_border_unstick(bd); 422 e_client_unstick(ec);
423 } 423 }
424 } 424 }
425} 425}
@@ -427,47 +427,47 @@ ACT_FN_GO(window_sticky, )
427/***************************************************************************/ 427/***************************************************************************/
428ACT_FN_GO(window_iconic_toggle, __UNUSED__) 428ACT_FN_GO(window_iconic_toggle, __UNUSED__)
429{ 429{
430 E_Border *bd; 430 E_Client *ec;
431 431
432 if (!obj) obj = E_OBJECT(e_border_focused_get()); 432 if (!obj) obj = E_OBJECT(e_client_focused_get());
433 if (!obj) return; 433 if (!obj) return;
434 if (obj->type != E_BORDER_TYPE) 434 if (obj->type != E_CLIENT_TYPE)
435 { 435 {
436 obj = E_OBJECT(e_border_focused_get()); 436 obj = E_OBJECT(e_client_focused_get());
437 if (!obj) return; 437 if (!obj) return;
438 } 438 }
439 bd = (E_Border *)obj; 439 ec = (E_Client *)obj;
440 440
441 if ((!bd->lock_user_iconify) && (!bd->fullscreen) && 441 if ((!ec->lock_user_iconify) && (!ec->fullscreen) &&
442 ((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_NORMAL) || 442 ((ec->netwm.type == E_WINDOW_TYPE_NORMAL) ||
443 (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_UNKNOWN))) 443 (ec->netwm.type == E_WINDOW_TYPE_UNKNOWN)))
444 { 444 {
445 if (bd->iconic) e_border_uniconify(bd); 445 if (ec->iconic) e_client_uniconify(ec);
446 else e_border_iconify(bd); 446 else e_client_iconify(ec);
447 } 447 }
448} 448}
449 449
450/***************************************************************************/ 450/***************************************************************************/
451ACT_FN_GO(window_iconic, ) 451ACT_FN_GO(window_iconic, )
452{ 452{
453 if (!obj) obj = E_OBJECT(e_border_focused_get()); 453 if (!obj) obj = E_OBJECT(e_client_focused_get());
454 if (!obj) return; 454 if (!obj) return;
455 if (obj->type != E_BORDER_TYPE) 455 if (obj->type != E_CLIENT_TYPE)
456 { 456 {
457 obj = E_OBJECT(e_border_focused_get()); 457 obj = E_OBJECT(e_client_focused_get());
458 if (!obj) return; 458 if (!obj) return;
459 } 459 }
460 if (!((E_Border *)obj)->lock_user_iconify) 460 if (!((E_Client *)obj)->lock_user_iconify)
461 { 461 {
462 E_Border *bd; 462 E_Client *ec;
463 463
464 bd = (E_Border *)obj; 464 ec = (E_Client *)obj;
465 if (params) 465 if (params)
466 { 466 {
467 if (atoi(params) == 1) 467 if (atoi(params) == 1)
468 e_border_iconify(bd); 468 e_client_iconify(ec);
469 else if (atoi(params) == 0) 469 else if (atoi(params) == 0)
470 e_border_uniconify(bd); 470 e_client_uniconify(ec);
471 } 471 }
472 } 472 }
473} 473}
@@ -475,44 +475,44 @@ ACT_FN_GO(window_iconic, )
475/***************************************************************************/ 475/***************************************************************************/
476ACT_FN_GO(window_fullscreen_toggle, ) 476ACT_FN_GO(window_fullscreen_toggle, )
477{ 477{
478 if (!obj) obj = E_OBJECT(e_border_focused_get()); 478 if (!obj) obj = E_OBJECT(e_client_focused_get());
479 if (!obj) return; 479 if (!obj) return;
480 if (obj->type != E_BORDER_TYPE) 480 if (obj->type != E_CLIENT_TYPE)
481 { 481 {
482 obj = E_OBJECT(e_border_focused_get()); 482 obj = E_OBJECT(e_client_focused_get());
483 if (!obj) return; 483 if (!obj) return;
484 } 484 }
485 if (!((E_Border *)obj)->lock_user_fullscreen) 485 if (!((E_Client *)obj)->lock_user_fullscreen)
486 { 486 {
487 E_Border *bd; 487 E_Client *ec;
488 488
489 bd = (E_Border *)obj; 489 ec = (E_Client *)obj;
490 if (bd->fullscreen) 490 if (ec->fullscreen)
491 e_border_unfullscreen(bd); 491 e_client_unfullscreen(ec);
492 else if (!params || *params == '\0') 492 else if (!params || *params == '\0')
493 e_border_fullscreen(bd, e_config->fullscreen_policy); 493 e_client_fullscreen(ec, e_config->fullscreen_policy);
494 else if (!strcmp(params, "resize")) 494 else if (!strcmp(params, "resize"))
495 e_border_fullscreen(bd, E_FULLSCREEN_RESIZE); 495 e_client_fullscreen(ec, E_FULLSCREEN_RESIZE);
496 else if (!strcmp(params, "zoom")) 496 else if (!strcmp(params, "zoom"))
497 e_border_fullscreen(bd, E_FULLSCREEN_ZOOM); 497 e_client_fullscreen(ec, E_FULLSCREEN_ZOOM);
498 } 498 }
499} 499}
500 500
501/***************************************************************************/ 501/***************************************************************************/
502ACT_FN_GO(window_fullscreen, ) 502ACT_FN_GO(window_fullscreen, )
503{ 503{
504 if (!obj) obj = E_OBJECT(e_border_focused_get()); 504 if (!obj) obj = E_OBJECT(e_client_focused_get());
505 if (!obj) return; 505 if (!obj) return;
506 if (obj->type != E_BORDER_TYPE) 506 if (obj->type != E_CLIENT_TYPE)
507 { 507 {
508 obj = E_OBJECT(e_border_focused_get()); 508 obj = E_OBJECT(e_client_focused_get());
509 if (!obj) return; 509 if (!obj) return;
510 } 510 }
511 if (!((E_Border *)obj)->lock_user_fullscreen) 511 if (!((E_Client *)obj)->lock_user_fullscreen)
512 { 512 {
513 E_Border *bd; 513 E_Client *ec;
514 514
515 bd = (E_Border *)obj; 515 ec = (E_Client *)obj;
516 if (params) 516 if (params)
517 { 517 {
518 int v; 518 int v;
@@ -524,14 +524,14 @@ ACT_FN_GO(window_fullscreen, )
524 if (v == 1) 524 if (v == 1)
525 { 525 {
526 if (*buf == '\0') 526 if (*buf == '\0')
527 e_border_fullscreen(bd, e_config->fullscreen_policy); 527 e_client_fullscreen(ec, e_config->fullscreen_policy);
528 else if (!strcmp(buf, "resize")) 528 else if (!strcmp(buf, "resize"))
529 e_border_fullscreen(bd, E_FULLSCREEN_RESIZE); 529 e_client_fullscreen(ec, E_FULLSCREEN_RESIZE);
530 else if (!strcmp(buf, "zoom")) 530 else if (!strcmp(buf, "zoom"))
531 e_border_fullscreen(bd, E_FULLSCREEN_ZOOM); 531 e_client_fullscreen(ec, E_FULLSCREEN_ZOOM);
532 } 532 }
533 else if (v == 0) 533 else if (v == 0)
534 e_border_unfullscreen(bd); 534 e_client_unfullscreen(ec);
535 } 535 }
536 } 536 }
537 } 537 }
@@ -540,29 +540,29 @@ ACT_FN_GO(window_fullscreen, )
540/***************************************************************************/ 540/***************************************************************************/
541ACT_FN_GO(window_maximized_toggle, ) 541ACT_FN_GO(window_maximized_toggle, )
542{ 542{
543 E_Border *bd; 543 E_Client *ec;
544 Eina_Bool resize = EINA_FALSE; 544 Eina_Bool resize = EINA_FALSE;
545 545
546 if (!obj) obj = E_OBJECT(e_border_focused_get()); 546 if (!obj) obj = E_OBJECT(e_client_focused_get());
547 if (!obj) return; 547 if (!obj) return;
548 if (obj->type != E_BORDER_TYPE) 548 if (obj->type != E_CLIENT_TYPE)
549 { 549 {
550 obj = E_OBJECT(e_border_focused_get()); 550 obj = E_OBJECT(e_client_focused_get());
551 if (!obj) return; 551 if (!obj) return;
552 } 552 }
553 bd = (E_Border *)obj; 553 ec = (E_Client *)obj;
554 554
555 /* internal dialog which is resizable */ 555 /* internal dialog which is resizable */
556 if (bd->internal && (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) 556 if (ec->internal && (ec->netwm.type == E_WINDOW_TYPE_DIALOG))
557 resize = (bd->client.icccm.max_w != bd->client.icccm.min_w); 557 resize = (ec->icccm.max_w != ec->icccm.min_w);
558 if ((!bd->lock_user_maximize) && (!bd->fullscreen) && 558 if ((!ec->lock_user_maximize) && (!ec->fullscreen) &&
559 (resize || (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_NORMAL) || 559 (resize || (ec->netwm.type == E_WINDOW_TYPE_NORMAL) ||
560 (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_UNKNOWN))) 560 (ec->netwm.type == E_WINDOW_TYPE_UNKNOWN)))
561 { 561 {
562 if ((bd->maximized & E_MAXIMIZE_TYPE) != E_MAXIMIZE_NONE) 562 if ((ec->maximized & E_MAXIMIZE_TYPE) != E_MAXIMIZE_NONE)
563 { 563 {
564 if (!params) 564 if (!params)
565 e_border_unmaximize(bd, E_MAXIMIZE_BOTH); 565 e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
566 else 566 else
567 { 567 {
568 E_Maximize max; 568 E_Maximize max;
@@ -571,58 +571,58 @@ ACT_FN_GO(window_maximized_toggle, )
571 max &= E_MAXIMIZE_DIRECTION; 571 max &= E_MAXIMIZE_DIRECTION;
572 if (max == E_MAXIMIZE_VERTICAL) 572 if (max == E_MAXIMIZE_VERTICAL)
573 { 573 {
574 if (bd->maximized & E_MAXIMIZE_VERTICAL) 574 if (ec->maximized & E_MAXIMIZE_VERTICAL)
575 e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL); 575 e_client_unmaximize(ec, E_MAXIMIZE_VERTICAL);
576 else 576 else
577 goto maximize; 577 goto maximize;
578 } 578 }
579 else if (max == E_MAXIMIZE_HORIZONTAL) 579 else if (max == E_MAXIMIZE_HORIZONTAL)
580 { 580 {
581 if (bd->maximized & E_MAXIMIZE_HORIZONTAL) 581 if (ec->maximized & E_MAXIMIZE_HORIZONTAL)
582 e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL); 582 e_client_unmaximize(ec, E_MAXIMIZE_HORIZONTAL);
583 else 583 else
584 goto maximize; 584 goto maximize;
585 } 585 }
586 else if (max == E_MAXIMIZE_LEFT) 586 else if (max == E_MAXIMIZE_LEFT)
587 { 587 {
588 if (bd->maximized & E_MAXIMIZE_LEFT) 588 if (ec->maximized & E_MAXIMIZE_LEFT)
589 e_border_unmaximize(bd, E_MAXIMIZE_LEFT); 589 e_client_unmaximize(ec, E_MAXIMIZE_LEFT);
590 else 590 else
591 goto maximize; 591 goto maximize;
592 } 592 }
593 else if (max == E_MAXIMIZE_RIGHT) 593 else if (max == E_MAXIMIZE_RIGHT)
594 { 594 {
595 if (bd->maximized & E_MAXIMIZE_RIGHT) 595 if (ec->maximized & E_MAXIMIZE_RIGHT)
596 e_border_unmaximize(bd, E_MAXIMIZE_RIGHT); 596 e_client_unmaximize(ec, E_MAXIMIZE_RIGHT);
597 else 597 else
598 goto maximize; 598 goto maximize;
599 } 599 }
600 else 600 else
601 e_border_unmaximize(bd, E_MAXIMIZE_BOTH); 601 e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
602 } 602 }
603 } 603 }
604 else 604 else
605 { 605 {
606maximize: 606maximize:
607 e_border_maximize(bd, _e_actions_maximize_parse(params)); 607 e_client_maximize(ec, _e_actions_maximize_parse(params));
608 } 608 }
609 } 609 }
610} 610}
611/***************************************************************************/ 611/***************************************************************************/
612ACT_FN_GO(window_maximized, ) 612ACT_FN_GO(window_maximized, )
613{ 613{
614 if (!obj) obj = E_OBJECT(e_border_focused_get()); 614 if (!obj) obj = E_OBJECT(e_client_focused_get());
615 if (!obj) return; 615 if (!obj) return;
616 if (obj->type != E_BORDER_TYPE) 616 if (obj->type != E_CLIENT_TYPE)
617 { 617 {
618 obj = E_OBJECT(e_border_focused_get()); 618 obj = E_OBJECT(e_client_focused_get());
619 if (!obj) return; 619 if (!obj) return;
620 } 620 }
621 if (!((E_Border *)obj)->lock_user_maximize) 621 if (!((E_Client *)obj)->lock_user_maximize)
622 { 622 {
623 E_Border *bd; 623 E_Client *ec;
624 624
625 bd = (E_Border *)obj; 625 ec = (E_Client *)obj;
626 if (params) 626 if (params)
627 { 627 {
628 E_Maximize max; 628 E_Maximize max;
@@ -649,18 +649,18 @@ ACT_FN_GO(window_maximized, )
649 if (v == 1) 649 if (v == 1)
650 { 650 {
651 if (!strcmp(s1, "fullscreen")) 651 if (!strcmp(s1, "fullscreen"))
652 e_border_maximize(bd, E_MAXIMIZE_FULLSCREEN | max); 652 e_client_maximize(ec, E_MAXIMIZE_FULLSCREEN | max);
653 else if (!strcmp(s1, "smart")) 653 else if (!strcmp(s1, "smart"))
654 e_border_maximize(bd, E_MAXIMIZE_SMART | max); 654 e_client_maximize(ec, E_MAXIMIZE_SMART | max);
655 else if (!strcmp(s1, "expand")) 655 else if (!strcmp(s1, "expand"))
656 e_border_maximize(bd, E_MAXIMIZE_EXPAND | max); 656 e_client_maximize(ec, E_MAXIMIZE_EXPAND | max);
657 else if (!strcmp(s1, "fill")) 657 else if (!strcmp(s1, "fill"))
658 e_border_maximize(bd, E_MAXIMIZE_FILL | max); 658 e_client_maximize(ec, E_MAXIMIZE_FILL | max);
659 else 659 else
660 e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | max); 660 e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | max);
661 } 661 }
662 else if (v == 0) 662 else if (v == 0)
663 e_border_unmaximize(bd, max); 663 e_client_unmaximize(ec, max);
664 } 664 }
665 } 665 }
666 } 666 }
@@ -669,52 +669,52 @@ ACT_FN_GO(window_maximized, )
669/***************************************************************************/ 669/***************************************************************************/
670ACT_FN_GO(window_shaded_toggle, ) 670ACT_FN_GO(window_shaded_toggle, )
671{ 671{
672 if (!obj) obj = E_OBJECT(e_border_focused_get()); 672 if (!obj) obj = E_OBJECT(e_client_focused_get());
673 if (!obj) return; 673 if (!obj) return;
674 if (obj->type != E_BORDER_TYPE) 674 if (obj->type != E_CLIENT_TYPE)
675 { 675 {
676 obj = E_OBJECT(e_border_focused_get()); 676 obj = E_OBJECT(e_client_focused_get());
677 if (!obj) return; 677 if (!obj) return;
678 } 678 }
679 if (!((E_Border *)obj)->lock_user_shade) 679 if (!((E_Client *)obj)->lock_user_shade)
680 { 680 {
681 E_Border *bd; 681 E_Client *ec;
682 682
683 bd = (E_Border *)obj; 683 ec = (E_Client *)obj;
684 if (bd->shaded) 684 if (ec->shaded)
685 { 685 {
686 if (!params) 686 if (!params)
687 e_border_unshade(bd, E_DIRECTION_UP); 687 e_client_unshade(ec, E_DIRECTION_UP);
688 else 688 else
689 { 689 {
690 if (!strcmp(params, "up")) 690 if (!strcmp(params, "up"))
691 e_border_unshade(bd, E_DIRECTION_UP); 691 e_client_unshade(ec, E_DIRECTION_UP);
692 else if (!strcmp(params, "down")) 692 else if (!strcmp(params, "down"))
693 e_border_unshade(bd, E_DIRECTION_DOWN); 693 e_client_unshade(ec, E_DIRECTION_DOWN);
694 else if (!strcmp(params, "left")) 694 else if (!strcmp(params, "left"))
695 e_border_unshade(bd, E_DIRECTION_LEFT); 695 e_client_unshade(ec, E_DIRECTION_LEFT);
696 else if (!strcmp(params, "right")) 696 else if (!strcmp(params, "right"))
697 e_border_unshade(bd, E_DIRECTION_RIGHT); 697 e_client_unshade(ec, E_DIRECTION_RIGHT);
698 else 698 else
699 e_border_unshade(bd, E_DIRECTION_UP); 699 e_client_unshade(ec, E_DIRECTION_UP);
700 } 700 }
701 } 701 }
702 else 702 else
703 { 703 {
704 if (!params) 704 if (!params)
705 e_border_shade(bd, E_DIRECTION_UP); 705 e_client_shade(ec, E_DIRECTION_UP);
706 else 706 else
707 { 707 {
708 if (!strcmp(params, "up")) 708 if (!strcmp(params, "up"))
709 e_border_shade(bd, E_DIRECTION_UP); 709 e_client_shade(ec, E_DIRECTION_UP);
710 else if (!strcmp(params, "down")) 710 else if (!strcmp(params, "down"))
711 e_border_shade(bd, E_DIRECTION_DOWN); 711 e_client_shade(ec, E_DIRECTION_DOWN);
712 else if (!strcmp(params, "left")) 712 else if (!strcmp(params, "left"))
713 e_border_shade(bd, E_DIRECTION_LEFT); 713 e_client_shade(ec, E_DIRECTION_LEFT);
714 else if (!strcmp(params, "right")) 714 else if (!strcmp(params, "right"))
715 e_border_shade(bd, E_DIRECTION_RIGHT); 715 e_client_shade(ec, E_DIRECTION_RIGHT);
716 else 716 else
717 e_border_shade(bd, E_DIRECTION_UP); 717 e_client_shade(ec, E_DIRECTION_UP);
718 } 718 }
719 } 719 }
720 } 720 }
@@ -723,18 +723,18 @@ ACT_FN_GO(window_shaded_toggle, )
723/***************************************************************************/ 723/***************************************************************************/
724ACT_FN_GO(window_shaded, ) 724ACT_FN_GO(window_shaded, )
725{ 725{
726 if (!obj) obj = E_OBJECT(e_border_focused_get()); 726 if (!obj) obj = E_OBJECT(e_client_focused_get());
727 if (!obj) return; 727 if (!obj) return;
728 if (obj->type != E_BORDER_TYPE) 728 if (obj->type != E_CLIENT_TYPE)
729 { 729 {
730 obj = E_OBJECT(e_border_focused_get()); 730 obj = E_OBJECT(e_client_focused_get());
731 if (!obj) return; 731 if (!obj) return;
732 } 732 }
733 if (!((E_Border *)obj)->lock_user_shade) 733 if (!((E_Client *)obj)->lock_user_shade)
734 { 734 {
735 E_Border *bd; 735 E_Client *ec;
736 736
737 bd = (E_Border *)obj; 737 ec = (E_Client *)obj;
738 if (params) 738 if (params)
739 { 739 {
740 int v; 740 int v;
@@ -745,24 +745,24 @@ ACT_FN_GO(window_shaded, )
745 if (v == 1) 745 if (v == 1)
746 { 746 {
747 if (!strcmp(buf, "up")) 747 if (!strcmp(buf, "up"))
748 e_border_shade(bd, E_DIRECTION_UP); 748 e_client_shade(ec, E_DIRECTION_UP);
749 else if (!strcmp(buf, "down")) 749 else if (!strcmp(buf, "down"))
750 e_border_shade(bd, E_DIRECTION_DOWN); 750 e_client_shade(ec, E_DIRECTION_DOWN);
751 else if (!strcmp(buf, "left")) 751 else if (!strcmp(buf, "left"))
752 e_border_shade(bd, E_DIRECTION_LEFT); 752 e_client_shade(ec, E_DIRECTION_LEFT);
753 else if (!strcmp(buf, "right")) 753 else if (!strcmp(buf, "right"))
754 e_border_shade(bd, E_DIRECTION_RIGHT); 754 e_client_shade(ec, E_DIRECTION_RIGHT);
755 } 755 }
756 else if (v == 0) 756 else if (v == 0)
757 { 757 {
758 if (!strcmp(buf, "up")) 758 if (!strcmp(buf, "up"))
759 e_border_unshade(bd, E_DIRECTION_UP); 759 e_client_unshade(ec, E_DIRECTION_UP);
760 else if (!strcmp(buf, "down")) 760 else if (!strcmp(buf, "down"))
761 e_border_unshade(bd, E_DIRECTION_DOWN); 761 e_client_unshade(ec, E_DIRECTION_DOWN);
762 else if (!strcmp(buf, "left")) 762 else if (!strcmp(buf, "left"))
763 e_border_unshade(bd, E_DIRECTION_LEFT); 763 e_client_unshade(ec, E_DIRECTION_LEFT);
764 else if (!strcmp(buf, "right")) 764 else if (!strcmp(buf, "right"))
765 e_border_unshade(bd, E_DIRECTION_RIGHT); 765 e_client_unshade(ec, E_DIRECTION_RIGHT);
766 } 766 }
767 } 767 }
768 } 768 }
@@ -772,37 +772,37 @@ ACT_FN_GO(window_shaded, )
772/***************************************************************************/ 772/***************************************************************************/
773ACT_FN_GO(window_borderless_toggle, __UNUSED__) 773ACT_FN_GO(window_borderless_toggle, __UNUSED__)
774{ 774{
775 if ((!obj) || (obj->type != E_BORDER_TYPE)) 775 if ((!obj) || (obj->type != E_CLIENT_TYPE))
776 obj = E_OBJECT(e_border_focused_get()); 776 obj = E_OBJECT(e_client_focused_get());
777 if (!obj) return; 777 if (!obj) return;
778 if (!((E_Border *)obj)->lock_border) 778 if (!((E_Client *)obj)->lock_border)
779 { 779 {
780 E_Border *bd; 780 E_Client *ec;
781 781
782 bd = (E_Border *)obj; 782 ec = (E_Client *)obj;
783 bd->borderless = !bd->borderless; 783 ec->borderless = !ec->borderless;
784 784
785 bd->client.border.changed = 1; 785 ec->border.changed = 1;
786 bd->changed = 1; 786 EC_CHANGED(ec);
787 } 787 }
788} 788}
789 789
790/***************************************************************************/ 790/***************************************************************************/
791ACT_FN_GO(window_border_set, __UNUSED__) 791ACT_FN_GO(window_border_set, __UNUSED__)
792{ 792{
793 if ((!obj) || (obj->type != E_BORDER_TYPE)) 793 if ((!obj) || (obj->type != E_CLIENT_TYPE))
794 obj = E_OBJECT(e_border_focused_get()); 794 obj = E_OBJECT(e_client_focused_get());
795 if (!obj) return; 795 if (!obj) return;
796 if (!((E_Border *)obj)->lock_border) 796 if (!((E_Client *)obj)->lock_border)
797 { 797 {
798 E_Border *bd; 798 E_Client *ec;
799 799
800 bd = (E_Border *)obj; 800 ec = (E_Client *)obj;
801 if (bd && params) 801 if (ec && params)
802 { 802 {
803 eina_stringshare_replace(&bd->bordername, params); 803 eina_stringshare_replace(&ec->bordername, params);
804 bd->client.border.changed = 1; 804 ec->border.changed = 1;
805 bd->changed = 1; 805 EC_CHANGED(ec);
806 } 806 }
807 } 807 }
808} 808}
@@ -810,28 +810,28 @@ ACT_FN_GO(window_border_set, __UNUSED__)
810/***************************************************************************/ 810/***************************************************************************/
811ACT_FN_GO(window_border_cycle, __UNUSED__) 811ACT_FN_GO(window_border_cycle, __UNUSED__)
812{ 812{
813 if ((!obj) || (obj->type != E_BORDER_TYPE)) 813 if ((!obj) || (obj->type != E_CLIENT_TYPE))
814 obj = E_OBJECT(e_border_focused_get()); 814 obj = E_OBJECT(e_client_focused_get());
815 if (!obj) return; 815 if (!obj) return;
816 if (!((E_Border *)obj)->lock_border) 816 if (!((E_Client *)obj)->lock_border)
817 { 817 {
818 E_Border *bd; 818 E_Client *ec;
819 819
820 bd = (E_Border *)obj; 820 ec = (E_Client *)obj;
821 if (bd && params) 821 if (ec && params)
822 { 822 {
823 const char *space; 823 const char *space;
824 824
825 while (*params == ' ') 825 while (*params == ' ')
826 params++; 826 params++;
827 827
828 if (bd->bordername) 828 if (ec->bordername)
829 { 829 {
830 const char *bdname = params; 830 const char *bdname = params;
831 831
832 while ((space = strchr(bdname, ' '))) 832 while ((space = strchr(bdname, ' ')))
833 { 833 {
834 if (strncmp(bd->bordername, bdname, space - bdname) == 0) 834 if (strncmp(ec->bordername, bdname, space - bdname) == 0)
835 { 835 {
836 bdname = space + 1; 836 bdname = space + 1;
837 while (*bdname == ' ') 837 while (*bdname == ' ')
@@ -839,12 +839,12 @@ ACT_FN_GO(window_border_cycle, __UNUSED__)
839 space = strchr(bdname, ' '); 839 space = strchr(bdname, ' ');
840 if (space) 840 if (space)
841 eina_stringshare_replace_length( 841 eina_stringshare_replace_length(
842 &bd->bordername, 842 &ec->bordername,
843 bdname, space - bdname); 843 bdname, space - bdname);
844 else 844 else
845 eina_stringshare_replace(&bd->bordername, bdname); 845 eina_stringshare_replace(&ec->bordername, bdname);
846 bd->client.border.changed = 1; 846 ec->border.changed = 1;
847 bd->changed = 1; 847 EC_CHANGED(ec);
848 return; 848 return;
849 } 849 }
850 bdname = space + 1; 850 bdname = space + 1;
@@ -855,12 +855,12 @@ ACT_FN_GO(window_border_cycle, __UNUSED__)
855 855
856 space = strchr(params, ' '); 856 space = strchr(params, ' ');
857 if (space) 857 if (space)
858 eina_stringshare_replace_length(&bd->bordername, 858 eina_stringshare_replace_length(&ec->bordername,
859 params, space - params); 859 params, space - params);
860 else 860 else
861 eina_stringshare_replace(&bd->bordername, params); 861 eina_stringshare_replace(&ec->bordername, params);
862 bd->client.border.changed = 1; 862 ec->border.changed = 1;
863 bd->changed = 1; 863 EC_CHANGED(ec);
864 } 864 }
865 } 865 }
866} 866}
@@ -868,30 +868,30 @@ ACT_FN_GO(window_border_cycle, __UNUSED__)
868/***************************************************************************/ 868/***************************************************************************/
869ACT_FN_GO(window_pinned_toggle, __UNUSED__) 869ACT_FN_GO(window_pinned_toggle, __UNUSED__)
870{ 870{
871 if ((!obj) || (obj->type != E_BORDER_TYPE)) 871 if ((!obj) || (obj->type != E_CLIENT_TYPE))
872 obj = E_OBJECT(e_border_focused_get()); 872 obj = E_OBJECT(e_client_focused_get());
873 if (!obj) return; 873 if (!obj) return;
874 if (!((E_Border *)obj)->lock_border) 874 if (!((E_Client *)obj)->lock_border)
875 { 875 {
876 E_Border *bd; 876 E_Client *ec;
877 877
878 bd = (E_Border *)obj; 878 ec = (E_Client *)obj;
879 if ((bd->client.netwm.state.stacking == E_STACKING_BELOW) && 879 if ((ec->netwm.state.stacking == E_STACKING_BELOW) &&
880 (bd->user_skip_winlist) && (bd->borderless)) 880 (ec->user_skip_winlist) && (ec->borderless))
881 e_border_pinned_set(bd, 0); 881 e_client_pinned_set(ec, 0);
882 else 882 else
883 e_border_pinned_set(bd, 1); 883 e_client_pinned_set(ec, 1);
884 } 884 }
885} 885}
886 886
887/***************************************************************************/ 887/***************************************************************************/
888ACT_FN_GO(window_move_by, ) 888ACT_FN_GO(window_move_by, )
889{ 889{
890 if (!obj) obj = E_OBJECT(e_border_focused_get()); 890 if (!obj) obj = E_OBJECT(e_client_focused_get());
891 if (!obj) return; 891 if (!obj) return;
892 if (obj->type != E_BORDER_TYPE) 892 if (obj->type != E_CLIENT_TYPE)
893 { 893 {
894 obj = E_OBJECT(e_border_focused_get()); 894 obj = E_OBJECT(e_client_focused_get());
895 if (!obj) return; 895 if (!obj) return;
896 } 896 }
897 if (params) 897 if (params)
@@ -900,15 +900,12 @@ ACT_FN_GO(window_move_by, )
900 900
901 if (sscanf(params, "%i %i", &dx, &dy) == 2) 901 if (sscanf(params, "%i %i", &dx, &dy) == 2)
902 { 902 {
903 E_Border *bd; 903 E_Client *ec;
904 904
905 bd = (E_Border *)obj; 905 ec = (E_Client *)obj;
906 e_border_move(bd, bd->x + dx, bd->y + dy); 906 evas_object_move(ec->frame, ec->x + dx, ec->y + dy);
907 907
908 if (e_config->focus_policy != E_FOCUS_CLICK) 908 e_util_pointer_center(ec);
909 ecore_x_pointer_warp(bd->zone->container->win,
910 bd->x + (bd->w / 2),
911 bd->y + (bd->h / 2));
912 } 909 }
913 } 910 }
914} 911}
@@ -916,21 +913,21 @@ ACT_FN_GO(window_move_by, )
916/***************************************************************************/ 913/***************************************************************************/
917ACT_FN_GO(window_move_to, ) 914ACT_FN_GO(window_move_to, )
918{ 915{
919 if (!obj) obj = E_OBJECT(e_border_focused_get()); 916 if (!obj) obj = E_OBJECT(e_client_focused_get());
920 if (!obj) return; 917 if (!obj) return;
921 if (obj->type != E_BORDER_TYPE) 918 if (obj->type != E_CLIENT_TYPE)
922 { 919 {
923 obj = E_OBJECT(e_border_focused_get()); 920 obj = E_OBJECT(e_client_focused_get());
924 if (!obj) return; 921 if (!obj) return;
925 } 922 }
926 if (params) 923 if (params)
927 { 924 {
928 E_Border *bd; 925 E_Client *ec;
929 int x, y, zx, zy, zw, zh; 926 int x, y, zx, zy, zw, zh;
930 char cx, cy; 927 char cx, cy;
931 928
932 bd = (E_Border *)obj; 929 ec = (E_Client *)obj;
933 e_zone_useful_geometry_get(bd->zone, &zx, &zy, &zw, &zh); 930 e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
934 931
935 if (sscanf(params, "%c%i %c%i", &cx, &x, &cy, &y) == 4) 932 if (sscanf(params, "%c%i %c%i", &cx, &x, &cy, &y) == 4)
936 { 933 {
@@ -941,29 +938,26 @@ ACT_FN_GO(window_move_to, )
941 { 938 {
942 /* Updated y, keep x. */ 939 /* Updated y, keep x. */
943 y += zy; 940 y += zy;
944 x = bd->x; 941 x = ec->x;
945 cx = 0; 942 cx = 0;
946 } 943 }
947 else if (sscanf(params, "%c%i *", &cx, &x) == 2) 944 else if (sscanf(params, "%c%i *", &cx, &x) == 2)
948 { 945 {
949 /* Updated x, keep y. */ 946 /* Updated x, keep y. */
950 x += zx; 947 x += zx;
951 y = bd->y; 948 y = ec->y;
952 cy = 0; 949 cy = 0;
953 } 950 }
954 else return; 951 else return;
955 952
956 if (cx == '-') x = zw - bd->w - x + 2 * zx; /* compensate x with zx */ 953 if (cx == '-') x = zw - ec->w - x + 2 * zx; /* compensate x with zx */
957 if (cy == '-') y = zh - bd->h - y + 2 * zy; /* compensate y with zy */ 954 if (cy == '-') y = zh - ec->h - y + 2 * zy; /* compensate y with zy */
958 955
959 if ((x != bd->x) || (y != bd->y)) 956 if ((x != ec->x) || (y != ec->y))
960 { 957 {
961 e_border_move(bd, x, y); 958 evas_object_move(ec->frame, x, y);
962 959
963 if (e_config->focus_policy != E_FOCUS_CLICK) 960 e_util_pointer_center(ec);
964 ecore_x_pointer_warp(bd->zone->container->win,
965 bd->x + (bd->w / 2),
966 bd->y + (bd->h / 2));
967 } 961 }
968 } 962 }
969} 963}
@@ -971,39 +965,30 @@ ACT_FN_GO(window_move_to, )
971/***************************************************************************/ 965/***************************************************************************/
972ACT_FN_GO(window_move_to_center, __UNUSED__) 966ACT_FN_GO(window_move_to_center, __UNUSED__)
973{ 967{
974 E_Border *bd; 968 E_Client *ec;
975 int x, y;
976 969
977 if (!obj) obj = E_OBJECT(e_border_focused_get()); 970 if (!obj) obj = E_OBJECT(e_client_focused_get());
978 if (!obj) return; 971 if (!obj) return;
979 if (obj->type != E_BORDER_TYPE) 972 if (obj->type != E_CLIENT_TYPE)
980 { 973 {
981 obj = E_OBJECT(e_border_focused_get()); 974 obj = E_OBJECT(e_client_focused_get());
982 if (!obj) return; 975 if (!obj) return;
983 } 976 }
984 977
985 bd = (E_Border *)obj; 978 ec = (E_Client *)obj;
986 e_border_center_pos_get(bd, &x, &y); 979 e_comp_object_util_center(ec->frame);
987
988 if ((x != bd->x) || (y != bd->y))
989 {
990 e_border_move(bd, x, y);
991 980
992 if (e_config->focus_policy != E_FOCUS_CLICK) 981 e_util_pointer_center(ec);
993 ecore_x_pointer_warp(bd->zone->container->win,
994 x + (bd->w / 2),
995 y + (bd->h / 2));
996 }
997} 982}
998 983
999/***************************************************************************/ 984/***************************************************************************/
1000ACT_FN_GO(window_resize_by, ) 985ACT_FN_GO(window_resize_by, )
1001{ 986{
1002 if (!obj) obj = E_OBJECT(e_border_focused_get()); 987 if (!obj) obj = E_OBJECT(e_client_focused_get());
1003 if (!obj) return; 988 if (!obj) return;
1004 if (obj->type != E_BORDER_TYPE) 989 if (obj->type != E_CLIENT_TYPE)
1005 { 990 {
1006 obj = E_OBJECT(e_border_focused_get()); 991 obj = E_OBJECT(e_client_focused_get());
1007 if (!obj) return; 992 if (!obj) return;
1008 } 993 }
1009 994
@@ -1013,18 +998,16 @@ ACT_FN_GO(window_resize_by, )
1013 998
1014 if (sscanf(params, "%i %i", &dw, &dh) == 2) 999 if (sscanf(params, "%i %i", &dw, &dh) == 2)
1015 { 1000 {
1016 E_Border *bd; 1001 E_Client *ec;
1017 1002
1018 bd = (E_Border *)obj; 1003 ec = (E_Client *)obj;
1019 1004
1020 dw += bd->w; 1005 dw += ec->w;
1021 dh += bd->h; 1006 dh += ec->h;
1022 e_border_resize_limit(bd, &dw, &dh); 1007 e_client_resize_limit(ec, &dw, &dh);
1023 e_border_resize(bd, dw, dh); 1008 evas_object_resize(ec->frame, dw, dh);
1024 1009
1025 if (e_config->focus_policy != E_FOCUS_CLICK) 1010 e_util_pointer_center(ec);
1026 ecore_x_pointer_warp(bd->zone->container->win,
1027 bd->x + (dw / 2), bd->y + (dh / 2));
1028 } 1011 }
1029 } 1012 }
1030} 1013}
@@ -1032,18 +1015,17 @@ ACT_FN_GO(window_resize_by, )
1032/***************************************************************************/ 1015/***************************************************************************/
1033ACT_FN_GO(window_push, ) 1016ACT_FN_GO(window_push, )
1034{ 1017{
1035 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1018 if (!obj) obj = E_OBJECT(e_client_focused_get());
1036 if (!obj) return; 1019 if (!obj) return;
1037 if (obj->type != E_BORDER_TYPE) 1020 if (obj->type != E_CLIENT_TYPE)
1038 { 1021 {
1039 obj = E_OBJECT(e_border_focused_get()); 1022 obj = E_OBJECT(e_client_focused_get());
1040 if (!obj) return; 1023 if (!obj) return;
1041 } 1024 }
1042 1025
1043 if (params) 1026 if (params)
1044 { 1027 {
1045 E_Border *bd, *cur; 1028 E_Client *ec, *cur;
1046 E_Border_List *bd_list;
1047 E_Desk *desk_current; 1029 E_Desk *desk_current;
1048 int hdir, vdir; 1030 int hdir, vdir;
1049 int x, y, zx, zy, zw, zh; 1031 int x, y, zx, zy, zw, zh;
@@ -1091,62 +1073,56 @@ ACT_FN_GO(window_push, )
1091 else 1073 else
1092 return; 1074 return;
1093 1075
1094 bd = (E_Border *)obj; 1076 ec = (E_Client *)obj;
1095 e_zone_useful_geometry_get(bd->zone, &zx, &zy, &zw, &zh); 1077 e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
1096 1078
1097 if (hdir < 0) x = zx; 1079 if (hdir < 0) x = zx;
1098 else if (hdir > 0) 1080 else if (hdir > 0)
1099 x = zx + zw - bd->w; 1081 x = zx + zw - ec->w;
1100 else x = bd->x; 1082 else x = ec->x;
1101 1083
1102 if (vdir < 0) y = zy; 1084 if (vdir < 0) y = zy;
1103 else if (vdir > 0) 1085 else if (vdir > 0)
1104 y = zy + zh - bd->h; 1086 y = zy + zh - ec->h;
1105 else y = bd->y; 1087 else y = ec->y;
1106 1088
1107 desk_current = e_desk_current_get(bd->zone); 1089 desk_current = e_desk_current_get(ec->zone);
1108 bd_list = e_container_border_list_first(bd->zone->container);
1109 cur = e_container_border_list_next(bd_list);
1110 1090
1111 while (cur) 1091 E_CLIENT_FOREACH(ec->comp, cur)
1112 { 1092 {
1113 if (((cur->desk == desk_current) || (cur->sticky)) && (bd != cur) && (!cur->iconic)) 1093 if (((cur->desk == desk_current) || (cur->sticky)) && (ec != cur) && (!cur->iconic))
1114 { 1094 {
1115 if ((hdir < 0) 1095 if ((hdir < 0)
1116 && (cur->x + cur->w < bd->x) 1096 && (cur->x + cur->w < ec->x)
1117 && (E_SPANS_COMMON(bd->y, bd->h, cur->y, cur->h))) 1097 && (E_SPANS_COMMON(ec->y, ec->h, cur->y, cur->h)))
1118 x = MAX(x, cur->x + cur->w); 1098 x = MAX(x, cur->x + cur->w);
1119 else if ((hdir > 0) 1099 else if ((hdir > 0)
1120 && (cur->x > bd->x + bd->w) 1100 && (cur->x > ec->x + ec->w)
1121 && (E_SPANS_COMMON(bd->y, bd->h, cur->y, cur->h))) 1101 && (E_SPANS_COMMON(ec->y, ec->h, cur->y, cur->h)))
1122 x = MIN(x, zx + cur->x - bd->w); 1102 x = MIN(x, zx + cur->x - ec->w);
1123 1103
1124 if ((vdir < 0) 1104 if ((vdir < 0)
1125 && (cur->y + cur->h < bd->y) 1105 && (cur->y + cur->h < ec->y)
1126 && (E_SPANS_COMMON(bd->x, bd->w, cur->x, cur->w))) 1106 && (E_SPANS_COMMON(ec->x, ec->w, cur->x, cur->w)))
1127 y = MAX(y, cur->y + cur->h); 1107 y = MAX(y, cur->y + cur->h);
1128 else if ((vdir > 0) 1108 else if ((vdir > 0)
1129 && (cur->y > bd->y + bd->h) 1109 && (cur->y > ec->y + ec->h)
1130 && (E_SPANS_COMMON(bd->x, bd->w, cur->x, cur->w))) 1110 && (E_SPANS_COMMON(ec->x, ec->w, cur->x, cur->w)))
1131 y = MIN(y, zy + cur->y - bd->h); 1111 y = MIN(y, zy + cur->y - ec->h);
1132 } 1112 }
1133 cur = e_container_border_list_next(bd_list);
1134 } 1113 }
1135 e_container_border_list_free(bd_list);
1136 1114
1137 if ((x != bd->x) || (y != bd->y)) 1115 if ((x != ec->x) || (y != ec->y))
1138 { 1116 {
1139 e_border_move(bd, x, y); 1117 evas_object_move(ec->frame, x, y);
1140 if (e_config->focus_policy != E_FOCUS_CLICK) 1118 e_util_pointer_center(ec);
1141 ecore_x_pointer_warp(bd->zone->container->win,
1142 bd->x + (bd->w / 2), bd->y + (bd->h / 2));
1143 } 1119 }
1144 } 1120 }
1145} 1121}
1146 1122
1147/* 1123/*
1148 * These actions jump to a window with the given name. It uses the last focused 1124 * These actions jump to a window with the given name. It uses the last focused
1149 * window it finds (going through e_border_focus_stack_get), so the name should 1125 * window it finds (going through e_client_focus_stack_get), so the name should
1150 * be unique, if you want to jump to a specific window. 1126 * be unique, if you want to jump to a specific window.
1151 * 1127 *
1152 */ 1128 */
@@ -1155,37 +1131,31 @@ window_jump_to(const char *params)
1155{ 1131{
1156 Eina_List *l, *ll; 1132 Eina_List *l, *ll;
1157 E_Zone *current_zone; 1133 E_Zone *current_zone;
1158 E_Border *bd; 1134 E_Client *ec;
1159 1135
1160 if (!params) return 0; 1136 if (!params) return 0;
1161 1137
1162 /* Go through the list of all windows (that's what the focus stack is used for) */ 1138 /* Go through the list of all windows (that's what the focus stack is used for) */
1163 l = e_border_focus_stack_get(); 1139 l = e_client_focus_stack_get();
1164 /* If we can start at the second window, we start there in order to cycle. 1140 /* If we can start at the second window, we start there in order to cycle.
1165 * If not, there is only one window, so let's use it */ 1141 * If not, there is only one window, so let's use it */
1166 if (eina_list_next(l)) 1142 if (eina_list_next(l))
1167 l = l->next; 1143 l = l->next;
1168 EINA_LIST_FOREACH(l, ll, bd) 1144 EINA_LIST_FOREACH(l, ll, ec)
1169 { 1145 {
1170 if (!bd->client.icccm.name) continue; 1146 if (!ec->icccm.name) continue;
1171 if (strcmp(bd->client.icccm.name, params)) continue; 1147 if (strcmp(ec->icccm.name, params)) continue;
1172 /* Jump to the screen the window is on if it isn't on the current screen but 1148 /* Jump to the screen the window is on if it isn't on the current screen but
1173 * only if we don't have to warp the pointer anyway */ 1149 * only if we don't have to warp the pointer anyway */
1174 current_zone = e_util_zone_current_get(e_manager_current_get()); 1150 current_zone = e_util_zone_current_get(e_manager_current_get());
1175 if (current_zone != bd->zone && e_config->focus_policy == E_FOCUS_CLICK)
1176 ecore_x_pointer_warp(bd->zone->container->win,
1177 bd->zone->x + (bd->zone->w / 2),
1178 bd->zone->y + (bd->zone->h / 2));
1179 1151
1180 /* Change the virtual desktop if the window isn't on the current virtual desktop */ 1152 /* Change the virtual desktop if the window isn't on the current virtual desktop */
1181 e_desk_show(bd->desk); 1153 e_desk_show(ec->desk);
1182
1183 /* Warp the pointer */
1184 if (e_config->focus_policy != E_FOCUS_CLICK)
1185 e_border_pointer_warp_to_center(bd);
1186 1154
1187 e_border_raise(bd); 1155 evas_object_raise(ec->frame);
1188 e_border_focus_set(bd, 1, 1); 1156 if (ec->zone != current_zone)
1157 e_util_pointer_center(ec);
1158 evas_object_focus_set(ec->frame, 1);
1189 return 1; 1159 return 1;
1190 } 1160 }
1191 return 0; 1161 return 0;
@@ -1229,78 +1199,78 @@ ACT_FN_GO(window_jump_to_or_start, )
1229/***************************************************************************/ 1199/***************************************************************************/
1230ACT_FN_GO(window_drag_icon, __UNUSED__) 1200ACT_FN_GO(window_drag_icon, __UNUSED__)
1231{ 1201{
1232 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1202 if (!obj) obj = E_OBJECT(e_client_focused_get());
1233 if (!obj) return; 1203 if (!obj) return;
1234 if (obj->type != E_BORDER_TYPE) 1204 if (obj->type != E_CLIENT_TYPE)
1235 { 1205 {
1236 obj = E_OBJECT(e_border_focused_get()); 1206 obj = E_OBJECT(e_client_focused_get());
1237 if (!obj) return; 1207 if (!obj) return;
1238 } 1208 }
1239 { 1209 {
1240 E_Border *bd; 1210 E_Client *ec;
1241 1211
1242 bd = (E_Border *)obj; 1212 ec = (E_Client *)obj;
1243 bd->drag.start = 1; 1213 ec->drag.start = 1;
1244 bd->drag.x = -1; 1214 ec->drag.x = -1;
1245 bd->drag.y = -1; 1215 ec->drag.y = -1;
1246 } 1216 }
1247} 1217}
1248 1218
1249/***************************************************************************/ 1219/***************************************************************************/
1250ACT_FN_GO(window_desk_move_by, ) 1220ACT_FN_GO(window_desk_move_by, )
1251{ 1221{
1252 E_Border *bd; 1222 E_Client *ec;
1253 int x, y; 1223 int x, y;
1254 1224
1255 if (!params) return; 1225 if (!params) return;
1256 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1226 if (!obj) obj = E_OBJECT(e_client_focused_get());
1257 if (!obj) return; 1227 if (!obj) return;
1258 if (obj->type != E_BORDER_TYPE) 1228 if (obj->type != E_CLIENT_TYPE)
1259 { 1229 {
1260 obj = E_OBJECT(e_border_focused_get()); 1230 obj = E_OBJECT(e_client_focused_get());
1261 if (!obj) return; 1231 if (!obj) return;
1262 } 1232 }
1263 1233
1264 bd = (E_Border *)obj; 1234 ec = (E_Client *)obj;
1265 if ((!bd->zone) || (!bd->desk)) return; 1235 if ((!ec->zone) || (!ec->desk)) return;
1266 if (sscanf(params, "%d %d", &x, &y) == 2) 1236 if (sscanf(params, "%d %d", &x, &y) == 2)
1267 { 1237 {
1268 E_Desk *desk; 1238 E_Desk *desk;
1269 int dx, dy; 1239 int dx, dy;
1270 int to_x = 0, to_y = 0; 1240 int to_x = 0, to_y = 0;
1271 1241
1272 e_desk_xy_get(bd->desk, &dx, &dy); 1242 e_desk_xy_get(ec->desk, &dx, &dy);
1273 1243
1274 to_x = dx + x; 1244 to_x = dx + x;
1275 to_y = dy + y; 1245 to_y = dy + y;
1276 while (!(desk = e_desk_at_xy_get(bd->zone, to_x, to_y))) 1246 while (!(desk = e_desk_at_xy_get(ec->zone, to_x, to_y)))
1277 { 1247 {
1278 /* here we are out of our desktop range */ 1248 /* here we are out of our desktop range */
1279 while (to_x >= bd->zone->desk_x_count) 1249 while (to_x >= ec->zone->desk_x_count)
1280 { 1250 {
1281 to_x -= bd->zone->desk_x_count; 1251 to_x -= ec->zone->desk_x_count;
1282 to_y++; 1252 to_y++;
1283 } 1253 }
1284 while (to_x < 0) 1254 while (to_x < 0)
1285 { 1255 {
1286 to_x += bd->zone->desk_x_count; 1256 to_x += ec->zone->desk_x_count;
1287 to_y--; 1257 to_y--;
1288 } 1258 }
1289 1259
1290 while (to_y >= bd->zone->desk_y_count) 1260 while (to_y >= ec->zone->desk_y_count)
1291 to_y -= bd->zone->desk_y_count; 1261 to_y -= ec->zone->desk_y_count;
1292 while (to_y < 0) 1262 while (to_y < 0)
1293 to_y += bd->zone->desk_y_count; 1263 to_y += ec->zone->desk_y_count;
1294 } 1264 }
1295 1265
1296 if (desk) 1266 if (desk)
1297 { 1267 {
1298 /* send the border to the required desktop. */ 1268 /* send the border to the required desktop. */
1299 e_border_desk_set(bd, desk); 1269 e_client_desk_set(ec, desk);
1300 /* switch desktop. Quite useful from the interface point of view. */ 1270 /* switch desktop. Quite useful from the interface point of view. */
1301 e_zone_desk_flip_by(bd->zone, to_x - dx, to_y - dy); 1271 e_zone_desk_flip_by(ec->zone, to_x - dx, to_y - dy);
1302 if (!bd->lock_user_stacking) 1272 if (!ec->lock_user_stacking)
1303 e_border_raise(bd); 1273 evas_object_raise(ec->frame);
1304 } 1274 }
1305 } 1275 }
1306} 1276}
@@ -1308,7 +1278,7 @@ ACT_FN_GO(window_desk_move_by, )
1308/***************************************************************************/ 1278/***************************************************************************/
1309ACT_FN_GO(window_zone_move_by, ) 1279ACT_FN_GO(window_zone_move_by, )
1310{ 1280{
1311 E_Border *bd; 1281 E_Client *ec;
1312 E_Zone *zone; 1282 E_Zone *zone;
1313 E_Maximize max; 1283 E_Maximize max;
1314 int move; 1284 int move;
@@ -1317,63 +1287,63 @@ ACT_FN_GO(window_zone_move_by, )
1317 Eina_Bool fullscreen; 1287 Eina_Bool fullscreen;
1318 1288
1319 if (!params) return; 1289 if (!params) return;
1320 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1290 if (!obj) obj = E_OBJECT(e_client_focused_get());
1321 if (!obj) return; 1291 if (!obj) return;
1322 if (obj->type != E_BORDER_TYPE) 1292 if (obj->type != E_CLIENT_TYPE)
1323 { 1293 {
1324 obj = E_OBJECT(e_border_focused_get()); 1294 obj = E_OBJECT(e_client_focused_get());
1325 if (!obj) return; 1295 if (!obj) return;
1326 } 1296 }
1327 1297
1328 bd = (E_Border *)obj; 1298 ec = (E_Client *)obj;
1329 /* bad */ 1299 /* bad */
1330 if (!bd->zone) return; 1300 if (!ec->zone) return;
1331 /* only one screen */ 1301 /* only one screen */
1332 if (eina_list_count(bd->zone->container->zones) < 2) return; 1302 if (eina_list_count(ec->zone->comp->zones) < 2) return;
1333 errno = 0; 1303 errno = 0;
1334 move = strtol(params, &end, 10); 1304 move = strtol(params, &end, 10);
1335 if ((!end) || end[0] || errno) return; 1305 if ((!end) || end[0] || errno) return;
1336 move += bd->zone->num; 1306 move += ec->zone->num;
1337 if (move < 0) 1307 if (move < 0)
1338 move = eina_list_count(bd->zone->container->zones) - 1; 1308 move = eina_list_count(ec->zone->comp->zones) - 1;
1339 else if ((unsigned int)move >= eina_list_count(bd->zone->container->zones)) 1309 else if ((unsigned int)move >= eina_list_count(ec->zone->comp->zones))
1340 move = 0; 1310 move = 0;
1341 zone = eina_list_nth(bd->zone->container->zones, move); 1311 zone = eina_list_nth(ec->zone->comp->zones, move);
1342 if ((!zone) || (zone->num != (unsigned int)move)) return; 1312 if ((!zone) || (zone->num != (unsigned int)move)) return;
1343 max = bd->maximized; 1313 max = ec->maximized;
1344 fs = bd->fullscreen_policy; 1314 fs = ec->fullscreen_policy;
1345 fullscreen = bd->fullscreen; 1315 fullscreen = ec->fullscreen;
1346 if (bd->maximized) e_border_unmaximize(bd, E_MAXIMIZE_BOTH); 1316 if (ec->maximized) e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
1347 if (fullscreen) e_border_unfullscreen(bd); 1317 if (fullscreen) e_client_unfullscreen(ec);
1348 e_border_zone_set(bd, zone); 1318 e_client_zone_set(ec, zone);
1349 if (max) e_border_maximize(bd, max); 1319 if (max) e_client_maximize(ec, max);
1350 if (fullscreen) e_border_fullscreen(bd, fs); 1320 if (fullscreen) e_client_fullscreen(ec, fs);
1351 e_border_focus_set(bd, 1, 1); 1321 evas_object_focus_set(ec->frame, 1);
1352} 1322}
1353 1323
1354/***************************************************************************/ 1324/***************************************************************************/
1355ACT_FN_GO(window_desk_move_to, ) 1325ACT_FN_GO(window_desk_move_to, )
1356{ 1326{
1357 E_Border *bd; 1327 E_Client *ec;
1358 int x, y; 1328 int x, y;
1359 1329
1360 if (!params) return; 1330 if (!params) return;
1361 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1331 if (!obj) obj = E_OBJECT(e_client_focused_get());
1362 if (!obj) return; 1332 if (!obj) return;
1363 if (obj->type != E_BORDER_TYPE) 1333 if (obj->type != E_CLIENT_TYPE)
1364 { 1334 {
1365 obj = E_OBJECT(e_border_focused_get()); 1335 obj = E_OBJECT(e_client_focused_get());
1366 if (!obj) return; 1336 if (!obj) return;
1367 } 1337 }
1368 1338
1369 bd = (E_Border *)obj; 1339 ec = (E_Client *)obj;
1370 if ((!bd->zone) || (!bd->desk)) return; 1340 if ((!ec->zone) || (!ec->desk)) return;
1371 if (sscanf(params, "%d %d", &x, &y) == 2) 1341 if (sscanf(params, "%d %d", &x, &y) == 2)
1372 { 1342 {
1373 E_Desk *desk; 1343 E_Desk *desk;
1374 1344
1375 desk = e_desk_at_xy_get(bd->zone, x, y); 1345 desk = e_desk_at_xy_get(ec->zone, x, y);
1376 if (desk) e_border_desk_set(bd, desk); 1346 if (desk) e_client_desk_set(ec, desk);
1377 } 1347 }
1378} 1348}
1379 1349
@@ -1383,19 +1353,18 @@ _e_actions_zone_get(E_Object *obj)
1383{ 1353{
1384 if (obj) 1354 if (obj)
1385 { 1355 {
1386 if (obj->type == (int)E_MANAGER_TYPE) return e_util_zone_current_get((E_Manager *)obj); 1356 if (obj->type == (int)E_MANAGER_TYPE)
1387 else if (obj->type == (int)E_CONTAINER_TYPE) 1357 return e_util_zone_current_get((E_Manager *)obj);
1388 return e_util_zone_current_get(((E_Container *)obj)->manager); 1358 else if (obj->type == (int)E_COMP_TYPE)
1359 return e_zone_current_get((E_Comp *)obj);
1389 else if (obj->type == (int)E_ZONE_TYPE) 1360 else if (obj->type == (int)E_ZONE_TYPE)
1390 return (E_Zone *)obj; 1361 return (E_Zone *)obj;
1391 else if (obj->type == (int)E_BORDER_TYPE) 1362 else if (obj->type == (int)E_CLIENT_TYPE)
1392 return ((E_Border *)obj)->zone; 1363 return ((E_Client *)obj)->zone;
1393 else if (obj->type == (int)E_SHELF_TYPE) 1364 else if (obj->type == (int)E_SHELF_TYPE)
1394 return ((E_Shelf *)obj)->zone; 1365 return ((E_Shelf *)obj)->zone;
1395 else if (obj->type == (int)E_POPUP_TYPE)
1396 return ((E_Popup *)obj)->zone;
1397 else if (obj->type == (int)E_WIN_TYPE) 1366 else if (obj->type == (int)E_WIN_TYPE)
1398 return ((E_Win *)obj)->border->zone; 1367 return ((E_Win *)obj)->client->zone;
1399 } 1368 }
1400 return e_util_zone_current_get(e_manager_current_get()); 1369 return e_util_zone_current_get(e_manager_current_get());
1401} 1370}
@@ -1467,7 +1436,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1467 if (!zone) return; 1436 if (!zone) return;
1468 wev = E_NEW(E_Event_Pointer_Warp, 1); 1437 wev = E_NEW(E_Event_Pointer_Warp, 1);
1469 if (!wev) return; 1438 if (!wev) return;
1470 ecore_x_pointer_xy_get(zone->container->win, &x, &y); 1439 ecore_evas_pointer_xy_get(zone->comp->ee, &x, &y);
1471 wev->prev.x = x; 1440 wev->prev.x = x;
1472 wev->prev.y = y; 1441 wev->prev.y = y;
1473 if (params) 1442 if (params)
@@ -1481,7 +1450,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1481 if (ACT_FLIP_LEFT(zone)) 1450 if (ACT_FLIP_LEFT(zone))
1482 { 1451 {
1483 e_zone_desk_flip_by(zone, -1, 0); 1452 e_zone_desk_flip_by(zone, -1, 0);
1484 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + zone->w - offset, y); 1453 ecore_evas_pointer_warp(zone->comp->ee, zone->x + zone->w - offset, y);
1485 wev->curr.y = y; 1454 wev->curr.y = y;
1486 wev->curr.x = zone->w - offset; 1455 wev->curr.x = zone->w - offset;
1487 } 1456 }
@@ -1491,7 +1460,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1491 if (ACT_FLIP_RIGHT(zone)) 1460 if (ACT_FLIP_RIGHT(zone))
1492 { 1461 {
1493 e_zone_desk_flip_by(zone, 1, 0); 1462 e_zone_desk_flip_by(zone, 1, 0);
1494 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + offset, y); 1463 ecore_evas_pointer_warp(zone->comp->ee, zone->x + offset, y);
1495 wev->curr.y = y; 1464 wev->curr.y = y;
1496 wev->curr.x = offset; 1465 wev->curr.x = offset;
1497 } 1466 }
@@ -1501,7 +1470,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1501 if (ACT_FLIP_UP(zone)) 1470 if (ACT_FLIP_UP(zone))
1502 { 1471 {
1503 e_zone_desk_flip_by(zone, 0, -1); 1472 e_zone_desk_flip_by(zone, 0, -1);
1504 ecore_x_pointer_warp(zone->container->win, x, zone->container->y + zone->y + zone->h - offset); 1473 ecore_evas_pointer_warp(zone->comp->ee, x, zone->y + zone->h - offset);
1505 wev->curr.x = x; 1474 wev->curr.x = x;
1506 wev->curr.y = zone->h - offset; 1475 wev->curr.y = zone->h - offset;
1507 } 1476 }
@@ -1511,7 +1480,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1511 if (ACT_FLIP_DOWN(zone)) 1480 if (ACT_FLIP_DOWN(zone))
1512 { 1481 {
1513 e_zone_desk_flip_by(zone, 0, 1); 1482 e_zone_desk_flip_by(zone, 0, 1);
1514 ecore_x_pointer_warp(zone->container->win, x, zone->container->y + zone->y + offset); 1483 ecore_evas_pointer_warp(zone->comp->ee, x, zone->y + offset);
1515 wev->curr.x = x; 1484 wev->curr.x = x;
1516 wev->curr.y = offset; 1485 wev->curr.y = offset;
1517 } 1486 }
@@ -1521,7 +1490,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1521 if (ACT_FLIP_UP_LEFT(zone)) 1490 if (ACT_FLIP_UP_LEFT(zone))
1522 { 1491 {
1523 e_zone_desk_flip_by(zone, -1, -1); 1492 e_zone_desk_flip_by(zone, -1, -1);
1524 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + zone->w - offset, zone->container->y + zone->y + zone->h - offset); 1493 ecore_evas_pointer_warp(zone->comp->ee, zone->x + zone->w - offset, zone->y + zone->h - offset);
1525 wev->curr.x = zone->w - offset; 1494 wev->curr.x = zone->w - offset;
1526 wev->curr.y = zone->h - offset; 1495 wev->curr.y = zone->h - offset;
1527 } 1496 }
@@ -1531,7 +1500,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1531 if (ACT_FLIP_UP_RIGHT(zone)) 1500 if (ACT_FLIP_UP_RIGHT(zone))
1532 { 1501 {
1533 e_zone_desk_flip_by(zone, 1, -1); 1502 e_zone_desk_flip_by(zone, 1, -1);
1534 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + offset, zone->container->y + zone->y + zone->h - offset); 1503 ecore_evas_pointer_warp(zone->comp->ee, zone->x + offset, zone->y + zone->h - offset);
1535 wev->curr.x = offset; 1504 wev->curr.x = offset;
1536 wev->curr.y = zone->h - offset; 1505 wev->curr.y = zone->h - offset;
1537 } 1506 }
@@ -1541,7 +1510,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1541 if (ACT_FLIP_DOWN_LEFT(zone)) 1510 if (ACT_FLIP_DOWN_LEFT(zone))
1542 { 1511 {
1543 e_zone_desk_flip_by(zone, -1, 1); 1512 e_zone_desk_flip_by(zone, -1, 1);
1544 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + zone->w - offset, zone->container->y + zone->y + offset); 1513 ecore_evas_pointer_warp(zone->comp->ee, zone->x + zone->w - offset, zone->y + offset);
1545 wev->curr.y = offset; 1514 wev->curr.y = offset;
1546 wev->curr.x = zone->w - offset; 1515 wev->curr.x = zone->w - offset;
1547 } 1516 }
@@ -1551,7 +1520,7 @@ ACT_FN_GO_EDGE(desk_flip_in_direction, )
1551 if (ACT_FLIP_DOWN_RIGHT(zone)) 1520 if (ACT_FLIP_DOWN_RIGHT(zone))
1552 { 1521 {
1553 e_zone_desk_flip_by(zone, 1, 1); 1522 e_zone_desk_flip_by(zone, 1, 1);
1554 ecore_x_pointer_warp(zone->container->win, zone->container->x + zone->x + offset, zone->container->y + zone->y + offset); 1523 ecore_evas_pointer_warp(zone->comp->ee, zone->x + offset, zone->y + offset);
1555 wev->curr.y = offset; 1524 wev->curr.y = offset;
1556 wev->curr.x = offset; 1525 wev->curr.x = offset;
1557 } 1526 }
@@ -1606,17 +1575,14 @@ ACT_FN_GO(desk_linear_flip_to, )
1606 1575
1607#define DESK_ACTION_ALL(zone, act) \ 1576#define DESK_ACTION_ALL(zone, act) \
1608 E_Zone * zone; \ 1577 E_Zone * zone; \
1609 Eina_List *lm, *lc, *lz; \ 1578 const Eina_List *lc, *lz; \
1610 E_Container *con; \ 1579 E_Comp *c; \
1611 E_Manager *man; \
1612 \ 1580 \
1613 EINA_LIST_FOREACH(e_manager_list(), lm, man) { \ 1581 EINA_LIST_FOREACH(e_comp_list(), lc, c) { \
1614 EINA_LIST_FOREACH(man->containers, lc, con) { \ 1582 EINA_LIST_FOREACH(c->zones, lz, zone) { \
1615 EINA_LIST_FOREACH(con->zones, lz, zone) { \ 1583 act; \
1616 act; \
1617 } \ 1584 } \
1618 } \ 1585 }
1619 }
1620 1586
1621/***************************************************************************/ 1587/***************************************************************************/
1622ACT_FN_GO(desk_flip_by_all, ) 1588ACT_FN_GO(desk_flip_by_all, )
@@ -1694,23 +1660,21 @@ ACT_FN_GO(screen_send_to, )
1694 if (scr != -1) 1660 if (scr != -1)
1695 scr = scr % eina_list_count(e_manager_list()); 1661 scr = scr % eina_list_count(e_manager_list());
1696 if (scr < 0) scr += eina_list_count(e_manager_list()); 1662 if (scr < 0) scr += eina_list_count(e_manager_list());
1697 zone2 = e_util_container_zone_number_get(scr, 0); 1663 zone2 = e_util_comp_zone_number_get(scr, 0);
1698 } 1664 }
1699 else 1665 else
1700 { 1666 {
1701 if (scr != -1) 1667 if (scr != -1)
1702 scr = scr % eina_list_count(zone->container->zones); 1668 scr = scr % eina_list_count(zone->comp->zones);
1703 if (scr < 0) scr += eina_list_count(zone->container->zones); 1669 if (scr < 0) scr += eina_list_count(zone->comp->zones);
1704 zone2 = e_util_container_zone_number_get(0, scr); 1670 zone2 = e_util_comp_zone_number_get(0, scr);
1705 } 1671 }
1706 if ((zone2) && (zone != zone2)) 1672 if ((zone2) && (zone != zone2))
1707 { 1673 {
1708 e_grabinput_get(zone2->container->win, 0, zone2->container->win); 1674 ecore_evas_pointer_warp(zone2->comp->ee,
1709 ecore_x_pointer_warp(zone2->container->win, 1675 zone2->x + (zone2->w / 2),
1710 zone2->x + (zone2->w / 2), 1676 zone2->y + (zone2->h / 2));
1711 zone2->y + (zone2->h / 2));
1712 e_desk_last_focused_focus(e_desk_current_get(zone2)); 1677 e_desk_last_focused_focus(e_desk_current_get(zone2));
1713 e_grabinput_release(zone2->container->win, zone2->container->win);
1714 } 1678 }
1715} 1679}
1716 1680
@@ -1729,57 +1693,52 @@ ACT_FN_GO(screen_send_by, )
1729 if (errno) return; 1693 if (errno) return;
1730 if (eina_list_count(e_manager_list()) > 1) 1694 if (eina_list_count(e_manager_list()) > 1)
1731 { 1695 {
1732 scr += zone->container->num; 1696 scr += zone->comp->num;
1733 if (scr != -1) 1697 if (scr != -1)
1734 scr = scr % eina_list_count(e_manager_list()); 1698 scr = scr % eina_list_count(e_manager_list());
1735 if (scr < 0) scr += eina_list_count(e_manager_list()); 1699 if (scr < 0) scr += eina_list_count(e_manager_list());
1736 zone2 = e_util_container_zone_number_get(scr, 0); 1700 zone2 = e_util_comp_zone_number_get(scr, 0);
1737 } 1701 }
1738 else 1702 else
1739 { 1703 {
1740 scr += zone->num; 1704 scr += zone->num;
1741 if (scr != -1) 1705 if (scr != -1)
1742 scr = scr % eina_list_count(zone->container->zones); 1706 scr = scr % eina_list_count(zone->comp->zones);
1743 if (scr < 0) scr += eina_list_count(zone->container->zones); 1707 if (scr < 0) scr += eina_list_count(zone->comp->zones);
1744 zone2 = e_util_container_zone_number_get(0, scr); 1708 zone2 = e_util_comp_zone_number_get(0, scr);
1745 } 1709 }
1746 if ((zone2) && (zone != zone2)) 1710 if ((zone2) && (zone != zone2))
1747 { 1711 {
1748 e_grabinput_get(zone2->container->win, 0, zone2->container->win); 1712 ecore_evas_pointer_warp(zone2->comp->ee,
1749 ecore_x_pointer_warp(zone2->container->win,
1750 zone2->x + (zone2->w / 2), 1713 zone2->x + (zone2->w / 2),
1751 zone2->y + (zone2->h / 2)); 1714 zone2->y + (zone2->h / 2));
1752 e_desk_last_focused_focus(e_desk_current_get(zone2)); 1715 e_desk_last_focused_focus(e_desk_current_get(zone2));
1753 e_grabinput_release(zone2->container->win, zone2->container->win);
1754 } 1716 }
1755} 1717}
1756 1718
1757#define ZONE_DESK_ACTION(con_num, zone_num, zone, act) \ 1719#define ZONE_DESK_ACTION(con_num, zone_num, zone, act) \
1758 E_Zone * zone; \ 1720 E_Zone * zone; \
1759 if ((con_num < 0) || (zone_num < 0)) { \ 1721 if ((con_num < 0) || (zone_num < 0)) { \
1760 Eina_List *l, *ll, *lll; \ 1722 Eina_List *l, *ll; \
1761 E_Container *con; \ 1723 E_Comp *c; \
1762 E_Manager *man; \
1763 if ((con_num >= 0) && (zone_num < 0)) /* con=1 zone=all */ { \ 1724 if ((con_num >= 0) && (zone_num < 0)) /* con=1 zone=all */ { \
1764 con = e_util_container_number_get(con_num); \ 1725 c = e_util_comp_number_get(con_num); \
1765 EINA_LIST_FOREACH(con->zones, l, zone) { \ 1726 EINA_LIST_FOREACH(c->zones, l, zone) { \
1766 act; \ 1727 act; \
1767 } } \ 1728 } } \
1768 else if ((con_num < 0) && (zone_num >= 0)) /* con=all zone=1 */ { \ 1729 else if ((con_num < 0) && (zone_num >= 0)) /* c=all zone=1 */ { \
1769 EINA_LIST_FOREACH(e_manager_list(), l, man) { \ 1730 EINA_LIST_FOREACH(e_comp_list(), l, c) { \
1770 EINA_LIST_FOREACH(man->containers, ll, con) { \ 1731 zone = e_comp_zone_number_get(c, zone_num); \
1771 zone = e_container_zone_number_get(con, zone_num); \ 1732 if (zone) \
1772 if (zone) \ 1733 act; \
1773 act; \ 1734 } } \
1774 } } } \ 1735 else if ((con_num < 0) && (zone_num < 0)) /* c=all zone=all */ { \
1775 else if ((con_num < 0) && (zone_num < 0)) /* con=all zone=all */ { \ 1736 EINA_LIST_FOREACH(e_comp_list(), l, c) { \
1776 EINA_LIST_FOREACH(e_manager_list(), l, man) { \ 1737 EINA_LIST_FOREACH(c->zones, lll, zone) { \
1777 EINA_LIST_FOREACH(man->containers, ll, con) { \ 1738 act; \
1778 EINA_LIST_FOREACH(con->zones, lll, zone) { \ 1739 } } } } } \
1779 act; \
1780 } } } } } \
1781 else { \ 1740 else { \
1782 zone = e_util_container_zone_number_get(con_num, zone_num); \ 1741 zone = e_util_comp_zone_number_get(con_num, zone_num); \
1783 if (zone) act; \ 1742 if (zone) act; \
1784 } 1743 }
1785 1744
@@ -1890,9 +1849,9 @@ ACT_FN_GO(menu_show, )
1890 { 1849 {
1891 int x, y; 1850 int x, y;
1892 1851
1893 /* FIXME: this is a bit of a hack... setting m->con - bad hack */ 1852 /* FIXME: this is a bit of a hack... setting m->c - bad hack */
1894 m->zone = zone; 1853 m->zone = zone;
1895 ecore_x_pointer_xy_get(zone->container->win, &x, &y); 1854 ecore_evas_pointer_xy_get(zone->comp->ee, &x, &y);
1896 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL); 1855 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
1897 e_menu_activate_mouse(m, zone, x, y, 1, 1, 1856 e_menu_activate_mouse(m, zone, x, y, 1, 1,
1898 E_MENU_POP_DIRECTION_DOWN, 1857 E_MENU_POP_DIRECTION_DOWN,
@@ -1920,12 +1879,12 @@ ACT_FN_GO_MOUSE(menu_show, )
1920 { 1879 {
1921 int x, y; 1880 int x, y;
1922 1881
1923 /* FIXME: this is a bit of a hack... setting m->con - bad hack */ 1882 /* FIXME: this is a bit of a hack... setting m->c - bad hack */
1924 m->zone = zone; 1883 m->zone = zone;
1925 x = ev->canvas.x; 1884 x = ev->canvas.x;
1926 y = ev->canvas.y; 1885 y = ev->canvas.y;
1927 x -= zone->container->x; 1886 x -= zone->comp->man->x;
1928 y -= zone->container->y; 1887 y -= zone->comp->man->y;
1929 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL); 1888 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
1930 e_menu_activate_mouse(m, zone, x, y, 1, 1, 1889 e_menu_activate_mouse(m, zone, x, y, 1, 1,
1931 E_MENU_POP_DIRECTION_DOWN, ev->timestamp); 1890 E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
@@ -1954,7 +1913,7 @@ ACT_FN_GO_KEY(menu_show, , __UNUSED__)
1954 1913
1955 /* FIXME: this is a bit of a hack... setting m->con - bad hack */ 1914 /* FIXME: this is a bit of a hack... setting m->con - bad hack */
1956 m->zone = zone; 1915 m->zone = zone;
1957 ecore_x_pointer_xy_get(zone->container->win, &x, &y); 1916 ecore_evas_pointer_xy_get(zone->comp->ee, &x, &y);
1958 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL); 1917 e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
1959 e_menu_activate_key(m, zone, x, y, 1, 1, 1918 e_menu_activate_key(m, zone, x, y, 1, 1,
1960 E_MENU_POP_DIRECTION_DOWN); 1919 E_MENU_POP_DIRECTION_DOWN);
@@ -2030,24 +1989,24 @@ ACT_FN_GO(app, )
2030/***************************************************************************/ 1989/***************************************************************************/
2031ACT_FN_GO(app_new_instance, __UNUSED__) 1990ACT_FN_GO(app_new_instance, __UNUSED__)
2032{ 1991{
2033 E_Border *bd; 1992 E_Client *ec;
2034 E_Zone *zone; 1993 E_Zone *zone;
2035 1994
2036 zone = _e_actions_zone_get(obj); 1995 zone = _e_actions_zone_get(obj);
2037 if (!zone) 1996 if (!zone)
2038 zone = e_util_zone_current_get(e_manager_current_get()); 1997 zone = e_util_zone_current_get(e_manager_current_get());
2039 1998
2040 if (!obj) obj = E_OBJECT(e_border_focused_get()); 1999 if (!obj) obj = E_OBJECT(e_client_focused_get());
2041 if ((!obj) || (!zone)) return; 2000 if ((!obj) || (!zone)) return;
2042 if (obj->type != E_BORDER_TYPE) 2001 if (obj->type != E_CLIENT_TYPE)
2043 { 2002 {
2044 obj = E_OBJECT(e_border_focused_get()); 2003 obj = E_OBJECT(e_client_focused_get());
2045 if (!obj) return; 2004 if (!obj) return;
2046 } 2005 }
2047 bd = (E_Border *)obj; 2006 ec = (E_Client *)obj;
2048 2007
2049 if (bd->desktop) 2008 if (ec->desktop)
2050 e_exec(zone, bd->desktop, NULL, NULL, "action/app"); 2009 e_exec(zone, ec->desktop, NULL, NULL, "action/app");
2051} 2010}
2052 2011
2053/***************************************************************************/ 2012/***************************************************************************/
@@ -2477,15 +2436,15 @@ ACT_FN_GO(hibernate, )
2477ACT_FN_GO(pointer_resize_push, ) 2436ACT_FN_GO(pointer_resize_push, )
2478{ 2437{
2479 if (!obj) return; 2438 if (!obj) return;
2480 if (obj->type == E_BORDER_TYPE) 2439 if (obj->type == E_CLIENT_TYPE)
2481 { 2440 {
2482 E_Border *bd; 2441 E_Client *ec;
2483 2442
2484 bd = (E_Border *)obj; 2443 ec = (E_Client *)obj;
2485 if ((bd->lock_user_size) || (bd->shaded) || (bd->shading) || 2444 if ((ec->lock_user_size) || (ec->shaded) || (ec->shading) ||
2486 (bd->fullscreen) || ((bd->maximized) && (!e_config->allow_manip))) 2445 (ec->fullscreen) || ((ec->maximized) && (!e_config->allow_manip)))
2487 return; 2446 return;
2488 e_pointer_type_push(e_comp_get(bd)->pointer, bd, params); 2447 e_pointer_type_push(e_comp_get(ec)->pointer, ec, params);
2489 } 2448 }
2490} 2449}
2491 2450
@@ -2493,15 +2452,15 @@ ACT_FN_GO(pointer_resize_push, )
2493ACT_FN_GO(pointer_resize_pop, ) 2452ACT_FN_GO(pointer_resize_pop, )
2494{ 2453{
2495 if (!obj) return; 2454 if (!obj) return;
2496 if (obj->type == E_BORDER_TYPE) 2455 if (obj->type == E_CLIENT_TYPE)
2497 { 2456 {
2498 E_Border *bd; 2457 E_Client *ec;
2499 2458
2500 bd = (E_Border *)obj; 2459 ec = (E_Client *)obj;
2501 if ((bd->lock_user_size) || (bd->shaded) || (bd->shading) || 2460 if ((ec->lock_user_size) || (ec->shaded) || (ec->shading) ||
2502 (bd->fullscreen) || ((bd->maximized) && (!e_config->allow_manip))) 2461 (ec->fullscreen) || ((ec->maximized) && (!e_config->allow_manip)))
2503 return; 2462 return;
2504 e_pointer_type_pop(e_comp_get(bd)->pointer, bd, params); 2463 e_pointer_type_pop(e_comp_get(ec)->pointer, ec, params);
2505 } 2464 }
2506} 2465}
2507 2466
diff --git a/src/bin/e_alert_main.c b/src/bin/e_alert_main.c
index 2ba2fad..61cb20c 100644
--- a/src/bin/e_alert_main.c
+++ b/src/bin/e_alert_main.c
@@ -88,7 +88,7 @@ main(int argc, char **argv)
88 88
89 fprintf(stderr, "exit_gdb: %i\n", exit_gdb); 89 fprintf(stderr, "exit_gdb: %i\n", exit_gdb);
90 90
91 tmp = getenv("E18_TAINTED"); 91 tmp = getenv("E19_TAINTED");
92 if (tmp && !strcmp(tmp, "NO")) 92 if (tmp && !strcmp(tmp, "NO"))
93 tainted = EINA_FALSE; 93 tainted = EINA_FALSE;
94 94
@@ -554,7 +554,7 @@ _e_alert_draw_text(void)
554 "on. We were not able to generate a backtrace, check \n" 554 "on. We were not able to generate a backtrace, check \n"
555 "if your 'sysactions.conf' has an 'gdb' action line.\n" 555 "if your 'sysactions.conf' has an 'gdb' action line.\n"
556 "\n" 556 "\n"
557 "Please compile latest Git E18 and EFL with\n" 557 "Please compile latest Git E19 and EFL with\n"
558 "-g and -ggdb3 in your CFLAGS.\n"); 558 "-g and -ggdb3 in your CFLAGS.\n");
559 } 559 }
560 else if (backtrace_str) 560 else if (backtrace_str)
@@ -562,9 +562,9 @@ _e_alert_draw_text(void)
562 snprintf(msg, sizeof(msg), 562 snprintf(msg, sizeof(msg),
563 "This is not meant to happen and is likely a sign of \n" 563 "This is not meant to happen and is likely a sign of \n"
564 "a bug in Enlightenment or the libraries it relies \n" 564 "a bug in Enlightenment or the libraries it relies \n"
565 "on. You will find an backtrace of E18 (%d) in :\n" 565 "on. You will find an backtrace of E19 (%d) in :\n"
566 "'%s'\n" 566 "'%s'\n"
567 "Before reporting issue, compile latest E18 and EFL\n" 567 "Before reporting issue, compile latest E19 and EFL\n"
568 "from Git with '-g -ggdb3' in your CFLAGS.\n" 568 "from Git with '-g -ggdb3' in your CFLAGS.\n"
569 "You can then report this crash on :\n" 569 "You can then report this crash on :\n"
570 "https://phab.enlightenment.org/maniphest/.\n", 570 "https://phab.enlightenment.org/maniphest/.\n",
@@ -580,7 +580,7 @@ _e_alert_draw_text(void)
580 "recover to try and get your desktop back the way \n" 580 "recover to try and get your desktop back the way \n"
581 "it was.\n" 581 "it was.\n"
582 "\n" 582 "\n"
583 "Please compile latest Git E18 and EFL with\n" 583 "Please compile latest Git E19 and EFL with\n"
584 "-g and -ggdb3 in your CFLAGS.\n", pid); 584 "-g and -ggdb3 in your CFLAGS.\n", pid);
585 } 585 }
586 } 586 }
@@ -592,7 +592,7 @@ _e_alert_draw_text(void)
592 "modules; before reporting this issue, please\n" 592 "modules; before reporting this issue, please\n"
593 "unload them and try to see if the bug is still\n" 593 "unload them and try to see if the bug is still\n"
594 "there. Also update to latest Git and be sure to\n" 594 "there. Also update to latest Git and be sure to\n"
595 "compile E18 and EFL with -g and -ggdb3 in your CFLAGS"); 595 "compile E19 and EFL with -g and -ggdb3 in your CFLAGS");
596 } 596 }
597 597
598 strcpy(warn, ""); 598 strcpy(warn, "");
diff --git a/src/bin/e_atoms.c b/src/bin/e_atoms.c
index 889921d..436a772 100644
--- a/src/bin/e_atoms.c
+++ b/src/bin/e_atoms.c
@@ -2,7 +2,6 @@
2 2
3/* Atoms */ 3/* Atoms */
4EAPI Ecore_X_Atom E_ATOM_MANAGED = 0; 4EAPI Ecore_X_Atom E_ATOM_MANAGED = 0;
5EAPI Ecore_X_Atom E_ATOM_CONTAINER = 0;
6EAPI Ecore_X_Atom E_ATOM_ZONE = 0; 5EAPI Ecore_X_Atom E_ATOM_ZONE = 0;
7EAPI Ecore_X_Atom E_ATOM_DESK = 0; 6EAPI Ecore_X_Atom E_ATOM_DESK = 0;
8EAPI Ecore_X_Atom E_ATOM_MAPPED = 0; 7EAPI Ecore_X_Atom E_ATOM_MAPPED = 0;
@@ -20,7 +19,6 @@ e_atoms_init(void)
20{ 19{
21 const char *atom_names[] = { 20 const char *atom_names[] = {
22 "__E_WINDOW_MANAGED", 21 "__E_WINDOW_MANAGED",
23 "__E_WINDOW_CONTAINER",
24 "__E_WINDOW_ZONE", 22 "__E_WINDOW_ZONE",
25 "__E_WINDOW_DESK", 23 "__E_WINDOW_DESK",
26 "__E_WINDOW_MAPPED", 24 "__E_WINDOW_MAPPED",
@@ -32,21 +30,20 @@ e_atoms_init(void)
32 "__E_ATOM_DESKTOP_FILE", 30 "__E_ATOM_DESKTOP_FILE",
33 "E_ZONE_GEOMETRY" 31 "E_ZONE_GEOMETRY"
34 }; 32 };
35 Ecore_X_Atom atoms[12]; 33 Ecore_X_Atom atoms[11];
36 34
37 ecore_x_atoms_get(atom_names, 12, atoms); 35 ecore_x_atoms_get(atom_names, 11, atoms);
38 E_ATOM_MANAGED = atoms[0]; 36 E_ATOM_MANAGED = atoms[0];
39 E_ATOM_CONTAINER = atoms[1]; 37 E_ATOM_ZONE = atoms[1];
40 E_ATOM_ZONE = atoms[2]; 38 E_ATOM_DESK = atoms[2];
41 E_ATOM_DESK = atoms[3]; 39 E_ATOM_MAPPED = atoms[3];
42 E_ATOM_MAPPED = atoms[4]; 40 E_ATOM_SHADE_DIRECTION = atoms[4];
43 E_ATOM_SHADE_DIRECTION = atoms[5]; 41 E_ATOM_HIDDEN = atoms[5];
44 E_ATOM_HIDDEN = atoms[6]; 42 E_ATOM_BORDER_SIZE = atoms[6];
45 E_ATOM_BORDER_SIZE = atoms[7]; 43 E_ATOM_WINDOW_STATE = atoms[7];
46 E_ATOM_WINDOW_STATE = atoms[8]; 44 E_ATOM_WINDOW_STATE_CENTERED = atoms[8];
47 E_ATOM_WINDOW_STATE_CENTERED = atoms[9]; 45 E_ATOM_DESKTOP_FILE = atoms[9];
48 E_ATOM_DESKTOP_FILE = atoms[10]; 46 E_ATOM_ZONE_GEOMETRY = atoms[10];
49 E_ATOM_ZONE_GEOMETRY = atoms[11];
50 return 1; 47 return 1;
51} 48}
52 49
diff --git a/src/bin/e_atoms.h b/src/bin/e_atoms.h
index 831fa38..d01b364 100644
--- a/src/bin/e_atoms.h
+++ b/src/bin/e_atoms.h
@@ -7,7 +7,6 @@
7extern EAPI Ecore_X_Atom E_ATOM_MANAGED; 7extern EAPI Ecore_X_Atom E_ATOM_MANAGED;
8 8
9/* basic window properties */ 9/* basic window properties */
10extern EAPI Ecore_X_Atom E_ATOM_CONTAINER;
11extern EAPI Ecore_X_Atom E_ATOM_ZONE; 10extern EAPI Ecore_X_Atom E_ATOM_ZONE;
12extern EAPI Ecore_X_Atom E_ATOM_DESK; 11extern EAPI Ecore_X_Atom E_ATOM_DESK;
13extern EAPI Ecore_X_Atom E_ATOM_MAPPED; 12extern EAPI Ecore_X_Atom E_ATOM_MAPPED;
diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
index ca2b7d9..683a340 100644
--- a/src/bin/e_backlight.c
+++ b/src/bin/e_backlight.c
@@ -62,22 +62,22 @@ e_backlight_init(void)
62 (E_EVENT_CONFIG_MODE_CHANGED, _e_backlight_handler, NULL); 62 (E_EVENT_CONFIG_MODE_CHANGED, _e_backlight_handler, NULL);
63 63
64 _e_backlight_handler_border_fullscreen = ecore_event_handler_add 64 _e_backlight_handler_border_fullscreen = ecore_event_handler_add
65 (E_EVENT_BORDER_FULLSCREEN, _e_backlight_handler, NULL); 65 (E_EVENT_CLIENT_FULLSCREEN, _e_backlight_handler, NULL);
66 66
67 _e_backlight_handler_border_unfullscreen = ecore_event_handler_add 67 _e_backlight_handler_border_unfullscreen = ecore_event_handler_add
68 (E_EVENT_BORDER_UNFULLSCREEN, _e_backlight_handler, NULL); 68 (E_EVENT_CLIENT_UNFULLSCREEN, _e_backlight_handler, NULL);
69 69
70 _e_backlight_handler_border_remove = ecore_event_handler_add 70 _e_backlight_handler_border_remove = ecore_event_handler_add
71 (E_EVENT_BORDER_REMOVE, _e_backlight_handler, NULL); 71 (E_EVENT_CLIENT_REMOVE, _e_backlight_handler, NULL);
72 72
73 _e_backlight_handler_border_iconify = ecore_event_handler_add 73 _e_backlight_handler_border_iconify = ecore_event_handler_add
74 (E_EVENT_BORDER_ICONIFY, _e_backlight_handler, NULL); 74 (E_EVENT_CLIENT_ICONIFY, _e_backlight_handler, NULL);
75 75
76 _e_backlight_handler_border_uniconify = ecore_event_handler_add 76 _e_backlight_handler_border_uniconify = ecore_event_handler_add
77 (E_EVENT_BORDER_UNICONIFY, _e_backlight_handler, NULL); 77 (E_EVENT_CLIENT_UNICONIFY, _e_backlight_handler, NULL);
78 78
79 _e_backlight_handler_border_desk_set = ecore_event_handler_add 79 _e_backlight_handler_border_desk_set = ecore_event_handler_add
80 (E_EVENT_BORDER_DESK_SET, _e_backlight_handler, NULL); 80 (E_EVENT_CLIENT_DESK_SET, _e_backlight_handler, NULL);
81 81
82 _e_backlight_handler_desk_show = ecore_event_handler_add 82 _e_backlight_handler_desk_show = ecore_event_handler_add
83 (E_EVENT_DESK_SHOW, _e_backlight_handler, NULL); 83 (E_EVENT_DESK_SHOW, _e_backlight_handler, NULL);
@@ -179,23 +179,15 @@ e_backlight_exists(void)
179EAPI void 179EAPI void
180e_backlight_update(void) 180e_backlight_update(void)
181{ 181{
182 Eina_List *m, *c, *z; 182 const Eina_List *l, *ll;
183 E_Manager *man; 183 E_Comp *c;
184 E_Container *con;
185 E_Zone *zone; 184 E_Zone *zone;
186 185
187 if (bl_avail == EINA_FALSE) return; 186 if (bl_avail == EINA_FALSE) return;
188 187
189 EINA_LIST_FOREACH(e_manager_list(), m, man) 188 EINA_LIST_FOREACH(e_comp_list(), l, c)
190 { 189 EINA_LIST_FOREACH(c->zones, ll, zone)
191 EINA_LIST_FOREACH(man->containers, c, con) 190 _e_backlight_update(zone);
192 {
193 EINA_LIST_FOREACH(con->zones, z, zone)
194 {
195 _e_backlight_update(zone);
196 }
197 }
198 }
199} 191}
200 192
201EAPI void 193EAPI void
@@ -296,33 +288,36 @@ _e_backlight_update(E_Zone *zone)
296 Ecore_X_Randr_Output *out; 288 Ecore_X_Randr_Output *out;
297 int i, num = 0; 289 int i, num = 0;
298 290
299 root = zone->container->manager->root; 291 root = zone->comp->man->root;
300 // try randr 292 // try randr
301 out = ecore_x_randr_window_outputs_get(root, &num); 293 if (ecore_x_randr_output_backlight_available())
302 if ((out) && (num > 0) && (ecore_x_randr_output_backlight_available()))
303 { 294 {
304 char *name; 295 out = ecore_x_randr_window_outputs_get(root, &num);
305 const char *s; 296 if ((out) && (num > 0))
306 Eina_Bool gotten = EINA_FALSE;
307
308 EINA_LIST_FREE(bl_devs, s)
309 eina_stringshare_del(s);
310 for (i = 0; i < num; i++)
311 { 297 {
312 name = ecore_x_randr_output_name_get(root, out[i], NULL); 298 char *name;
313 bl_devs = eina_list_append(bl_devs, eina_stringshare_add(name)); 299 const char *s;
314 if ((name) && (e_config->backlight.sysdev) && 300 Eina_Bool gotten = EINA_FALSE;
315 (!strcmp(name, e_config->backlight.sysdev))) 301
302 EINA_LIST_FREE(bl_devs, s)
303 eina_stringshare_del(s);
304 for (i = 0; i < num; i++)
316 { 305 {
317 x_bl = ecore_x_randr_output_backlight_level_get(root, out[i]); 306 name = ecore_x_randr_output_name_get(root, out[i], NULL);
318 gotten = EINA_TRUE; 307 bl_devs = eina_list_append(bl_devs, eina_stringshare_add(name));
308 if ((name) && (e_config->backlight.sysdev) &&
309 (!strcmp(name, e_config->backlight.sysdev)))
310 {
311 x_bl = ecore_x_randr_output_backlight_level_get(root, out[i]);
312 gotten = EINA_TRUE;
313 }
314 free(name);
319 } 315 }
320 free(name); 316 if (!gotten)
317 x_bl = ecore_x_randr_output_backlight_level_get(root, out[0]);
321 } 318 }
322 if (!gotten) 319 free(out);
323 x_bl = ecore_x_randr_output_backlight_level_get(root, out[0]);
324 } 320 }
325 free(out);
326 if (x_bl >= 0.0) 321 if (x_bl >= 0.0)
327 { 322 {
328 bl_val = x_bl; 323 bl_val = x_bl;
@@ -350,7 +345,7 @@ _e_backlight_set(E_Zone *zone, double val)
350 int num = 0, i; 345 int num = 0, i;
351 char *name; 346 char *name;
352 347
353 root = zone->container->manager->root; 348 root = zone->comp->man->root;
354 out = ecore_x_randr_window_outputs_get(root, &num); 349 out = ecore_x_randr_window_outputs_get(root, &num);
355 if ((out) && (num > 0)) 350 if ((out) && (num > 0))
356 { 351 {
diff --git a/src/bin/e_bg.c b/src/bin/e_bg.c
index 6b1619d..3139157 100644
--- a/src/bin/e_bg.c
+++ b/src/bin/e_bg.c
@@ -76,7 +76,7 @@ e_bg_shutdown(void)
76 * The most specific match will be returned 76 * The most specific match will be returned
77 */ 77 */
78EAPI const E_Config_Desktop_Background * 78EAPI const E_Config_Desktop_Background *
79e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y) 79e_bg_config_get(int manager_num, int zone_num, int desk_x, int desk_y)
80{ 80{
81 Eina_List *l, *entries; 81 Eina_List *l, *entries;
82 E_Config_Desktop_Background *bg = NULL, *cfbg = NULL; 82 E_Config_Desktop_Background *bg = NULL, *cfbg = NULL;
@@ -85,7 +85,7 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
85 int current_spec = 0; /* how specific the setting is - we want the least general one that applies */ 85 int current_spec = 0; /* how specific the setting is - we want the least general one that applies */
86 86
87 /* look for desk specific background. */ 87 /* look for desk specific background. */
88 if (container_num >= 0 || zone_num >= 0 || desk_x >= 0 || desk_y >= 0) 88 if (manager_num >= 0 || zone_num >= 0 || desk_x >= 0 || desk_y >= 0)
89 { 89 {
90 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg) 90 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
91 { 91 {
@@ -93,8 +93,8 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
93 93
94 if (!cfbg) continue; 94 if (!cfbg) continue;
95 spec = 0; 95 spec = 0;
96 if (cfbg->container == container_num) spec++; 96 if (cfbg->manager == manager_num) spec++;
97 else if (cfbg->container >= 0) 97 else if (cfbg->manager >= 0)
98 continue; 98 continue;
99 if (cfbg->zone == zone_num) spec++; 99 if (cfbg->zone == zone_num) spec++;
100 else if (cfbg->zone >= 0) 100 else if (cfbg->zone >= 0)
@@ -144,13 +144,13 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
144} 144}
145 145
146EAPI Eina_Stringshare * 146EAPI Eina_Stringshare *
147e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y) 147e_bg_file_get(int manager_num, int zone_num, int desk_x, int desk_y)
148{ 148{
149 const E_Config_Desktop_Background *cfbg; 149 const E_Config_Desktop_Background *cfbg;
150 const char *bgfile = NULL; 150 const char *bgfile = NULL;
151 int ok = 0; 151 int ok = 0;
152 152
153 cfbg = e_bg_config_get(container_num, zone_num, desk_x, desk_y); 153 cfbg = e_bg_config_get(manager_num, zone_num, desk_x, desk_y);
154 154
155 /* fall back to default */ 155 /* fall back to default */
156 if (cfbg) 156 if (cfbg)
@@ -208,9 +208,9 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
208 208
209 desk = e_desk_current_get(zone); 209 desk = e_desk_current_get(zone);
210 if (desk) 210 if (desk)
211 bgfile = e_bg_file_get(zone->container->num, zone->num, desk->x, desk->y); 211 bgfile = e_bg_file_get(zone->comp->num, zone->num, desk->x, desk->y);
212 else 212 else
213 bgfile = e_bg_file_get(zone->container->num, zone->num, -1, -1); 213 bgfile = e_bg_file_get(zone->comp->num, zone->num, -1, -1);
214 214
215 if (zone->bg_object) 215 if (zone->bg_object)
216 { 216 {
@@ -233,39 +233,43 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
233 zone->bg_object = NULL; 233 zone->bg_object = NULL;
234 E_FREE_FUNC(zone->transition_object, evas_object_del); 234 E_FREE_FUNC(zone->transition_object, evas_object_del);
235 } 235 }
236 o = edje_object_add(zone->container->bg_evas); 236 o = edje_object_add(zone->comp->evas);
237 evas_object_repeat_events_set(o, 1); 237 evas_object_repeat_events_set(o, 1);
238 zone->transition_object = o; 238 zone->transition_object = o;
239 evas_object_name_set(zone->transition_object, "zone->transition_object");
239 /* FIXME: segv if zone is deleted while up??? */ 240 /* FIXME: segv if zone is deleted while up??? */
240 evas_object_data_set(o, "e_zone", zone); 241 evas_object_data_set(o, "e_zone", zone);
241 snprintf(buf, sizeof(buf), "e/transitions/%s", trans); 242 snprintf(buf, sizeof(buf), "e/transitions/%s", trans);
242 e_theme_edje_object_set(o, "base/theme/transitions", buf); 243 e_theme_edje_object_set(o, "base/theme/transitions", buf);
243 edje_object_signal_callback_add(o, "e,state,done", "*", _e_bg_signal, zone); 244 edje_object_signal_callback_add(o, "e,state,done", "*", _e_bg_signal, zone);
244 evas_object_layer_set(o, E_COMP_CANVAS_LAYER_BG); 245 evas_object_move(o, zone->x, zone->y);
246 evas_object_resize(o, zone->w, zone->h);
247 evas_object_layer_set(o, E_LAYER_BG);
245 evas_object_clip_set(o, zone->bg_clip_object); 248 evas_object_clip_set(o, zone->bg_clip_object);
246 evas_object_show(o); 249 evas_object_show(o);
247 } 250 }
248 if (eina_str_has_extension(bgfile, ".edj")) 251 if (eina_str_has_extension(bgfile, ".edj"))
249 { 252 {
250 o = edje_object_add(zone->container->bg_evas); 253 o = edje_object_add(zone->comp->evas);
251 edje_object_file_set(o, bgfile, "e/desktop/background"); 254 edje_object_file_set(o, bgfile, "e/desktop/background");
252 if (edje_object_data_get(o, "noanimation")) 255 if (edje_object_data_get(o, "noanimation"))
253 edje_object_animation_set(o, EINA_FALSE); 256 edje_object_animation_set(o, EINA_FALSE);
254 } 257 }
255 else 258 else
256 { 259 {
257 o = e_icon_add(zone->container->bg_evas); 260 o = e_icon_add(zone->comp->evas);
258 e_icon_file_key_set(o, bgfile, NULL); 261 e_icon_file_key_set(o, bgfile, NULL);
259 e_icon_fill_inside_set(o, 0); 262 e_icon_fill_inside_set(o, 0);
260 } 263 }
261 evas_object_data_set(o, "e_zone", zone); 264 evas_object_data_set(o, "e_zone", zone);
262 evas_object_repeat_events_set(o, 1); 265 evas_object_repeat_events_set(o, 1);
263 zone->bg_object = o; 266 zone->bg_object = o;
267 evas_object_name_set(zone->bg_object, "zone->bg_object");
264 if (transition == E_BG_TRANSITION_NONE) 268 if (transition == E_BG_TRANSITION_NONE)
265 { 269 {
266 evas_object_move(o, zone->x, zone->y); 270 evas_object_move(o, zone->x, zone->y);
267 evas_object_resize(o, zone->w, zone->h); 271 evas_object_resize(o, zone->w, zone->h);
268 evas_object_layer_set(o, E_COMP_CANVAS_LAYER_BG); 272 evas_object_layer_set(o, E_LAYER_BG);
269 } 273 }
270 evas_object_clip_set(o, zone->bg_clip_object); 274 evas_object_clip_set(o, zone->bg_clip_object);
271 evas_object_show(o); 275 evas_object_show(o);
@@ -285,9 +289,9 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
285 if (zone->bg_object) evas_object_name_set(zone->bg_object, "zone->bg_object"); 289 if (zone->bg_object) evas_object_name_set(zone->bg_object, "zone->bg_object");
286 if (zone->prev_bg_object) evas_object_name_set(zone->prev_bg_object, "zone->prev_bg_object"); 290 if (zone->prev_bg_object) evas_object_name_set(zone->prev_bg_object, "zone->prev_bg_object");
287 if (zone->transition_object) evas_object_name_set(zone->transition_object, "zone->transition_object"); 291 if (zone->transition_object) evas_object_name_set(zone->transition_object, "zone->transition_object");
288 if (zone->comp_zone) e_comp_zone_update(zone->comp_zone);
289 evas_object_move(zone->transition_object, zone->x, zone->y); 292 evas_object_move(zone->transition_object, zone->x, zone->y);
290 evas_object_resize(zone->transition_object, zone->w, zone->h); 293 evas_object_resize(zone->transition_object, zone->w, zone->h);
294 e_comp_canvas_zone_update(zone);
291end: 295end:
292 eina_stringshare_del(bgfile); 296 eina_stringshare_del(bgfile);
293} 297}
@@ -322,7 +326,7 @@ e_bg_default_set(const char *file)
322 e_config->desktop_default_background = NULL; 326 e_config->desktop_default_background = NULL;
323 327
324 ev = E_NEW(E_Event_Bg_Update, 1); 328 ev = E_NEW(E_Event_Bg_Update, 1);
325 ev->container = -1; 329 ev->manager = -1;
326 ev->zone = -1; 330 ev->zone = -1;
327 ev->desk_x = -1; 331 ev->desk_x = -1;
328 ev->desk_y = -1; 332 ev->desk_y = -1;
@@ -330,7 +334,7 @@ e_bg_default_set(const char *file)
330} 334}
331 335
332EAPI void 336EAPI void
333e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file) 337e_bg_add(int manager, int zone, int desk_x, int desk_y, const char *file)
334{ 338{
335 const Eina_List *l; 339 const Eina_List *l;
336 E_Config_Desktop_Background *cfbg; 340 E_Config_Desktop_Background *cfbg;
@@ -341,7 +345,7 @@ e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file)
341 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg) 345 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
342 { 346 {
343 if ((cfbg) && 347 if ((cfbg) &&
344 (cfbg->container == container) && 348 (cfbg->manager == manager) &&
345 (cfbg->zone == zone) && 349 (cfbg->zone == zone) &&
346 (cfbg->desk_x == desk_x) && 350 (cfbg->desk_x == desk_x) &&
347 (cfbg->desk_y == desk_y) && 351 (cfbg->desk_y == desk_y) &&
@@ -352,9 +356,9 @@ e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file)
352 } 356 }
353 } 357 }
354 358
355 e_bg_del(container, zone, desk_x, desk_y); 359 e_bg_del(manager, zone, desk_x, desk_y);
356 cfbg = E_NEW(E_Config_Desktop_Background, 1); 360 cfbg = E_NEW(E_Config_Desktop_Background, 1);
357 cfbg->container = container; 361 cfbg->manager = manager;
358 cfbg->zone = zone; 362 cfbg->zone = zone;
359 cfbg->desk_x = desk_x; 363 cfbg->desk_x = desk_x;
360 cfbg->desk_y = desk_y; 364 cfbg->desk_y = desk_y;
@@ -364,7 +368,7 @@ e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file)
364 e_filereg_register(cfbg->file); 368 e_filereg_register(cfbg->file);
365 369
366 ev = E_NEW(E_Event_Bg_Update, 1); 370 ev = E_NEW(E_Event_Bg_Update, 1);
367 ev->container = container; 371 ev->manager = manager;
368 ev->zone = zone; 372 ev->zone = zone;
369 ev->desk_x = desk_x; 373 ev->desk_x = desk_x;
370 ev->desk_y = desk_y; 374 ev->desk_y = desk_y;
@@ -372,7 +376,7 @@ e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file)
372} 376}
373 377
374EAPI void 378EAPI void
375e_bg_del(int container, int zone, int desk_x, int desk_y) 379e_bg_del(int manager, int zone, int desk_x, int desk_y)
376{ 380{
377 Eina_List *l; 381 Eina_List *l;
378 E_Config_Desktop_Background *cfbg; 382 E_Config_Desktop_Background *cfbg;
@@ -381,7 +385,7 @@ e_bg_del(int container, int zone, int desk_x, int desk_y)
381 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg) 385 EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
382 { 386 {
383 if (!cfbg) continue; 387 if (!cfbg) continue;
384 if ((cfbg->container == container) && (cfbg->zone == zone) && 388 if ((cfbg->manager == manager) && (cfbg->zone == zone) &&
385 (cfbg->desk_x == desk_x) && (cfbg->desk_y == desk_y)) 389 (cfbg->desk_x == desk_x) && (cfbg->desk_y == desk_y))
386 { 390 {
387 e_config->desktop_backgrounds = eina_list_remove_list(e_config->desktop_backgrounds, l); 391 e_config->desktop_backgrounds = eina_list_remove_list(e_config->desktop_backgrounds, l);
@@ -393,7 +397,7 @@ e_bg_del(int container, int zone, int desk_x, int desk_y)
393 } 397 }
394 398
395 ev = E_NEW(E_Event_Bg_Update, 1); 399 ev = E_NEW(E_Event_Bg_Update, 1);
396 ev->container = container; 400 ev->manager = manager;
397 ev->zone = zone; 401 ev->zone = zone;
398 ev->desk_x = desk_x; 402 ev->desk_x = desk_x;
399 ev->desk_y = desk_y; 403 ev->desk_y = desk_y;
@@ -403,21 +407,13 @@ e_bg_del(int container, int zone, int desk_x, int desk_y)
403EAPI void 407EAPI void
404e_bg_update(void) 408e_bg_update(void)
405{ 409{
406 Eina_List *l, *ll, *lll; 410 const Eina_List *l, *ll;
407 E_Manager *man; 411 E_Comp *c;
408 E_Container *con;
409 E_Zone *zone; 412 E_Zone *zone;
410 413
411 EINA_LIST_FOREACH(e_manager_list(), l, man) 414 EINA_LIST_FOREACH(e_comp_list(), l, c)
412 { 415 EINA_LIST_FOREACH(c->zones, ll, zone)
413 EINA_LIST_FOREACH(man->containers, ll, con) 416 e_zone_bg_reconfigure(zone);
414 {
415 EINA_LIST_FOREACH(con->zones, lll, zone)
416 {
417 e_zone_bg_reconfigure(zone);
418 }
419 }
420 }
421} 417}
422 418
423/* local subsystem functions */ 419/* local subsystem functions */
@@ -507,19 +503,11 @@ _e_bg_signal(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNU
507{ 503{
508 E_Zone *zone = data; 504 E_Zone *zone = data;
509 505
510 if (zone->prev_bg_object) 506 E_FREE_FUNC(zone->prev_bg_object, evas_object_del);
511 { 507 E_FREE_FUNC(zone->transition_object, evas_object_del);
512 evas_object_del(zone->prev_bg_object);
513 zone->prev_bg_object = NULL;
514 }
515 if (zone->transition_object)
516 {
517 evas_object_del(zone->transition_object);
518 zone->transition_object = NULL;
519 }
520 evas_object_move(zone->bg_object, zone->x, zone->y); 508 evas_object_move(zone->bg_object, zone->x, zone->y);
521 evas_object_resize(zone->bg_object, zone->w, zone->h); 509 evas_object_resize(zone->bg_object, zone->w, zone->h);
522 evas_object_layer_set(zone->bg_object, E_COMP_CANVAS_LAYER_BG); 510 evas_object_layer_set(zone->bg_object, E_LAYER_BG);
523 evas_object_clip_set(zone->bg_object, zone->bg_clip_object); 511 evas_object_clip_set(zone->bg_object, zone->bg_clip_object);
524 evas_object_show(zone->bg_object); 512 evas_object_show(zone->bg_object);
525} 513}
diff --git a/src/bin/e_bg.h b/src/bin/e_bg.h
index a1bc42f..a042c08 100644
--- a/src/bin/e_bg.h
+++ b/src/bin/e_bg.h
@@ -19,7 +19,7 @@ extern EAPI int E_EVENT_BG_UPDATE;
19 19
20struct _E_Event_Bg_Update 20struct _E_Event_Bg_Update
21{ 21{
22 int container; 22 int manager;
23 int zone; 23 int zone;
24 int desk_x; 24 int desk_x;
25 int desk_y; 25 int desk_y;
@@ -28,11 +28,11 @@ struct _E_Event_Bg_Update
28EINTERN int e_bg_init(void); 28EINTERN int e_bg_init(void);
29EINTERN int e_bg_shutdown(void); 29EINTERN int e_bg_shutdown(void);
30 30
31EAPI const E_Config_Desktop_Background *e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y); 31EAPI const E_Config_Desktop_Background *e_bg_config_get(int manager_num, int zone_num, int desk_x, int desk_y);
32EAPI Eina_Stringshare *e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y); 32EAPI Eina_Stringshare *e_bg_file_get(int manager_num, int zone_num, int desk_x, int desk_y);
33EAPI void e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition); 33EAPI void e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition);
34EAPI void e_bg_add(int container, int zone, int desk_x, int desk_y, const char *file); 34EAPI void e_bg_add(int manager, int zone, int desk_x, int desk_y, const char *file);
35EAPI void e_bg_del(int container, int zone, int desk_x, int desk_y); 35EAPI void e_bg_del(int manager, int zone, int desk_x, int desk_y);
36EAPI void e_bg_default_set(const char *file); 36EAPI void e_bg_default_set(const char *file);
37EAPI void e_bg_update(void); 37EAPI void e_bg_update(void);
38 38
diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c
index 65a6bbc..a8e9725 100644
--- a/src/bin/e_bindings.c
+++ b/src/bin/e_bindings.c
@@ -1,8 +1,6 @@
1#include "e.h" 1#include "e.h"
2 2
3/* local subsystem functions */ 3/* local subsystem functions */
4static Eina_Bool _e_bindings_mapping_change_event_cb(void *data, int type, void *event);
5
6static void _e_bindings_mouse_free(E_Binding_Mouse *bind); 4static void _e_bindings_mouse_free(E_Binding_Mouse *bind);
7static void _e_bindings_key_free(E_Binding_Key *bind); 5static void _e_bindings_key_free(E_Binding_Key *bind);
8static void _e_bindings_edge_free(E_Binding_Edge *bind); 6static void _e_bindings_edge_free(E_Binding_Edge *bind);
@@ -15,15 +13,12 @@ static Eina_Bool _e_bindings_edge_cb_timer(void *data);
15 13
16/* local subsystem globals */ 14/* local subsystem globals */
17 15
18static Ecore_Event_Handler *mapping_handler = NULL;
19
20static Eina_List *mouse_bindings = NULL; 16static Eina_List *mouse_bindings = NULL;
21static Eina_List *key_bindings = NULL; 17static Eina_List *key_bindings = NULL;
22static Eina_List *edge_bindings = NULL; 18static Eina_List *edge_bindings = NULL;
23static Eina_List *signal_bindings = NULL; 19static Eina_List *signal_bindings = NULL;
24static Eina_List *wheel_bindings = NULL; 20static Eina_List *wheel_bindings = NULL;
25static Eina_List *acpi_bindings = NULL; 21static Eina_List *acpi_bindings = NULL;
26static int _e_bindings_mapping_change_enabled = 1;
27 22
28typedef struct _E_Binding_Edge_Data E_Binding_Edge_Data; 23typedef struct _E_Binding_Edge_Data E_Binding_Edge_Data;
29 24
@@ -48,9 +43,6 @@ e_bindings_init(void)
48 E_Config_Binding_Acpi *eba; 43 E_Config_Binding_Acpi *eba;
49 Eina_List *l; 44 Eina_List *l;
50 45
51 mapping_handler = ecore_event_handler_add
52 (ECORE_X_EVENT_MAPPING_CHANGE, _e_bindings_mapping_change_event_cb, NULL);
53
54 EINA_LIST_FOREACH(e_bindings->mouse_bindings, l, ebm) 46 EINA_LIST_FOREACH(e_bindings->mouse_bindings, l, ebm)
55 e_bindings_mouse_add(ebm->context, ebm->button, ebm->modifiers, 47 e_bindings_mouse_add(ebm->context, ebm->button, ebm->modifiers,
56 ebm->any_mod, ebm->action, ebm->params); 48 ebm->any_mod, ebm->action, ebm->params);
@@ -105,12 +97,6 @@ e_bindings_shutdown(void)
105 E_FREE_LIST(wheel_bindings, _e_bindings_wheel_free); 97 E_FREE_LIST(wheel_bindings, _e_bindings_wheel_free);
106 E_FREE_LIST(acpi_bindings, _e_bindings_acpi_free); 98 E_FREE_LIST(acpi_bindings, _e_bindings_acpi_free);
107 99
108 if (mapping_handler)
109 {
110 ecore_event_handler_del(mapping_handler);
111 mapping_handler = NULL;
112 }
113
114 return 1; 100 return 1;
115} 101}
116 102
@@ -136,7 +122,8 @@ e_bindings_ecore_event_mouse_wheel_convert(const Ecore_Event_Mouse_Wheel *ev, E_
136 memset(event, 0, sizeof(E_Binding_Event_Wheel)); 122 memset(event, 0, sizeof(E_Binding_Event_Wheel));
137 event->direction = ev->direction; 123 event->direction = ev->direction;
138 event->z = ev->z; 124 event->z = ev->z;
139 event->canvas.x = ev->root.x, event->canvas.y = ev->root.y; 125 event->canvas.x = e_comp_canvas_x_root_adjust(e_comp_get(NULL), ev->root.x);
126 event->canvas.y = e_comp_canvas_x_root_adjust(e_comp_get(NULL), ev->root.y);
140 event->timestamp = ev->timestamp; 127 event->timestamp = ev->timestamp;
141 event->modifiers = _e_bindings_modifiers(ev->modifiers); 128 event->modifiers = _e_bindings_modifiers(ev->modifiers);
142} 129}
@@ -146,7 +133,8 @@ e_bindings_ecore_event_mouse_button_convert(const Ecore_Event_Mouse_Button *ev,
146{ 133{
147 memset(event, 0, sizeof(E_Binding_Event_Mouse_Button)); 134 memset(event, 0, sizeof(E_Binding_Event_Mouse_Button));
148 event->button = ev->buttons; 135 event->button = ev->buttons;
149 event->canvas.x = ev->root.x, event->canvas.y = ev->root.y; 136 event->canvas.x = e_comp_canvas_x_root_adjust(e_comp_get(NULL), ev->root.x);
137 event->canvas.y = e_comp_canvas_x_root_adjust(e_comp_get(NULL), ev->root.y);
150 event->timestamp = ev->timestamp; 138 event->timestamp = ev->timestamp;
151 event->modifiers = _e_bindings_modifiers(ev->modifiers); 139 event->modifiers = _e_bindings_modifiers(ev->modifiers);
152 140
@@ -189,6 +177,20 @@ e_bindings_evas_event_mouse_wheel_convert(const Evas_Event_Mouse_Wheel *ev, E_Bi
189*/ 177*/
190} 178}
191 179
180EAPI int
181e_bindings_evas_modifiers_convert(Evas_Modifier *modifiers)
182{
183 int mod = 0;
184
185 mod |= (E_BINDING_MODIFIER_SHIFT * evas_key_modifier_is_set(modifiers, "Shift"));
186 mod |= (E_BINDING_MODIFIER_CTRL * evas_key_modifier_is_set(modifiers, "Control"));
187 mod |= (E_BINDING_MODIFIER_ALT * evas_key_modifier_is_set(modifiers, "Alt"));
188 mod |= (E_BINDING_MODIFIER_WIN * evas_key_modifier_is_set(modifiers, "Super"));
189 mod |= (E_BINDING_MODIFIER_WIN * evas_key_modifier_is_set(modifiers, "Hyper"));
190 mod |= (E_BINDING_MODIFIER_ALTGR * evas_key_modifier_is_set(modifiers, "AltGr"));
191 return mod;
192}
193
192EAPI void 194EAPI void
193e_bindings_evas_event_mouse_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event) 195e_bindings_evas_event_mouse_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event)
194{ 196{
@@ -197,12 +199,7 @@ e_bindings_evas_event_mouse_button_convert(const Evas_Event_Mouse_Down *ev, E_Bi
197 event->canvas.x = ev->output.x, event->canvas.y = ev->output.y; 199 event->canvas.x = ev->output.x, event->canvas.y = ev->output.y;
198 event->timestamp = ev->timestamp; 200 event->timestamp = ev->timestamp;
199 201
200 event->modifiers |= (E_BINDING_MODIFIER_SHIFT * evas_key_modifier_is_set(ev->modifiers, "Shift")); 202 event->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
201 event->modifiers |= (E_BINDING_MODIFIER_CTRL * evas_key_modifier_is_set(ev->modifiers, "Control"));
202 event->modifiers |= (E_BINDING_MODIFIER_ALT * evas_key_modifier_is_set(ev->modifiers, "Alt"));
203 event->modifiers |= (E_BINDING_MODIFIER_WIN * evas_key_modifier_is_set(ev->modifiers, "Super"));
204 event->modifiers |= (E_BINDING_MODIFIER_WIN * evas_key_modifier_is_set(ev->modifiers, "Hyper"));
205 event->modifiers |= (E_BINDING_MODIFIER_ALTGR * evas_key_modifier_is_set(ev->modifiers, "AltGr"));
206 203