Commit Graph

416 Commits

Author SHA1 Message Date
Garrett D'Amore 50882fce9f Update console_win.go 2023-12-03 12:10:55 -08:00
Junegunn Choi b4e2d68113 Implement missing methods in cScreen 2023-12-03 12:10:55 -08:00
Garrett D'Amore 168f47f0f7 fixes #623 Cursor style is not reset when closing 2023-12-03 12:04:00 -08:00
Baris Balli 8a50441ee1 project added to the ed 2023-10-31 15:40:54 -07:00
Baris Balli 7d4a088d8c Readme updated, an example project [hero.go] added 2023-10-31 15:40:54 -07:00
Chris 08c7757cd1 Update color.go 2023-08-26 23:04:10 -07:00
Chris 61f49ebde1 Update color.go 2023-08-26 23:04:10 -07:00
Chris e1cc2cb21f add stringable util methods 2023-08-26 23:04:10 -07:00
Tim Culverhouse 83e6762660 demos: add sixel demo
Add a demo of sixel drawing
2023-08-15 06:57:42 -07:00
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 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