when attempting to drop on an icon, the drop area geometry was never included
in the calc, resulting in the drop changing between positions on every frame
Summary:
Clamping to Y makes pop ups get shifted up if a window is
near the top of the screen.
Reviewers: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2060
Summary:
cosmetic: Cleanup whitespace for wayland compositor
There is excess trailing whitespace in several of the files for the
wayland implementation. These patches attempt to apply the spacing
rules for Enlightenment as documented at:
https://phab.enlightenment.org/w/coding_convention/
The whitespace rules are applied using the following emacs tabbing
settings:
(defun start-efl-c-mode ()
"C mode with adjusted defaults for use with Enlightenment
development."
(interactive)
(c-mode)
(c-set-style "gnu")
(setq tab-width 8)
(setq indent-tabs-mode nil)
(setq c-basic-offset 3)
(setq defun-block-intro 3)
(setq statement-block-intro 3)
(setq case-label 1)
(setq statement-case-intro 3)
)
This patchset also eliminates all tabs in favor of whitespace, as per
the coding style rules.
Reviewers: zmike, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2048
Summary:
wayland: Check wl_array_add return for OOM condition
cosmetic: Make error return check syntax consistent with rest of code
wayland: Reuse use_adj to track child-forced adjust
wayland: Refactor to collapse if chain
wayland: Refactor _e_comp_wl_client_priority_adjust to collapse if chain
+ This uses early returns to unwrap a couple if clauses to make the code a bit less nesty.
wayland: Refactor if statements for consistency with rest of file
Reviewers: cedric, zmike, devilhorns
Subscribers: devilhorns, cedric
Differential Revision: https://phab.enlightenment.org/D2034
this came in a patch that I take full responsibility for not adequately reviewing at the time.
the names are confusing and counterintuitive, and it does not properly include the client namespace.
Summary:
This fixes T1828.
The theme also would have to support this!
Reviewers: zmike
Subscribers: myoungwoon, cedric
Maniphest Tasks: T1828
Differential Revision: https://phab.enlightenment.org/D1798
Summary:
Update the error message shown if a theme file is invalid. This isn't E17 any more. rEec1cd25cfe666665b9e5641c91d3ad1fd2f9f11c
{F13161 size="full"}
Reviewers: zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1959
this fixes some issues in the new randr2 code that made it not work
right with plug/unplug and lid close/open. now it does work right and
plugging/unplugging displays is seamless (if your driver does not give
plug/unplug events bind a key to update screen config acvtion and e
will figure it out when you hit the key).
the dialog for now is simple and lets you just raw edit the properties
per screen in a dialog. nothing fancy. not user firendly. but it works.
the randr core has been totally rewritten and tested against a range
of drivers and setups before even getting a commit. it works solidly
and configures screens reliably now. drivers tested:
nvidia
intel
radeon
some drivers still are unreliable in terms of delivering plug/unplug
events for outputs (both intel and radeon are flakey - nvidia is solid
and reliable). so to fix this there is now a screen redo action you
can bind to a hotkey or something and have e re-evaluate current
screen setup and apply ny pending config if needed.
also to make reconfiguring prettier the screen is faded to black
first, then configured, then faded back in. some drivers work
flawlessly with this, others still flicker some garbage.
i admit - i haven't tested nouveau, but my general take on this is the
randr code is now in far better shape than where it was (minus pretty
and easy dialog). the dialog can be done next, but i'd like to get the
core in now for more testing.
@fix
first place anyway. shoudl replace the entire dialgo one at a time by
an elm version not try and stuff elm widgets into where e widgets used
to be. this doesnt improve e's config dialogs, just makes them buggy
as all hell in the name of a move to elm.
Revert "e_widget_button -> elm_button conversion"
This reverts commit b1c976d80d.
Revert "update widget size hints when setting a resize object"
This reverts commit fdab0218b2.
Revert "remove no-longer-necessary size hinting in list widgets"
This reverts commit 21479f5019.
Revert "e_widget_textblock -> elm_entry conversion"
This reverts commit 8fe2f00f75.
Revert "e frame -> elm_frame conversion"
This reverts commit e9da6a02fc.
Revert "remove unnecessary size hinting"
This reverts commit b596623efd.
Revert "e_label -> elm_label conversion"
This reverts commit 049b318679.
Revert "set evas size hint min in widget min size"
This reverts commit 2f09aa2fda.
Revert "e_table -> elm_table conversion"
This reverts commit 6434012982.
Revert "remove unused vars"
This reverts commit b19e706b23.
borderless
This fixes the issue of elementary windows having 2 borders, however
it does expose a new issue where those same internal elm windows now
have a black shadow border around them.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
there is only one E_Comp which can now be accessed by the e_comp global.
if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable
pass -Wno-deprecated-declarations to ignore these warnings during build
Summary:
Compositor need to change the compositing mode to offscreen or render state depend on session activation state.
this patch is for it.
Test Plan:
(1) Run enlightenment on X.
(2) Change another VT.
(3) Run enlightenment on wayland and drm.
(4) Change the VT to enlightenment which is ran (1).
enlightenment on wayland will not render during session deactivation state.
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1816
this was removed without warning or explanation in r82118:
e: Change notification module to use internal notification API
Patch by: José Roberto de Souza <zehortigoza@profusion.mobi>
currently broken by T1954 for lines longer than 36 characters
This reverts commit 9157ca8ca7.
this also makes all dialogs that have content in a toolbar that goes
off window at min size resizable - this is actually what you wanted ..
bgut this previous "all dialogs are resizable" thing was uber-lazy.
Conflicts:
src/modules/bluez4/e_mod_main.c
src/modules/conf_bindings/e_int_config_signalbindings.c
src/modules/conf_theme/e_int_config_theme.c
src/modules/mixer/conf_gadget.c
src/modules/shot/e_mod_main.c
This does not change any behaviour, just moves code:
1. We only try to locate a crtc for an output in _e_randr_output_active_set
And we only do this when we set active.
2. We only search for a crtc in _e_randr_output_crtc_find
This includes looping known crtcs without querying X if it matches.
Please don't revert, but help cleaning. As the current code does not
work for me...
This reverts commit 4aef218d28.
Revert "randr: remember crtcid for fast lookup on reconnect"
This reverts commit 55b4ad41d1.
Revert "randr: further cleanup"
This reverts commit 3e02824663.
these make nvidia randr resolution changing work again. sorry seb.
even though cleanups might be nice... this code is FIDDLY and every
driver seems to work differently, so take it easy and be very careful
- make no assumptions. i know it works on my intel desktop and nvidia
deskop atm. once i get a vga cable i'll fix up intel laptop with
external display that has problems. i can try radeon too later. but
right now - this stuff needs to work. being clean is far less
important than working. :)
Primarly two things removed:
1. crtc->outputs should only contain outputs which should be enabled
So looping them twice in e_randr_apply is definitly wrong.
2. _e_randr_crtc_find should find a crtc for an output
So looping our crtcs again in _active_set is definitly wrong. If
_e_randr_crtc_find does not find us a crtc, it should be fixed there.
this hasn't been updated in over 1.5 years and has caused me to waste time repeatedly fixing build-related issues. in addition, it uses symbols which are no longer even available in efl.
if nobody updates/maintains this, it will be removed for e20 release
src/modules/access/e_mod_main.c: In function '_cover_new':
src/modules/access/e_mod_main.c:765:4: warning: implicit declaration of function 'ecore_x_input_multi_select' [-Wimplicit-function-declaration]
On some systemd SIGQUIT causes the logger to save a coredump.
Quiting bc here does not need save a backtrace here, the termination is
not a crash its a "closing" of the program.
The backlight module has an action to show the value of the backlight brightness
by showing the gadget's popup. Added a parameter to this action to adjust the
brightness at the same time.
Summary: This moves the additional actions to the top of the menu and the seperator right underneath.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1694
Summary:
The intel_pstate scaling driver exposes the `scaling_cur_freq` since
kernel 3.17 [*], it would be fine that the min and max frequencies
are known even without the `scaling_available_frequencie`.
This commit teaches to use the cpuinfo_{min,max}_freq as fallback in
case the `scaling_available_frequencies` is not available within
intel pstate.
[*] https://lkml.org/lkml/2014/11/11/1060
Signed-off-by: Takeshi Banse <takebi@laafc.net>
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1686
so e was storing randr config using XIDs to match outputs etc. this is
all kinds of wrong. XIDs are NOT STATIC. they change from xserver to
xserver and from run to run. they MAY be the same. they may not. so
this was just broken.
use output name + edid as a big "string" (name.edid) as a way ofr
identifying config for a specific combination of output plus monitor
and to find/identify the corrent output+monitor to apply it to (of
course missing edid gets replaced with ??? and missing output name is
??? too - i have never seen a missing output name so you get this at
least).
so this FIXES "restore" of screen mode on login for starters. this
does nothing to "fix" the screen setup dialog in any way. there are
separate issues there.
this also breaks e_randr config compat so i bumped epoch so your old
config is rejected. i don't see a sensible way of porting the config
forward.
Summary:
Changed the key to orig_path, cause this is used to decided if something
is a duplicated entry in e_orders or not.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1684
Summary:
This fixes the case when par is NULL, this means we should insert a
parent node between the 2 nodes and root. (T1790)
Example:
Each Number is a Window,
12
Focus on 2
Press Win+Up should end up in this:
2
1
This patch also makes the bahavior for 2 windows more
consistent
12
Focus on 2
Pressing Win+Right,
21
It Will just swap the nodes,
This is the same behavior then in higher levels.
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1643
Summary:
This implements the additional actions as specified in
FreeDesktop.org's desktop entry specification 1.1.
This version is implemented by Efreet 1.12
The additional actions are presented as right-click
menu entries.
@feature
Reviewers: zmike
Subscribers: tasn, q66, cedric
Differential Revision: https://phab.enlightenment.org/D1657
since the move to elm_win ... windows don't close with close button in
the titlebar. this fixes that in the simplest way - enabling autodel
on the window.
Summary:
Commit rE5b992bdc4a76 added the free for the list, the list is filed
with static pointers from the .c file, soo free will crash.
This pointer does not need to be freed, just freeing the list.
Test Plan: Just run the wizard
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1679
Summary:
The module is now working like it is described in T1773.
What the patch really does:
If a join request can not be done cause there is no node in the
direction to join, the join will try to break out the node into the
grand-grand-parent, this means a node can break out of his parent
without walking done each parent.
Issue as described in the original ticket:
Each number represents a different window:
122
134
155
Focus on 3, press Win+Left
I'd expect it to become:
132
134
135
But instead, nothing happens.
Fixes T1773
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1632
Summary: As pointed out by shiin, this causes an infinite loop due to
e_client_ping already been called in the pre_frame callback. Thanks
for spotting this !! :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
The patch will setup e_client_cb_ping_poller and as long as wl_surface is
active it will unset hung
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1608
Summary:
The patch will setup e_client_cb_ping_poller and as long as surface is
active it will unset hung
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1607
Summary:
This implements the possibility to "break out" a node in the tree which
means that the node will be appended or prependen to the parent in the
grandparent.
The other function "joins" the node to the node before or after.
Basically it will be added as a child, and if necessarry the client
of this node will be added in a new Window Tree and also added as a child.
With the new actions you can move the focused window right/left/up/down
with keybindings.
If the window will "break out" or "join" depends on the parent split type.
Sample:
1|4|6
2|4|6
3|5|6
(Same Number means same Window)
1 is focused.
Left Key is pressed.
1 is in a vertical split so the window will "break out".
Result:
2|1|4|6
2|1|5|6
Now another key:
Down Key is pressed.
1 is in a vertical split so the window will "join".
Result:
1|2|4|6
3 3|5|6
@feature
Fixes T1350
Reviewers: tasn
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1382
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
This feature allows to define an external mixer application, which replaces
the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
this re-commits this with tab fixes (no tabs)
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
Summary:
shell_surface_destroy function is a common destroy function to destroy all type of surfaces and to remove redundancy in code
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1421
users should keep in mind that this is not the fort knox of password storage, and someone who copies your config file could rainbow table a short password stored with this hash very easily. at some point in the future, if someone has the interest and time, perhaps this can be improved
fix T1627
If the function returned a handle to an object, the handle may be lost.
In _e_configure_fill_cat_list: Pointer returned from a function was
never used (CWE-563)
NB: Someone should have read EINA_LIST_FOREACH on this one ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
NB: This makes use of newly added ecore_evas_screen_geometry_get of
the ecore_evas_drm code in order to get the current screen size and
adjust the ecore_evas accordingly.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg_shell requires a parent surface in order to create a popup, so we
should check the validity of the parent resource and error out
accordingly
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1388
bottom line, this is a pile-of-shit protocol to work with if you're compositing. at present, any xembeds which were present before a nocomp event will be permanently destroyed, and they can't be recovered until the app re-creates them. afaik, no app does this unless you restart it.
Summary:
This is a fix for bug T1553: [Teamwork Settings] Sliders Should Be Disabled When Select "Disable remote media fetching"
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: zmike, devilhorns
Subscribers: cedric
Maniphest Tasks: T1553
Differential Revision: https://phab.enlightenment.org/D1375
Summary: mobile policy module provides user interface for small mobile devices like phones.
Test Plan: N/A
Reviewers: raster, devilhorns, zmike
Subscribers: seoz, zmike, cedric
Differential Revision: https://phab.enlightenment.org/D817
This feature allows to define an external mixer application, which replaces the internal mixer.
Examples: 'terminology -e alsamixer', 'pavucontrol'
@feature
This fix floats all the windows that don't fit because of their min size
restrictions.
It can be made better, at the moment it is very simple. An example
broken case would be the following:
Assume we have 3 windows, A, B and C.
B and C both hand a min width of half the screen.
First we create A, then B. Everything works as they share the screen,
but when we add C, both B's and C's restrictions "fail" so they are both
set to float although in reality, floating C is enough. This can be
fixed by doing a live scan of the tree every time a window is floated,
though it's not essential at the moment.
Fixes T952.
Don't set changes.icon during surface creation. There are functions
that get called when icccm.class changes and That is the place to set
changes.icon.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Additional authors: zmike
This fixes the issue of some wayland applications always showing up
with the e_border visible.
If we get a transient_set from wl_shell or xdg_shell, don't reset the
client's netwm.type. Some wayland applications are sending us
transient_set with parent to NULL....so don't explicitly set the
netwm.type to dialog.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: we also need to clear parent's resource.
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1238
really an error.
When we call shell_surface_parent_set with a NULL parent resource,
then there is No reason to try and find the pixmap window of a NULL
parent. Avoid that function call and just set the appropriate
properties and get out.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When the new drm hw accel engine is ready, we can replace this little
bit of code and have hardware-accelerated drm.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
There are no resource free codes in xdg shell destroy handler
and xdg popup destroy handler. e should delete wayland resource as
client requested.
Test Plan:
1. run e as wayland server
2. run weston-stacking in e
3. click with right mouse button to create xdg popup surface
4. click main surface area to delete xdg popup surface
Reviewers: devilhorns, zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1196
Summary:
we need to set ec->parent before eval time.
that's because client can request to commit surface calling shell.configure() before eval time.
in this case, ec->parent isn't set yet, configure(move) will be failed.
in order to fix it, we have to set ec->parent in _e_shell_surface_parent_set() before eval time,
but we should check if ec already have parent, and if so, remove its parent's transients before change the value of ec->parent.
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1177
Summary: remove EINA_UNUSED from used function parameters
Test Plan: N/A
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1173
Summary:
the value of "ec->parent" should be set in evaluation time,
therefore ec->parent->transients will be reset automatically.
Reviewers: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1155
Summary: Clear the E_Client's parent if client request to set parent to null.
Test Plan: run weston-stacking.
Reviewers: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1154
NB: This is done for wayland clients where e_client delete function
has already freed the client wl_comp_data Before we get a shell
surface destroy message from wayland. (occurs due to async nature).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When setting transient, tell the compositor that we need to reset the
window type for this surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>