142 Commits (771bc401f76b329f78a285ca65355d4b43415172)

Author SHA1 Message Date
Christoph Lohmann 230d0c8428 Finally resolving the backspace problem.
The majority now using the Linux behaviour. Minorities have to live in their
ghettos.
10 years ago
Christoph Lohmann a7eef8f230 Removing an extra space. 10 years ago
Christoph Lohmann dc8c5c82aa Implementing xzoomreset.
Thanks mvdan@mvdan.cc for proposing this.
10 years ago
Roberto E. Vargas Caballero 5afb3862ba Add support for utmp in st
St runs an interactive shell and not a login shell, and it means
that profile is not loaded. The default terminal configuration
in some system is not the correct for st, but since profile is
not loaded there is no way of getting a script configures the
correct values.

St doesn't update the utmp files, this is the job of another
suckless tool, utmp. Utmp also opens a login shell (it is the
logical behaviour when you create a new user record) it is a
good option execute utmp and then get a correct input in
utmp, wtmp and lastlog file, and execute the content of the
profile.
10 years ago
Roberto E. Vargas Caballero 9d9e049eac Make useful DEL in application mode
DEL key has to generate the sequence ^[P in application mode,
because such sequence means delete current character. It implies
that the character sent in keypad mode must be ^? (DEL character).
10 years ago
Roberto E. Vargas Caballero f8b4998b32 Convert VT102ID to a config variable
VT102ID is the sequence that the terminal returns when it is inquired
to identify itself. This value should be configurable in the same
way that another st parameters.
11 years ago
Eric Pruitt 738f555f66 Fix typo in config.def.h
Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
11 years ago
Hiltjo Posthuma cf890e5bf0 Allow mouse selection override using ShiftMask
Similar to xterm or urxvt holding shift before selecting text with the mouse
allows to override copying text. For example in tmux with "mode-mouse on" or
vim (compiled with --with-x), mc, htop, etc.

forceselmod in config.h sets the modifier to use this mode, by default
ShiftMask.

Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
11 years ago
noname 9e3e8ce466 Do not export chscale and cwscale. 11 years ago
Roberto E. Vargas Caballero c46d929fe1 Fix Backspace and Delete characters
Backspace key must generate the backspace character (\010) and
Delete key must generate the delete character (\0177). In
some systems the kernel configuration for erasing previous character
is \0177, so some programs (for example cat, ed, mail, ...), can not
understand the correct meaning of backspace. In this cases it is only
needed this command:

	stty erase 
11 years ago
Roberto E. Vargas Caballero 78f8843bc7 Add sequence for printing the current selection
This is very usefull in order to can select what is sent
to the plumber.
11 years ago
Roberto E. Vargas Caballero 96c230e476 Add key definition for printer sequences
These new combinations generate the same behaviour (basically) of
vt102. It is a good way of communicating st with other programs.

[0] http://www.vt100.net/docs/vt102-ug/chapter2.html
11 years ago
Roberto E. Vargas Caballero 21d905c076 Make Shift+Home equal to CLS in ascii mode 11 years ago
Roberto E. Vargas Caballero 9523233e25 Make CONTROL + DELETE delete a line
If CONTROL + INSERT inserts a line then it seems natural CONTROL + DELETE
removes a line.
11 years ago
Roberto E. Vargas Caballero d2173cd716 Fix SHIFT+DEL definition
The AppMode and AsciiMode were inverted in the definition of this
combination.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
11 years ago
Mark Edgar ef1dc9fc4b Replace alignment tabs with spaces. 11 years ago
Mark Edgar 6162d63151 Fix comments in config.def.h to match field names. 11 years ago
Mark Edgar fb8e3f67f7 Fix definition of F28 key.
Shitf modifier adds 12 to the function number of the function keys,
while Control adds 24, so Control + F4 generates F28
11 years ago
Mark Edgar 297c886b72 Ignore numlock (Mod2Mask) for button events too.
Conflicts:
	config.def.h
	st.c
11 years ago
Christoph Lohmann cc2ea3147a Default volume of the bell is 0. 11 years ago
Roberto E. Vargas Caballero bef599bb27 Add audible bell
\a is the character for bell, and st is only marking the window as urgent
if it is not active. This patch adds an audible bell which can be disable
with bellvolume variable.

Signed-off-by: Christoph Lohmann <20h@r-36.net>
11 years ago
Mark Edgar 4245ba0d12 Correctly initialize altscreen when defaultbg is not 0.
The alternate screen is not properly initialized when st starts. To see
this, set defaultbg in config.h to anything other than 0 (for example, swap
defaultfg and defaultbg), and run:

./st -e sh -c 'tput smcup; read'

You should see that the top-left 80x24 rectangle is black (or whatever
colorname[0] is), while the rest of the screen (if any) has the desired
colorname[defaultbg] color.

The attached patch fixes this by initializing term.c.attr in tnew() before
calling tresize(). It also removes the unnecessary xcalloc() calls, which
misled me on this bug hunt since it is really tclearregion() which
initializes term.lines and term.alt in tresize().
11 years ago
Eric Pruitt 7e3cff33ff Use character size scaling factors
The bounding boxes for characters can be scaled using "cwscale" and "chscale"
to scale the width and height respectively.
12 years ago
Markus Teich 40e4d76d22 fix: whitespace 12 years ago
Markus Teich 7af030c999 fix PageUp Modifier Mask in config.def.h
Signed-off-by: Christoph Lohmann <20h@r-36.net>
12 years ago
Christoph Lohmann 2cf4f366d6 Bumping up the xfps so mouse motion won't reap the CPU. 12 years ago
Christoph Lohmann 8e968739c3 Allow more complex delimiters for word selections.
Thanks Alexander Rezinsky <alexrez@gmail.com>!
12 years ago
Christoph Lohmann e1458ef467 Explaining blinking for the dummies. 12 years ago
Christoph Lohmann a53017c8b4 Add a possibility to modify the string sent by mouse buttons.
Thanks Alexander Rezinsky <alexrez@gmail.com> for the suggestion!
12 years ago
Christoph Lohmann 1e09726518 Enable blinking in st. 12 years ago
Christoph Lohmann 1e7816c202 Drawing a more visible rectangle as cursor on unfocus.
To have a more visible cursor on unfocused windows this patch makes st draw a
rectangle around the terminal cell.

Thanks Mark Hills <mark@xwax.org> for the suggestion!
12 years ago
Christoph Lohmann 580c8bbd46 Add an option to disable alternative screens. 12 years ago
Christoph Lohmann 7e7760c2ed Add the possibility to have default highlight colors.
Thanks to stargrave@stargrave.org for the suggestion!
12 years ago
Christoph Lohmann adde5c6d9d Adding PgUp + Ctrl.
Thanks stargrave@stargrave.org!
12 years ago
Christoph Lohmann f876810626 Adding PgUp and PgDown + Ctrl to config.def.h
Thanks stargrave@stargrave.org!
12 years ago
Christoph Lohmann be7c6d7fb0 Add insert for the primary clipboard to MOD + Shift + Ins.
Thanks Mantas Mikulėnas <grawity@gmail.com> for the patch!
12 years ago
Christoph Lohmann 3865e9eaaf Implement rectangular mouse selection.
Thanks Alexander Sedov <alex0player@gmail.com>!
12 years ago
Christoph Lohmann f4a6c20f46 Adding a way to ignore bits in the state. 12 years ago
Christoph Lohmann a92a678e25 The refresh rate for the action needs to be high too. 12 years ago
Christoph Lohmann de7e0e9c8d Changing the fps to something reasonable high. 12 years ago
Christoph Lohmann 086cd61511 Doing it like the new run() was proposed. 12 years ago
Christoph Lohmann 95033753be Adding a more efficient drawing code.
Thanks Mihail Zenkov <mihail.zenkov@gmail.com> for giving the hint!
12 years ago
Christoph Lohmann 2696f81875 Be careful about mar77i's patches. 12 years ago
Christoph Lohmann fe3fb82d29 Applying the patch of mar771 right. 12 years ago
Christoph Lohmann fdce8bba1a Applying the change of the Del key assingment. Thanks Martti Kühne! 12 years ago
Roberto E. Vargas Caballero d5994b43ca Add support for End key
- Shift + End : Delete until end of line.
    - Control + End : Delete until end of screen.

When  the End  key is  pressed  without any  modifier is  not generated  the
correct sequence for it  (going to the end of the  screen), because the size
of the  terminal is not known,  so it is  not possible write a  sequence for
this purpouse.
---
 config.def.h |   10 ++++++++--
 st.info      |    2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)
