Commit Graph

10102 Commits

Author SHA1 Message Date
Carsten Haitzler 871fed7493 e_shelf - check visiblity with zone and desk FIRST not later
es->cfg->desk_show_mode if false (default) implies a shelf is always
visible - true, as it's sticky (visible on all desktops). but this
didn't check zone. check zone first THEN this.
2015-04-28 07:51:35 +09:00
Mike Blumenkrantz 505b4551bb bump modapi version
lots of changes lately, may as well force rebuilds
2015-04-27 15:42:28 -04:00
Mike Blumenkrantz 5ae00e6525 redo drop handlers to take an E_Object and Evas_Object
temp change to fix crashing when closing fwins with ctrl+w
2015-04-27 15:39:43 -04:00
Mike Blumenkrantz b632afa546 more accurately determine whether a mouse grab is active in some parts of e 2015-04-27 14:32:19 -04:00
Mike Blumenkrantz 0c7ff0b0e9 add comp mouse grab detection function 2015-04-27 14:32:05 -04:00
Mike Blumenkrantz 76eec883b7 add e_grabinput_mouse_win_get() 2015-04-27 14:31:52 -04:00
Mike Blumenkrantz 1d6749e210 only allow efm key actions if key grab does not exist 2015-04-27 14:26:33 -04:00
Mike Blumenkrantz c7bdf6d992 add comp util function for determining whether the keyboard has been grabbed 2015-04-27 14:21:33 -04:00
Mike Blumenkrantz ff5b06b79d fix MANAGER context keybinds to work with rootless compositors 2015-04-27 14:11:05 -04:00
Mike Blumenkrantz e4298517dd add internal win trap to set override property on windows 2015-04-27 13:56:56 -04:00
Mike Blumenkrantz 59ea27e819 set internal win icccm name/class/title during win trap show
wl clients have no concept of icccm name, so this is the only way to set it

also, setting it here makes it available sooner for other functionalities
2015-04-27 13:55:47 -04:00
Mike Blumenkrantz 0d439345c1 set focus on comp autoclose objects
fix T2114
2015-04-27 13:20:52 -04:00
Mike Blumenkrantz b9c4171ab1 do not pass key events through autoclose handler 2015-04-27 13:04:53 -04:00
Mike Blumenkrantz ee44d29ebc ensure client max w/h props are set before applying them to client geom 2015-04-27 12:30:29 -04:00
Carsten Haitzler 969541a93c e auto-placement - don't include shelves from other screens
unbeknownst to anyone e was placing around shelvs on OTHER screens...
this ended up with some .. odd results every now and again.

