Commit Graph

313 Commits

Author SHA1 Message Date
Mike Blumenkrantz 8d71213839 e_client_name_get() -> e_client_util_name_get()
this should be inlined
2014-02-05 10:55:50 -05:00
Carsten Haitzler 61aa61651c ibox/ibar/tasks iconify effect - don't do it if target is not on same screen 2014-01-30 07:45:02 +09:00
Mike Blumenkrantz 9b36b9b78c remove comp iconify hacks (and e_iconify api), expand comp object effect api
instead of adding specific handling which will work (sometimes) in one specific case, expand already-existing api to provide the needed functionality for iconify animations. now on emitting any signal to a comp object, optional glob-able effect providers can be hooked and prioritized to add effect animations

also use animating flags now when applying an object effect

a base effect is provided in elementary, but now each module which wants to hook iconify animations (or other events) can do so in the theme and have different animations with their module
2014-01-29 13:36:42 -05:00
Carsten Haitzler df575ea51a ibar - add iconify provider 2014-01-29 22:42:54 +09:00
Mike Blumenkrantz 2e9c1e383d don't add/reset ibar menu hide timer when menu is active
T815
2014-01-18 15:19:42 -05:00
Carsten Haitzler 35640f88b4 debug remove - sorry. 2014-01-18 19:57:39 +09:00
Carsten Haitzler 0ca6bd8b9d ibar icon menu - set pass events on bg obj until it is fully shown
this needs an elm theme update fyi.
2014-01-18 19:52:58 +09:00
Mike Blumenkrantz e757c67b31 hide ibar menu when its gadget menu is opened
one menu at a time.

T744 maybe?
2014-01-17 19:07:11 -05:00
Mike Blumenkrantz a93880ade2 ibar menu now dynamically adds new clients
T744
2014-01-17 19:04:48 -05:00
Mike Blumenkrantz 49b9a2ea2a break out ibar menu population into separate function 2014-01-17 18:27:55 -05:00
Mike Blumenkrantz 312a53e44a further reduce ibar menu hide delay, make delay even shorter when leaving menu
it seems that I always have this thing stuck open for a long period of time after moving my mouse out through it. I suspect that most times when a user moves the cursor out of the menu and does not immediately move it back or to the icon, the menu probably shouldn't hang around. likewise, when it moves out of the icon, maybe we give a little extra time to reach the menu, but not so much that it hangs around if the icon was exited through the side
2014-01-17 18:21:13 -05:00
Mike Blumenkrantz c9d71e4044 add slight delay to ibar menu mouseover showing
this gets really annoying when mousing over the bar quickly and menus start flying all over
2014-01-17 18:19:00 -05:00
Mike Blumenkrantz 92b65633a4 hide mouseover ibar menu after mouse has left
T744
2014-01-17 18:13:03 -05:00
Mike Blumenkrantz 34988ff214 pass events on ibar menu during hide 2014-01-17 18:09:35 -05:00
Mike Blumenkrantz 8f99680994 fix ibar menu mouseover crash when dragging 2014-01-16 11:36:13 -05:00
Mike Blumenkrantz a148402b45 reduce ibar mouse out timer length
also since this wasn't done correctly in the original message

feature: ibar now optionaly triggers its menu on mouse in
2014-01-16 11:15:28 -05:00
Carsten Haitzler f2a5a5f570 ibar - fix collection of segvs dealing with ibar icon menu invalid refs 2014-01-16 21:30:56 +09:00
Mike Blumenkrantz 86656e4df9 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
2014-01-14 20:22:02 -05:00
Mike Blumenkrantz a0b07b9df7 fix ibar mouse in/out animations
previous operation resulted in repeated show/hide signals which looked bad.

