#
1ddf7e73 |
|
03-Mar-2024 |
Oscar Lesta <oscar.lesta@gmail.com> |
Terminal: change some shortcuts again. hrev57608 changes conflict with the use of left-option-as-meta (#18832). Avoid that by using: - CMD+left/right for switching tabs, and Shift+CMD+left/right for moving them. - Ctrl+Shift+up/down for one-line-at-a-time scrolling. Should fix #18832, but I'm still not happy with those scrolling shortcuts. Also: removed some `(mod & B_COMMAND_KEY)` checks that don't make much sense on `BView::KeyDown()`. They were there since hrev26038. Change-Id: I8d276d18057d309b786f0480c27071cf084b38ef Reviewed-on: https://review.haiku-os.org/c/haiku/+/7495 Reviewed-by: humdinger humdinger <humdinger@mailbox.org> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
18d61222 |
|
21-Jul-2023 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: support for underline color and styles the text is now printed above the underline. Change-Id: I1a3a7713bf514830106532e1534793e0fe158bc2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6706 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
1b370545 |
|
17-Dec-2022 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Terminal: graphical settings for configuring themes. Implements #16835: Make colour schemes modular. Implements #15936: Terminal settings should allow to drop a colour. Change-Id: I1071c9285ba887e734af47b724f9de7f6c660581 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5950 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
7a772a55 |
|
08-Jan-2023 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Terminal: support bracketed paste. Fixes #18029: Pasting into nano etc. eats newlines and indentation Change-Id: I935696bb97f4d82b30f73cc488f6317cf847beae Reviewed-on: https://review.haiku-os.org/c/haiku/+/5987 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
de2ada1f |
|
09-Jul-2021 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Terminal: load themes from data and settings folders. * Uses the same format as the Terminal settings file * Adds an additional key, "Theme name", to settings for themes, which needs to be present for a theme to be loaded, else it will be skipped * Loads themes from Terminal/Themes in the data and settings directories, searching data first, then settings second, allowing a theme to be tweaked by putting a copy in a settings folder Change-Id: I8cadf98151459c1ae6098c38481b16eb3f2cf952
|
#
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>
|
#
11dc1393 |
|
21-Feb-2022 |
Zakero <zakero@zakero.com> |
Minor Terminal fixes In the Terminal settings window, the pop-up help text for "Tab title:" had two entries for "%% - The character '%'.". Removed one of the entries. Fixed the spelling of some constants: kTooTip* vs kToolTip* Changing the window title and tab title directly will now show the same tool-tips as the Terminal settings window. Change-Id: Ic36cc1f8af0305b757105a229203115efee870c8 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4989 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Máximo Castañeda <antiswen@yahoo.es>
|
#
f78b75b1 |
|
05-Nov-2021 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: handle color queries this allows apps like vim to select a color scheme based on a dark or light background. Change-Id: Ia9f98d2373523a8b5fa379225a1c906ae075edf7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4693 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
e3c74f40 |
|
15-Oct-2019 |
Lukasz Towarek <lukasz.towarek@gmail.com> |
Terminal: Add support for extended mouse coordinates Fixes #11949 Change-Id: I779d1a9af2e3208ba3c055692de5e62b6a7b72fc Reviewed-on: https://review.haiku-os.org/c/haiku/+/1919 Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
|
#
8840b3db |
|
14-Aug-2019 |
Simon South <simon@simonsouth.net> |
Terminal: Allow use of Option as Meta key Add a configuration setting that allows the left Option key to be used as a Meta key, and add support for the Escape sequences that control the Meta key's behaviour. TermWindow now maintains a copy, shared by all its component TermViews, of the current key map, and updates this copy automatically when notified by the Input Server a new key map has been loaded. The Meta key was an extra modifier key present on early UNIX workstations that provided access to the "extended" portion of the ASCII character set. Although it has vanished from modern keyboards certain UNIX software still relies on the key, most notably GNU Emacs and the GNU readline library, the latter of which is used by bash and a wide variety of other software that reads input from a terminal. (Python's interactive mode uses readline, for instance.) With this patch applied and the new setting enabled, the left Option key can be used to access additional editing and navigation features at the command line. It also makes usable the port of GNU Emacs currently available from HaikuDepot. Fixes #15294. Change-Id: I150b640b7b18384d56ab2fb017bf16ce8bdbdd78 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1727 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
105acc92 |
|
29-Oct-2016 |
Jérôme Duval <jerome.duval@gmail.com> |
Terminal: always use bright for bold text. * "Allow bold font" now enables the use of the bold font for bold text. * so one can now see bold text in black on black.
|
#
b7d01200 |
|
03-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Terminal: Added "Save as defaults" back. * It's still convenient to have. * Furthermore, the distinction between when settings are stored is hard to grasp otherwise. * Plus, adopting the current window size is now much more straight forward.
|
#
dbf8c834 |
|
19-Feb-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Terminal: added basic conditional title patterns. * You can now insert arbitrary text only if the following or previous placeholder does not resolve to an empty value using the %<, %> and %- placeholders. * Additionally, any non-alpha numeric character between % and the placeholder character will only be displayed if the placeholder does not resolve to an empty value, too. * All of this allows you to get rid of the extra space between "Terminal" and ":" before the current path -- which is now the default.
|
#
482f0eeb |
|
10-Nov-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
add window size and encoding to terminal prefs * The menu items now only set the values for the current window without saving, * The settings in the preference window are persistent, * The "save as defaults" menu item is removed. Fixes #5030.
|
#
be3f404c |
|
13-Feb-2014 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Add option to use bright instead of bold text A saturated add was chosen instead of tint_color, as the results of tint_color were too extreme.
|
#
e9bad28a |
|
10-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal: Add a hyperlink mode When holding down Command, text under the mouse is checked whether it looks like a URL or a local path. If so, it is highlighted and can be clicked, which will open the URL/file. Right-clicking opens a context menu with items for opening the link/file or copying it to the clipboard. When additionally holding down Shift, path prefixes up to the component under the mouse will be considered (no effect for URLs). Changes: * Add HyperLink class. Encapsulates a type, the address, and an optional base address. Features an Open() method to open the address. * Move/add some string constants to TermConst. * Move TermView::CharClassifier to top level and rename to DefaultCharClassifier. * Introduce TermViewHighlight and TermViewHighlighter. The former refers to a range of text in a TermView's text buffer. It also contains a pointer to a TermViewHighlighter object, which specifies how the text range shall be rendered (colors and attributes). * TermView: - Add respective _{Add,Remove}Highlight() methods and adjust the code to support highlights. - Make the selection a TermViewHighlight. At least its visual aspect is now handled like other highlights. - Introduce an inner TextBufferSyncLocker. It is used instead of BAutolock when locking the text buffer to synchronize the visual buffer with it. After it unlocks it calls _VisibleTextBufferChanged(), if the visual text buffer has changed, which in turn calls a new callback on the active state. - Add WindowActivated() and ModifiersChanged() callbacks to the state interface. - Add new states HyperLinkState and HyperLinkMenuState which implement the new feature. Fix modifier issues
|
#
3d149248 |
|
03-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix support of East Asian Full Width characters * Re-enable full-width characters detection and display; * Fix cursor drawing on full-width characters; * Fix debug dump for multi-byte characters; * Fix file permissions for debug capture log. Fixes #6717. Also may improve behaviour related to #6227.
|
#
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.
|
#
bbfd23ab |
|
09-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Use native bold style drawing (+ switchable emulation) Use native bold font for rendering characters with corresponding attribute set. Possibility for switching to R5-like bold characters emulation is also implemented. This one uses uses the left-down shadow in B_OP_BLEND drawing mode instead of the rigth-down one as previously.
|
#
6d30b376 |
|
05-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support for underline and ibeam terminal cursor styles * Add support for underline and i-beam cursor shapes. No corresponding UI configuration in preferences view ATM because preferences are waiting for refactoring and we need some eggs for this Easters. ;-) * Add handling of VT520/xterm specific DECSCUSR control sequences allowing applications to modify the style and blinking state of the cursor. May be utilized, for example, by console version of vim; * Implement cursor blinking/hiding on DECSET/DECRST commands.
|
#
718a28ce |
|
30-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Add Debug snapshots and capture of Terminal data flow Two helper functions introduced: "make debug snapshots" triggered by Ctrl-Cmd-S shortcut and "capture data flow" triggered by Ctrl-Cmd-C shortcut. The first one makes debug dump of current data both in visual and in text buffer, including history lines if they available. The second one mirrors all characters and control sequences that are flowing through the Parser. Both dump and capture files are saved under /var/log folder. That functionality available only if the USE_DEBUG_SNAPSHOTS switch is defined.
|
#
68ea9ce5 |
|
27-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
OSC and color management improoved * Global kTermColorTable replaced with it's private copy for every TermView instance. This allows to modify colors table for every view separately; * Set of ANSI normal/bright color entries added into preferences; * Default color table generated dynamicaly using ANSI colors preferences. 6x6x6 color cubes and grayscale ramp are generated in xterm colors model; * Improoved support of Operating System Command control sequences; * Support for X11 rgb.txt compatible color names. Corresponding entries are stored in hashed form in application resource and loaded only on demand.
|
#
02f3baa0 |
|
26-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Cleanup:Remove unused pref entries and fix typo * PREF_SHELL is not used anymore, corresponding entry in /etc/passwd should be used instead; * PREF_GUI_LANGUAGE is not actual anymore - we have system-wide UI localization support; * Fix typo in the name of MSG_SET_TERMNAL_TITLE constant.
|
#
748378c8 |
|
12-Dec-2012 |
Humdinger <humdingerb@gmail.com> |
Renamed cusor colour settings. "Cursor text" and "Cursor background" in the Color popup menu are a bit unintuitive. Changed to "Text under cursor" and "Cursor".
|
#
a095f503 |
|
07-Nov-2012 |
Humdinger <humdingerb@gmail.com> |
Changing 'Blinking cursor' in settings too. +alpha4. quick, quick..
|
#
12290528 |
|
05-Nov-2012 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Make the cursor color configurable. Signed-off-by: Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>
|
#
4e3d346e |
|
04-Nov-2012 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Make cursor blinking an option. Signed-off-by: Rene Gollent <anevilyak@gmail.com>
|
#
105093fd |
|
21-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new class TerminalRoster, which maintains a list of all running terminals, including their window minimized status and workspaces. These information are shared via our special-purpose clipboard. TerminalRoster mainly acts as a cache. * Removed the terminal ID management from TermApp. Most is now done by TerminalRoster, the rest has been moved to TermWindow. * Moved the terminal position file reading/writing from TermApp to TermWindow. * Moved the remaining terminal window title handling from TermApp to TermWindow. * Replaced the solution for #6613 implemented in r39530 (enabling/disabling the "Switch Terminals" menu item depending on whether there are other Terminals). The new solution is more correct, since it does enable the menu item, if and only if switching to another Terminal will happen when triggering it. I.e. minimized Terminals and ones on other workspaces are ignored. Should also fix #6612, since there's no synchronous communication between different terminal apps anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ad617d33 |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved some locally used message constants from TermConst.h to TermWindow.cpp. * Added an "Edit tab title..." item to the tab menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39514 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
135f173d |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added SetTitleDialog, a dialog to edit a tab/window title. * Use the dialog to open the tab title. Opened on double-click on the tab. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6476732 |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the reusable part of the tab/window title prefs tool tips to TermConst.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39496 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38d5ce62 |
|
18-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed "move" parameter from the TermView::Listener::{Previous,Next}TermView() methods. All B_COMMAND_KEY combos are intercepted by the window, so we never get them in the view. * Added window shortcut Command-Shift-Left/Right to move the tabs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39490 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92b0038e |
|
18-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a listener interface to TermView. This allowed to get rid of CustomTermView and of the messaging from view to window. It also simplified things in TermWindow. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
02ee32bb |
|
17-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented support for dynamic tab and window titles: * Added settings for tab and window titles. Both are strings with optional placeholders for tab/terminal index, currently active process name and current directory. * Added a generic utility class PatternEvaluator that allows to expand this kind of pattern strings and callback classes [Tab,Window]TitlePlaceholderMapper that provide the specific expansion for the tab and window title placeholders. * TermWindow: - Separated the notions of session (== tab) and window titles. The tty clients no longer set the window, but the session title. - Use the patterns instead of the hard-coded window/tab titles. - Recompute all titles once a second, so changes of running programs are reflected. * The default patterns for tab and window titles are "%1d: %p" (last CWD component and name of the running process) and "Terminal %i: %t" (Terminal ID and active tab title). Unfortunately the space on the tabs is seriously limited, so that the tab title is virtually always truncated. Ideas welcome. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39473 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8875dc74 |
|
17-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Marked all constants static. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffad8506 |
|
28-Oct-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Remove the setting for a fixed cursor color. Instead, the cursor now inverts the colors of the char below it. * This allows getting a cursor well visible both on black and white backgrouds. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39183 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d18fc399 |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by rossi, but I ended u rewriting half of it : * Save terminal windows positions * Also save their size and workspace, but these aren't used (size is overriden by the menu setting and workspace is annoying) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38192 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6100b6aa |
|
13-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Enlarge attributes to 32 bit instead of 16. This prepares 256-color support for terminal. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38089 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6491fb59 |
|
25-Jul-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Terminal will issue an alert, if there are active processes and the user closes the window (doesn't work if the user closes only a tab, yet). Active by default but can be disabled by a checkbox. - The preference window needs to be reworked. - Wording of the alert and the option can be improved (I accept advices). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37754 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
|
#
74d2e159 |
|
04-Jan-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Invoke the shell using /bin/bash instead of /bin/sh. Use convert_to/from_utf8() directly instead of the homebrewn proxy methods. Removed CodeConv from the repository. Remove UTF8WidthTbl.c from the repository, since it's not used anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34894 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
|
#
630426d6 |
|
27-Sep-2009 |
Rene Gollent <anevilyak@gmail.com> |
Patch by Joshua R. Elsasser: Implement correctly handling tab stop escape sequences. Resolves ticket #4657. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33326 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d76009fd |
|
14-Aug-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Renamed the "Find {Forward,Backward}" menu entries to "Find {Previous/Next}" and assigned the usual shortcut keys (Cmd-[Shift-]G). * Changed the behavior so that "Find Next" continues looking in the search direction. I'm somewhat undecided whether this is confusing, since the default (and usually desired) search direction is backward. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32386 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2d1e007 |
|
08-Aug-2009 |
Joachim Seemer <humdingerb@googlemail.com> |
Applied old patch by Urias (see #3209) improving strings in Terminal's preferences. Added a few more tidbits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11efbf01 |
|
24-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Applied patch by Olivier to implement more mouse reporting modes, and thus fixing bug #2854. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30374 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21543141 |
|
19-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Applied slightly changed patch by Olivier that adds basic xterm style mouse support, thanks! * This probably closes bug #2854, confirmation pending. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30268 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c2f7e34f |
|
15-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* When resizing the Terminal, we now show a small BStringView that displays the current size of the Terminal in characters. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28125 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5e61a10 |
|
19-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed mouse copy'n'paste support. We use a separate clipboard for mouse selection which we update whenever the first mouse button is released. This also enables copy'n'paste between Terminals. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26044 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
799a9a34 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* TermWindow does maintain a separate Session list instead of doing nasty things with the tab view. * The tabs are named "Shell <number>" now, which is somewhat more useful than all being named "Terminal". This is similar to Konsole and we should probably also support setting the tab name by the user. Until Haiku supports persistent sessions, that is not really useful, though. * Shift-Left/Right iterates through the tabs, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c9d4b02 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Change the line history to a more compact format. We reserve lines * (width + 8) bytes which is only a little more than a sixth of what it was before. The effect on performance is relatively small. In my tests I measured about 2% slowdown. * Fixed artifacts after soft-wrapped lines. * Re-enabled cursor blinking. I changed it so that the cursor is 1s shown and 0.5s hidden (instead of 1s each). Tell me what you think. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25957 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
|
#
80f6938b |
|
08-May-2008 |
François Revol <revol@free.fr> |
- MakeMenu() now adds a separator for empty strings. - add pref names for ANSI colors, for later... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
770b7313 |
|
24-Jan-2008 |
François Revol <revol@free.fr> |
Typo again, no need to keep them as the format is different from R5 anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
907227a8 |
|
24-Jan-2008 |
François Revol <revol@free.fr> |
Was that a typo ? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23724 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
|
#
b6f9f38a |
|
16-Sep-2007 |
Ryan Leavengood <leavengood@gmail.com> |
Applied patch from Bek of the HOST team: allow the Terminal to be resized to one line. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dbc03773 |
|
28-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a SIGCHLD handler, so that the terminal will notice when one of its shells has been terminated. Usually the thread reading from the tty master would notice when all slaves have been closed, but they won't be closed when the shell started a background job that's still living. Unfortunately there are race conditions in the terminal that can lead to deadlock when a session is closed. The service threads usually happily lock the window, while the (locked) window would wait for the service threads to quit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22100 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
|
#
b10dd441 |
|
26-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Fixed warnings, rearranged some headers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
702e4be8 |
|
25-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved all TermView initializing code into TermView itself. Before you couldn't just rely on its constructor to fully initialize the object, since the code was scattered around, mostly into TermWindow. Added a commented out TermWindow constructor which only creates and adds a TermView object to the view hierarchy, which now works. Removed weird TermWindowActivate method, use WindowActivated instead. TermApp can now keep a pointer to a BWindow instead of TermWindow, since it doesn't do anything special with it. TermView::SetTermFont() now can filter the font attributes (it uses B_FIXED_SPACING, I'm not sure it's needed but it doesn't hurt). Usual cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21698 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
|
#
e0ba8e50 |
|
29-Jun-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Got rid of the drawing thread, drawing is faster using the "correct" approach. There are still some leftovers, will be taken care in the next commits (not today though) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f108511 |
|
25-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote terminal ID code to use a temporary file - this fixes bug #1174. * Tried to fix the usual deadlock on quit, but suspending the thread (to interrupt read()) doesn't have the expected outcome (might be a kernel bug). * Removed superfluous MENU_FILE_QUIT and send a B_QUIT_REQUESTED instead. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef502a7e |
|
20-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed useless context menu. * Removed useless mouse button preferences. * The secondary and tertiary buttons now both paste the selection (or clipboard data) into the Terminal, this fixes bug #1159. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f95dbf89 |
|
22-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implement Find in Terminal. This is almost identical to R5's Terminal, except that it doesn't look for regexps. Code tested by me. Thanks to jburton for helping me out and reviewing the patch. This resolves bug #199. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18561 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bc96eab5 |
|
29-Jun-2006 |
Jérôme Duval <korli@users.berlios.de> |
a new terminal is now launched in TermWindow we now search for a Terminal index : we use scripting to ask every Terminal its window title, and from this computes a free index this fixes bug #699 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17975 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
289ca930 |
|
22-May-2006 |
François Revol <revol@free.fr> |
Added a Fullscreen shortcut (ALT-ENTER). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17554 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9fe40077 |
|
21-Feb-2006 |
Jérôme Duval <korli@users.berlios.de> |
added a "Save as default" menu item in Terminal, helps on bug #42 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
662f5284 |
|
29-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed all global preferences path constants. PrefHandler now exports a static method GetDefaultPath() which gets the path to the default settings file (using find_directory(), of course). Disabled locale support; should be easy to reenable when needed again, though. Made all the PrefHandler getters a lot more robust (could easily crash when asking for an unknown item). Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13853 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
716af532 |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed MENU_SHOW_ABOUT constant - it's no longer used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3dc729f |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved the files out of the MYOB folder into the main folder. There are some double entries (like TermApp.cpp and TerminalApp.cpp, so it still needs a further cleanup). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13734 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b7d012007427f3f0cc0881275cf5bcf7b198fb32 |
|
03-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Terminal: Added "Save as defaults" back. * It's still convenient to have. * Furthermore, the distinction between when settings are stored is hard to grasp otherwise. * Plus, adopting the current window size is now much more straight forward.
|
#
dbf8c834a25bf2e138e2163ff110d62b663c9736 |
|
19-Feb-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Terminal: added basic conditional title patterns. * You can now insert arbitrary text only if the following or previous placeholder does not resolve to an empty value using the %<, %> and %- placeholders. * Additionally, any non-alpha numeric character between % and the placeholder character will only be displayed if the placeholder does not resolve to an empty value, too. * All of this allows you to get rid of the extra space between "Terminal" and ":" before the current path -- which is now the default.
|
#
482f0eeb0169f5091ccc56af5124b19a9e801573 |
|
10-Nov-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
add window size and encoding to terminal prefs * The menu items now only set the values for the current window without saving, * The settings in the preference window are persistent, * The "save as defaults" menu item is removed. Fixes #5030.
|
#
be3f404ca1068e9d0ae262ed4ab4fab2fa91b103 |
|
13-Feb-2014 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Add option to use bright instead of bold text A saturated add was chosen instead of tint_color, as the results of tint_color were too extreme.
|
#
e9bad28aafc6b71378bb71139cde6269bbb0afa7 |
|
10-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Terminal: Add a hyperlink mode When holding down Command, text under the mouse is checked whether it looks like a URL or a local path. If so, it is highlighted and can be clicked, which will open the URL/file. Right-clicking opens a context menu with items for opening the link/file or copying it to the clipboard. When additionally holding down Shift, path prefixes up to the component under the mouse will be considered (no effect for URLs). Changes: * Add HyperLink class. Encapsulates a type, the address, and an optional base address. Features an Open() method to open the address. * Move/add some string constants to TermConst. * Move TermView::CharClassifier to top level and rename to DefaultCharClassifier. * Introduce TermViewHighlight and TermViewHighlighter. The former refers to a range of text in a TermView's text buffer. It also contains a pointer to a TermViewHighlighter object, which specifies how the text range shall be rendered (colors and attributes). * TermView: - Add respective _{Add,Remove}Highlight() methods and adjust the code to support highlights. - Make the selection a TermViewHighlight. At least its visual aspect is now handled like other highlights. - Introduce an inner TextBufferSyncLocker. It is used instead of BAutolock when locking the text buffer to synchronize the visual buffer with it. After it unlocks it calls _VisibleTextBufferChanged(), if the visual text buffer has changed, which in turn calls a new callback on the active state. - Add WindowActivated() and ModifiersChanged() callbacks to the state interface. - Add new states HyperLinkState and HyperLinkMenuState which implement the new feature. Fix modifier issues
|
#
3d1492487d880a3518397a6326bc7fe26228ccf6 |
|
03-Apr-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Fix support of East Asian Full Width characters * Re-enable full-width characters detection and display; * Fix cursor drawing on full-width characters; * Fix debug dump for multi-byte characters; * Fix file permissions for debug capture log. Fixes #6717. Also may improve behaviour related to #6227.
|
#
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.
|
#
bbfd23abd5e9cddd8498376d21ac53a96d5c4cb7 |
|
09-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Use native bold style drawing (+ switchable emulation) Use native bold font for rendering characters with corresponding attribute set. Possibility for switching to R5-like bold characters emulation is also implemented. This one uses uses the left-down shadow in B_OP_BLEND drawing mode instead of the rigth-down one as previously.
|
#
6d30b376e908fe678fc35c79d58314367f3d44fe |
|
05-Mar-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Support for underline and ibeam terminal cursor styles * Add support for underline and i-beam cursor shapes. No corresponding UI configuration in preferences view ATM because preferences are waiting for refactoring and we need some eggs for this Easters. ;-) * Add handling of VT520/xterm specific DECSCUSR control sequences allowing applications to modify the style and blinking state of the cursor. May be utilized, for example, by console version of vim; * Implement cursor blinking/hiding on DECSET/DECRST commands.
|
#
718a28ceadb872b766b13cb3743c575fe416e501 |
|
30-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Add Debug snapshots and capture of Terminal data flow Two helper functions introduced: "make debug snapshots" triggered by Ctrl-Cmd-S shortcut and "capture data flow" triggered by Ctrl-Cmd-C shortcut. The first one makes debug dump of current data both in visual and in text buffer, including history lines if they available. The second one mirrors all characters and control sequences that are flowing through the Parser. Both dump and capture files are saved under /var/log folder. That functionality available only if the USE_DEBUG_SNAPSHOTS switch is defined.
|
#
68ea9ce5bbed50e08bf08a151477bbb0e1ac1227 |
|
27-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
OSC and color management improoved * Global kTermColorTable replaced with it's private copy for every TermView instance. This allows to modify colors table for every view separately; * Set of ANSI normal/bright color entries added into preferences; * Default color table generated dynamicaly using ANSI colors preferences. 6x6x6 color cubes and grayscale ramp are generated in xterm colors model; * Improoved support of Operating System Command control sequences; * Support for X11 rgb.txt compatible color names. Corresponding entries are stored in hashed form in application resource and loaded only on demand.
|
#
02f3baa09d11547e1be4a950d279dd55371a3fcc |
|
26-Jan-2013 |
Siarzhuk Zharski <zharik@gmx.li> |
Cleanup:Remove unused pref entries and fix typo * PREF_SHELL is not used anymore, corresponding entry in /etc/passwd should be used instead; * PREF_GUI_LANGUAGE is not actual anymore - we have system-wide UI localization support; * Fix typo in the name of MSG_SET_TERMNAL_TITLE constant.
|
#
748378c82683178e55f06b4c2d711d4aea7a1b06 |
|
12-Dec-2012 |
Humdinger <humdingerb@gmail.com> |
Renamed cusor colour settings. "Cursor text" and "Cursor background" in the Color popup menu are a bit unintuitive. Changed to "Text under cursor" and "Cursor".
|
#
a095f503dc5601255e7e03fc8b430eeea080d1c6 |
|
07-Nov-2012 |
Humdinger <humdingerb@gmail.com> |
Changing 'Blinking cursor' in settings too. +alpha4. quick, quick..
|
#
122905281dd29a0ee9ef35dd280a33aab21e6c3d |
|
05-Nov-2012 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Make the cursor color configurable. Signed-off-by: Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>
|
#
4e3d346e9177b9a6ad3d84c28a39c08898e0a6ec |
|
04-Nov-2012 |
Jonathan Schleifer <js@webkeks.org> |
Terminal: Make cursor blinking an option. Signed-off-by: Rene Gollent <anevilyak@gmail.com>
|
#
105093fddbb85778be7ebb0d99cb5fa844ea0ee4 |
|
21-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new class TerminalRoster, which maintains a list of all running terminals, including their window minimized status and workspaces. These information are shared via our special-purpose clipboard. TerminalRoster mainly acts as a cache. * Removed the terminal ID management from TermApp. Most is now done by TerminalRoster, the rest has been moved to TermWindow. * Moved the terminal position file reading/writing from TermApp to TermWindow. * Moved the remaining terminal window title handling from TermApp to TermWindow. * Replaced the solution for #6613 implemented in r39530 (enabling/disabling the "Switch Terminals" menu item depending on whether there are other Terminals). The new solution is more correct, since it does enable the menu item, if and only if switching to another Terminal will happen when triggering it. I.e. minimized Terminals and ones on other workspaces are ignored. Should also fix #6612, since there's no synchronous communication between different terminal apps anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39562 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ad617d3320a857b8272fa71d92146f963501e5fa |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved some locally used message constants from TermConst.h to TermWindow.cpp. * Added an "Edit tab title..." item to the tab menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39514 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
135f173dcebc6dbbeb048a7a0e065f8e24bf510f |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added SetTitleDialog, a dialog to edit a tab/window title. * Use the dialog to open the tab title. Opened on double-click on the tab. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6476732274148903e53f91a46fb7e7e8185977c |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved the reusable part of the tab/window title prefs tool tips to TermConst.h/cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39496 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38d5ce6271ca1648326ffa64cf38bb461e76242e |
|
18-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed "move" parameter from the TermView::Listener::{Previous,Next}TermView() methods. All B_COMMAND_KEY combos are intercepted by the window, so we never get them in the view. * Added window shortcut Command-Shift-Left/Right to move the tabs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39490 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92b0038ec03c6184daa8588f01c7684aef0b002b |
|
18-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a listener interface to TermView. This allowed to get rid of CustomTermView and of the messaging from view to window. It also simplified things in TermWindow. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
02ee32bb0d3cc6680c421177bb490dba84230081 |
|
17-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented support for dynamic tab and window titles: * Added settings for tab and window titles. Both are strings with optional placeholders for tab/terminal index, currently active process name and current directory. * Added a generic utility class PatternEvaluator that allows to expand this kind of pattern strings and callback classes [Tab,Window]TitlePlaceholderMapper that provide the specific expansion for the tab and window title placeholders. * TermWindow: - Separated the notions of session (== tab) and window titles. The tty clients no longer set the window, but the session title. - Use the patterns instead of the hard-coded window/tab titles. - Recompute all titles once a second, so changes of running programs are reflected. * The default patterns for tab and window titles are "%1d: %p" (last CWD component and name of the running process) and "Terminal %i: %t" (Terminal ID and active tab title). Unfortunately the space on the tabs is seriously limited, so that the tab title is virtually always truncated. Ideas welcome. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39473 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8875dc741a23ff984e2bf4e37055eb64735f986b |
|
17-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Marked all constants static. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffad85060af9d695c5eb0468c91b8a438d42d638 |
|
28-Oct-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Remove the setting for a fixed cursor color. Instead, the cursor now inverts the colors of the char below it. * This allows getting a cursor well visible both on black and white backgrouds. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39183 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d18fc3994c2e4686a400c83d8fe97d470f305f84 |
|
17-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by rossi, but I ended u rewriting half of it : * Save terminal windows positions * Also save their size and workspace, but these aren't used (size is overriden by the menu setting and workspace is annoying) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38192 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6100b6aa33a6eaad0d5324a7da8718a8d5f5d1f7 |
|
13-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Enlarge attributes to 32 bit instead of 16. This prepares 256-color support for terminal. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38089 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6491fb598a70c8e58c3d205f7d8cf5438927fb20 |
|
25-Jul-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Terminal will issue an alert, if there are active processes and the user closes the window (doesn't work if the user closes only a tab, yet). Active by default but can be disabled by a checkbox. - The preference window needs to be reworked. - Wording of the alert and the option can be improved (I accept advices). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37754 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
|
#
74d2e1599a2dffe4be4f58d199c413947d241b89 |
|
04-Jan-2010 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Invoke the shell using /bin/bash instead of /bin/sh. Use convert_to/from_utf8() directly instead of the homebrewn proxy methods. Removed CodeConv from the repository. Remove UTF8WidthTbl.c from the repository, since it's not used anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34894 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
|
#
630426d679a4db217ef474d72beebe495f1473f3 |
|
27-Sep-2009 |
Rene Gollent <anevilyak@gmail.com> |
Patch by Joshua R. Elsasser: Implement correctly handling tab stop escape sequences. Resolves ticket #4657. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33326 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d76009fdce7eb3fb9addc7c8fa21fbabd81c7e63 |
|
14-Aug-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Renamed the "Find {Forward,Backward}" menu entries to "Find {Previous/Next}" and assigned the usual shortcut keys (Cmd-[Shift-]G). * Changed the behavior so that "Find Next" continues looking in the search direction. I'm somewhat undecided whether this is confusing, since the default (and usually desired) search direction is backward. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32386 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2d1e007c0bd7bc1efdaec87f2690cf776cac60d |
|
08-Aug-2009 |
Joachim Seemer <humdingerb@googlemail.com> |
Applied old patch by Urias (see #3209) improving strings in Terminal's preferences. Added a few more tidbits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11efbf01602654bfa8fb29b0681e90c2bb21f8c2 |
|
24-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Applied patch by Olivier to implement more mouse reporting modes, and thus fixing bug #2854. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30374 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21543141ddb5ffd4a6f8e11254ca9015fef36a05 |
|
19-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Applied slightly changed patch by Olivier that adds basic xterm style mouse support, thanks! * This probably closes bug #2854, confirmation pending. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30268 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c2f7e34f8d7fd26dae5fdf60ebf6a62e8048c028 |
|
15-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* When resizing the Terminal, we now show a small BStringView that displays the current size of the Terminal in characters. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28125 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5e61a10eb0f4c1fbd2ffb4b509cf5eb8522cc8f |
|
19-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed mouse copy'n'paste support. We use a separate clipboard for mouse selection which we update whenever the first mouse button is released. This also enables copy'n'paste between Terminals. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26044 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
799a9a3449a0151626da9d454a892b5d34f17ff1 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* TermWindow does maintain a separate Session list instead of doing nasty things with the tab view. * The tabs are named "Shell <number>" now, which is somewhat more useful than all being named "Terminal". This is similar to Konsole and we should probably also support setting the tab name by the user. Until Haiku supports persistent sessions, that is not really useful, though. * Shift-Left/Right iterates through the tabs, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4c9d4b02efb56c9444a83fb99e362681aa14c7c1 |
|
14-Jun-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Change the line history to a more compact format. We reserve lines * (width + 8) bytes which is only a little more than a sixth of what it was before. The effect on performance is relatively small. In my tests I measured about 2% slowdown. * Fixed artifacts after soft-wrapped lines. * Re-enabled cursor blinking. I changed it so that the cursor is 1s shown and 0.5s hidden (instead of 1s each). Tell me what you think. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25957 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
|
#
80f6938b34b03d1ff832cc013d24db3e1cd18116 |
|
08-May-2008 |
François Revol <revol@free.fr> |
- MakeMenu() now adds a separator for empty strings. - add pref names for ANSI colors, for later... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
770b7313c2bc92bccfd1ea0971c2080379c2768f |
|
24-Jan-2008 |
François Revol <revol@free.fr> |
Typo again, no need to keep them as the format is different from R5 anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
907227a8df24e2dae5d5f7281bef59f90d203b0d |
|
24-Jan-2008 |
François Revol <revol@free.fr> |
Was that a typo ? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23724 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
|
#
b6f9f38a7f35ac1cd2c3fc18111fc948030c95a5 |
|
16-Sep-2007 |
Ryan Leavengood <leavengood@gmail.com> |
Applied patch from Bek of the HOST team: allow the Terminal to be resized to one line. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dbc03773ef3b00c0daf4f4cdd8871f0a4072d094 |
|
28-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a SIGCHLD handler, so that the terminal will notice when one of its shells has been terminated. Usually the thread reading from the tty master would notice when all slaves have been closed, but they won't be closed when the shell started a background job that's still living. Unfortunately there are race conditions in the terminal that can lead to deadlock when a session is closed. The service threads usually happily lock the window, while the (locked) window would wait for the service threads to quit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22100 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
|
#
b10dd441dd5f72dd60287cdd7223cb0cfd64893b |
|
26-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Fixed warnings, rearranged some headers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
702e4be807966ff71d1c6d71b46f93d3e83314c9 |
|
25-Jul-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Moved all TermView initializing code into TermView itself. Before you couldn't just rely on its constructor to fully initialize the object, since the code was scattered around, mostly into TermWindow. Added a commented out TermWindow constructor which only creates and adds a TermView object to the view hierarchy, which now works. Removed weird TermWindowActivate method, use WindowActivated instead. TermApp can now keep a pointer to a BWindow instead of TermWindow, since it doesn't do anything special with it. TermView::SetTermFont() now can filter the font attributes (it uses B_FIXED_SPACING, I'm not sure it's needed but it doesn't hurt). Usual cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21698 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
|
#
e0ba8e50cc2673c6d4a1733f368ec7c248551b28 |
|
29-Jun-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Got rid of the drawing thread, drawing is faster using the "correct" approach. There are still some leftovers, will be taken care in the next commits (not today though) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7f1085115e560e38a524331ecda040502a2a81cd |
|
25-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Rewrote terminal ID code to use a temporary file - this fixes bug #1174. * Tried to fix the usual deadlock on quit, but suspending the thread (to interrupt read()) doesn't have the expected outcome (might be a kernel bug). * Removed superfluous MENU_FILE_QUIT and send a B_QUIT_REQUESTED instead. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef502a7eb33440462ad3219c94d2bb46d1c5183b |
|
20-Apr-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed useless context menu. * Removed useless mouse button preferences. * The secondary and tertiary buttons now both paste the selection (or clipboard data) into the Terminal, this fixes bug #1159. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f95dbf89065f63a1ed5c4588d7c263a3b9489806 |
|
22-Aug-2006 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Implement Find in Terminal. This is almost identical to R5's Terminal, except that it doesn't look for regexps. Code tested by me. Thanks to jburton for helping me out and reviewing the patch. This resolves bug #199. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18561 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bc96eab5bdec4f9aba2efb63ce2b31201daedfc2 |
|
29-Jun-2006 |
Jérôme Duval <korli@users.berlios.de> |
a new terminal is now launched in TermWindow we now search for a Terminal index : we use scripting to ask every Terminal its window title, and from this computes a free index this fixes bug #699 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17975 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
289ca930ab86dfbe6bcee18b7feb0604bdf169b8 |
|
22-May-2006 |
François Revol <revol@free.fr> |
Added a Fullscreen shortcut (ALT-ENTER). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17554 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9fe40077e90cb4ada00243d8800d95045a7e858e |
|
21-Feb-2006 |
Jérôme Duval <korli@users.berlios.de> |
added a "Save as default" menu item in Terminal, helps on bug #42 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
662f52848a218a0b8a210e4cee58a4b36e9ff226 |
|
29-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed all global preferences path constants. PrefHandler now exports a static method GetDefaultPath() which gets the path to the default settings file (using find_directory(), of course). Disabled locale support; should be easy to reenable when needed again, though. Made all the PrefHandler getters a lot more robust (could easily crash when asking for an unknown item). Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13853 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
716af53244504c7cd2fbe7f831ece607d8490b84 |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed MENU_SHOW_ABOUT constant - it's no longer used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3dc729f9fbe302c5c45c3ec2518650a260605d7 |
|
18-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Moved the files out of the MYOB folder into the main folder. There are some double entries (like TermApp.cpp and TerminalApp.cpp, so it still needs a further cleanup). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13734 a95241bf-73f2-0310-859d-f6bbb57e9c96
|