Commit Graph

31 Commits

Author SHA1 Message Date
Michael Krayer d9c18f680a WIP: basic switching works, but exit breaks things 2023-10-11 17:06:43 +02:00
Michael Krayer d8f557ed20 Renamed KEY_DETACH to KEY_COMMAND 2023-10-11 15:22:40 +02:00
Michael Krayer 0f89851632 added return value based on pressed key 2023-10-11 15:19:18 +02:00
Michael Krayer 64d897db14 commit-fix: RV_DETACH in client.c; if is now switch 2023-10-11 15:07:42 +02:00
Michael Krayer b70e814c8f removed passthrough mode 2023-10-11 13:31:50 +02:00
Michael Krayer c80e8ff369 Added two-stroke mechanism for detaching 2023-10-11 10:50:16 +02:00
Marc André Tanner c901f2bbb8 If stdin is not a terminal pass-through its data to the session
This allows to send commands to a running session:

    echo cowsay hi | abduco -a session

See #8 for initial discussion of the feature.
2018-03-17 13:30:52 +01:00
Marc André Tanner 3e3308d4e3 Only manipulate output terminal state if it is a terminal 2018-03-17 13:30:51 +01:00
Marc André Tanner fdbda93131 Correct EOF handling on client stdin
Previously we would end in an infinite loop which might be the cause
of #15.
2018-03-17 13:30:51 +01:00
Marc André Tanner 482237919b Fix length of MSG_RESIZE packet
We no longer send the complete struct winsize.
2017-06-27 08:49:22 +02:00
Marc André Tanner 8964601fe1 Use fixed size integer types in protocol messages
This should make it possible to connect with a 32bit client to a 64bit
server. This might also make it possible to forward the abduco socket
over SSH as described in #25. Different endianness are not supported at
this time.

This is a breaking protocol change. Make sure to use the same version
as client and server (anything else is unsupported anyway!).
2017-06-21 22:52:14 +02:00
Marc André Tanner e671c024c9 Only test for redraw key if it is actually configured
This should make CTRL-Space work by default.
2016-01-31 11:53:43 +01:00
Marc André Tanner f7b65db3ca Make cursor visible after client termination
For complex interactive application it is recommended to run them
under dvtm as in:

 $ abduco -c demo dvtm [your-fancy-app]
2016-01-07 13:26:02 +01:00
Marc André Tanner 577ae6ae7a Slightly tweek communication protocol for -l option 2016-01-03 12:03:02 +01:00
Luke Clifton 1fcd6e4f44 Added -l option to move clients to the bottom of the stack.
This means it wont take control over the window size until
it is the last remaining one, unless another client connects
with the -l option set at a later time.
2016-01-02 20:01:03 +00:00
Marc André Tanner 76bae5939f Improve terminal restoring
Instead of simply moving the cursor to the bottom of the screen
use the alternate screen buffer i.e. the smcup/rmcup capabilities.

This is currently hardcoded to the xterm originated \e[?1047{h,l}
sequence. I also patched dvtm to support these.
2014-12-22 13:32:42 +01:00
Marc André Tanner 2de1946f1a Use pselect instead of select
For the server case I see no such race condition.
2014-10-16 21:41:17 +02:00
Marc André Tanner 35117affb9 Correct function definitions without parameters 2014-10-10 20:43:06 +02:00
Marc André Tanner d23c9982c7 Avoid usage of non-ISO-standard escape sequences 2014-07-07 20:20:46 +02:00
Marc André Tanner 4b4c08457f Make client termination more robust by explicitly sending exit messages 2014-06-24 10:55:44 +02:00
Marc André Tanner f4d3f21f00 Source code formatting changes 2014-03-22 17:38:17 +01:00
Marc André Tanner eccf9fd16e Introduce read only sessions (-r option)
Based on a patch from Lars Kellogg-Stedman.
2014-03-22 17:27:59 +01:00
Marc André Tanner 15169cda58 Use STDIN_FILENO instead of 0 2014-03-21 23:08:42 +01:00
Marc André Tanner 6000bc6240 Request screen size if most recently connected client disconnects 2014-03-21 21:57:50 +01:00
Marc André Tanner a99e46fd23 Simplify I/O handling 2014-03-21 20:40:55 +01:00
Marc André Tanner 5dbe797f0c Remove useless code 2014-03-06 18:54:45 +01:00
Marc André Tanner 006c93a9d1 Send exit status back to client 2014-02-27 23:47:48 +01:00
Marc André Tanner ed4f1ecdcd Use the same packet structure for both ways of the client server communiction
This is slightly less efficient than before but allows the server
to send different types of messages not only output data to the
client.
2014-02-26 21:13:18 +01:00
Marc André Tanner fcaf5368fa Use more appropriate types 2014-02-25 22:03:55 +01:00
Marc André Tanner 42bcd723bd Pass suspend key (ctrl+z) to underlying application 2014-02-25 20:35:33 +01:00
Marc André Tanner 89cbbb3aa6 Initial import 2014-02-18 23:04:00 +01:00