@fix
2015-04-27 16:54:15 +09:00
Mike Blumenkrantz fd558491fd don't set e_comp->root for wl compositors
root is the root window. wl compositors do not have root windows.
2015-04-24 14:57:05 -04:00
Mike Blumenkrantz d0f48e6441 fix comp init failure case 2015-04-24 14:12:51 -04:00
Mike Blumenkrantz 3e50235e5b fix comp fake layer init for wl compositors
fix T2363
2015-04-24 14:12:44 -04:00
Mike Blumenkrantz 9c573a49ac fix internal win pixmap id int size in show trap 2015-04-23 12:35:22 -04:00
Mike Blumenkrantz 97a1642222 fix typo when setting event state in e_randr2_screen_refresh_queue()
a non-event should not unset this variable
2015-04-23 08:33:20 -04:00
Mike Blumenkrantz 4afb4b8fe9 simplify comp_x screen setup
we only care about the first root now, no point getting all the roots
2015-04-23 08:27:45 -04:00
Mike Blumenkrantz 0c0d481e4e check module name existence before reading from it
CID 1295427
2015-04-23 08:23:13 -04:00
Mike Blumenkrantz a86fe60d3a use const lists for drm devices in signal handlers 2015-04-22 21:20:57 -04:00
Mike Blumenkrantz a452baafca move comp_x screen setup code into e_randr
this was not x-specific, so move it for use in wl compositors
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz e64998b042 resize comp canvas on e_comp_canvas_init()
remove unnecessary call in wl drm output module
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 05d87a9b30 fix module blocking for wl modules
these should never be saved to or loaded from the config
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 4b1925dadf init randr during wayland init...always 2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 18c34ed151 change comp type check at start of e_comp_wl_init()
at present, this value will be set to either TYPE_NONE if no valid
compositor has been created or TYPE_X if running a wl compositor inside
an x11 compositor
2015-04-22 21:20:57 -04:00
Mike Blumenkrantz 15540c01e4 use randr for screen setup in wl-x11 output module
enabling this module requires that e is linked against ecore-x to
allow screen management
2015-04-22 21:20:53 -04:00
Mike Blumenkrantz 89ae59b407 always add e_randr2.c to e build
randr no longer requires x11
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz a4ea6e7f23 add a small screen management interface to E_Comp, remove hardcoded x11 randr calls
this interface is extremely basic and should allow easy additions for other display
backends
2015-04-22 21:19:00 -04:00
Mike Blumenkrantz 8c6ec83e43 break out comp_x gl/sw canvas creation into external function 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz 36ea1ba372 move comp_x randr init to screen init function 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz 3ac3e9bc71 ensure valid strings are send when sending wl output geometry 2015-04-22 21:18:53 -04:00
Mike Blumenkrantz df4ada7e75 fix ecore-x cflags/libs inclusion for e binary
these variables will always exist
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz e383b5b55a always register E_EVENT_RANDR_CHANGE
failing to register this will cause event handlers for it to fail
on creation
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz e1181c4d03 create e_comp during e_comp_init, set comp_type automatically
this simplifies comp creation slightly
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz de0b1b2d39 add E_PIXMAP_TYPE_NONE
null type currently only used during comp init
2015-04-22 21:18:42 -04:00
Mike Blumenkrantz 881e0ab805 move all x11-related randr code into e_comp_x_randr.c 2015-04-22 16:16:05 -04:00
Mike Blumenkrantz 7104e637ef _config_screen_find() -> e_randr2_config_screen_find() 2015-04-22 16:07:58 -04:00
Mike Blumenkrantz b4e65519d1 move acpi lid status tracking from e_randr to e_acpi 2015-04-22 16:05:16 -04:00
Mike Blumenkrantz 853d04592e move e_randr internal screen changing timer -> e_randr2_screen_refresh_queue() 2015-04-22 16:04:36 -04:00
Mike Blumenkrantz 98068e9b9c add e_acpi_lid_is_closed() for returning cached state of computer lid 2015-04-22 15:50:05 -04:00
Chris Michael 57611c6d2f e-comp-wl: Init randr if we are not wayland only
This is needed for the wl-x11 module

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-22 10:46:41 -04:00
Mike Blumenkrantz 0bad7b6025 unadjust frame coords when calculating wl surface placement during commit
ec->y -> unadjust -> ec->client.y
2015-04-21 16:19:30 -04:00
Mike Blumenkrantz f254531182 use pointer hash for wl pixmaps 2015-04-21 15:57:18 -04:00
Mike Blumenkrantz f276023e71 pass surface resource when creating wl surface pixmaps 2015-04-21 15:41:10 -04:00
Mike Blumenkrantz e869cb9649 disable client color editor for non-X clients for now 2015-04-21 15:21:19 -04:00
Mike Blumenkrantz 96f07bff8a wl client pixmaps now use a different method for creating the pixmap id 2015-04-21 15:19:20 -04:00
Mike Blumenkrantz 6e222cede8 add wl client event callbacks at lower priority
this ensures that bindings will activate before events are passed to clients
2015-04-21 15:17:56 -04:00
Mike Blumenkrantz b825af34cf use client geom for comp object centering functions if ec->new_client is set 2015-04-21 15:05:25 -04:00
Chris Michael 9b7358aa32 e-comp-wl: Don't crash if we fail to create a new e_client
This "should" fix T2344 crashing, however I suppose a better question
is ... why is e_client_new returning NULL when it Does find the client
already in the hash...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-21 09:38:00 -04:00
Conrad Meyer 90fe5a4d0d e_auth: Add suid helper for lokker own-pw checking on FreeBSD
Summary:
PAM on FreeBSD, unlike on Linux, does not allow users to check their own
password. Instead, we need a suid helper to do it for us. Add such a
helper on FreeBSD.

For now, it is limited to checking users in the local password database
(traditional Unix passwd file). This could and should be extended to use
PAM in a later patch.

Test Plan:
Tested empty pw, wrong pw, correct pw at lock screen; observed correct behavior
in each instance.

Reviewers: q66, zmike

Reviewed By: q66, zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D2355
2015-04-21 13:11:56 +01:00
Tom Hacohen 99b8d84485 Auth: try harder when clearing passwords.
Based on http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html

Thanks again to Matthew Garrett, for pointing this out on twitter.
2015-04-21 10:45:01 +01:00
Tom Hacohen acfdda6c7f E auth: improve clearing out passwords from memory.
Optimising compilers (like gcc/clang with -O1 or above) were optimising
out the memset(). Until link time optimisations are good enough, this
will prevent them from doing so. The best solution would be to use
memset_s() (c11), though it's not readily available yet. This is the
first step towards using memset_s() with a fallback for systems who
don't have it. A better solution, is to put it in Eina, to prevent LTO
completely. This will have to be done after the EFL release.
Even this is not entirely safe though, but at least it protects us from
some memory disclosure issues.

