Commit Graph

508 Commits

Author SHA1 Message Date
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Sebastian Dransfeld 764755eb9f e: Add preferred desktop environment for apps
In preferences we show which external applications can be used for
setting preferences. If several desktop environments are installed, this
list will have several duplicates, as there can be many different apps
for setting a preference.

With this setting we can filter out for one desktop_environment.

@feature
2014-09-18 10:51:42 +02:00
Mike Blumenkrantz ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Mike Blumenkrantz 369ff9c2b9 use_shaped_win can indeed be removed entirely! 2014-08-11 20:30:59 -04:00
Carsten Haitzler 3eb8330144 remove performance - engine cfg dialog as its obsolete
this dialog had a singl option in it - use shaped windows... and we
don't even use it anymore. remove the dialog to avoid confusion and
set use shaeped window to 0 - maybe config val could go entirely?
2014-08-11 10:56:35 +09:00
Mike Blumenkrantz 1080b3d5d7 bump config version, update p16 module users to regular p
come on.
2014-08-06 14:18:54 -04:00
Carsten Haitzler 5c8710ded3 fix screen blanking while fullscreen window is up - work again
@fix - this fixes T1019 - when a window is fullscreen the display just
NVER can blank no mater what. it's hrdcoded, and wrong to enforce. if
an app wants to display screensaver - there is the xscreensaver extn -
or maybe supporting an explicit property on a window would work
better, but just equating fullscreen == never blank is wrong. it's an
option now. off by default.
2014-03-01 08:04:09 +09:00
Mike Blumenkrantz e86dc53ddc feature: per-screen desklock logo visibility config
T613
2014-02-21 17:18:57 -05:00
Mike Blumenkrantz d3468dd920 feature: ACTIVATE_EXCLUDE window active hint policy
this option causes window activation requests to only activate a window if it is on a currently visible virtual desktop, otherwise it will be set as urgent. I recall that things may have worked this way long ago...
2014-01-30 12:45:49 -05:00
Mike Blumenkrantz 6ef655d2dd feature: blanking options for wakeup on events (urgent + notify) 2014-01-20 16:08:14 -05:00
Mike Blumenkrantz 9c5509b236 add versioning to remembers to prevent badness when new properties are added 2014-01-14 20:29:00 -05:00
Mike Blumenkrantz 56ae997976 deduplicate E_Remember edd
what if we weren't insane and didn't have the same exact code in 2 places?
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz 166ed0d234 feature: new focus option "raise on revert focus"
this option provides the functionality which was intended by the old and broken "raise on focus" option. it raises windows ONLY when reverting focus in cases not directly triggered by the user or any application
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz c081cee34d remove e-specific theme config members 2014-01-14 20:28:59 -05:00
discomfitor 3b15315764 feature: add PIN-style desklock for lokker module
accessible from the normal screen lock dialog
2014-01-14 20:28:59 -05:00
Mike Blumenkrantz 235c369adf feature: make desklock hookable, break out current desklock into module, move pam stuff to separate file
after this commit, the new-but-invisible module "lokker" (or other custom loaded module) is in charge of creating all graphics for the lock screen, and it will be added to the user's config. failure to load a lockscreen module will just result in a black screen

desklock subsystem now handles all the pre/post lock stuff while the modules themselves are responsible for creating visuals and calling auth functions to determine whether to unlock the screen
2014-01-14 20:28:59 -05:00
discomfitor cb956069d5 feature: revive personal desklock passwords
these were previously disabled because hashing a password was too much work (I guess?), but now they're back. config dialog has changed accordingly
2014-01-14 20:28:59 -05: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 40e947db15 bugfix: store opacity in remembers like we do in the other remember edd 2014-01-01 15:39:35 -05:00
Mike Blumenkrantz 292bcf6e81 only allow backlight to go to 0.1, not 0.0
on some backlight devices, 0.0 is completely off, which can render the system unusable.

