Commit Graph

266 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7435381907 only clip shelf object to zone if shelf is not a popup
T629
2013-12-13 09:09:56 -05:00
Mike Blumenkrantz caa41d0c7c force hide of new shelves when not visible 2013-12-10 15:36:28 -05:00
Mike Blumenkrantz ed7b29d50f all comp wins now have zoomaps, zooming effect lovers rejoice 2013-04-16 13:51:50 +01:00
Mike Blumenkrantz 505cec1d91 giant comp rejiggering commit #5:
* border frame/object now drawn directly on compositor canvas

* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW

* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums

* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set

* bd->bg_win removed entirely

* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor

* resizing windows now shows a new and totally-intended scaling effect for window contents

* some additional retooling of border deletion/free callbacks

* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted

* more comp shape improvements/rewrites

* desk transitions are now BROKEN(ish)

* various modules updated to not be totally broken with these changes
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz fca3799f44 shelf gadcon can no longer resize smaller than 16x16 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 339e4ad906 fix gadcon dnd window for shelf and gadman desktop to use comp canvas window
SVN revision: 84102
2013-02-19 10:05:16 +00:00
Mike Blumenkrantz f36ecd9d3d giant comp rejiggering commit #2: popups are now objects drawn directly onto the compositor canvas with no xwindows of their own
* added a number of new e_comp functions and macros

* options for disabling effects on objects: this option does not currently have any effect

* all modules which used gadcon popups have been adjusted

* all modules which used input windows to detect close events for gadcon popups have been adjusted to use new popup autoclose functionality