This doesn't solve the fact that we may store a copy of the password in
other places, like the input system. We need to address that too.

Thanks to Matthew Garrett for pointing this out or Twitter.
2015-04-21 10:19:48 +01:00
Carsten Haitzler 9eaac75ae2 e - e_client - fix added printf
665caad451 fix added a printf i didn't
notice - fix.
2015-04-21 11:00:24 +09:00
Carsten Haitzler 665caad451 e client - desk wait - ref it properly and clean up delfn
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
2015-04-21 09:36:33 +09:00
Carsten Haitzler c746beb202 e - xsettings - calloc buffer since we leave 3 of 4 bytes unset
the first 4 bytes is a msb/lsb thing for xsetttings - we ignore 3 of
the 4 bytes. thus we should just calloc the whole buffer to ensure its 0
2015-04-21 08:52:19 +09:00
Derek Foreman 1fb1f17db0 Fix wayland compositor on 32 bit systems
Summary:
_e_elm_win_trap_show() treats Ecore_Window as a 64bit data type when
it's actually the same size as the system's pointer type.

 #24HourFullPowerNoToiletNoShower

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2388

fix T2194
2015-04-20 18:18:20 -04:00
Mike Blumenkrantz 12d6cf8f3b fix submenu visibility during scroll
sometimes while quickly moving the cursor through menu items with submenus
the visibility flag would toggle more quickly than the menu object's visibility.
this is no longer the case
2015-04-20 18:08:07 -04:00
Jean Guyomarc'h ba975e702f e_backlight_main: fix compiling when not having Eeze
Summary:
EINA_UNUSED is defined in Eina. Since we are not using the program at all,
let's void main()'s arguments instead of trying to ignore them.

Test Plan: tested only on OSX, unbreaks the build.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2387
2015-04-20 17:03:22 -04:00
Mike Blumenkrantz ea7ec93af8 clear app menu cache any time a desktop is edited internally
ref T2271
2015-04-20 16:04:48 -04:00
Mike Blumenkrantz 3eaf4e8638 add function for clearing app menu cache
ref T2271
2015-04-20 16:04:31 -04:00
Mike Blumenkrantz 934d541795 use client geometry for starting unmaximize calculations
the resize operations in this function operate off client geometry, so
stop using frame geometry

fix T2170
2015-04-20 14:32:21 -04:00
Mike Blumenkrantz 14f44ef6e3 fix pixmap image clearing based on pixmap type
!@%!@$#!# borkerhorns!!!!!!

invalidates T2291
2015-04-16 14:39:09 -04:00
Stefan Schmidt 83572a3edb e_client: Remove self assignment from e_comp
Hopefully the last one of these self assignments.

CID 1291840
2015-04-16 17:00:08 +02:00
Mike Blumenkrantz af59e95b28 fix return value in backlight helper exe on non-freebsd systems
ref D2337
2015-04-14 20:37:47 -04:00
Mike Blumenkrantz 5dd146e7e4 fix nocomp_override conditional which would inaccurately toggle nocomp
hooray gcc 5.0
2015-04-14 20:26:21 -04:00
Conrad Meyer 4fc5495f4e backlight: Use basic ACPI sysctl knob on FreeBSD (kernel)
Summary:
Unconditionally build the suid-helper _backlight program; conditionalize
behavior on Eeze, FreeBSD (doing nothing on neither). Add logic to set
the FreeBSD sysctl in a similar manner to udev devices on Linux.

Add _bl_sys_find/_get helpers for FreeBSD that check for and consult the
video ACPI sysctl.

Test Plan:
Seems to work okay on my laptop (with EINA_CPU_FAKE=1 to workaround a threadq
race that I believe is unrelated -- T2287).

Reviewers: zmike, q66

Reviewed By: q66

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D2337
2015-04-14 14:20:33 +01:00
Mike Blumenkrantz 785cb47b89 set E_Exec_Instance desktop during client idler if none present
ref T2284
2015-04-13 16:16:37 -04:00
Mike Blumenkrantz 668de186ac fix desktop editor entry widget parenting
fix T2283
2015-04-13 15:46:00 -04:00
Mike Blumenkrantz db9348c16f do not attempt to re-center fullscreen/maximized internal windows
fix T2279
2015-04-13 15:39:30 -04:00
Mike Blumenkrantz f1438a4187 toggle comp_hidden and grab input while client color editor is active 2015-04-13 13:20:29 -04:00
Chris Michael 4d46aae57c e-comp-wl: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 09:28:26 -04:00
Mike Blumenkrantz 128338952e remove cslider widget
no longer used
2015-04-09 16:37:16 -04:00
Mike Blumenkrantz e569758fef remove csel widget
no longer used
2015-04-09 16:36:41 -04:00
Mike Blumenkrantz aeca417ebe redo color dialog to use elm colorselector
this is waaaaaaay less functional and good-looking, but at least it doesn't
crash
2015-04-09 16:34:00 -04:00
Mike Blumenkrantz 155a678ff4 make entry widget call changed callbacks on "changed" again
this caused infinite loops before, but now I'm removing the things that looped.

