ref: 4c6145f6c37e4ab4ba4fdefb20d41e4fcc65a97b st/win.h -rw-r--r-- 1.1 KiB
28b4c822 — John Collis 2 years ago
ST: Add WM_ICON_NAME property support

Also added _NET_WM_ICON_NAME.
e85b6b64 — Ivan Tham 4 years ago
better Input Method Editor (IME) support


- Allow input methods swap with hotkey (E.g. left ctrl + left shift).
- Over-the-spot pre-editing style, pre-edit data placed over insertion point.
- Restart IME without segmentation fault.


- Automatically pickup IME if st started before IME
e0215d53 — Devin J. Pohly 5 years ago
Reduce visibility wherever possible

When possible, declare functions/variables static and move struct
definitions out of headers.  In order to allow utf8decode to become
internal, use codepoint for DECSCUSR extension directly.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
a5dc1b46 — Devin J. Pohly 5 years ago
Pull term references out of xdrawcursor

Gradually reducing x.c dependency on Term object.  Old and new cursor
glyph/position are passed to xdrawcursor.  (There may be an opportunity
to refactor further if we can unify "clear old cursor" and "draw new
cursor" functionality.)

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
88d8293f — Devin J. Pohly 5 years ago
Move win-agnostic parts of draw/drawregion to st.c

Introduces three functions to encapsulate X-specific behavior:
 * xdrawline: draws a portion of a single line (used by drawregion)
 * xbegindraw: called to prepare for drawing (will be useful for e.g.
   Wayland) and returns true if drawing should happen
 * xfinishdraw: called to finish drawing (used by draw)

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
05c66cb3 — Devin J. Pohly 5 years ago
Split mode bits between Term and TermWindow

Moves the mode bits used by x.c from Term to TermWindow, absorbing
UI/input-related mode bits (visible/focused/numlock) along the way.

This is gradually reducing external references to Term.  Since
TermWindow is already internal to x.c, we add xsetmode() to allow st to
modify window bits in accordance with escape sequences.

IS_SET() is redefined accordingly (term.mode in st.c, win.mode in x.c).

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
8b564c1a — Devin J. Pohly 5 years ago
Remove X and fontconfig from st.c

None of the X-related includes are needed any longer.  In addition, move
the X modifier defines into x.c, as they are not used outside.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
3bb900cd — Devin J. Pohly 5 years ago
Remove Time argument from xsetsel

This is an X type and should be internal to x.c.

The selcopy() function was a single line and only used in one place, so
it was inlined to reduce LOC.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
323d38da — Devin J. Pohly 5 years ago
Make win variable internal to x.c

There was only a single reference to the `win` variable in st.c, so
exporting that to x.c allows us to rid ourselves of another extern.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
428f0196 — Devin J. Pohly 5 years ago
Inline clipboard functions

No need to keep a function that only calls another function in the same

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
65976c1a — Devin J. Pohly 5 years ago
Move config.h include from st.c to x.c

config.h includes references to KeySyms and other X stuff.  Until we
come up with a cleaner way to separate configuration, it is simpler
(leads to more code removal) to have this here.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
a8314643 — Devin J. Pohly 5 years ago
Move window-manipulating functions into x.c

xresize is now internal to x.c

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
626b0ae4 — Devin J. Pohly 5 years ago
Move window urgency handling entirely into x.c

This allows us to make xseturgency internal.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
d5275012 — Devin J. Pohly 5 years ago
Move zoom functions into x.c

This makes x(un)loadfonts internal to x.c.  Needed to reorder includes
and move a typedef to keep the compiler happy.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
3518dba2 — Devin J. Pohly 5 years ago
Move usage() to be with run() in x.c

run/usage/xinit are now all internal to x.c

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
3e44ee55 — Devin J. Pohly 5 years ago
Call xsetenv() in main process instead of child

This makes xsetenv internal to x.c, and allows iso14755's external
command to use $WINDOWID instead of having to snprintf it again.  (The
same benefit will apply to the externalpipe patch.)  The xwinid function
is no longer needed.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
e7ed326d — osandov@osandov.com 6 years ago
Support xterm Ms feature to set clipboard

This is used by, e.g., tmux.
e2ee5ee6 — Michael Forney 6 years ago
Split X-specific code into x.c