My own clone of suckless st with custom patches and settings kept in the "custom" branch.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Avi Halachmi (:avih) 28ad288399 mouseshortcuts: fix custom modifier on release
This line didn't work at mshortcuts at config.h:

  /*  mask       button   function  arg       release */
    { ShiftMask, Button2, selpaste, {.i = 0}, 1 },

and now it does work.

The issue was that XButtonEvent.state is "the logical state ... just prior
to the event", which means that on release the state has the Button2Mask
bit set because button2 was down just before it was released.

The issue didn't manifest with the default shift + middle-click on release
(to override mouse mode) because its specified modifier is XK_ANY_MOD, at
which case match(...) ignores any specific bits and simply returns true.

The issue also doesn't manifest on press, because prior to the event
Button<N> was not down and its mask bit is not set.

Fix by filtering out the mask of the button which we're currently matching.

We could have said "well, that's how button events behave, you should
use ShiftMask|Button2Mask for release", but this both not obvious to
figure out, and specifically here always filtering does not prevent
configuring any useful modifiers combination. So it's a win-win.
4 years ago
FAQ update FAQ 5 years ago
LEGACY LEGACY: typo. 12 years ago
LICENSE LICENSE: fix a few years 6 years ago
Makefile Makefile: fix dependencies on config.h 5 years ago
README tic -s -> tic -sx (Treat unknown capabilities as user-defined.) 8 years ago
TODO Remove old TODO entry. 9 years ago
arg.h don't modify argv, use a counter 6 years ago
config.def.h mouse shortcuts: don't hardcode selpaste 5 years ago
config.mk bump version to 0.8.2 5 years ago
st.1 Remove the ISO 14755 feature 6 years ago
st.c OSC 52 - copy to clipboard: don't limit to 382 bytes 5 years ago
st.h mouse shortcuts: allow same functions as kb shortcuts 5 years ago
st.info Fix tmux terminfo extensions Se and Ss 5 years ago
win.h better Input Method Editor (IME) support 5 years ago
x.c mouseshortcuts: fix custom modifier on release 4 years ago

README

st - simple terminal
--------------------
st is a simple terminal emulator for X which sucks less.


Requirements
------------
In order to build st you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (st is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install st (if
necessary as root):

    make clean install


Running st
----------
If you did not install st with make clean install, you must compile
the st terminfo entry with the following command:

    tic -sx st.info

See the man page for additional details.

Credits
-------
Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.