#
f123acc1 |
|
25-Apr-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: COLORTERM=truecolor to mean 24 bit color support this fixes mc support for 256-color skins. bug #17719 Change-Id: Ifead9fc3acf396cada6f9ce4d83579657b74c86f Reviewed-on: https://review.haiku-os.org/c/haiku/+/5249 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
c0b591c5 |
|
10-Apr-2022 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Terminal: implement 24-bit colour. * Changes `TERM` to `xterm`, as we're now a full colour capable terminal * Removes now-obsolete GuessPaletteColor from an RGB triple * Since it's using a struct instead of uint32 for attributes, add a bunch of helpers for a cleaner implementation * Pass the TerminalBuffer's palette to the foreground/background get helpers, for when an indexed colour is returned Change-Id: I33bd3bb1407b87a237a8bc355093fe549e05b43a Reviewed-on: https://review.haiku-os.org/c/haiku/+/5195 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
9d06690e |
|
11-Jul-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
userland: Pass more sizes with ioctls where we can. No "functional" change intended.
|
#
e03db930 |
|
12-Sep-2017 |
Augustin Cavalier <waddlesplash@gmail.com> |
Terminal: Specify ourselves as xterm-256color. This was originally instated back in 2013, but was reverted then due to #9636 because most other systems did not yet recognize that terminal type. Nowadays, nearly all Linux terminals specify themselves as being "xterm-256color" by default, so reinstating this should be fine.
|
#
79895eed |
|
23-Apr-2014 |
Murai Takashi <tmurai01@gmail.com> |
Fix gcc 4.9.0 build Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
aeaf4921 |
|
22-Nov-2013 |
Ezo <ezo.dev@gmail.com> |
Terminal: Fixed resource leak CID:702031 Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
45b3329d |
|
03-Oct-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fix incorrect uses of getpwuid_r() The function's behavior was recently fixed to succeed, but return a NULL pointer, when the entry was not found. Fixes a crash in this case.
|
#
cd749a76 |
|
29-Apr-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: use unsigned short instead of int to avoid a narrowing conversion warning. * unsigned short is the type used in the struct winsize.
|
#
a6ea4a19 |
|
14-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix "Error opening terminal:xterm-256color" issue (#9636) Looks like switching to declare "xterm-256color" terminal emulation was made a bit early: there are lot of servers that still do not know about this terminal. As was discussed in #9636 the only acceptable way is to switch back to "xterm" and adjust corresponding entry in our local termcap database to support 256 colors. So this changeset: * Declare emulated terminal as "xterm"; * Change the colors and color pairs of "xterm" termcap entry to support 256 colors; Workarounds the #9636. Should be upgraded to "xterm-256color" some time in the future.
|
#
19bfeaa7 |
|
24-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support %e (cur.encoding) for Terminal titles Optional parameter %e to indicate current tab view encoding in the window title. It is not shown in case tab view encoding is default UTF-8. Inspired by Sergei Reznikov. Thanks.
|
#
5b41331f |
|
09-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
CodeStyle fixes, some refactoring and cleanup * Clear some codestyle issues catched by checker script; * Rename RestartDebugCapture to more consistent StartStopDebugCapture; * Updated Copyrights and authors lists, some occurences of the raw MIT licence text replaced with "under the terms of MIT licence" reference; * Fixes for x86_64 build. This is cumulative cleanup commit for series of Terminal refactoring changes I have introduced last time. No significant functional changes.
|
#
b512213b |
|
31-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support Background Color Erase, switch to xterm-256color * Lot of fixes to add support of BCE (background color erase). Shell is switched to emulate xterm-256colors terminal, that is modern and declare the colors capabilities of our Terminal more precisely; * Move current character attributes fAttr from TermView to BasicTerminalBuffer. This reduces count of function parameters on call various InsertXXX routines; * In alternative screen buffer mode the whole cells "matrix" of the screen buffers is taken into account during drawing background of the cells in the view. In normal mode the "attributes" field of the TerminalLine is used to detect color of the area after the last character - there should be no changes with previous behaviour; * Fix attributes on kSpaceChar-padding short lines. Current _line_ attributes should be used instead of current _global_ attributes; * Fixed pads and gaps attributes, more accurate handling of ESC[K and K°; * _Invalidate strings just erased. Fix EraseChars DCH processing; * Fixes for ESC[J erase lines control sequences; * Added handling SGR 90-97, 100-107 codes; * Clean the newly allocated TerminalLine lines; * More precise cursor background [off-]color estimation at ends of lines. The current line attributes should be used instead of hard-coding it to fTextBackground; * Fixed background color erase in normal screen buffer modes. Wrong line indexes calculation messed the drawing results or just returned 0 [default] line attributes; * Some more BCE support: TerminalLine::Clear() now honors current character attributes; * Fixes #6143, #6510 and #6424.
|
#
f9443b14 |
|
26-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Reverting hrev45143:bold characters visual regression Terminal is GUI application and there are no need to emulate bold in some kind of color adjustments, especially in case the proposed emulation look is too far away from results observed on similar software like xterm, Konsole and XFCE Terminal.
|
#
2b67e9a3 |
|
09-Jan-2013 |
Adrien Destugues <pulkomandy@gmail.com> |
Merge changes from Fonzoterm : - Report the terminal as xterm-color instead of just xterm, since we handle that fine. - Tweak the SGR handler a bit to use bright rather than bold in some cases - Change the color palette so the result is still readable (white on white doesn't work so well) with the default colorscheme.
|
#
546208a5 |
|
16-Apr-2012 |
Oliver Tappe <zooey@hirschkaefer.de> |
More catalog-related cleanup. * rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO * adjust all uses of both macros in Haiku's source tree * use correct header guard for collecting/Catalog.h The renamed macros require adjustments to all external applications using catalogs.
|
#
0961433d |
|
06-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
Patch from diver (bug #7329) with cleanup by myself: remove excessive localization git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40834 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f02c85ad |
|
01-Mar-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
Fix non-static, non-initialized member fProcessID CID 9946; Remove non-used fLockFlag, set un-initilized fSavedAttr member, CID 9945; fixed a few extra spaces git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40765 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca598670 |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed the shell process ID from ActiveProcessInfo and moved it to new class ShellInfo, which also contains a flag whether the shell is the default shell. * If the Terminal has been started with a custom shell, also replace "%p" in the title by its name, when active. * Also show the on-close alert for the custom shell. Fixes #6844. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37322c4b |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new class ShellParameters that bundles all parameters passed to the shell. * Also added a parameter for the current working directory and. If supplied, it is applied in Shell::_Spawn(). * Pass the current working directory of the active tab when opening a new tab. Implements part of #6712. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39457 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b27862d2 |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reverted r39451. Instead introduced new class ActiveProcessInfo and added method GetActiveProcessInfo() to Shell and TermView to get such an info for the current foreground process group leader. Currently the info only contains the ID, name, and current directory of the process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39455 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5a76a2c1 |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added ActiveProcessGroup() getter to Shell and TermView. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39451 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
420cd21c |
|
17-Aug-2010 |
Rene Gollent <anevilyak@gmail.com> |
Move the password structs outside of the inner block as well. Fixes #6464. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
26411b53 |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Remove legacy BeOS code * Ensure the argument list passed to execve is NULL-terminated * Also declare it earlier to make sure gcc4 doesn't erase it from memory when getting out of the if block. This *should* fix gcc4 Terminal, and *does not* break it under gcc2. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38189 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6709e6bc |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Refactor default shell handling so it is done in a single place for a new windows and a new tab. Use "/bin/sh -l" as the default command, and always pass -l ('login shell') to the user selected shell. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
397fd7f5 |
|
16-Aug-2010 |
Stephan Aßmus <superstippi@gmx.de> |
A better fix than r38136: Remove the useless iostream include from Shell.cpp, perhaps a left-over from debugging output? Thanks to Axel for reviewing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38138 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea58911 |
|
16-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Explicitly start bash when opening a new tab, since other shells may not handle the "--login" option. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38133 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9fdb4f6 |
|
20-Jul-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added Shell::HasActiveProcesses() and TermView::IsShellBusy() (which calls the former) to tell if some process launched from the terminal is still running. Some style fix in Shell.h, made a parameter const. Added basic TermWindow::QuitRequested() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37631 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34c53b14 |
|
07-Jul-2010 |
DarkWyrm <darkwyrm@gmail.com> |
No longer set the SHELL variable. This fixes problems with starting gdb and other apps in a new Terminal window git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4eb0cbb0 |
|
07-May-2010 |
Matt Madia <mattmadia@gmail.com> |
Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
181511ca |
|
07-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the alert message translation to something which makes a bit more sense, and is less error prone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36711 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c514d3e |
|
06-May-2010 |
Matt Madia <mattmadia@gmail.com> |
Updated to use B_TRANSLATE* macros. relates to #5408. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8989d8a5 |
|
06-May-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Jorma Karvonen: Localization of the Terminal application. Thanks a lot. Closes ticket #5850. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36640 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e3815ba |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
After fork()ing we need to close the PTY master FD in the child. Otherwise closing/killing the Terminal will not automatically wake up children reading/writing the slave end. Fixes #3340 and probably #5395. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
035edd56 |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35583 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7974d3dc |
|
13-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Updated Haiku apps to use sentence-case. What a huge undertaking... The files where I had to apply the patch manually (for mysterious reasons) have also gotten a whitespace cleanup. I've proof-read everything so hopefully there should be no problems. This should be the final part of #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f7a3e34 |
|
04-Jan-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fAttached was never set in Shell::AttachBuffer(), and that caused TermParse::StopThreads() in Shell::DetachBuffer() to be never called. Moved initialization of termios struct to its own functions. Added const to some methods. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34893 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c6aa65e |
|
19-Dec-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Implemented input method handling. Unfortunately, due to bug #4926, it's completely unusable (it's disabled currently anyway). Shell::AttachBuffer() returns a status_t now (instead of void), so the caller can do something in case it fails. Simplified some methods, removed unused stuff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34707 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b38dbcd9 |
|
14-Mar-2009 |
Jérôme Duval <korli@users.berlios.de> |
* set the thread priority to normal for spawned processes (bug #3564) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29533 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4012c75a |
|
21-Feb-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Remove TermView dependency from Shell. It now depends on TerminalBuffer instead. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29273 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
84f0cb1a |
|
26-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
VERASE is ^?. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26136 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a71fd798 |
|
19-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed generated key sequences to be more ANSI/xterm. * Set TERM to "xterm". * Removed unnecessary {Begin,End}ViewTransaction() in TermView::Draw(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26022 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52b1d543 |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal changes. This is still work in progress, some features are disabled, lots of commented debug code is still in there, and quite a bit of cleanup is needed, but basically things work at least as well as before with several improvements: * Changed TerminalBuffer from an interface to a complete implementation. Removed all related code from TermView. Removed the now obsolete TermBuffer. TermParse uses TerminalBuffer instead of TermView, and TerminalBuffer asynchronously notifies TermView. This avoids potential deadlocks, fixing #1918. It also speeds up tty-output-bound programs. E.g. a "seq 10000" is about twice at fast with the default terminal size in my setup, now. It's still horribly slow compared to e.g. Konsole, though. * Replaced CurPos by a more compact and fully inline class TermPos. * Removed the offset feature (that insets the used text area) from TermView, thus simplifying the code. Instead put the view into a new parent view which provides the insets. This also fixes artifacts that could sometimes be observed in the insets area. * Scrolling related changes: - When scrolling fully down, the (80x25 or whatever) terminal screen is seen. It is not possible to scroll below the screen as in Be's Terminal. Scrolling in Haiku's Terminal was weirdly broken in this respect. As a side effect this fixes #2070. - When not scrolled fully down, further output won't cause any scrolling. It is thus possible to read earlier output while something is still going on. Fixes #1772. - Particularly to avoid unnecessary scrolling in the not scrolled fully down case, TermView no longer actually scrolls. It only sets an internal offset and manually uses CopyBits() as needed. Introduced a (hacky) BScrollView subclass using a BScrollBar subclass to make that possible. * Selection related changes: - Double/triple click plus dragging allows for selecting multiple words/lines. - Word selection no longer selects ranges of non-space characters. Instead it knows that words are made of alpha numerical chars and a certain set of other chars, and selects a range of commonly classified characters (word chars, non-word non-whitespace chars, whitespace chars). The non-alpha-num word characters should be made user-settable. Due to missing multi-byte character classification multi-byte whitespace is not recognized. - Beyond the end of the line there no longer are invisible spaces. Trying to select the region selects the end of the line (i.e. line break). This is similar to how Konsole and xterm work. - Added auto-scrolling when selecting with the mouse. Formerly the Terminal scrolled only while moving the mouse. The scroll speed might need some fine-tuning. - Don't know what change exactly did that (likely the switch to non-end-inclusive text ranges used internally), but the occasional selection artifacts are gone. * Resizing the terminal window re-wraps soft-wrapped lines. * The find functionality seemed to be completely broken. At least it never found anything for me. Should work now, though multi-byte characters are not matched correctly in case-insensitive mode. Regressions: * Printing is disabled. * Cursor blinking is disabled. Do we want it anyway? * In several cases full-width characters are not handled correctly (in more cases than before). * Shrinking the terminal width doesn't work very well with "less" (and probably other full-screen terminal apps), due to line re-wrapping. "less" expects them to be truncated only. When supporting an alternate screen buffer re-wrapping should be disabled for it, which should solve the problem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25881 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4386ce02 |
|
03-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pulled the TermView interface used by TermParse into a new interface class TerminalBuffer, which will evolve into a TermBuffer replacement and decouple the parse thread from the window. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
901e5756 |
|
10-May-2008 |
François Revol <revol@free.fr> |
Indeed we don't need this signal hack for BeOS, we just need to tell it the pgid. That reduces the number of things to remove later ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
156c7443 |
|
09-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The terminal is not supposed to send signals to the shell. That's done by the tty. Now I also understand the BeOS work-around to ignore SIGINT in bash I removed recently. I suppose the signal code is still needed for BeOS. If not please remove it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8a741bc |
|
08-May-2008 |
François Revol <revol@free.fr> |
Sorry but I still need to test Terminal in BeOS to debug it... allstuff is #if(n)defed on __HAIKU__ for clarity. To be removed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25386 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f75d28c |
|
25-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
NULL terminate the default argument vector. It is passed to execve(). Fixes #2160. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1669306c |
|
24-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Use the short way of opening a pty. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25136 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
929c94fe |
|
14-Mar-2008 |
François Revol <revol@free.fr> |
This should fix R5 BONE build, as it also lacks setenv(), unlike dano. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24391 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
56e415dd |
|
04-Feb-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Opening the preferences window and hitting "cancel" would shrink the window every time, without reason, since _Revert() was called even if no changes were made. Build the list of window sizes dynamically, this way we get rid of some code duplication. Removed implementation of TermWindow::QuitRequested(). The B_QUIT_ON_WINDOW close takes care of quitting the application. Some cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7014c8a3 |
|
17-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed support for "Full font", which wasn't used anyway. Since our Terminal only works correctly with fixed width fonts, now the font menu filters out variable width ones. For some reason, though, Konatu Tohaba isn't recognized as fixed. Various other changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5dda419a |
|
16-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
If spawning a shell in a tab failed, the tab wouldn't be removed by the cleanup thread, since, not being attached to the window, Window() returned NULL. Now CustomTermView::NotifyQuit() accounts for this, and sends the message to the first window in the BApplication. Moreover, RemoveTab() would always remove the currently selected tab, and not the requested one. Changed a printf() to fprintf(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23558 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
523f71ee |
|
16-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Creating a new tab in terminal would show an error message (but still worked). Fixed. Also moved handling of default shell command from TermView to Shell, where it belongs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23557 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
07a6b566 |
|
13-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
system() works correctly, so we can use its return value now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23515 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c770dc3 |
|
26-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changed the suspend character to Ctrl-Z. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f3342f28 |
|
17-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
The Shell destructor was never called. Calling it showed that the PtyReader thread in TermParse hanged in read(). There's even a comment in there (by Axel) that read() is never interrupted. Switched to kill_thread() in TermParse::StopPtyReader() until this problem is fixed. At least we don't leave running apps around anymore. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21997 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb4632f1 |
|
16-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Stolen Ingo's Arguments class from Miniterminal and used it in place of GPL'd code in TermApp (slightly modified, and bugfixed, even :P). TermView now accepts an argument vector instead of a commandline. Same thing for Shell. Temporarily(?) removed some commandline options. This also fixes bug #1396 (tested) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21979 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce10f265 |
|
03-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
In case the user supplied a wrong commandline, the Terminal didn't launch the shell as the code would seem to do. I've disabled showing the Alert, since system() doesn't return the return value of "alert". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21809 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b87a97a |
|
03-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Attach/DetachShell are now private. Added a new TermView constructor which only specifies the rows and columns, view size is automatically calculated, and used it in TermWindow. Added a TermView::SetTitle() method, thus TermParse doesn't call Window() anymore. Some cleanups, scrollbar was off by one. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69f6c88d |
|
02-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The PtyReader thread now just exits when there is no more left to be read. * setpgid() when spawning the shell was superfluous, as we're already the session leader. * Added a comment to TermView::NotifyQuit() about why sending B_QUIT_REQUESTED to the window isn't such a good idea when you have more than one use for it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21794 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f328fdc4 |
|
02-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the build under BeOS/Dano: * setenv() actually exists in Dano. * On R5, it now uses sprintf() - the previous version would not compile. * Cleaned some weird code in TermBuffer.cpp to set the "buf" variable to the end of the string - it also no longer uses the index() BSD extension (same as strchr()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69adf535 |
|
28-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
TermView and the classes used by it now don't know about PrefHandler anymore, but have methods to set the needed options. Various cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
258e9494 |
|
27-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
More work towards a tabbed terminal. Actually it already somewhat works (code not enabled, though). Moved scripting from TermWindow to TermView. Added a SmartTabView which (for now) only resizes the child views to fit their size. Usual cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
17dfb8b1 |
|
26-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
More headers cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21706 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
abc47202 |
|
23-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved cursor blinking functionality from TermParse into TermView (and from a BMessageRunner into Pulse()). Removed more unused stuff. Moved around some constants and definitions. Many style changes. Sorry, I know the two should be separated, but I had already done so many changes... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21695 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac3a8f54 |
|
21-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Made all CodeConv methods static, since there was no point for them to be nonstatic. Moved TermParse under Shell, Removed some parameters passing around from TermWindow/TermView/TermParse. Now TermParse threads are started when the shell is attached to a TermView. Might still be improved. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0d32d905 |
|
21-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Minor cleanup, Updated some copyrights git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21677 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dc25fe81 |
|
17-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Got rid of gTermPref by adding some static methods to PrefHandler. The font size menu wasn't up to date with the current settings. Fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21630 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37b209af |
|
17-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Renamed spawn.cpp/h to Shell.cpp/h and updated the other source files to take this change into account git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21629 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79895eed07bbe1918686c6bf26869116369c3596 |
|
23-Apr-2014 |
Murai Takashi <tmurai01@gmail.com> |
Fix gcc 4.9.0 build Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
aeaf4921576d3a52a46cb3f3a90d1563311cacd4 |
|
22-Nov-2013 |
Ezo <ezo.dev@gmail.com> |
Terminal: Fixed resource leak CID:702031 Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
45b3329d9f364636fde8deb7000b81e60b60797e |
|
03-Oct-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fix incorrect uses of getpwuid_r() The function's behavior was recently fixed to succeed, but return a NULL pointer, when the entry was not found. Fixes a crash in this case.
|
#
cd749a7652f6097f4d0548a539be6698337703b0 |
|
29-Apr-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: use unsigned short instead of int to avoid a narrowing conversion warning. * unsigned short is the type used in the struct winsize.
|
#
a6ea4a194f34649fd0153e41a27284cc9cae3983 |
|
14-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix "Error opening terminal:xterm-256color" issue (#9636) Looks like switching to declare "xterm-256color" terminal emulation was made a bit early: there are lot of servers that still do not know about this terminal. As was discussed in #9636 the only acceptable way is to switch back to "xterm" and adjust corresponding entry in our local termcap database to support 256 colors. So this changeset: * Declare emulated terminal as "xterm"; * Change the colors and color pairs of "xterm" termcap entry to support 256 colors; Workarounds the #9636. Should be upgraded to "xterm-256color" some time in the future.
|
#
19bfeaa78642fedb092eeaea7bab826753f39bd5 |
|
24-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support %e (cur.encoding) for Terminal titles Optional parameter %e to indicate current tab view encoding in the window title. It is not shown in case tab view encoding is default UTF-8. Inspired by Sergei Reznikov. Thanks.
|
#
5b41331f1100c78541d87b7ad5a15d5652acb079 |
|
09-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
CodeStyle fixes, some refactoring and cleanup * Clear some codestyle issues catched by checker script; * Rename RestartDebugCapture to more consistent StartStopDebugCapture; * Updated Copyrights and authors lists, some occurences of the raw MIT licence text replaced with "under the terms of MIT licence" reference; * Fixes for x86_64 build. This is cumulative cleanup commit for series of Terminal refactoring changes I have introduced last time. No significant functional changes.
|
#
b512213be6f7cf9660c07e24a81b7597c8776116 |
|
31-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support Background Color Erase, switch to xterm-256color * Lot of fixes to add support of BCE (background color erase). Shell is switched to emulate xterm-256colors terminal, that is modern and declare the colors capabilities of our Terminal more precisely; * Move current character attributes fAttr from TermView to BasicTerminalBuffer. This reduces count of function parameters on call various InsertXXX routines; * In alternative screen buffer mode the whole cells "matrix" of the screen buffers is taken into account during drawing background of the cells in the view. In normal mode the "attributes" field of the TerminalLine is used to detect color of the area after the last character - there should be no changes with previous behaviour; * Fix attributes on kSpaceChar-padding short lines. Current _line_ attributes should be used instead of current _global_ attributes; * Fixed pads and gaps attributes, more accurate handling of ESC[K and K°; * _Invalidate strings just erased. Fix EraseChars DCH processing; * Fixes for ESC[J erase lines control sequences; * Added handling SGR 90-97, 100-107 codes; * Clean the newly allocated TerminalLine lines; * More precise cursor background [off-]color estimation at ends of lines. The current line attributes should be used instead of hard-coding it to fTextBackground; * Fixed background color erase in normal screen buffer modes. Wrong line indexes calculation messed the drawing results or just returned 0 [default] line attributes; * Some more BCE support: TerminalLine::Clear() now honors current character attributes; * Fixes #6143, #6510 and #6424.
|
#
f9443b14d5faa43f98a0a7a5cc85994599bc11a3 |
|
26-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Reverting hrev45143:bold characters visual regression Terminal is GUI application and there are no need to emulate bold in some kind of color adjustments, especially in case the proposed emulation look is too far away from results observed on similar software like xterm, Konsole and XFCE Terminal.
|
#
2b67e9a3a72acffbd4636d0825e7948c738716fb |
|
09-Jan-2013 |
Adrien Destugues <pulkomandy@gmail.com> |
Merge changes from Fonzoterm : - Report the terminal as xterm-color instead of just xterm, since we handle that fine. - Tweak the SGR handler a bit to use bright rather than bold in some cases - Change the color palette so the result is still readable (white on white doesn't work so well) with the default colorscheme.
|
#
546208a53940a26c6379c48a7854ade1a8250fc5 |
|
16-Apr-2012 |
Oliver Tappe <zooey@hirschkaefer.de> |
More catalog-related cleanup. * rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO * adjust all uses of both macros in Haiku's source tree * use correct header guard for collecting/Catalog.h The renamed macros require adjustments to all external applications using catalogs.
|
#
0961433d2a75a252e3caa8f63a0be7ac488b0c96 |
|
06-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
Patch from diver (bug #7329) with cleanup by myself: remove excessive localization git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40834 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f02c85adbab949acfbac1b260db2f7f3caa05d8e |
|
01-Mar-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
Fix non-static, non-initialized member fProcessID CID 9946; Remove non-used fLockFlag, set un-initilized fSavedAttr member, CID 9945; fixed a few extra spaces git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40765 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ca598670fb927e196eb2a5ab90fa03bfb5dac0a2 |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed the shell process ID from ActiveProcessInfo and moved it to new class ShellInfo, which also contains a flag whether the shell is the default shell. * If the Terminal has been started with a custom shell, also replace "%p" in the title by its name, when active. * Also show the on-close alert for the custom shell. Fixes #6844. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37322c4b52e4d9922fb1c7289a3f0d129ab1841b |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new class ShellParameters that bundles all parameters passed to the shell. * Also added a parameter for the current working directory and. If supplied, it is applied in Shell::_Spawn(). * Pass the current working directory of the active tab when opening a new tab. Implements part of #6712. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39457 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b27862d236b20483e88aa24aa8e2d8fed2e00907 |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reverted r39451. Instead introduced new class ActiveProcessInfo and added method GetActiveProcessInfo() to Shell and TermView to get such an info for the current foreground process group leader. Currently the info only contains the ID, name, and current directory of the process. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39455 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5a76a2c142ef0d79e2fb944a76a213921992a035 |
|
16-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added ActiveProcessGroup() getter to Shell and TermView. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39451 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
420cd21c9460cf28a7eff7f16014fc8f83a79061 |
|
17-Aug-2010 |
Rene Gollent <anevilyak@gmail.com> |
Move the password structs outside of the inner block as well. Fixes #6464. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
26411b5359fd5b362623889ee54951f72a15c3f7 |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Remove legacy BeOS code * Ensure the argument list passed to execve is NULL-terminated * Also declare it earlier to make sure gcc4 doesn't erase it from memory when getting out of the if block. This *should* fix gcc4 Terminal, and *does not* break it under gcc2. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38189 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6709e6bcb82e28484ce380f12857e20f33efedca |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Refactor default shell handling so it is done in a single place for a new windows and a new tab. Use "/bin/sh -l" as the default command, and always pass -l ('login shell') to the user selected shell. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38173 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
397fd7f5d04d74c1c336b6217c2a2afaa274548f |
|
16-Aug-2010 |
Stephan Aßmus <superstippi@gmx.de> |
A better fix than r38136: Remove the useless iostream include from Shell.cpp, perhaps a left-over from debugging output? Thanks to Axel for reviewing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38138 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea58911f9aeb918b820d37123a4ee778f6946e8 |
|
16-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Explicitly start bash when opening a new tab, since other shells may not handle the "--login" option. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38133 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9fdb4f6cdba4e444b19404e3d4dfe1c86b2f575 |
|
20-Jul-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Added Shell::HasActiveProcesses() and TermView::IsShellBusy() (which calls the former) to tell if some process launched from the terminal is still running. Some style fix in Shell.h, made a parameter const. Added basic TermWindow::QuitRequested() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37631 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34c53b14a2dc30f5cb25675978e68c748b6fce8e |
|
07-Jul-2010 |
DarkWyrm <darkwyrm@gmail.com> |
No longer set the SHELL variable. This fixes problems with starting gdb and other apps in a new Terminal window git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4eb0cbb044cf538f18c0d252934a5bcaa33bfd34 |
|
07-May-2010 |
Matt Madia <mattmadia@gmail.com> |
Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
181511caad6fb4941ec12392409b7b1e826bb478 |
|
07-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed the alert message translation to something which makes a bit more sense, and is less error prone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36711 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c514d3e3bfc9c33f9f4a2edd0b593d734046c8f |
|
06-May-2010 |
Matt Madia <mattmadia@gmail.com> |
Updated to use B_TRANSLATE* macros. relates to #5408. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8989d8a52e0ca6b551f2a57b51a7f1c77726144b |
|
06-May-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Jorma Karvonen: Localization of the Terminal application. Thanks a lot. Closes ticket #5850. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36640 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e3815ba3bbf5cd9304f51e69a161300d2cb4fea |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
After fork()ing we need to close the PTY master FD in the child. Otherwise closing/killing the Terminal will not automatically wake up children reading/writing the slave end. Fixes #3340 and probably #5395. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35584 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
035edd562b3007371616d102f1c81624ae5b9cd4 |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35583 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7974d3dcf39ce78e5885b481eee12e561ad6e096 |
|
13-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Updated Haiku apps to use sentence-case. What a huge undertaking... The files where I had to apply the patch manually (for mysterious reasons) have also gotten a whitespace cleanup. I've proof-read everything so hopefully there should be no problems. This should be the final part of #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9f7a3e34060ca7626221d243826f7d9595cd77c3 |
|
04-Jan-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
fAttached was never set in Shell::AttachBuffer(), and that caused TermParse::StopThreads() in Shell::DetachBuffer() to be never called. Moved initialization of termios struct to its own functions. Added const to some methods. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34893 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c6aa65eb6a967af6ade9abeee7c961ff84005c7 |
|
19-Dec-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Implemented input method handling. Unfortunately, due to bug #4926, it's completely unusable (it's disabled currently anyway). Shell::AttachBuffer() returns a status_t now (instead of void), so the caller can do something in case it fails. Simplified some methods, removed unused stuff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34707 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b38dbcd92d66ca58d3cff1ab66662646e7be1617 |
|
14-Mar-2009 |
Jérôme Duval <korli@users.berlios.de> |
* set the thread priority to normal for spawned processes (bug #3564) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29533 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4012c75a866fa77d21c6556b75417811d883be60 |
|
21-Feb-2009 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Remove TermView dependency from Shell. It now depends on TerminalBuffer instead. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29273 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
84f0cb1ab4ef245d905e31fa8cdf41b599b9d66a |
|
26-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
VERASE is ^?. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26136 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a71fd7987b6eda68698e0b342afcd7890d2f4d86 |
|
19-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed generated key sequences to be more ANSI/xterm. * Set TERM to "xterm". * Removed unnecessary {Begin,End}ViewTransaction() in TermView::Draw(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26022 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52b1d543e80f5d48e6ef841fff4780c7c87bae11 |
|
09-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal changes. This is still work in progress, some features are disabled, lots of commented debug code is still in there, and quite a bit of cleanup is needed, but basically things work at least as well as before with several improvements: * Changed TerminalBuffer from an interface to a complete implementation. Removed all related code from TermView. Removed the now obsolete TermBuffer. TermParse uses TerminalBuffer instead of TermView, and TerminalBuffer asynchronously notifies TermView. This avoids potential deadlocks, fixing #1918. It also speeds up tty-output-bound programs. E.g. a "seq 10000" is about twice at fast with the default terminal size in my setup, now. It's still horribly slow compared to e.g. Konsole, though. * Replaced CurPos by a more compact and fully inline class TermPos. * Removed the offset feature (that insets the used text area) from TermView, thus simplifying the code. Instead put the view into a new parent view which provides the insets. This also fixes artifacts that could sometimes be observed in the insets area. * Scrolling related changes: - When scrolling fully down, the (80x25 or whatever) terminal screen is seen. It is not possible to scroll below the screen as in Be's Terminal. Scrolling in Haiku's Terminal was weirdly broken in this respect. As a side effect this fixes #2070. - When not scrolled fully down, further output won't cause any scrolling. It is thus possible to read earlier output while something is still going on. Fixes #1772. - Particularly to avoid unnecessary scrolling in the not scrolled fully down case, TermView no longer actually scrolls. It only sets an internal offset and manually uses CopyBits() as needed. Introduced a (hacky) BScrollView subclass using a BScrollBar subclass to make that possible. * Selection related changes: - Double/triple click plus dragging allows for selecting multiple words/lines. - Word selection no longer selects ranges of non-space characters. Instead it knows that words are made of alpha numerical chars and a certain set of other chars, and selects a range of commonly classified characters (word chars, non-word non-whitespace chars, whitespace chars). The non-alpha-num word characters should be made user-settable. Due to missing multi-byte character classification multi-byte whitespace is not recognized. - Beyond the end of the line there no longer are invisible spaces. Trying to select the region selects the end of the line (i.e. line break). This is similar to how Konsole and xterm work. - Added auto-scrolling when selecting with the mouse. Formerly the Terminal scrolled only while moving the mouse. The scroll speed might need some fine-tuning. - Don't know what change exactly did that (likely the switch to non-end-inclusive text ranges used internally), but the occasional selection artifacts are gone. * Resizing the terminal window re-wraps soft-wrapped lines. * The find functionality seemed to be completely broken. At least it never found anything for me. Should work now, though multi-byte characters are not matched correctly in case-insensitive mode. Regressions: * Printing is disabled. * Cursor blinking is disabled. Do we want it anyway? * In several cases full-width characters are not handled correctly (in more cases than before). * Shrinking the terminal width doesn't work very well with "less" (and probably other full-screen terminal apps), due to line re-wrapping. "less" expects them to be truncated only. When supporting an alternate screen buffer re-wrapping should be disabled for it, which should solve the problem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25881 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4386ce0206df74a06409dc1d5ebb0db3596c1e5c |
|
03-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pulled the TermView interface used by TermParse into a new interface class TerminalBuffer, which will evolve into a TermBuffer replacement and decouple the parse thread from the window. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
901e5756cba6cbc992b71815892d9635d32a490b |
|
10-May-2008 |
François Revol <revol@free.fr> |
Indeed we don't need this signal hack for BeOS, we just need to tell it the pgid. That reduces the number of things to remove later ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
156c7443359530266cca0871892653e278981c3d |
|
09-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The terminal is not supposed to send signals to the shell. That's done by the tty. Now I also understand the BeOS work-around to ignore SIGINT in bash I removed recently. I suppose the signal code is still needed for BeOS. If not please remove it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8a741bcbaa6e79759cf55f3713c1c6d8d1a7237 |
|
08-May-2008 |
François Revol <revol@free.fr> |
Sorry but I still need to test Terminal in BeOS to debug it... allstuff is #if(n)defed on __HAIKU__ for clarity. To be removed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25386 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f75d28cb487f08b1613689680547939db1ec306 |
|
25-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
NULL terminate the default argument vector. It is passed to execve(). Fixes #2160. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1669306c8a8c988eb3073689cacebb436c7dc07d |
|
24-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Use the short way of opening a pty. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25136 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
929c94fe377c07592700149c3fd8373f4b10126e |
|
14-Mar-2008 |
François Revol <revol@free.fr> |
This should fix R5 BONE build, as it also lacks setenv(), unlike dano. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24391 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
56e415dda141250b366bc3d5edd71814960129dd |
|
04-Feb-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Opening the preferences window and hitting "cancel" would shrink the window every time, without reason, since _Revert() was called even if no changes were made. Build the list of window sizes dynamically, this way we get rid of some code duplication. Removed implementation of TermWindow::QuitRequested(). The B_QUIT_ON_WINDOW close takes care of quitting the application. Some cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7014c8a3790cfbd79887ef7092b6c89ad9e548bd |
|
17-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Removed support for "Full font", which wasn't used anyway. Since our Terminal only works correctly with fixed width fonts, now the font menu filters out variable width ones. For some reason, though, Konatu Tohaba isn't recognized as fixed. Various other changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5dda419aebf40cc6cc5c7e0a89b6c8f22b760fea |
|
16-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
If spawning a shell in a tab failed, the tab wouldn't be removed by the cleanup thread, since, not being attached to the window, Window() returned NULL. Now CustomTermView::NotifyQuit() accounts for this, and sends the message to the first window in the BApplication. Moreover, RemoveTab() would always remove the currently selected tab, and not the requested one. Changed a printf() to fprintf(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23558 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
523f71ee2b39abfec8a91ead2a576de689b4c299 |
|
16-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Creating a new tab in terminal would show an error message (but still worked). Fixed. Also moved handling of default shell command from TermView to Shell, where it belongs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23557 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
07a6b56636f0909e3e8ffab064b0ebc3ad5929a3 |
|
13-Jan-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
system() works correctly, so we can use its return value now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23515 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c770dc39e6f0740680d1c4d097921089e2434d8 |
|
26-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changed the suspend character to Ctrl-Z. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f3342f281b5a3da3c48c2e77faa6cba97224c6aa |
|
17-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
The Shell destructor was never called. Calling it showed that the PtyReader thread in TermParse hanged in read(). There's even a comment in there (by Axel) that read() is never interrupted. Switched to kill_thread() in TermParse::StopPtyReader() until this problem is fixed. At least we don't leave running apps around anymore. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21997 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb4632f1ecfa5b77c87683e446ff7db70c636baf |
|
16-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Stolen Ingo's Arguments class from Miniterminal and used it in place of GPL'd code in TermApp (slightly modified, and bugfixed, even :P). TermView now accepts an argument vector instead of a commandline. Same thing for Shell. Temporarily(?) removed some commandline options. This also fixes bug #1396 (tested) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21979 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce10f265de398530c8412598f9879a1ed33a8913 |
|
03-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
In case the user supplied a wrong commandline, the Terminal didn't launch the shell as the code would seem to do. I've disabled showing the Alert, since system() doesn't return the return value of "alert". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21809 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2b87a97ac6932e3421e0a8a071a7d31f00ec9c73 |
|
03-Aug-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Attach/DetachShell are now private. Added a new TermView constructor which only specifies the rows and columns, view size is automatically calculated, and used it in TermWindow. Added a TermView::SetTitle() method, thus TermParse doesn't call Window() anymore. Some cleanups, scrollbar was off by one. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21808 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69f6c88d58365e044396fc7c1e67e52a14fff31a |
|
02-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The PtyReader thread now just exits when there is no more left to be read. * setpgid() when spawning the shell was superfluous, as we're already the session leader. * Added a comment to TermView::NotifyQuit() about why sending B_QUIT_REQUESTED to the window isn't such a good idea when you have more than one use for it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21794 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f328fdc455e42072a0909d2155b44bd4b6e375a5 |
|
02-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed the build under BeOS/Dano: * setenv() actually exists in Dano. * On R5, it now uses sprintf() - the previous version would not compile. * Cleaned some weird code in TermBuffer.cpp to set the "buf" variable to the end of the string - it also no longer uses the index() BSD extension (same as strchr()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
69adf535c1b4469dc0991c4c9c07f2dea81f18a4 |
|
28-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
TermView and the classes used by it now don't know about PrefHandler anymore, but have methods to set the needed options. Various cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
258e949475ef1971cc5560dd0715f7199123e7a4 |
|
27-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
More work towards a tabbed terminal. Actually it already somewhat works (code not enabled, though). Moved scripting from TermWindow to TermView. Added a SmartTabView which (for now) only resizes the child views to fit their size. Usual cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
17dfb8b1cb676292928973a7690c277a9875d5c9 |
|
26-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
More headers cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21706 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
abc4720231b10f87fa94d5d1e47d18650cf457de |
|
23-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved cursor blinking functionality from TermParse into TermView (and from a BMessageRunner into Pulse()). Removed more unused stuff. Moved around some constants and definitions. Many style changes. Sorry, I know the two should be separated, but I had already done so many changes... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21695 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac3a8f54460005262afcdc310481d6ba91ef6ff9 |
|
21-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Made all CodeConv methods static, since there was no point for them to be nonstatic. Moved TermParse under Shell, Removed some parameters passing around from TermWindow/TermView/TermParse. Now TermParse threads are started when the shell is attached to a TermView. Might still be improved. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0d32d905e9e0dcc971b842b165a9958c78f8a5aa |
|
21-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Minor cleanup, Updated some copyrights git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21677 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dc25fe8173a381f951765f518a85c287e894cd8c |
|
17-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Got rid of gTermPref by adding some static methods to PrefHandler. The font size menu wasn't up to date with the current settings. Fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21630 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
37b209af048711485162612411b223ecf1948650 |
|
17-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Renamed spawn.cpp/h to Shell.cpp/h and updated the other source files to take this change into account git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21629 a95241bf-73f2-0310-859d-f6bbb57e9c96
|