1
0
mirror of https://github.com/gdamore/tcell.git synced 2025-04-24 13:48:51 +08:00

407 Commits

Author SHA1 Message Date
Tim Culverhouse
c5c66b8427 tty: modify WindowSize method to return windowsize object
Modify the WindowSize method of the Tty interface to return a WindowSize
object. This object includes the window size in pixels, for use in
direct drawing of sixels. Terminals that do not support this feature
will have pixel sizes of 0,0.
2023-08-15 06:57:42 -07:00
Tim Culverhouse
bfc5242f05 EventResize: use WindowSize struct internally
Introduce a WindowSize type and use it internally for the EventResize
event. Add PixelSize method to EventResize to report the screen size in
pixels, if supported.
2023-08-15 06:57:42 -07:00
Tim Culverhouse
fa6cd3ec5b screen: extend interface with Tty method
Extend the Screen interface with a new Tty method, which returns the
underlying tty when the screen is a terminal. This enables direct
drawing to the Tty.

Implement the interface for the three screen implementatinos included in
the library.
2023-08-15 06:57:42 -07:00
Tim Culverhouse
ae2c4a8044 screen: extend interface with LockRegion method
Extend the Screen interface with a new LockRegion method. This method
sets or unsets a lock on a region of cells. This will be used in
subsequent commits to enable direct drawing to the underlying TTY. The
locks are necessary in order to prevent cells from being drawn on top of
a directly drawn cell.