* shelves are now always drawn on the compositor canvas, meaning objects will never get clipped by the shelf (ticket #1810)

* shelves no longer have an event object

SVN revision: 84060
2013-02-18 13:43:47 +00:00
Mike Blumenkrantz aa6a2d173d giant comp rejiggering commit because anything smaller would have broken something:
* remove xwin for container canvas: now drawn directly on the compositor canvas

* added SHAPE_DEBUG define for bored developers

* bindings now use new e struct for mouse/wheel events

* container+zone now get mouse events from smart callbacks instead of x events

* rename comp api namespace

* change comp underlay theme to have a swallow for the wallpaper

* add names to all zone/container/comp objects to make debugging much easier

* some minor related updates to go along with this

SVN revision: 83752
2013-02-07 13:20:07 +00:00
Mike Blumenkrantz 41759238cd a much requested feature: drag-only edge bindings
ticket #281


SVN revision: 83628
2013-02-05 13:13:33 +00:00
Miculcy Brian cc6581a8f9 Shelf option 'overlapping' made clearer and disabled when window automatic movement on shelf hide isn't set.
SVN revision: 82871
2013-01-16 09:56:50 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Igor Murzov 678645f3ac Better gettext usage in a few places
SVN revision: 82293
2013-01-05 22:54:51 +00:00
Hannes Janetzek 303abf60de e17/shelf: fix wrong autohide with systray on second zone
SVN revision: 81557
2012-12-21 15:54:45 +00:00
Mike Blumenkrantz b393de2eaa fix shelf autohide on click
ticket #2051


SVN revision: 81362
2012-12-19 13:59:36 +00:00
Mike Blumenkrantz 44c599480b changing shelf style no longer repopulates the gadcon
SVN revision: 81329
2012-12-19 09:16:09 +00:00
Mike Blumenkrantz 504c88e033 fix shelf autohiding for when people slowly, over the course of an hour or longer, move their mouses a single pixel distance out of the shelf onto a gtk app
ticket #1884


SVN revision: 81327
2012-12-19 08:55:51 +00:00
Mike Blumenkrantz 8077e1aafb always unpopulate shelf before changing orientation so systray doesn't ibtch
SVN revision: 80768
2012-12-12 14:56:17 +00:00
Mike Blumenkrantz 86aa333211 disable currently-set orientation for shelf on orientation change menu
SVN revision: 80766
2012-12-12 14:44:10 +00:00
Mike Blumenkrantz b341cd4689 unbreak mouse move events when autohiding shelves are present
ticket #1961
ticket #zmikeisdumb


SVN revision: 80659
2012-12-11 14:20:53 +00:00
Massimo Maiurana 96fac26f2f Mark some strings for translation. (patch from Igor Murzov)
SVN revision: 80551
2012-12-09 14:39:30 +00:00
Mike Blumenkrantz f233e0d59d fix shelf autohiding when the mouse goes directly from a shelf into the window of a shitty toolkit which blocks X mouse movement events
ticket #1884


SVN revision: 80343
2012-12-06 11:03:32 +00:00
Mike Blumenkrantz 955c24344a fix shelf autohide calculations for non-zero zones
ticket #1884


SVN revision: 80334
2012-12-06 10:27:15 +00:00
Mike Blumenkrantz 503d7305db Dear all,
As I've said before, I'm attached a patch for minor bugs in the e17 again.
 Please take a look at attached patch.

 01. missing E_FREE(wev) if zone is null
     File: src/bin/e_actions.c: 1467
     Function: ACT_FN_GO_EDGE macro function
     null check of zone and wev, it would be better to separate them.

 02. dead code
     File: src/bin/e_configure.c: 338
     Function: _e_configure_efreet_desktop_update

 03. array buf might be overwritten by "buf[i] = '\0'"
     File: src/bin/e_eap_editor.c: 412
     Function: _e_desktop_edit_user_local_desktop_filename_generate

 04. missing null check
     File: src/bin/e_fm.c
     Function: e_fm2_icon_get: 2196
     It would be better to check ic->info.file in e_fm2_icon_get
     before passing to _e_fm2_file_is_edje because it doesn't check
     null pointer.

 05. array 'path' might be overwritten by "path[i + 1] = XXX"
     File: src/bin/e_fm.c: 4299
     Function: _e_fm2_uri_parse

 06. missing null check
     File: src/bin/e_fm_device.c: 468
     Function: e_fm2_device_mount_find
     If the null pointer is passed to e_fm2_device_mount_find,
     then it attempt to compare string using strncmp without null
     check.
     e.g., e_fm2_path_set
           -> real_path = _e_fm2_dev_path_map: this function could return null.
           -> sd->realpath = real_path;
           -> e_fm2_device_mount_find(sd->realpath)

 07. missing free(fstrip)
     File: src/bin/e_import_config_dialog.c: 34
     Function: _import_edj_gen

 08. missing _module_free(cfm)
     File: src/bin/e_int_config_modules.c: 530
     Function: _load_modules

 09. missing free(class) in for loop
     File: src/bin/e_int_menus.c: 1187
     Function: _e_int_menus_clients_add_by_class

 10. missing free(roots)
     File: src/bin/e_main.c: 1646
     Function: _e_main_screens_init
     Actually only e_win_init function could return 0.
     But I've added free to other codes for the consistency.

 11. missing null check of 'es->cfg'
     File: src/bin/e_shelf.c: 2583
     Function: _e_shelf_bindings_add
     'es->cfg' might be null. please look at e_shelf_position_calc.

 12. no ect->category check before comparing string values
     File: src/bin/e_theme.c: 387
     Function: e_theme_config_remove
     I'm not sure, but inner if block checks ect->category before
     deleting a string.

 13. missing E_FREE(wcb) in while loop
     File: src/bin/e_widget_ilist.c: 146
     Function: _queue_timer

 14. dereferencing freed pointer 'entry'
     File: src/modules/quickaccess/e_mod_quickaccess.c: 583
     Function: _e_qa_event_border_remove_cb

 15. missing E_FREE(trov)
     File: src/modules/tiling/e_mod_tiling.c: 3106
     Function: _do_transition_overlay

 Thanks & Regards,
 Gwanglim


SVN revision: 80231
2012-12-05 11:13:09 +00:00
Mike Blumenkrantz 6d4150fcad increase shelf show timeout after module init end
SVN revision: 79828
2012-11-29 12:15:11 +00:00
Mike Blumenkrantz 1af4e65b56 fix shelf crash when attempting to animate an autohide during screen rotation
SVN revision: 79804
2012-11-29 05:23:52 +00:00
Mike Blumenkrantz e5903f4740 add support for and use eina_list_last_data_get
SVN revision: 79144
2012-11-12 10:05:09 +00:00
Mike Blumenkrantz 1fbcc07e04 whoops forgot to ref
SVN revision: 78833
2012-11-02 08:03:35 +00:00
Mike Blumenkrantz 14e898b6a7 add shelf rename events
SVN revision: 78831
2012-11-02 07:53:37 +00:00
Mike Blumenkrantz 1f552955a7 fix shelf magic fail
SVN revision: 78601
2012-10-29 08:01:25 +00:00
Carsten Haitzler 6ce5bb59ef gaaaarh! long standing shelf bug - dont emit signal to right obvject
for orientation of shelf gadget frame! fix!



SVN revision: 78368
2012-10-23 14:20:19 +00:00
Mike Blumenkrantz 04c72fa6a1 remove zone move/resize handler for shelf, triggers crazy autohide behavior
also fixes ticket #1644


SVN revision: 78174
2012-10-18 09:14:13 +00:00
Mike Blumenkrantz 23f35193cf fix shelf crash from ticket #1635
SVN revision: 78152
2012-10-18 07:39:02 +00:00
Mike Blumenkrantz e92d150180 shelves now watch for zone move/resize events and check their locations upon any changes to ensure that they don't move off screen with the randr dialog. note that this will also cause shelves to re-hide themselves when toggling autohide
SVN revision: 77875
2012-10-11 12:49:13 +00:00
Mike Blumenkrantz 04cc83c4e5 add menu item to enable shelf autohiding
SVN revision: 77848
2012-10-11 07:56:16 +00:00
Mike Blumenkrantz 71f57bb52d gadcon location gadget_add callbacks now have a gadcon client param so the config can be retrieved since these callbacks are (currently) only used for changing locations of gadgets
also the related gcc param in gadget_del can now have a NULL config to signify that the gadget has been moved to a new gadcon

this means that moving a gadget to a new location will no longer cause it to lose its gadget config

ticket #1594


SVN revision: 77521
2012-10-05 09:57:34 +00:00
Mike Blumenkrantz 46702481d6 simplify worst case shelf visibility check
SVN revision: 77503
2012-10-05 06:44:53 +00:00
Mike Blumenkrantz 832be52b04 check for shelf visibility on init before showing
ticket #1595


SVN revision: 77502
2012-10-05 06:43:44 +00:00
Mike Blumenkrantz b0df4fc70f move shelf visible detection code from e_desk to e_shelf
SVN revision: 77416
2012-10-04 09:53:52 +00:00
Sebastian Dransfeld 436323bf59 e: cleanup layer handling
It seems people put random numbers as layers, so it is better to define
available layer numbers.

This patch also puts popups below fullscreen windows, as it sucks to get
popups during presentations. A better solution is maybe to put popups
above fullscreen, but have a presentation mode to put fullscreen windows
above popups?

SVN revision: 77293
2012-10-02 08:54:35 +00:00
Mike Blumenkrantz eace74147d add timers to shelves which still haven't shown at module_init_end to show after 1s
SVN revision: 76953
2012-09-21 09:39:26 +00:00
Mike Blumenkrantz da42dfa979 add shelf menu option to refresh shelf contents
SVN revision: 76936
2012-09-21 07:45:39 +00:00
Mike Blumenkrantz 6f79521d41 better autohide fix
SVN revision: 76933
2012-09-21 07:27:33 +00:00
Mike Blumenkrantz 8b12df9a4a increase shelf size when checking to see if pointer is inside to ensure autohide picks it up properly
SVN revision: 76932
2012-09-21 07:18:53 +00:00
Mike Blumenkrantz 170c6d97c3 tweak from previous shelf draw optimizing commit: now add a handler for module init end to more accurately check gadcon populate requests so we can determine if a shelf is "empty" and then show it. fixes case where a shelf has gadgets but none are populated because the modules are all unloaded
SVN revision: 76909
2012-09-20 13:06:15 +00:00
Mike Blumenkrantz 28eabf7ef0 only block shelf drawing when shelf has none of its clients drawn, not when it has no clients
SVN revision: 76907
2012-09-20 12:35:29 +00:00
Mike Blumenkrantz 5e0b6fd200 reorder shelf startup slightly, add gadcon populate event, only show created shelf after it's been populated, populate gadcons incrementally instead of all at once
this commit reduces my startup time by 0.5-1.0 seconds on average when using two shelves


SVN revision: 76894
2012-09-20 08:44:30 +00:00
Mike Blumenkrantz b7cff28128 base shelf menu now has option to begin/end moving gadgets
SVN revision: 76781
2012-09-18 07:08:41 +00:00
Mike Blumenkrantz d747ac76aa don't close shelf config dialog when changing orientation from menu
SVN revision: 76373
2012-09-10 08:04:09 +00:00
Mike Blumenkrantz a788723e41 set shelf autohide on creation, ensure autohide settings have been applied
ticket #1482


SVN revision: 76346
2012-09-08 19:23:25 +00:00
Mike Blumenkrantz c61c107346 shelves now only watch all mouse events when autohide is set since a static shelf doesn't need to care about it; this will save some amount of cpu I guess
this also breaks the use of e,state,focused programs on non-autohiding shelves, but nothing I'm aware of has ever used this, sooooooo :)
also probably fixes ticket #1467


SVN revision: 76320
2012-09-07 18:59:43 +00:00