T651
2013-12-17 11:22:56 -05:00
Mike Blumenkrantz 63f9ddcbb0 improve upgrade path for removal of raise on focus option 2013-12-01 10:19:59 -05:00
Carsten Haitzler a1d1e40559 elm integration improvement - copy themes over, fix includes and null config
provide a config upgrade path to version 13 which nulls/frees out
theme config (save memory - but more housekeeping), and that also
copeis ofer all files in ~/.e/e/themes to ~/.elementary/themes so you
don't lose themes you personally have and deletes the old e theme dir
if this succeeds.

also remove all #includes of Elementary.h and Emotion.h from single c
files as they are requirements now and in e.h

also remove theme path vars and code as theme path is no longer used.
2013-11-01 15:53:05 +09:00
Mike Blumenkrantz f1a65ee922 remove "border_raise_on_focus" config option
buckle up. for the first time in history, a config option is getting removed instead of added.

the reasons for this removal are many, but let's go way back to the beginning and see why it was added:
oh wait, we can't because the commit message (from 2006) is

>>    patches that i said were in - commit. (see my reply emails)

>>    also finish off a TODO item or 2

reading through the TODO items which were also crossed off in that commit, I'm assuming that this was the "option to NOT raise on focus in click to focus" item.

== REASON 1 ==

the problem here is that there's another, BETTER option called "click raises window" (always_click_to_raise) which does the same thing, except it doesn't totally fuck you when you get a random X focus event, which happens more often than you might think.

this means that, to avoid broken behavior which might cause your windows to spastically raise for a few frames in common cases (using winlist...) with click-to-focus, you have to know that this is the default-enabled option that's fucking you, and you have to remember to manually disable it every time. if you DON'T know that this is the option that's fucking you, and you just see windows randomly raising on their own, you'll probably either ignore it or file a bug, when this is supposed to be a "feature" that actually worked in reverse, since it was intended only for disabling.

== REASON 2 ==

there's also auto-raise, which can be set to 0.0s, which is effectively the same thing since it also triggers on focus but can be configured not to fuck your window stack

== REASON 3 ==

aaand finally, this option makes any sort of pointer focus model impossible to use, since your windows will constantly be raising all over as you move the mouse

tl;dr: I'm removing it, e-dealwithit.gif
2013-10-07 06:49:33 +01:00
Mike Blumenkrantz 2c1390e7c8 fix binding upgrades from e17 2013-08-19 10:31:25 +01:00
Mike Blumenkrantz 5b3408bb85 s/E17/E18/ 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz 9a615c1438 new user-requested option for moving the winlist-selected window to the current desk 2013-05-30 14:23:13 +01:00
Mike Blumenkrantz ad89c33535 remove unused "modal_windows" option which was breaking dialog focus in some cases 2013-05-10 13:08:52 +01:00
Mike Blumenkrantz 718dfef61d giant comp rejiggering commit #6:
* border->fx REMOVED, related border api REMOVED

* comp edc has new class of groups: e/comp/effects[/auto]
** these are effects which can be applied to any compositor object through the e_comp_win_effect* api and are written in embryo
*** two types - base and auto - base = manual, for use with animators; auto are "trigger and forget", for use as actual effects

* desk flip transition animations moved to comp effects and FIXED(ish)

* "zoom" effect renamed to "diagonal" for slightly less misleading name since it never did any zooming

* actual "zoom" effect added

* border hierarchy now as follows: cw->effect_obj swallows cw->shobj, cw->shobj swallows cw->bd->bg_object ?: cw->obj, if (cw->bd->bg_object) cw->bd->bg_object swallows cw->obj
** cw->effect_obj now used for all positioning and comp logic
** cw->effect_obj ONLY used for object transformation effects (moving, zooming, fading, etc)
** cw->shobj ONLY for comp visual/non-movement effects (focus effect, unfocus opacity, legacy shadows); this is a candidate for removal/rewrite in E19

* even more comp shape rewrites

* desk flip animation time now controlled by theme since edje doesn't support setting transition time in C; related config value removed

* desk flip transitions (in e_desk.c) rewritten

* various modules (evry/illume2) updated to use comp effects instead of fx offset