Implement this interface for the three screen implementations included
in the library.
2023-08-15 06:57:42 -07:00
Tim Culverhouse
894250edb7 cellbuffer: add ability to lock cells
Add a lock to individual cells. A lock on a cell will prevent it from
being redrawn by reporting it as clean. This will be true until the lock
has been removed. When a lock is removed, the cell is also marked as
dirty in order to force a redraw.
2023-08-15 06:57:42 -07:00
dependabot[bot]
c1028277e6 Bump golang.org/x/sys from 0.9.0 to 0.11.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.9.0 to 0.11.0.
- [Commits](https://github.com/golang/sys/compare/v0.9.0...v0.11.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 23:05:22 -07:00
dependabot[bot]
0e7e5ff245 Bump golang.org/x/text from 0.7.0 to 0.12.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.7.0 to 0.12.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.7.0...v0.12.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 18:51:06 -07:00
Garrett D'Amore
b09ad8741e wasm: implement focus events for wasm terminal 2023-08-14 18:42:16 -07:00
Garrett D'Amore
8b8ed1d164 go fmt compliance fixes 2023-08-14 18:36:19 -07:00
Remko Tronçon
b187e6250e Add LookupTerminfo stub for wasm
Resolves #617
2023-08-14 17:11:51 -07:00
dependabot[bot]
b64f3de22e Bump golang.org/x/term from 0.5.0 to 0.9.0
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.5.0 to 0.9.0.
- [Commits](https://github.com/golang/term/compare/v0.5.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 17:09:20 -07:00
stk
42b3beb245 fixup! Make focus reporting an opt-in feature, like mouse reporting 2023-08-14 17:07:05 -07:00
stk
f028121cb8 Make focus reporting an opt-in feature, like mouse reporting 2023-08-14 17:07:05 -07:00
stk
622b6c2aa7 Enable focus reporting only for terminals that support it
We assume that any terminal that supports mouse reporting will also support
focus reporting; but we also add an entry to Terminfo to let specific terminals
override it if needed.
2023-08-14 17:07:05 -07:00
stk
85dc29bf8a Implement focus events 2023-08-14 17:07:05 -07:00
Matthew Roseman
a92c043b0b simplified bitwise math to determine if mouse scrolling 2023-08-14 17:05:00 -07:00
Matthew Roseman
b9a2bbda10 don't record buttondn on scroll events 2023-08-14 17:05:00 -07:00
dependabot[bot]
c14349d151 Bump codecov/codecov-action from 3.1.1 to 3.1.4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.1 to 3.1.4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.1...v3.1.4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 17:04:44 -07:00
delthas
709868d93d Support Xterm modifier keys for dynamic terminfos
Previously, modified function keys in dyanmic terminals were not
supported (like shift/control/alt + arrow keys).

Even though xterm-compatible terminals were dynamically discovered
and their keys added to the terminfo struct, the Modifiers field
was not supported and therefore the modified Xterm keys were not
added to the keycodes map (prepareXtermModifiers was skipped).

This fixes the issue by setting the Modifiers field when we
discover that the terminal is xterm-compatible.
2023-08-14 17:04:00 -07:00
bjorndm
14bc04d6bb Fix underlines in Windows console mode.
The ENABLE_LVB_GRID_WORLDWIDE is neede to enable them.
2023-08-12 08:39:46 -07:00
dependabot[bot]
47ec3a7775 Bump actions/setup-go from 3 to 4
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-26 21:31:20 -07:00
Mykola Andriievskyi
90c665ca31 Add a new examples repo based ot tcell to readme 2023-03-26 21:30:51 -07:00
Garrett D'Amore
c951371181 minor style fixup v2.6.0 2023-02-20 21:39:19 -08:00
Garrett D'Amore
615b4b1821 fixes #589 unexpected character linux console 2023-02-20 21:30:37 -08:00
Garrett D'Amore
7fe9d5fa9b Webasm terminal fixes.
Reverse video, not reverse text.
Provide an XTERM equivalent default palette.
Reset colors should go to silver on black.
Black color 0 should be rendered properly.
2023-02-20 21:13:27 -08:00
Garrett D'Amore
d78960c02d Color fixups. 2023-02-20 20:52:19 -08:00
Garrett D'Amore
5db823e7a8 Better colors for mouse demo (brighter). 2023-02-20 20:51:25 -08:00
Garrett D'Amore
7b5fe1f3ee Spelling. 2023-02-20 15:41:09 -08:00
Garrett D'Amore
729d178abc Choose better fonts for web terminal. 2023-02-20 15:21:04 -08:00
Ahoys123
fade40c650 added to README-wasm.md 2023-02-19 17:48:50 -04:00
Ahoys123
0851813f48 added js flag 2023-02-19 17:48:50 -04:00
Ahoys123
b96a7ed4dc removed js build flag in terms_static.go 2023-02-19 17:48:50 -04:00
Ahoys123
3532b9d94e removed js build flag in tscreen_stub.go 2023-02-19 17:48:50 -04:00
Ahoys123
edb6434493 created wscreen.go
updated readme
2023-02-19 17:48:50 -04:00
Ahoys123
497e90a4fe added copyright comment 2023-02-19 17:48:50 -04:00
Ahoys123
b86f5127ac added webfiles directory
updated README.md
organized functions into original order
2023-02-19 17:48:50 -04:00
Ahoys123
49cc9d21db added wasm support 2023-02-19 17:48:50 -04:00
dependabot[bot]
87f880c2d6 Bump golang.org/x/term from 0.3.0 to 0.5.0
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/golang/term/releases)
- [Commits](https://github.com/golang/term/compare/v0.3.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-19 15:00:31 -04:00
dependabot[bot]
9fed4d21b9 Bump golang.org/x/sys from 0.3.0 to 0.5.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.3.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-19 14:55:22 -04:00
dependabot[bot]
fa56a2b43d Bump golang.org/x/text from 0.5.0 to 0.7.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.5.0 to 0.7.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.5.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-19 14:51:56 -04:00
Garrett D'Amore
7f837ee12c Test on 1.18 (oldest supported Go version). 2023-02-19 10:18:54 -08:00
Ryooooooga
841591b5c9 fix(cell.go): fix wide char rendering 2023-02-19 14:08:08 -04:00
moson-mo
5e9dd83b52 Add alacritty-direct terminfo
Signed-off-by: moson-mo <mo-son@mailbox.org>
2023-01-08 16:20:58 -08:00
Garrett D'Amore
b6aa1999e2 Bump dependencies. 2022-12-31 14:06:25 -08:00
Garrett D'Amore
0fb7c000c5 Fix status badges (broken by shields.io) v2.5.4 2022-12-31 09:12:50 -08:00
Garrett D'Amore
dc01b79c87 fixes #580 tcell custom tty on Windows will not work
Applications will need to supply a working TTY of course.
2022-12-30 15:43:36 -08:00
Garrett D'Amore
2f889d79bd Make RUNEWIDTH_EASTASIAN=0 the default.
fixes #578

Also, while here, create a look up table
for performance reasons.  This can be suppressed by a new
TCELL_MINIMIZE environment variable, if RAM is precious.

Tcell applications should work out of the box by default
for most users in East Asian locales now.
2022-12-30 15:34:58 -08:00
Garrett D'Amore
a642547922 fixes #576 Intermittent screen flashes 2022-12-30 14:55:11 -08:00
Garrett D'Amore
44c298f729 Encoding package should initialize at import.
There is no reason to make callers execute Register().
Also, while here, let's add some test cases.
2022-12-30 13:30:58 -08:00
Garrett D'Amore
916a717ae8 Add example case for registering encodings.
fixes #583
2022-12-30 12:54:50 -08:00