fixes a lot of config dialogs

ref T2271
2015-04-09 16:32:24 -04:00
Mike Blumenkrantz daf7f19837 don't redo min size hints on e_dialog show
these are guaranteed to be wrong because elm won't provide accurate size
hints without some arm twisting
2015-04-09 16:31:32 -04:00
Mike Blumenkrantz 01d27333b0 force dialogs to recalc content sizes before setting min size 2015-04-09 16:16:33 -04:00
Mike Blumenkrantz 5b2ab97ffc fix entry sizing in file props dialog
ref T2271
2015-04-09 15:19:10 -04:00
Mike Blumenkrantz 7ef480d1a6 set desktop editor appselector dialog to be resizable
ref T2271
2015-04-09 15:12:47 -04:00
Mike Blumenkrantz 276706ab9d match client dialogs to client's layer
a small annoyance for literally over a decade has been that window
dialogs would sometimes start behind their owners. now they don't.
2015-04-09 14:40:41 -04:00
Mike Blumenkrantz 57ade8c5ae raise deskmirror windows on startup
these get added bottom -> top on creation, so ensure that they are raised
2015-04-09 14:20:28 -04:00
Mike Blumenkrantz a3c6b7ada4 always lower e_layout children upon packing
fixes issues where a new child added would appear above other child objects
if the new child was meant to be stacked below other children

mostly noticeable in deskmirror
2015-04-09 14:20:28 -04:00
Mike Blumenkrantz 59b49538b1 remove layer setting from deskmirror
smart child objects can't have layers. apparently.
2015-04-09 14:20:28 -04:00
Carsten Haitzler da4d1ecfe8 add options to randr2 to ignore acpi and hotplug randr events. 2015-04-09 15:44:07 +09:00
Mike Blumenkrantz a73d2583c5 don't crash on wl shutdown
devilhorns? more like crasherhorns imo
2015-04-08 14:56:05 -04:00
Chris Michael fa68ec127d e_comp: Only need 'type' variable if we are building with HAVE_WAYLAND
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:49:17 -04:00
Mike Blumenkrantz 93e0ebd4e1 only call e_comp_wl_shutdown() for wayland compositors 2015-04-07 19:30:44 -04:00
Chidambar Zinnoury b637a4f586 Bugfix: e dialog: don’t crash when using the escape key to close.
Commit 99589eb5af introduced this bug as the callback creation wasn’t changed to suit the new prototype and stil passed a window object.
2015-04-06 21:53:21 +02:00
Mike Blumenkrantz 6e4710cc91 remove e_color_class 2015-04-06 15:26:36 -04:00
Mike Blumenkrantz 2fc7b0169c move colorclass config to use elm infra, redo cc dialog to use new editor
this will allow all colorclasses present in the current theme to be edited
instead of only the hardcoded ones in the module. it will also require
completely new translations, for which translators will need to read the edc
files of the default theme (cleverly located in another repo) and provide
translations to the _translate() callback in the theme module

the editor currently lacks indicators for active/type on the colorclass
list, but this can be added in time. meanwhile, a large amount of code is
no longer duplicated or maintained in this repo
2015-04-06 15:26:36 -04:00
Mike Blumenkrantz bdc0a6ab8b fix wl randr error message string 2015-04-06 14:29:47 -04:00
Mike Blumenkrantz e62ca8c671 make application color editor follow client geometry on move/resize 2015-04-06 12:39:07 -04:00
Mike Blumenkrantz 3498c6caf8 add colorclass editor to app menu 2015-04-05 16:27:18 -04:00
Mike Blumenkrantz da149ba021 block ignored clients from lost client list 2015-04-03 20:57:52 -04:00
Carsten Haitzler c85c02ab0d e - lost windows menu is back. no windows menu does not handle it.
fix lack of lost windows submenu. no - windows menu does not handle
it. lost windows lists windows that are LOST - out of screen bounds.
this happens a lot with some apps asking to be placed out of bounds
for whatever silly reasons they have. you literally cannot get these
windows back without this menu. bring it back!

@fix
2015-04-03 17:53:26 +09:00
Stefan Schmidt f848a8abec e_module: Whitelist geolocation module 2015-04-02 15:14:11 -04:00
Mike Blumenkrantz 617c2d96ff move wl E_Client creation to same place as E_Pixmap creation
ensure that surface manipulation functions will succeed even with no shell surface
2015-03-30 12:13:04 -04:00