* desk flip configuration BROKEN(ish)
2013-04-15 08:39:16 +01:00
Mike Blumenkrantz bf9933a336 E_FN_DEL macro renamed to E_FREE_FUNC with param order swapped for consistency 2013-02-22 13:18:30 +00:00
Christopher Michael e33fe5ac71 Remove all references to the old randr config.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84120
2013-02-19 10:55:17 +00:00
Mike Blumenkrantz df0920e3a7 patch by Deon Thomas which implements efreet menu caching for e_int_menus
SVN revision: 83939
2013-02-15 08:16:06 +00:00
Mike Blumenkrantz a4ef12329e add config option for remembering filemanager windows globally instead of per-directory
ticket #1982


SVN revision: 83718
2013-02-07 08:20:42 +00:00
Mike Blumenkrantz 893b867070 add option for disabling all keyboard layout changes
SVN revision: 83674
2013-02-06 10:51:54 +00:00
Mike Blumenkrantz ea684db564 move e_bindings allocation to after we're sure we need it so we don't leak those precious 20 bytes of memory
SVN revision: 83660
2013-02-06 08:36:59 +00:00
Mike Blumenkrantz f76af85149 fix another binding upgrade bug
SVN revision: 83656
2013-02-06 07:49:45 +00:00
Mike Blumenkrantz fcd92901fc winlist_warp_speed->pointer_warp_speed
pointer warp options consolidated into their own tab in focus settings


SVN revision: 83633
2013-02-05 14:22:54 +00:00
Mike Blumenkrantz d7c52deb98 merge all bindings dialogs into single module: conf_bindings
configs have been updated to load correct module and modapi version has been bumped to invalidate old modules


SVN revision: 83632
2013-02-05 14:03:11 +00:00
Mike Blumenkrantz ec87e69908 add yet another pointer warp option: disable all warps
ticket #asdfuser


SVN revision: 83629
2013-02-05 13:33:49 +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
Mike Blumenkrantz 6f2737928d fix bindings wipe bug that crept in a day or two ago
SVN revision: 83622
2013-02-05 10:42:27 +00:00
Mike Blumenkrantz 62ae68b344 move around init for e_bindings a little to handle case of people eventually updating from E17->E18
SVN revision: 83596
2013-02-04 12:12:12 +00:00
Mike Blumenkrantz 9560536c11 add a handy macro for notifying users of config updates in log
SVN revision: 83589
2013-02-04 10:48:00 +00:00
Mike Blumenkrantz d1be1fc8bb add profile types to config so it will be possible to determine what type of config the user started with
SVN revision: 83588
2013-02-04 10:45:51 +00:00
Mike Blumenkrantz ac9d6f6027 a really horrendous commit to fix a typo in the xkb changes last week which caused config to be saved wrong
no configs were harmed in the making of this


SVN revision: 83586
2013-02-04 10:14:57 +00:00
Mike Blumenkrantz 95209aa915 save bindings config immediately after transferring to ensure it doesn't get lost
SVN revision: 83570
2013-02-02 09:01:16 +00:00
Mike Blumenkrantz 907d4fa211 it's much more likely that someone encountering a binding upgrade situation will be on a desktop and thus want the standard profile as a consolation prize after all their bindings are wiped
SVN revision: 83558
2013-02-01 12:31:05 +00:00
Mike Blumenkrantz 4ad2b363ed add functions for freeing binding config structs
SVN revision: 83545
2013-02-01 10:35:33 +00:00
Mike Blumenkrantz c48fd0b06d giant commit that wipes all bindi^W^W^Wsplits out binding configs into a separate config domain so they can be more easily copied and so they won't be wiped in the event that primary config is wiped
also splits all binding lists out of e_config: they are now conveniently located in the global "e_bindings" struct


SVN revision: 83544
2013-02-01 10:21:54 +00:00
Mike Blumenkrantz 57933c9d02 giant rollup commit fixing all xkb issues
tickets #1799, #2082


SVN revision: 83531
2013-01-31 17:50:45 +00:00
Miculcy Brian 9d781fa8ac Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that.
SVN revision: 82772
2013-01-14 17:26:13 +00:00