Commit graph

719 commits

Author SHA1 Message Date
Roberto E. Vargas Caballero 375b28720f Avoid recursive call to ttywrite from ttyread
Ttyread() calls to ttywrite, so if we check for reading before
that for writing in ttywrite we can get a circular call sequence.
2015-11-21 18:21:03 +01:00
Christoph Lohmann 00873e65ee Introduce lim in all ttywrite() checks. 2015-11-06 20:46:23 +01:00
Roberto E. Vargas Caballero 9f6d8845df Fix ttywrite()
ttywrite was assuming that if it could not write then it could
read, but this is not necessarily true, there are some situations
where you cannot read or write. The correct behaviour is to detect
if you can read or/and write.
2015-11-06 20:01:00 +01:00
Ivan Tham f0398db4d1 Now the mshortcuts are even more consistent.
Keep everyone happy

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-11-01 08:23:26 +01:00
Christoph Lohmann e2aa03e6b7 Now the Shortcuts are more consistent.
Keep the debile happy.
2015-10-31 09:29:04 +01:00
Jason Woofenden f56c58a968 fix bug where first selection snaps to lines 2015-10-11 11:44:34 +02:00
Quentin Rameau 293f573efd Fix the cursor colors selection
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-06 17:36:02 +02:00
Christoph Lohmann 2ea02c937e Normalize the whole color selection in xdrawcursor. 2015-10-06 00:21:44 +02:00
Quentin Rameau 80fe97f8a6 Fix the cursor color when over selection.
If we want to show a custom selected cursor color, we must not set the
revert attribute to the drawn glyph.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-10-06 00:05:04 +02:00
Christoph Lohmann 52d0e82df7 Snowman is everywhere. 2015-10-05 22:59:04 +02:00
Christoph Lohmann f7b80caebe The definition of the reverse cursor is now up to the user. 2015-10-05 22:38:19 +02:00
Christoph Lohmann 594a259836 Fixing the cursor movement in selections.
Before the fix the cursor wouldn't obey if it's in a selection. If it is
inside it will now change to the reverse. This patch also adds that the
defaultcs will be reversed for the manually drawn cursors.
2015-10-05 22:09:51 +02:00
Christoph Lohmann 91c70213d1 When the cursor is moved, clear the selection. 2015-10-05 21:18:34 +02:00
Christoph Lohmann 2677296147 Reverse the cursor on selection. 2015-10-05 21:06:42 +02:00
Christoph Lohmann 5ece2b5f4a More style changes. We forgot some switches. 2015-10-05 20:48:24 +02:00
Christoph Lohmann 2bef36ab81 Small style change. 2015-10-05 20:08:21 +02:00
dequis 4be353e381 Fix extra bracketed paste markers when pasting >8kb
Before this patch, when pasting over BUFSIZE (8192 bytes here), st would
do the following:

    \e[200~...8192 bytes...\e[201~\e[200~...remaining bytes...\e[201~

With this patch, the start marker is only sent when the offset is 0 (at
the beginning of selnotify) and the end marker is only sent when the
remaining bytes to read are 0 (at the end).

For short pastes, both conditions are true in the same iteration.

For long pastes, it removes the extra markers in the middle, keeping the
intended wrapping:

    \e[200~...8192 bytes......remaining bytes...\e[201~

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-09-25 20:16:30 +02:00
FRIGN 20d53cebc1 dup() -> dup2()
gcc would warn about an unused result. We know it is 0 and dup()
can't fail in these circumstances, as we closed fd0 previously.
Using dup2() to do the same saves one line and shuts gcc up, bringing
us a clean build back.
2015-09-22 14:15:24 +02:00
Roberto E. Vargas Caballero 5d2d9d540d Fix copy of line with len = 0
When a line has no any character linelen is 0, so last = &term.line[y][MIN(lastx, linelen-1)]
generated a pointer to the end of the previous line. The best thing we can do in this case
is to add a newline, because we don't have a glyph to print (and consult its state of
wrapping).
2015-09-10 11:53:11 +02:00
Jan Christoph Ebersbach 3ba9c8fc3f Expose cursor shape in config.def.h
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-09-08 16:29:05 +02:00
Roberto E. Vargas Caballero 1f087aa8b7 Add key to send a break to the serial line 2015-09-08 12:10:11 +02:00
Christoph Lohmann aa5d4c3b34 Making st.1 more descriptive about -l and fix -l in st.c. 2015-09-07 22:59:05 +02:00
Christoph Lohmann 9eeb4e1ea2 Reordering and adding control codes.
For completeness and documentation add all C1 control codes.
2015-08-31 15:26:21 +02:00
Christoph Lohmann 0c94f8621b Merge branch 'master' of ssh://suckless.org/gitrepos/st 2015-08-30 11:29:23 +02:00
Christoph Lohmann 0d838b7243 Don't read if we chunked the input data. 2015-08-30 11:28:35 +02:00
Roberto E. Vargas Caballero 7e61f5e4c5 Do not mark as invalid UTF8 control codes
wcwidth() returns -1 for all the non visible characters, but it doesn't
necessarilly mean that they are incorrect. It only means that they are not
printable.
2015-08-18 08:31:51 +02:00
Alex Kozadaev ee5cad439b Adding mouse colour/shape settings 2015-07-28 12:21:11 +02:00
Christoph Lohmann dc33d1d66e Adding -T to the usage too. 2015-07-24 18:25:33 +02:00
Christoph Lohmann b5e29cce52 Add -T, as recommended by Dmitrij D. Czarkoff 2015-07-24 18:24:10 +02:00
Quentin Rameau 4a193b9686 Fix type for write(2) return variable.
A little fix in xwrite().

>From 3727d2e3344b57128ab51c7839795204f1f839ff Mon Sep 17 00:00:00 2001
From: Quentin Rameau <quinq@fifth.space>
Date: Fri, 24 Jul 2015 11:40:46 +0200
Subject: [PATCH] Fix type for write(2) return variable.

The allocated lengh of s fits into an integer so we can safely use
ssize_t here.
2015-07-24 12:01:56 +02:00
Roberto E. Vargas Caballero 62756fdb49 Fix style in execsh 2015-07-24 07:44:34 +02:00
Christoph Lohmann d032b61597 Make the comment for the IM XFilter more understandable. 2015-07-10 14:31:40 +02:00
Christoph Lohmann 684c72d05e Return style unification. 2015-07-10 14:30:37 +02:00
Christoph Lohmann b823f57fa0 Aligning the macros. 2015-07-10 14:21:52 +02:00
Christoph Lohmann 684f0a0729 Unix end of file. 2015-07-10 14:19:52 +02:00
Christoph Lohmann d3c7b6fb73 No inline declarations please. 2015-07-10 14:19:31 +02:00
Christoph Lohmann 41f70a1cff Typo and the missing incr atom from the patches. 2015-07-10 14:17:51 +02:00
Christoph Lohmann 261ea4b7e0 Implement chunked write to the cmdfd.
This is needed so big input like a paste of several megabyte does not clog our
I/O.
2015-07-10 14:15:39 +02:00
Christoph Lohmann f8c6e7d041 Implement INCR transfers in the clipboard. 2015-07-10 14:10:17 +02:00
FRIGN f1307d91e2 Don't treat clauses like functions
and add a space between the keyword and the parentheses.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-07-10 13:58:31 +02:00
FRIGN 13233574ed Use BSD-style function notation
Put the opening brace on a new line. This was already used for some
functions inside st.c.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-07-10 13:58:09 +02:00
FRIGN 9de853a98d Unboolify st
This practice proved itself in sbase, ubase and a couple of other
projects.
Also remove the True and False defined in X11 and FcTrue and FcFalse
defined in Fontconfig.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-07-09 18:34:46 +02:00
FRIGN abfad4c4fc Remove insane *_FILENO and EXIT_* usage
Any system having different assignments than the usual 0, 1, 2 for
the standard file numbers and 0, 1 for the exit-statuses is broken
beyond repair.
Let's keep it simple and just use the numbers, no reason to fall
out of the window here and bend down for POSIX.
In one occasion, the ret-variable was not necessary. The check was
rewritten.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
2015-07-09 18:34:41 +02:00
Weng Xuetian 5f48e89716 Revert "Remove unnecessary XFilterEvent call."
This reverts commit d2937b05ae.
2015-07-02 11:11:55 +02:00
Quentin Rameau bdd649a102 do not truncate font size when zooming 2015-06-19 11:49:13 +02:00
Roberto E. Vargas Caballero 71fa10f613 Revert "Optimize memory footprint of line buffers"
This reverts commit 7ab6c92e18.
We need 32 bits for real color support.
2015-06-03 08:07:55 +02:00
Jan Christoph Ebersbach caa97cc781 Support UTF-8 characters as word delimiters
For a higher usefulness of the utf8strchr function, the index of the
UTF-8 character could be returned in addition with a Rune instead of a
char*.  Since utf8strchr is currently only used by ISDELIM I didn't
bother to increase the complexity.
2015-05-25 08:35:32 +02:00
Roberto E. Vargas Caballero c03548750b Merge branch 'master' of ssh://suckless.org/gitrepos/st 2015-05-15 07:51:58 +02:00
v4hn 8e15887de9 set selection to IDLE on clear
Otherwise a tangling bmotion event will consider
the selection still valid and selnormalize segfaults
because of an invalid sel.ob.y index.
2015-05-15 07:42:40 +02:00
suigin 89cf0fc597 Small bugfix for makeglyphfontspecs call in drawregion
Here's a patch that fixes a bug when calling `makedrawglyphfontspecs'
in `drawregion'. Wasn't offseting the pointer into the input glyphs
array by `x1'. The bug isn't causing any problems currently, because
`drawregion' is always called with `x1' and `y1' values of 0, but if
this ever changes in the future, the bug would certainly cause some
problems.
2015-05-12 07:37:13 +02:00