Commit Graph

66 Commits (cc5a0ab0e427a47c4f5f95d6f6b257c7589f2b42)

Author SHA1 Message Date
Nicholas Marriott c9cfc9a9f3 Don't try to change the window name unless the pid of the process chosen has
changed. Reduces CPU use.

osdep-* stuff is a bit horrible now but there we go :-/.
2009-02-09 18:08:01 +00:00
Nicholas Marriott 62d2ab3e68 Continue process if suspended. 2009-02-08 16:11:26 +00:00
Nicholas Marriott 4428987e95 * Better support for at least the most common variant of mouse input: parse it and adjust for different panes. Also support mouse in window/session choice mode.
* Bring back the fancy window titles with session/window names: it is easy to work around problems with elinks (see FAQ).
2009-01-28 19:52:21 +00:00
Nicholas Marriott 9cde0c2477 Be more clever about picking window name. 2009-01-26 22:57:20 +00:00
Nicholas Marriott 4d9af27b0b Better error messages for fork. 2009-01-23 16:59:14 +00:00
Nicholas Marriott 19987feaaa Bring back -p and -l to splitw to specify height as % or nlines. 2009-01-21 19:38:51 +00:00
Nicholas Marriott 2d15f59859 Try to change the window title to match the command running it in. This is done
by reading argv[0] from the process group leader of the group that owns the tty
(tcgetpgrp()). This can't be done portably so some OS-dependent code is
introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment.

A new window flag, automatic-rename, is available: if this is set to off, the
window name is not changed. Specifying a name with the new-window, new-session
or rename-window commands will automatically set this flag to off for the
window in question. To disable it entirely set the option to off globally (setw
-g automatic-rename off).
2009-01-20 19:35:03 +00:00
Nicholas Marriott d1a5fde3d0 -a flags to next/previous window. 2009-01-18 18:31:45 +00:00
Nicholas Marriott b4ac8c1342 Multiple window splitting. 2009-01-14 19:29:32 +00:00
Nicholas Marriott f85559144f kill-pane command. 2009-01-13 06:50:10 +00:00
Nicholas Marriott 7cd3cf0ead Make the window pane code handle panes of different sizes, and add a -l and -p arguments to split-window to specify the new window size in lines or as a percentage. 2009-01-12 18:22:47 +00:00
Nicholas Marriott 162bacdcd9 Window splitting. Two vertical panes fixed 50% each. This is a huge diff, still a couple of bugs (notably heap corruption somewhere causing segfault on exit). 2009-01-11 23:31:46 +00:00
Nicholas Marriott 4d71164826 Pick up cwd from environment,. 2009-01-10 19:37:35 +00:00
Nicholas Marriott fd05d07c2b Change server-info format. 2009-01-10 14:43:43 +00:00
Nicholas Marriott 7a82e86827 Make window options work the same was as session options, add mode-fg/mode-bg options, force -g for global on set/show/setw/showw/ 2008-12-08 16:19:51 +00:00
Nicholas Marriott 46f5e42145 Keep stack of previous windows.
Check for op (orig_pair) for default colours.
2008-11-16 10:10:26 +00:00
Nicholas Marriott 62457bce0b Trim. 2008-09-26 06:45:28 +00:00
Nicholas Marriott f07cedf048 Rename some functions. 2008-09-10 19:15:06 +00:00
Nicholas Marriott e5cf8594e8 long for pid. 2008-07-01 20:35:16 +00:00
Nicholas Marriott 80a594cae3 Document zombie window stuff. 2008-06-30 18:27:14 +00:00
Nicholas Marriott d90d646ca8 Zombie windows, requested by Will Maier. 2008-06-29 07:04:31 +00:00
Nicholas Marriott 4e4f71febb Swap in new paste buffer code and add a couple more commands. 2008-06-20 17:31:48 +00:00
Nicholas Marriott 99df48d70f Trimify. 2008-06-18 22:21:51 +00:00
Nicholas Marriott be53d7f298 More Sun OS crap. 2008-06-18 20:11:25 +00:00
Nicholas Marriott 19b7946a85 Start of Solaris port. 2008-06-18 19:34:50 +00:00
Nicholas Marriott 0f403474aa New window options: force-width and force-height. This will force a window to
an arbitrary width and height (0 for the default unlimited). This is neat for
  emacs which doesn't have a sensible way to force hard wrapping at 80
  columns. Also, don't try to be clever and use clr_eol when redrawing the
  whole screen, it causes trouble since the redraw functions are used to draw
  the blank areas too.
