summaryrefslogtreecommitdiff
path: root/src/modules/winlist
Commit message (Collapse)AuthorAgeFilesLines
* modules - flattenify icons of more categories - conf to go...Carsten Haitzler (Rasterman)2021-04-141-0/+0
|
* winlist - add list window miniatures option you can turn offCarsten Haitzler (Rasterman)2021-04-042-1/+9
|
* winlist - fix single itom on line case ...Carsten Haitzler (Rasterman)2020-11-271-2/+0
|
* winlist - optimize layout calcs when you have more windowsCarsten Haitzler (Rasterman)2020-11-271-18/+23
| | | | | | | | | | | | | | | | | | | initial "how do i size and lay this out" is a fuzzy algo that tries to stuff all the windows into a single screen with several rows of windows (in large mode). it has to trade off sizing for a squarish layout with mu;ltiple rows so does some passes and tries and bisecting etc. - the problem is each stage goes and does a lot of object changes re-laying them out and querying them. this is expensive. this does a row length calc on its own without the objects to save a whole lot of overhead. in theory i could actually skip almost all the object stuf and make more assumptions and reduce the object fiddliong to just an initial "how much fluff around a window item in the list and how much fluff around the winlist (like padding/title and so on) and then just do some raw math (and even flatten into arrays for cache friendliness). but it's fast enough right now without a lot of changes. can always revisit this in future.
* winlist - dont show anything at all if no windows in the winlistCarsten Haitzler (Rasterman)2020-11-091-0/+10
|
* winlist - add enum for mode to be clear its large modeCarsten Haitzler (Rasterman)2020-11-092-20/+28
|
* winlist - handle size and border/shadow chages on the fly while visibleCarsten Haitzler (Rasterman)2020-11-051-9/+16
|
* winlist large - handle sizing logic hole to size properlyCarsten Haitzler (Rasterman)2020-11-041-6/+16
|
* winlist - handle todo's like zone del, move/resize, client resizeCarsten Haitzler (Rasterman)2020-11-031-3/+64
| | | | dot some i's, cross t's
* e winlist - add large mode and deprecate some old condig like geomCarsten Haitzler (Rasterman)2020-11-033-265/+486
| | | | | | | | | | | | | | | | this adds a live exposé style set of windows in large mode and 2d navigation, allows it to stay up so you can bind to a single key or mouse button to bring up and keep thre unbtil dismissed etc. ... this requires theme changes and for now these changes have only been added to the flat theme branch in efl - they will become default in the future, so dont use this and expect it to work unless you also try the flat theme default from the flat branch in efl. see https://phab.enlightenment.org/T6726 for details on that. this is not complete. it has some TODO items at the top with XXX: but .. it's good enough now to share. @feat
* winlist - support window thumbnails if theme supports itCarsten Haitzler (Rasterman)2020-10-171-0/+35
|
* settings -> window: settings window align optimizationsSimon Tischer2020-04-111-5/+5
| | | | | | | settings -> file manager window align optimizations Reviewed-by: Christopher Michael <devilhorns@comcast.net> Differential Revision: https://phab.enlightenment.org/D11681
* module and config - remove pointless config vars that have no useCarsten Haitzler (Rasterman)2019-09-101-1/+0
| | | | | | | | we dont need to delay module loading anymore so remove allof this - priority too shouldn't be necessary as well and was just a workaround. this remvoes all of that removing some e module api's and module struct members as well as some global config fields. it also ensures all config files are up to date as well.
* winlist - use new geom key navigate action utilCarsten Haitzler (Rasterman)2019-09-051-12/+16
|
* winlist - remove debug printfCarsten Haitzler (Rasterman)2019-02-101-1/+0
|
* fix alt tab winlist focus orderingCarsten Haitzler (Rasterman)2019-02-101-7/+2
| | | | this fixes T7687
* winlist - on 32bit dont warn about cast from generic to specfic objCarsten Haitzler (Rasterman)2019-02-081-1/+1
| | | | | an alignment warning that is not useful, so less noise - remove it with a void *
* e - winlist/client - don't leave dangling action on windowCarsten Haitzler (Rasterman)2018-11-201-1/+3
| | | | | as winlist doesn't target specific windows ... don't leave the action on the window dangling there. finally fixes T6415
* e winlist focus and input - fix to work with basic wheel/mouse evCarsten Haitzler (Rasterman)2018-11-092-17/+23
| | | | | | this fixes T6415 @fix
* e winlist - allow dnd to work while alt tab is goingCarsten Haitzler (Rasterman)2018-10-111-3/+8
| | | | don't grab the mouse ... unleess it as mouse activated.
* clean up .desktop files and misc typosRoss Vandegrift2018-01-041-1/+0
| | | | | | | | | | | | | | | | | | | | Summary: Drop deprecated Encoding key from desktop files The Encoding key is no longer required, all desktop files are assumed to be UTF-8 encoded. See details at: https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html Fix various typos and misspellings lintian, Debian's package checker, uses strings to check for common typos in compiled binaries. This change fixes the ones it identified in 0.22.1. Reviewers: zmike! Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5585
* more E_BITFIELD conversionsMike Blumenkrantz2017-11-081-2/+2
|
* meson: use file instead of doing the relative path by handMarcel Hollerbach2017-08-081-2/+2
| | | | | | | | | | | a reason for doing that is that you can just pack together targets into a array and pass them to our helper, and the helper will just handle them, so even module with eldbus codegen etc is now supported. This also means that we are just passing the src object directly into the shared_module call, which means the user of our helper can just pack everything he needs into the src var and the helper does not need to know about it.
* e module build - make build files far more generic and far smallerCarsten Haitzler (Rasterman)2017-07-291-28/+0
| | | | | | | | | | now mdoule build files that fllow one pattern (the most common by far) all JUSt list their souce files and nothing else. this really cuts down on build size/complexity. there are other patterns too (no icons at all) that i'll do next, then we're down into "weird" land where i'll have to think of some more interesting ways to deal with this.
* module build - clean up and fix meson install of pretty much all modulesCarsten Haitzler (Rasterman)2017-07-271-17/+29
| | | | | | | | | | | | | | | | | | | | | so we';re missing installing desktop files. edj icon files, wizard data files in the wrong place, and much more. this also cleans up the module meson build of pretty much all modules and make their build files cimple and consistent so it's far easier to re-use things from one module to the next. we should aim for simplicity, consistency between as much as possible so we can refactor and turn into maybe functions later. imho that starts with consistency though. until i can see all the common patterns clearly, i don't want to write functions yet. it's easier to see if all the files are consistently using the same vars and formatting etc. etc. etc. but either way the installation needs fixing so it installs all files in the right places with the right permissions etc. etc. etc. this doesn't fix all module build files bt all the ones i found that were broken installs and they use what i think is a cleaner/simpler template, BUT there is far too much copy & pastage here... far too much.i need to find a cleaner way to automate this.
* meson.Mike Blumenkrantz2017-07-201-0/+23
|
* do not generate module.desktop filesMike Blumenkrantz2017-07-141-0/+0
| | | | | the purpose of this is to allow variable substitutions, but no desktop files do this so it's a waste of build time for no reason
* Replace all timer_add with timer_loop_addDerek Foreman2017-02-031-1/+1
| | | | | | | | | | | | | | | So yeah, I've literally used sed to replace every occurrence of ecore_time_add() with ecore_timer_loop_add() because I'm reasonably confident that no part of E has a legitimate need for timer based on the exact current time. It would be really nice if I'm not wrong. :) The reason for this is the incredible spew of clock_gettime() calls I'm seeing on an ARM system (that should have a vdso for gettime, but...) This can amount to thousands of system calls per second. #YOLO
* e - BLOODY BUILD AGAIN - DAMN FLOAT WARNINGS...Carsten Haitzler (Rasterman)2017-01-071-1/+1
| | | | | | | i swear ... all of this shit over a warning that CAUSED more bugs than it eveer fixed? sersiously... ARGH!
* resolve winlist float-equal warningsMike Blumenkrantz2017-01-062-16/+18
| | | | Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
* e icon - use new skip header async preload to make icon loads asyncCarsten Haitzler (Rasterman)2017-01-021-4/+2
| | | | | | | | | | now they can be trule async hopefully stopping things like application menu from stalling while loading icons header... which is really nasty with svg's. this actually makes icons async by default which is really EXACTLY what you want. this also prepares for later making edje loads async. @feature
* e winlist/alt tab - use bottom/base win for icon but active for titleCarsten Haitzler (Rasterman)2016-12-201-47/+13
|
* e winlist/at tab - understand stacks and filter accordinglyCarsten Haitzler (Rasterman)2016-12-191-4/+88
|
* update winlist ui when using directional window selectionMike Blumenkrantz2016-02-261-42/+14
| | | | | fix T3152 ref b1378ce77b5e353bc422276eeef1d30d356ab9fd
* add bool return for mouse-based E_Action callbacksMike Blumenkrantz2016-02-031-8/+10
| | | | | | | | | | | | in many cases, a mouse action's callback will fail to execute as a result of multiple objects being under the pointer at the time of the event. in this case, the callback should be able to determine whether action callback processing should continue. as an example, when attempting to execute an action which only activates for client objects, if the passed object is not a client then the callback should return false to indicate that it was not able to perform the action for the given object, allowing further actions to be attempted on this object
* simplify and clarify winlist directional selection action codeMike Blumenkrantz2016-01-071-5/+2
| | | | | | | in the case where no prev/next direction is specified a navigational direction will always be specified CID 1347403
* Add missing function prototype for e_winlist_direction_selectChris Michael2015-12-241-0/+1
| | | | | | | | This function is being used inside e_mod_main, but the function prototype was never exposed which lead to implicit declaration warnings when building winlist module Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
* enhance winlist next window selectionToan Pham2015-12-222-273/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The original next window selection of winlist is weak. It searches the next window with the following conditions: 1. Next non-overlaped window in the direction of user's selection (up,down,right,left). 2. The next window has to be the closest window from the currently selected window (calculated from shortest distance from each window's border, in the direction of selection) 3. the second distant requirement is this: delta2_next = abs(ec_orig->x - ec_orig->w / 2 - ec->x + ec->w/2); * Which I believe is a mistake, should be: delta2_next = abs(ec_orig->x + ec_orig->w / 2 - ec->x + ec->w/2); These two conditions are weak, and they sometimes can result in unexpected selection to the user. The enclosed patch enhances the next window selection: 1) A next window selection can be the window that's overlapping with the in-focused window. 2) calculates the next window from the center of the currently focused window to the next window, and it also takes into account directionality (a window that's farther in the direction of selection has a better chance of being selected then a window that's closer in the direction of selection, but offset-ed in the lateral direction.) Test Plan: 1. Create 4 key binds for "next window to left, right, up, down". 2. Open up 4 different windows and position them in odd/random positions. 3. Try to navigate to each window (with the winlist shortcut keys) before this patch. 4. Try with this patch, and evaluate if the window selection is more **PREDICTABLE**. Reviewers: zmike Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2661 I fixed the weridness and it behaves much more reliably now with "tall" or "wide" windows. also fixed some formatting etc. etc. - this now works better and now if u alt+tab AND then use arrow keys while holding alt... it'll navigate around geometrically rather nicely. so big fixes and good for pointing out the simpleness of the original code. :) - raster @feat
* e/win_config: allow content of some dialogs to resize with the windowshorne2015-11-051-5/+5
| | | | | | | | | | | | | | Summary: Currently the dialogs in Winows > Window List Menu and Window Display are resizable the their content does not resize. This patch fixes that. Test Plan: Open windows in window config dialog and ensure they can resize propertly Reviewers: zmike Subscribers: raster, cedric, seoz Differential Revision: https://phab.enlightenment.org/D3275
* handle winlist kbd events more accurately in wayland compositorsMike Blumenkrantz2015-08-171-10/+15
| | | | | | | | key handlers here will pick up both wayland and drm engine type events, so ensure that we only handle events matching the compositor canvas window to prevent unexpected behavior fix T2637
* do not block winlist activity based on event window in non-x11 compositorsMike Blumenkrantz2015-07-211-7/+6
| | | | fixes winlist interaction in wayland
* ensure that focus is set and focus stack is managed on winlist hideMike Blumenkrantz2015-07-151-2/+4
| | | | | | | if pointer warping is disabled, attempting to pointer warp with mouse-based focus policies will fail here, preventing focus from being applied as expected ref T2566
* enlightenment: Make E build again with EFL from gitChris Michael2015-05-071-4/+4
| | | | | | sed -i 's/EAPI/E_API/g' Signed-off-by: Chris Michael <cp.michael@samsung.com>
* completely remove E_ManagerMike Blumenkrantz2015-03-191-1/+1
| | | | the final step in flattening all the canvas/screen apis
* __UNUSED__ -> EINA_UNUSEDMike Blumenkrantz2015-03-184-23/+23
| | | | this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
* remove E_Zone->comp memberMike Blumenkrantz2015-03-132-22/+11
|
* e_zone functions no longer require E_Comp paramMike Blumenkrantz2015-03-131-1/+1
|
* e_client functions no longer require E_Comp paramMike Blumenkrantz2015-03-131-2/+2
|
* remove e_util_comp_current_get() usageMike Blumenkrantz2015-03-131-1/+1
|
* remove E_Client->compMike Blumenkrantz2015-03-131-2/+2
|