Commit Graph

717 Commits

Author SHA1 Message Date
Cedric BAIL 5f15fae4e7 tabs: improve behavior by making possible to navigate between them by using mouse wheel.
More theme work is needed, but first step for T449.
2013-12-13 14:59:26 +09:00
Cedric BAIL d4445b87f9 autotools: we do include file from subdir, so we need this option 2013-12-13 14:58:12 +09:00
Aleksandar Popadić e170f85ce3 Do not switch buffer if buffer already switched.
Summary:
Mutt does this. It sets the alternate buffer, it disables it, it
disables it again and enables it back.

Test Plan:
Run mutt, quit mutt, run mutt, quit mutt. You should see the
residual background from mutt.

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D371
2013-12-10 21:45:11 +01:00
Aleksandar Popadić 59a7627e86 Fix reflow on resize when in alternate buffer. Closes T637
Summary:
After commit 05d091483a screen swap form
alternate buffer to primary buffer is not the same as the reversed. Take this
into account when resizing.

Test Plan: Build history, man echo, resize, quit manual.

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D370
2013-12-10 21:23:32 +01:00
Carsten Haitzler 6cbc4c1a09 wrap code - line2 COULD be NULL technically, so handle that case 2013-12-06 19:00:23 +09:00
Boris Faure 05d091483a fix changing state when swapping buffers. Closes T605
For some reason, this is not a real swap. Thanks to gregkh for the great
bug report.
2013-12-05 22:48:58 +01:00
Boris Faure c93c431279 have a list with the keybindings
This is ugly, makes evas complain… but it's better than nothing and users
might discover the bindings about the "tab" switcher…
And we're in feature-freeze.
2013-12-04 22:51:45 +01:00
Boris Faure 2ae7fada13 add dummy option about key bindings 2013-12-04 22:07:13 +01:00
Boris Faure bb86f4b07b cleanup options code 2013-12-04 21:42:16 +01:00
Carsten Haitzler 83b8fec527 theme selector - use gengrid instead of list
this makes the theme selector look much nicer. it's a step in the
right direction, but not 100% there. did this more as an example for
people filling in wallpaper and color selector (colors will need to
have a scheme/theme and preview too and then a way to edit a custom
theme/scheme).
2013-12-03 15:25:37 +09:00
Aleksandar Popadić b31638a630 Fix resize from width=1 to wider.
Test Plan:
Shrink terminal to width=1 and expand. Empty lines appear above
prompt line.

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D361
2013-12-02 21:51:03 +01:00
Boris Faure da8c2ce773 emulate cursors if needed on mouse wheel. Closes T411
This is done when in alternate buffer and no mouse mode is set.
2013-12-01 23:40:58 +01:00
Boris Faure fa0cdc0e1d remove unused parameter 2013-12-01 23:19:54 +01:00
Aleksandar Popadić d0c6c1d457 Rewrite reflow on resize
Summary:
simplify code (treat every resize as a single case) and fill the lines
from the bottom up

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D355
2013-12-01 19:47:12 +01:00
Boris Faure fae338a84f typo. Closes T544 2013-12-01 19:07:39 +01:00
Boris Faure 185249b6bd use more safety macros on Termio *sd 2013-12-01 18:50:45 +01:00
Boris Faure 54aa692ee2 fix selection pasting on wrong term. Closes T408 2013-12-01 18:22:17 +01:00
Boris Faure fd38df3108 fix controls button "copy" not reflecting correct selection state 2013-12-01 16:49:35 +01:00
Boris Faure 49b08115c9 mouse down focuses a term, whatever the button 2013-12-01 16:35:10 +01:00
Boris Faure 81a7d98f2f fix handling of DCH. Closes T537
As characters are deleted, the remaining characters between the cursor and
right margin move to the left. Character attributes move with the characters.
The terminal adds blank spaces with no visual character attributes at the right
margin. DCH has no effect outside the scrolling margins.
2013-11-23 19:31:49 +01:00
Aleksandar Popadić 11db9a1117 Fix screen swap when using alternate buffer.
Summary:
The circular_offset should not be set to 0 because the first line from
screen2 is copied to the offset line in screen.