going to have to investigate timer settings on this, current behavior, while a step in the right direction, seems unusable for me with the mismatch of no delay to show, LOOOOOOONG delay to hide
2014-01-05 23:51:47 -05:00
Carsten Haitzler 86f4dc82d5 ibar - add option to show icon menu on mousover 2014-01-06 13:19:56 +09:00
Mike Blumenkrantz 64b8da15a4 don't crash when ibar mouse rolling
T666 (wtf)
2013-12-15 13:36:55 -05:00
discomfitor 3694ec8a4c force autoscroll on ibar when allowing random apps to dock
T379
2013-09-20 15:35:01 +01:00
discomfitor f7e8dee23c when clicking an ibar icon for a non-order icon that has only one window, activate the window
T375
2013-09-20 15:08:06 +01:00
discomfitor b75f10b68b block ibar client adds for .desktops without icons
T388 probably
2013-09-19 20:09:40 +01:00
Mike Blumenkrantz 0775d755fa formatting 2013-08-22 11:34:45 +01:00
Mike Blumenkrantz 2679063067 send ibar icon signals even when app instances exist 2013-08-15 09:46:44 +01:00
Mike Blumenkrantz 84dc539ddf ibar obeys max size hint 2013-08-13 11:04:55 +01:00
Mike Blumenkrantz 0bb7ceb97c ibar now sets min size on init and then sets ASPECT on resize, since this is how we get correct sizing without being unable to ensmallen the gadget 2013-08-13 11:02:50 +01:00
Yossi Kantor ea8a5adad2 Bugfix: ibar popup doent show on additional screens just on main 2013-07-30 10:17:22 +09:00
Mike Blumenkrantz fa7744b4de fix ibar client menu to track multiple windows per exe 2013-07-26 14:42:48 +01:00
Mike Blumenkrantz 46babfef1a hide ibar menu when last instance window is closed 2013-07-02 08:34:44 +01:00
Mike Blumenkrantz 445ae27fad fix ibar task appearance when dragging off the bar 2013-06-24 05:40:03 +01:00
Mike Blumenkrantz 57549acc75 activating ibar tasks always pops the window menu 2013-06-24 05:40:03 +01:00
Mike Blumenkrantz 2bee74044f clarify ibar add/remove icon menu item text 2013-06-19 10:39:34 +01:00
Mike Blumenkrantz 6d9c4c0b4c add some safety checks for borders without execs 2013-06-19 07:09:43 +01:00
Mike Blumenkrantz fa8e976540 ibar tasks are now restricted by NETWM skip taskbar state 2013-06-19 06:42:39 +01:00
Mike Blumenkrantz cf0ea3e9fd BY THE POWER OF GRAYSKULL, IBAR IS NOW ALSO A TASKBAR
...optionally
2013-06-18 15:44:57 +01:00
Mike Blumenkrantz a054dc059c move ibar icon appending into ibar icon new function 2013-06-18 15:44:56 +01:00
Mike Blumenkrantz f8448c071a use new e_exec events to track/add/del new exes which are not launched from ibar 2013-06-18 15:44:56 +01:00
Mike Blumenkrantz 8f83d4d3aa fix ibar deletion list removal 2013-06-18 15:44:56 +01:00
Mike Blumenkrantz 18057e5a11 use event handler list macro for ibar handlers 2013-06-18 15:44:56 +01:00
Mike Blumenkrantz 527e5ef49a more ibar inlist conversions 2013-06-18 10:32:34 +01:00
Mike Blumenkrantz 48050a3d7d remove old TODO from ibar 2013-06-18 10:26:18 +01:00
Mike Blumenkrantz d9b5a6b82f convert ibar icons list to use inlist 2013-06-17 08:21:01 +01:00
Thomas Gstädtner 4e2dd06861 ibar exec list: allow fast application switching by scrollwheel 2013-06-17 07:49:22 +01:00
Thomas Gstädtner 1daf85faa5 rename ibar timer_cb to menu_cb, as it isn't used only for the timer 2013-06-15 10:14:48 +01:00
Thomas Gstädtner 934bae833d add middle mouse binding for ibar exec menu
this allows for quick, timer-less, access to the menu
2013-06-15 10:14:09 +01:00
Carsten Haitzler 02d9596178 fix ibar exe watcher segv hole.
i got a segv with ibar and exe instance watching. a watcher was still
active even tho ic was freed (i think)... i don't know the
reproduction steps, but i think this is a hole.. so plug it.
2013-06-04 19:18:43 +09:00
Mike Blumenkrantz c3bfd72525 delete ibar menu timer on mouse move to prevent interference when dragging icons 2013-05-30 07:49:53 +01:00
Carsten Haitzler 74d23ebd80 when an exe is removed from ibar icon exes, del watcher to avoid segv. 2013-05-20 22:24:30 +09:00