12 years ago
Roberto E. Vargas Caballero 7c34ff1703 Add support for Supr key
Del : Delete character under cursor.
    Shift + Del : Delete the line under cursor.
    Ctrl + Del: Delete the full screen.
---
 config.def.h |   16 ++++++++++++----
 st.info      |    2 ++
 2 files changed, 14 insertions(+), 4 deletions(-)
12 years ago
Roberto E. Vargas Caballero 3c99be68e8 Add support for insert key
Insert key stands for a key which allows enter or leaves insert mode, so let
it generates the correct sequence to change between these modes:

   - Insert: Enter in insert mode.
   - Shift + Insert: Leave insert mode (replace mode).
   - Control + Insert: Insert a blank line.

Like Shift + Insert also paste text, if a user want this feature be full
functional he has to modify such shortcut.
---
 config.def.h |   16 ++++++++++++----
 st.info      |    3 +++
 2 files changed, 15 insertions(+), 4 deletions(-)
12 years ago
Christoph Lohmann 61b20f4bc1 Add a notice in the config.def.h file how to obtain the syntax for
xft/fontcache.
12 years ago
Roberto E. Vargas Caballero 172f65436c Add key for toogling numlock handling
Keypad will generate keycodes when keypad application mode is enabled. It
can cause problems with some programs like vi, which operates in such
mode.

