Commit Graph

694 Commits

Author SHA1 Message Date
ArthurSonzogni
76fc52441f Implement "alternative screen".
Apply this option automatically for "fullscreen" screen. Keep it
disabled for the other modes.

This fixes issue:
https://github.com/GiuseppeCesarano/just-fast/issues/2
2020-05-02 20:39:56 +02:00
ArthurSonzogni
ac3db36de8 Stop using fcntl
This fixes issue 16
https://github.com/ArthurSonzogni/FTXUI/issues/16

Some terminal like gnome-terminal seems not to support it correctly. It
turns out it wasn't totally useful using it.
2020-05-02 20:11:36 +02:00
ArthurSonzogni
1974e9f9fc Make flexible element to be shrinkable.
This make the application "just-fast" to look better.
2020-05-02 17:39:42 +02:00
ArthurSonzogni
cccbe5baa9 Fix non blocking I/O on POSIX. 2020-05-02 02:02:04 +02:00
ArthurSonzogni
2d292b5382 Make catching SIGNAL SIGINT to work also on windows. 2020-05-01 23:48:22 +02:00
ArthurSonzogni
898cd842e2 Catch SIGINT event.
This was an old features, but it has been removed mistakenly when
merging some patches.

This allow the terminal to be restored when the user kill the
application.
2020-05-01 23:45:17 +02:00
ArthurSonzogni
d8e0504ad0 Add timeout for getchar() in POSIX.
Previously, the thread pooling new characters being typed was waiting
for "one more char" being typed before being able to exit.

This patch adds a timeout for getchar(). This way, event if the user do
not press his/her keyboard, the program is still able to exit.

This fixes issue:
https://github.com/GiuseppeCesarano/just-fast/issues/2
2020-05-01 23:36:02 +02:00
Giuseppe Cesarano
6c45d9e603 Added Just-Fast in README.md 2020-05-01 18:12:32 +02:00
ArthurSonzogni
57fc7a5caa Add new user of FTXUI. 2020-04-19 21:46:37 +02:00
ArthurSonzogni
f506be941d Add automatic formatting and license. 2020-04-19 21:01:09 +02:00
ArthurSonzogni
a09ebcc442 Fix bug with container on Windows.
This fix the bug from:
https://github.com/ArthurSonzogni/FTXUI/pull/11

About:
~~~
Bug: Focus handling not working