Test Plan:
Try "man echo", scroll down and exit. The screen is not restored
properly.

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D345
2013-11-22 22:17:02 +01:00
Boris Faure 0380b657c4 be able to do selections in a row
I do need to write some tests on all that selection mess…
2013-11-21 23:01:59 +01:00
Boris Faure c6af3675de fix "shift + dbl click" used to extend selection to a word.
imho, this feature is useless…
2013-11-21 22:45:32 +01:00
Boris Faure b149052d64 do not bring back a selection from the dead 2013-11-20 23:12:19 +01:00
Boris Faure e5efdabd27 do not send mouse tracking when ctrl/shift are pressed. Closes T39, T535
Do just like xterm. It uses them to show some popups.
Ctrl+mouse makes box selection.
2013-11-20 23:07:07 +01:00
Boris Faure 509a5d1a7b fix scrolling with selection on irssi in tmux. Closes T404 2013-11-18 22:30:26 +01:00
Boris Faure df2b87308b add termpty_screen_swap() to simplify code 2013-11-18 21:41:30 +01:00
Aleksandar Popadić 7447178071 Fix screen refresh with screen, ssh, vim, ...
Summary: This closes T143.

Reviewers: billiob

Reviewed By: billiob

Maniphest Tasks: T143

Differential Revision: https://phab.enlightenment.org/D340
2013-11-18 20:45:47 +01:00
Boris Faure f8edf059d4 fix scrolling bug. Closes T106
Was fixed with help from great bug report by thomasg.

scroll_rev was ok
2013-11-17 17:28:32 +01:00
Boris Faure 40f0dc6950 simplify code 2013-11-17 17:28:32 +01:00
Boris Faure 4bc3357a91 improve debug output 2013-11-17 17:28:32 +01:00
Carsten Haitzler ecb2962dd5 capitalize option label 2013-11-17 15:11:19 +09:00
Boris Faure 35627a9395 remove useless code 2013-11-15 22:52:12 +01:00
Boris Faure 03802df2a9 simple click doesn't create one-char selection
(for real…)
2013-11-15 22:21:51 +01:00
Boris Faure 05ea863dc5 disable selection when resizing
because I don't want to deal with that for the moment
2013-11-14 23:24:45 +01:00
Boris Faure 2fcdd866ad remove debug =] 2013-11-14 23:10:08 +01:00
Boris Faure 997b83cad4 fix simple click producing one-char selection 2013-11-14 23:04:12 +01:00
Boris Faure 8c7dab9fdf remove selection when content selected changes 2013-11-11 18:08:02 +01:00
Boris Faure bc15fc6ff6 keep selection when scrolling 2013-11-10 22:13:19 +01:00
Boris Faure d682db21fb selection to the edges scrolls 2013-11-10 18:16:39 +01:00
Boris Faure 90d3bf483c fix stretching selection 2013-11-10 18:16:39 +01:00
Boris Faure 082942ef55 fix clicking to unselect 2013-11-10 18:16:39 +01:00
Boris Faure c16786416d simplify selection code 2013-11-10 18:16:39 +01:00
Boris Faure e9db7e6ed9 _smart_xy_to_cursor() now returns inside coordinates 2013-11-10 18:16:39 +01:00
Boris Faure 4ac9704be2 "#if defined(SUPPORT_DBLWIDTH)"--
and let the compiler remove the calls whenever needed
2013-11-10 18:16:39 +01:00
Boris Faure 4a9e61cb2e fix selection going up/left 2013-11-10 18:16:39 +01:00
Boris Faure 1dc0d30b60 reorganize structures about selection 2013-11-10 18:16:39 +01:00
Boris Faure 7617f39f1a small debug-related changes 2013-11-10 15:35:16 +01:00
Boris Faure 4d629c5575 do not try to reflow altbuf 2013-11-10 15:34:40 +01:00
Daniel Juyung Seo abaee4afd9 main: Fixed dereferencing null pointer issues.
This fixes coverity CID 1100652 and 1100653.
2013-11-08 08:38:42 +09:00
Daniel Juyung Seo b242383234 config: fixed dereferencing null pointer issue.
This fixes coverity CID 1100654.
2013-11-08 08:35:39 +09:00
Daniel Juyung Seo 20afe23c5b termio: fixed null pointer dereferencing issue.
This fixes coverity CID 1100645.
2013-11-08 08:32:47 +09:00
Daniel Juyung Seo f5df6ce99d termptyesc: removed unnecessary null check for free.
This fixes coverity CID 1100643.
2013-11-08 08:13:37 +09:00
Daniel Juyung Seo e0bd4fd6f7 termptyesc: fixed up wrong null check.
This solves coverity CID 1100642.
2013-11-08 08:08:39 +09:00
Boris Faure e724c8d0db missing EINA_UNUSED 2013-11-06 21:45:32 +01:00
Boris Faure 432587bc79 fix typo. CID 1126105, 1126106 2013-11-06 21:43:46 +01:00
Gustavo Sverzut Barbieri 016faae650 termio: right click on links show special menu.
This patches uses ctxpopup (ugh, this bitch is awful) to show a
contextual menu about that link with options such Preview (if able to
inline), Open (forces xdg-open) and Copy, then you don't have to
select a link in order to copy it :-)