This patch change by default don't generate the keycodes never, but this
behaviour can be changed using the combination Alt + NumLock.
---
 config.def.h |   34 ++++++++++++++++++----------------
 st.c         |   17 +++++++++++++++--
 2 files changed, 33 insertions(+), 18 deletions(-)
12 years ago
Christoph Lohmann cf04354e06 Restoring the Alt + Backspace functionality. Thanks Brandon Invergo! 12 years ago
Roberto E. Vargas Caballero 55087ec2c7 Add application cursor sequences for Home
The commit 'Fixing some key issues with mc' fix the problem where mc didn't
recognize home key because the generated code and the terminfo entry were
different (terminfo khome = \E[1~ but generates \033[H).

Home key in ansi mode should generate the sequence CUP (\033[H) to 0,0 (home
position), but it is also interesting generate a application code which
identifies the key. Real vt520 only generates the ansi sequence CUP, linux
console generates only the application code \033[1~, xterm generates CUP in
ansi mode and \033OH in cursor application mode, rxvt only generates the
application code \033[7~.

This patch sets CUP in ansi mode and \033[1~ in cursor application mode, so
it can be used in both modes and the application mode value is similar to
near values (insert = \033[2~, Prior = \033[5~, Next = \033[6~, End =
\033[4~, Supr = \033[3).
---
 config.def.h |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
12 years ago
Christoph Lohmann 1cbe56026b Fixing some key issues with mc. Thanks nsz! 12 years ago
Christoph Lohmann 2b6521f5d2 Optimizing the key lookup to the X11 function key. It is still possible to
remap other keys.
12 years ago
Christoph Lohmann 927d8fb459 Making all function keys accessible. 12 years ago
Christoph Lohmann a29ab30f25 Adding support for XK_F35. 12 years ago
Christoph Lohmann d5640c7729 Fixing the return and keypad enter sent characters. Terminals produce \r. And
some minor style changes.
12 years ago
Christoph Lohmann e87d21bb3d The crlf mode was reversed. 12 years ago
Christoph Lohmann e7bb14e03e Fixing Return in non-crlf mode. 12 years ago
Roberto E. Vargas Caballero 4389f2eb1b Use XK_ANY_MOD instead of XK_NO_MOD in key definition
Usually terminal emulators don't generate any sequence for a combination
they don't have registered, for example Shift + Next, but st behavior
previous to the keyboard patch generates the sequence without the modifier,
in this example Next. This patch uses the XK_ANY_MOD in order to get this
same behaviour.
---
 config.def.h |  114 ++++++++++++++++++++++++++++++----------------------------
 1 file changed, 59 insertions(+), 55 deletions(-)
12 years ago
Roberto E. Vargas Caballero 16ccf344de Fix tab key
When Shift + Tab is pressed X server send the event XK_ISO_Left_Tab with
ShiftMask, so this is the entry we need in config.def.h

This patch also revert the previous patch for this issue because it breaks
the keyboard.
---
 config.def.h |    2 +-
 st.c         |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
12 years ago
Christoph Lohmann 7474a2fc37 The style inquisition was here again. 12 years ago
Roberto E. Vargas Caballero 620e3bb39e Add missed key definitions
This patch adds the keys for the keypad (in both modes, application mode or
ansi mode) and function keys. It uses the same convention than xterm and
instead of using the XK_Fxx values it generates them using F1-F12 and
modifiers. For example:

   F1 -> ^[OP
   F1 + Shift = F13 -> ^[[1;2P
   F1 + Control = F25 -> ^[[1;5P
   F1 + Mod2 = F37 -> ^[[1;6P
   F1 + Mod1 = F49 -> ^[[1;3P
   F1 + Mod3 = F61 -> ^[[1;4P

It is also important notice than the terminfo capability kIC (shifted insert
key) only can be generated using the keypad keyboard, because the shorcut
for selection paste is using the same combination.

After this path the number of elements in the Key array becomes high, and
maybe a sequencial search is not enough efficient now.
---
 TODO         |    6 +---
 config.def.h |  102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 st.info      |   70 ++++++++++++++++++++++++++++++++++++++--
 3 files changed, 169 insertions(+), 9 deletions(-)
12 years ago
Roberto E. Vargas Caballero 44597b359e Add control and meta combinations for arrow keys
Since there isn't any terminfo capability for control and meta modifiers for
arrows keys it is necessary use the same that almost terminal emulators use,
because there are a lot of programs which have these codes hardcoded.

This cause also that shift combinations are also changed, but in this case
this is not a problem since there are terminfo capabilities for them. After
this patch shift-up and shift-down continue not working in emacs with
TERM=st, but they work with TERM=xterm, so it is possible some other changes
are necessary in the terminfo entry.
---
 config.def.h |   16 ++++++++++++----
 st.info      |    8 ++++----
 2 files changed, 16 insertions(+), 8 deletions(-)
12 years ago
Roberto E. Vargas Caballero ea782bfc5d Remove hardcoded keys form kpress
Some keys were in the Key array while others were hardcoded in
kpress().This cause some problems with some keys which can generate more of
one string based in the configuration of the terminal.
---
 config.def.h |   70 ++++++++++++++++++++++++++++++++++++++++-----------------
 st.c         |   71 +++++++++++++++++++++++++---------------------------------
 2 files changed, 79 insertions(+), 62 deletions(-)
12 years ago
Roberto E. Vargas Caballero 93f31166bf Move Shift + Insert to shortcut
Shift + Insert is used like a hot key for paste the selection, so it is more
logical move it to shortcut array instead of having special code for it.
---
 config.def.h |    1 +
 st.c         |   13 +++----------
 2 files changed, 4 insertions(+), 10 deletions(-)
12 years ago
Christoph Lohmann abe85c0e99 Fixing an out-of-bound bug in the selection code. Thanks Szabolczs Nagy! 12 years ago
Christoph Lohmann 393825f9f8 Moving to the dwm config.h variable usage. 12 years ago
Christoph Lohmann 1d378227c0 Removing the now senseless comment in config.def.h. Thanks to bnwe! 12 years ago
Christoph Lohmann 71b09ec4f1 Adding a more flexible fontstring handling, shortcuts and a zoom function. 12 years ago
Christoph Lohmann 5caa46cf57 Turning on antialias by default really makes it more unreadable. Maybe if once
the majority has bigger screens, this can be turned on by default again.
Thanks pancake, for the hint.
12 years ago
Christoph Lohmann 2752018e27 This adds the fontcache dependency to try something out. Additionally the
invert mode now works as expected. In the config.def.h autohint is set to
false, so the fonts are drawn correctly, without any overlapping.
12 years ago
Christoph Lohmann af9e248f97 Removing the now obsolete definitions from the config.def.h file. 12 years ago
Christoph Lohmann 375b6e5b17 Switching to Liberation Mono as default solely because of line drawing. A next
patch to fix the font symbols in all fonts should make it easier to choose a
better font.
12 years ago
Christoph Lohmann 3a095984b0 Implementing line drawing right. 12 years ago
Christoph Lohmann 246d704ba0 Changing the default font to DejaVu Sans Mono, which is more appealing and
activating antialiasing.
12 years ago
Christoph Lohmann 2b3c1219c8 Initial Xft support for st. More to follow. 12 years ago
Aurélien Aptel 1ba5f4172f config.def.h: typo in comment. 12 years ago
Christoph Lohmann a62789788c Implementing italic-bold. This will require an increase of the avgWdth. 12 years ago
Christoph Lohmann 462a966ee2 Implement italic font support. 12 years ago
Aurélien Aptel 751fb765e4 fix default color overwriten bug. 13 years ago
Aurélien Aptel be2877cd04 show dark cursor when unfocused. 13 years ago
Aurélien Aptel d8e11bdb0e document possible configuration. 13 years ago
Aurélien Aptel 907cb8bfa6 no palette limit (thx Nick) 13 years ago
Aurélien Aptel 6f260ba164 fix custom key handling. 14 years ago
Aurélien Aptel 9d5ea14b9d selection clicks, shift+arrow keys, fast(er) redraw, key mask in config.h (thx Magnus Leuthner) 14 years ago
Aurélien Aptel 4d649c2403 fix insert key, terminfo and changed TERM back to st. (thx Ondrej Martinek) 14 years ago
Aurélien Aptel 9b74fcadc4 utf8 support! print text in delicious unicode greatness! all hail to the glorious Damian Okrasa for the patch!
TERM set back to xterm.
changed default fonts.
Note: drawing is now (even) slower.
14 years ago
Aurélien Aptel 58083da61f set terminal colors to xterm default ones. 15 years ago
Aurélien Aptel ebc287271c removed gfx chars not present in xterm acsc. 15 years ago
Aurélien Aptel f732ca5f1f added correct line drawing characters for default font. 15 years ago
pancake 596bb133a5 fix build
use config.def.h mechanism
add SHELL in config.h
15 years ago