Commit 8fd09cd9 by Robert Bittle

Add an option to disable client window resizes

This goes great with tmux when you are sharing your terminal for
presentations and you don't want to give viewers the ability to resize
your terminal
1 parent ddbaa983
Showing with 18 additions and 2 deletions
......@@ -70,6 +70,8 @@ type Options struct {
CloseSignal int `hcl:"close_signal"`
Preferences HtermPrefernces `hcl:"preferences"`
RawPreferences map[string]interface{} `hcl:"preferences"`
Width int `hcl:"width"`
Height int `hcl:"height"`
}
var Version = "0.0.13"
......@@ -95,6 +97,8 @@ var DefaultOptions = Options{
Once: false,
CloseSignal: 1, // syscall.SIGHUP
Preferences: HtermPrefernces{},
Width: 0,
Height: 0,
}
func New(command []string, options *Options) (*App, error) {
......
......@@ -197,14 +197,24 @@ func (context *clientContext) processReceive() {
return
}
rows := uint16(context.app.options.Height)
if rows == 0 {
rows = uint16(args.Rows)
}
columns := uint16(context.app.options.Width)
if columns == 0 {
columns = uint16(args.Columns)
}
window := struct {
row uint16
col uint16
x uint16
y uint16
}{
uint16(args.Rows),
uint16(args.Columns),
rows,
columns,
0,
0,
}
......
......@@ -37,6 +37,8 @@ func main() {
flag{"once", "", "Accept only one client and exit on disconnection"},
flag{"permit-arguments", "", "Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)"},
flag{"close-signal", "", "Signal sent to the command process when gotty close it (default: SIGHUP)"},
flag{"width", "", "Static width of the screen, 0(default) means dynamically resize"},
flag{"height", "", "Static height of the screen, 0(default) means dynamically resize"},
}
mappingHint := map[string]string{
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!