2008-06-14 16:47:20 +00:00
Nicholas Marriott b044d0951f ifdef RB_PREV since 4.3 misses it too. 2008-06-04 20:17:25 +00:00
Nicholas Marriott 0f95671fe3 Disable/enable window activity monitoring with set-window-option command. 2008-06-04 17:54:27 +00:00
Nicholas Marriott 9e6090a7a2 Per-session configuration options. 2008-06-03 21:42:37 +00:00
Nicholas Marriott 85d520c41e tree.h has RB_PREV now, yay! 2008-06-03 18:38:51 +00:00
Nicholas Marriott 5569ff9723 Don't hang when window closes early; also add lots more debugging. 2008-05-31 20:04:15 +00:00
Nicholas Marriott ccfeb316a6 Don't attempt to reset tty if it is dead. 2008-01-02 19:22:21 +00:00
Nicholas Marriott 7dc18f68e3 set/reset mode window functions. 2007-12-06 10:04:43 +00:00
Nicholas Marriott 103748d6ad Major reorganisation of screen handling. 2007-12-06 09:46:23 +00:00
Nicholas Marriott 76c8a590db Big internal reorganisation to move tty control into parent. 2007-11-27 19:23:34 +00:00
Nicholas Marriott d0984b890b Sort out cursors with a new flag - BACKGROUND - for window modes. Free text on more exit. 2007-11-21 19:53:57 +00:00
Nicholas Marriott 24c39950ff Redo screen.c functions to make them readable and more flexible. Make scroll mode only redraw waht it needs. 2007-11-21 18:24:49 +00:00
Nicholas Marriott d5edaf988e Horizontal history/scrolling. 2007-11-21 15:35:53 +00:00
Nicholas Marriott 9a6e47cfa8 Initial history support. 2007-11-21 13:11:41 +00:00
Nicholas Marriott ceab127fac Mass screen.c rename/tidy. Add a actual size (ysize) as distinct from display size (now dx,dy). Move functions which work on the displayed area into screen-display.c and tidy. Use macros consistently when accessing screen data (may want to move everything about again later!). This the first step on the road to scrollback. 2007-11-20 21:42:29 +00:00
Nicholas Marriott 35591ecd4e Try write even if read gets signal, some other tweaks. 2007-11-07 19:41:17 +00:00
Nicholas Marriott 08d9f46aae Make it build/run on Linux. 2007-10-31 14:26:26 +00:00
Nicholas Marriott 4ba3cf60be Reorg window data structures. Add an intermediate data type (struct winlink) to hold index and make sessions hold a RB tree of them rather than a fixed array. 2007-10-26 12:29:07 +00:00
Nicholas Marriott ebeb14211d Handle DSR for resize(1). 2007-10-24 15:29:29 +00:00
Nicholas Marriott 810a8846b7 A couple of close-on-exec flags. 2007-10-24 11:30:02 +00:00
Nicholas Marriott ab02144e3d Don't need ttydefchars here. 2007-10-23 11:25:32 +00:00
Nicholas Marriott cf77c80b93 FreeBSD's util.h is libutil.h. 2007-10-19 20:47:09 +00:00
Nicholas Marriott 4add09eab7 Wrong size. 2007-10-04 20:33:16 +00:00
Nicholas Marriott 7ba01f6843 New window command. 2007-10-03 23:32:26 +00:00
Nicholas Marriott a5a17b40ee Skip exec on cmds. Also use xmemstrdup where appropriate. 2007-10-03 13:07:42 +00:00