in the examples (e.g. checkbox.cpp) I can toggle the individual
checkboxes but I cannot move between items, I tried to understand the
focus implementation but am I unsure which keypresses would move focus
between different components
~~~
2020-04-17 01:15:17 +02:00
ArthurSonzogni
e1782cf9b9 Fix travis on Windows with gtests. 2020-04-17 00:59:05 +02:00
ArthurSonzogni
76b216dd5e Run test on travis. 2020-04-16 23:21:06 +02:00
Arthur Sonzogni
3cfc208cfe
Update README.md 2020-04-11 16:56:54 +02:00
Arthur Sonzogni
1866c4610d
Update tutorial.md 2020-04-11 15:13:08 +02:00
Arthur Sonzogni
7a40e7b1da
Update README.md 2020-04-10 23:46:20 +02:00
Arthur Sonzogni
a4e6581f24
Update README.md 2020-04-10 14:50:52 +02:00
Arthur Sonzogni
db0229605f
Update README.md 2020-04-10 14:48:52 +02:00
Arthur Sonzogni
eb76dedd98
Update README.md 2020-04-10 14:46:42 +02:00
Arthur Sonzogni
964a7746de
Update README.md 2020-04-10 14:28:12 +02:00
Arthur Sonzogni
d8c2190225
Update README.md 2020-04-10 14:27:53 +02:00
ArthurSonzogni
fce29a03b3 Run clang-format. 2020-03-27 01:42:46 +01:00
Arthur Sonzogni
1703552235
Update README.md 2020-03-27 01:20:06 +01:00
Arthur Sonzogni
0c1e634309
Add the travis build status. 2020-03-27 01:17:42 +01:00
ArthurSonzogni
8e5104f71f Update Readme. Talk about Windows support. 2020-03-27 01:14:26 +01:00
ArthurSonzogni
6e7b4526a0 Add ReceiverTest.
And fix a small bug with the Receiver not eating all the input.
2020-03-27 01:01:37 +01:00
ArthurSonzogni
e8ed0fbc6d Add ContainerTest 2020-03-27 01:01:37 +01:00
ArthurSonzogni
2cef695216 Add RadioboxTest 2020-03-27 01:01:37 +01:00
ArthurSonzogni
580e648147 Remove the pipe class. 2020-03-27 01:01:37 +01:00
ArthurSonzogni
6600e4fc03 Add ToggleTest. 2020-03-27 01:01:37 +01:00
ArthurSonzogni
f48bfcff10 Move tests next to their implementations. 2020-03-27 01:01:37 +01:00
ArthurSonzogni
20d4ee458a Fix layout bug detected thanks to dom_tests. 2020-03-25 19:10:46 +01:00
ArthurSonzogni
13d1cc1684 Fix missing include. 2020-03-25 18:31:27 +01:00
Arthur Sonzogni
86007c8d00
Merge pull request #12 from mauve/master
Assorted win32 cleanups
2020-03-25 18:29:52 +01:00
Mikael Olenfalk
2c82a4bf31 Remove unused file 2020-03-25 08:54:16 +01:00
Mikael Olenfalk
a55baa1e9c Use the correct macro check if we are compiling for windows 2020-03-25 08:54:03 +01:00
Mikael Olenfalk
a4461f4196 Ignore warning 4267 2020-03-25 08:52:57 +01:00
ArthurSonzogni
5fc5766f1e Add Windows input.
Co-authored-by: Mikael Olenfalk <mikael@olenfalk.se>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2020-03-25 02:24:43 +01:00
ArthurSonzogni
ff59c7bafa Fix compile on Windows. 2020-03-25 02:18:48 +01:00
ArthurSonzogni
d20d2ab19e MSVC => DIsable warning 4244 2020-03-25 02:15:38 +01:00
ArthurSonzogni
6e22a10eb7 Fix compile error on OS where char is signed. 2020-03-25 02:01:31 +01:00
ArthurSonzogni
508b2ef048 Improve thread usages. 2020-03-25 01:15:46 +01:00
ArthurSonzogni
0a7b556a12 Switch name Producer/Consumer -> Sender/Receiver
The producer/consumer was created for:
https://github.com/ArthurSonzogni/FTXUI/pull/11

This patch makes rename everything from Producer/Consumer toward
Sender/Receiver.
2020-03-25 00:07:41 +01:00
ArthurSonzogni
09a1b16613 Add a Producer/Consumer system.
It allow you to create the two end of a pipe: A producer and consumer.
The producer can be moved into another thread.
Several producer can be created if necessary.

This will ease merging:
https://github.com/ArthurSonzogni/FTXUI/pull/11
2020-03-24 23:42:17 +01:00
ArthurSonzogni
6de8c63907 Readd 'resize' handling. It was mistakenly removed. 2020-03-24 01:26:06 +01:00
Mikael Olenfalk
f927d3d712 Win32: Switch codepage to UTF8 in Screen constructor
Co-authored-by: Mikael Olenfalk <mikael@olenfalk.se>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2020-03-24 00:37:06 +01:00
ArthurSonzogni
b6d1f8ebdb Fix MSVC flag for UTF-8 2020-03-23 22:48:27 +01:00
Mikael Olenfalk
b2b42a8a04 Disable C++17 deprecation warnings 2020-03-23 22:44:13 +01:00
Mikael Olenfalk
71598cb18d Fix warning: Namespace uses itself 2020-03-23 21:46:44 +01:00
Mikael Olenfalk
40800ac019 Use Console API to set and restore terminal mode on Windows 2020-03-23 21:42:33 +01:00