This fixes T430 (terminology should copy link on right-click and no selection)
2013-11-01 19:26:03 -02:00
Gustavo Sverzut Barbieri 1745503b89 termio: do not handle selection if it doesn't exist.
A typical case is when you try to force xdg-open on a media (instead
of inline) by pressing "Control". This would trigger single-click box
selection on mouse-down but on mouse up the mouse didn't move yet. By
processing this as selection one also leaves the "didclick ==
EINA_TRUE" from mouse-down, leading the link to not be processed
(_activate_link() wasn't called).

PS: what an awful name is "didclick".
2013-11-01 17:11:10 -02:00
Gustavo Sverzut Barbieri b50e64f80b controls: disable "copy" when there is no selection. 2013-11-01 16:46:23 -02:00
Gustavo Sverzut Barbieri 6562cdabc2 termio: allow monitoring if selection exists.
Export new termio_selection_exists() and two signals: "selection,on"
and "selection,off". These will be used to control the state of the
"copy" button and menus (when those exist).
2013-11-01 16:43:30 -02:00
Cedric Bail 7b3b25634e terminology: add support for some more file extension.
The way to detect image is not that great in fact. Wondering if we
could improve it. Those new type are quite slow btw.
2013-10-31 18:35:24 +09:00
Carsten Haitzler 476915c5cf oops - i thought i committed this - remove commented out code from prev commit 2013-10-31 16:10:55 +09:00
Carsten Haitzler 5958eff338 unbreak inlined media being unparented when tab selector is used
82f4d3546a introduced this bug (oct 20
2013 - discomfitor). now missing a _smart_apply() causes the bug. why
- not sure.
2013-10-31 16:07:05 +09:00
Cedric Bail 964e1f39a9 terminology: factorise some code and help the compiler figure out which branch is the most likely one. 2013-10-28 18:55:53 +09:00
Cedric Bail 433b18b211 terminology: let the compiler inline more agressively the common case for a 1% win. 2013-10-28 18:55:19 +09:00
Cedric Bail c1b516f231 terminology: inline the most common case for a small 2% speed up. 2013-10-28 18:54:30 +09:00
Carsten Haitzler 8585c3e9c2 maybe speed up term scroll byt skipping compare work
since nothing useful is actually done unless either oldc or newc have
a media char - then try return/skip early. might speed up by 2-5%...
(i see 4.05 vs 4.15 or so cat times for a test case).
2013-10-25 23:37:10 +09:00
discomfitor 82f4d3546a improve previous smart queue commit by deleting existing animator
this completely fixes annoying issues where mousing out of the terminal fails to de-linkify text

moderately reviewed by: billiob
2013-10-20 15:31:19 +01:00
discomfitor 2ad1d55e59 only queue smart updates from termio_mouseover_suspend_pushpop when link.suspend is 0
almost reviewed-by: billiob
2013-10-20 08:15:24 +01:00
Boris Faure e45fec3127 try to avoid a race when moving cursor out 2013-10-20 01:22:17 +02:00
Boris Faure 5bf1dd9ca2 now that T441 is fixed, always remove links on MOUSE_OUT 2013-10-20 01:09:33 +02:00
Daniel Juyung Seo ab982fa9a6 zoom option: tab zoom animation time can go down to zero if users want. 2013-10-19 03:01:41 +09:00
Sebastian Dransfeld cf19e3f987 Fix define
Seems gcc 4.6.3 on ubuntu 12.04 (gcc version 4.6.3 (Ubuntu/Linaro
4.6.3-1ubuntu5)) does not R as define.

error: stray ‘R’ in program
2013-10-16 05:18:35 +02:00
Carsten Haitzler aef3d275d2 lets reduce the theme color strings in size since there are so many - memory 2013-10-15 22:32:35 +09:00
Boris Faure b66dc2a3a0 fix CID 1100641 - uninitialized scalar variable 2013-10-14 23:32:48 +02:00
Boris Faure 46839daa9a fix CID 1100640 - read from pointer after free 2013-10-14 23:25:55 +02:00
Boris Faure c4366ed2b5 fix CID 1106345 - missing parentheses 2013-10-14 23:22:19 +02:00
Boris Faure 55200014a9 invisible should not show previous underline/strikethrough 2013-10-14 23:19:01 +02:00
Boris Faure b10714adeb let me click on link while some strange bug is fixed
See T441
2013-10-14 22:46:08 +02:00
Boris Faure 36ba3bf3ed out coords are -1
this fixes some other cases of links not disappearing on mouse out
fixing selection will come later
2013-10-13 17:13:16 +02:00
Carsten Haitzler 6ea8622ecc make url link disappear on focus change ANd ensure it stays invisible then 2013-10-13 15:55:43 +09:00
Carsten Haitzler cc0f075b27 make theme auto-reload emit signals to configure stuff properly! 2013-10-12 14:31:03 +09:00
Carsten Haitzler 8eba175742 warning-- 2013-10-12 14:18:08 +09:00
Carsten Haitzler 240365b3ea theme options - make sure current theme is hilighted. 2013-10-10 00:28:18 +09:00
Carsten Haitzler b0cca8b0df theme selector - massively improve theme preview to actually preview 2013-10-09 22:51:15 +09:00
Boris Faure 0a53ff6cd1 really remove links 2013-10-08 23:28:52 +02:00
Boris Faure 585ed2c323 fix (some cases about) link still showing up when they shouldn't 2013-10-08 22:26:06 +02:00
Boris Faure 579c64878a simplify code 2013-10-08 22:25:23 +02:00
Boris Faure 93acca2b23 fix options order
"Always open at size" goes with the 2 spinners below
2013-09-28 10:50:31 +02:00
Boris Faure f539eba7ca screw terminfo: have a config to decide whether erase is del or backspace
One day I'll have to dig into the terminfo/termcap mess :(
Maybe get the O'Reilly book about it…
2013-09-26 21:19:18 +02:00
Boris Faure ed36063690 set correct mode with fcntl 2013-09-26 21:19:08 +02:00
Boris Faure 8df2ed4c21 compat: fix backspace
According to
http://invisible-island.net/ncurses/terminfo.ti.html#tic-xterm-basic ,
xterm sends ^H == \b == 0x08.
2013-09-26 21:18:58 +02:00
Boris Faure 68133d2614 add -2/--256color option to set TERM to xterm-256color
Man page was modified accordingly.
2013-09-26 21:18:48 +02:00
Boris Faure ef543aa753 have a config to choose whether to set TERM to xterm-256color 2013-09-26 21:18:27 +02:00
Boris Faure 02e42a747b esc: export color_set to its own function 2013-09-21 18:54:57 +02:00
Boris Faure ac76c0fae2 fix segv when closing terms in splits 2013-09-21 17:20:19 +02:00
Boris Faure 6430b0c494 cleanup app-server code…
* should make terminology compile with efl 1.7
* add header guards
* fix prototypes
* remove unused variables
* add some EINA_UNUSED
* prefix global variables with _ and some shadow potential issues
* functions starting with _ should be static

I didn't have a look at the meaning of the code.
2013-09-21 15:46:01 +02:00
José Roberto de Souza 230c484f3f Implementation of elm_app_server
This is disabled by default, and enabled in settings.
Also there a option to automatic restore opened terminals.
2013-09-19 15:54:32 -03:00
José Roberto de Souza f5687a7e32 Add main_new_with_dir() to enable open a term in a specifc path 2013-09-19 15:53:43 -03:00
José Roberto de Souza 7530e8d304 Add functions to access userfull data and functionally of win, term and split 2013-09-19 15:53:43 -03:00