Commit Graph

46 Commits

Author SHA1 Message Date
Robert Knight
46cfc108d3 * Replace all usage of qDebug() with kDebug(), since kDebug() provides information about
which part of the code the message came from and allows filtering of output
  using kdebugdialog
* Remove explicit creation of singleton classes SessionManager,ColorSchemeManager and
  KeyboardTranslatorManager and automate it with K_GLOBAL_STATIC.
  This ensures that the singleton destructors are called appropriately by KPart clients
  when they unload the libkonsolepart library.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=754334
2007-12-29 16:07:31 +00:00
Thomas Zander
d180bad6f0 BUG: 152449
This makes sure that if you create a new tab it will always inherit the
current dir, unless the profile you use (either the default using 'new tab'
or using a profile specifically) has a directory set. In which case it will
go to that dir.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749736
2007-12-17 18:48:26 +00:00
Robert Knight
e37fe69431 * Fix problem where selection background and other text with non-standard background
colors was not readable with terminal display transparency enabled.

* Transparency works again, but requires --enable-transparency argument passed to command-line
  due to artifacts that appear otherwise.
  Re-enable the code which searches for a suitable display, visual and colormap when
  starting the application in an environment which supports compositing.  Still
  need to resolve with other developers exactly how this will be done in KDE 4.0

* Fix problem where flow control warning banner was always displayed when 
  Ctrl+S, Ctrl+Q were pressed, regardless of whether flow control was 
  actually enabled.

* Fix artifacts when scrolling whilst the flow control warning banner was 
  visible.  Scrolling optimisations in the terminal display are disabled whilst
  the warning banner is being shown.

* Fix links which wrapped over more than one line being cut-off at the end of the line
  (eg. when parsing "http://www.kd <END OF LINE> e.org" the link address would be reported
   as "http://www.kd" instead of "http://www.kde.org").  The link underlining is not yet 
   corrected, only the part of the link on the first line is highlighted.  

* Implement code to load and use a built-in keyboard translator for fallback purposes
  in case no .keytab files exist.  The actual translator text (in DefaultTranslatorText.h)
  is currently incomplete. 

* Replace hard-coded colors for flow control warning label with colors from
  KColorScheme

* Replace hard-coded colors in incremental search line edit when a match is not found
  with colors from KColorScheme

* Remove un-used variables in TerminalDisplay class, rename enums to match
  CamelCase naming style used elsewhere.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=748936
2007-12-15 23:07:20 +00:00
Adriaan de Groot
8928e03af4 __FUNCTION__ is a gcc-ism
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=746921
2007-12-10 16:25:20 +00:00
Robert Knight
8171d4872f * Do not remove color schemes / key bindings from list if the
call to delete the file fails.
* Make deletion of color schemes, key bindings and profiles
  atomic operations from the point of view of outside classes.
* Fix various warning produced by the -Woverloaded-virtual flag.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=746168
2007-12-08 01:51:37 +00:00
Robert Knight
9863b5508b Bug fixes for the Appearance and Key Bindings tabs in the
Edit Profile dialog:

* Fix selection of color schemes and key bindings not being
  remembered after the color scheme/key binding list is changed
  (eg. due to adding a new color scheme or editing an existing one).

  This also fixes the preview not being updated when mousing outside 
  the list after adding a new color scheme.

  -> After updates to the color scheme / key bindings list the model
     was being deleted and a new model was created.  This caused the
     selection model to be changed without the signal-slot connections
     from the selection model to the dialog being re-established.

     This commit changes that so that the model is not replaced but
     simply cleared when the color scheme / key binding list is updated.

* Disable the Edit, Remove buttons on the Appearance and 
  Key Bindings tabs when there is no selection.
* Fix crash when clicking 'New' button on the Appearance tab
  if the color scheme list is empty.
* Fix crash when loading the Appearance tab if the color scheme
  associated with the profile does not exist
* Fix crash when loading the Key Bindings tab if the key binding
  associated with the profile does not exist
* Fix crash when attempting to load a color scheme with no name, 
  instead the color scheme is simply not loaded.
* Fix all colors except one being set to black when making changes 
  to a color scheme which was based on the default fallback color scheme.

  -> When creating a new array inside the ColorScheme class to hold color
     entries, initialize its elements with values from the default color
     array.

* Use qWarning() instead of qDebug() to print out error message if attempting
  to delete a color scheme fails.

* Minor formatting changes in Session.cpp,SessionController.h


Known bugs introduced by this commit:
    
* Attempting to create a new keyboard translator when no existing translator
  is selected will crash because KeyboardTranslator::defaultTranslator() has
  not been implemented yet.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=746071
2007-12-07 18:42:36 +00:00
Dirk Mueller
fdc87d4b4e a really interesting way to break license detection
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=734327
2007-11-08 16:24:35 +00:00
Robert Knight
c295cc37b0 Add comments about utempter being disabled.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=733675
2007-11-07 03:02:36 +00:00
Robert Knight
debb555c02 Temporary fix for Bug #151965. Disable utempter support.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=733673
2007-11-07 02:55:31 +00:00
Laurent Montel
8292c89d21 Readd workdir to allow to use konsole servicemenu
but I don't know why "setWorkingDirectory" doesn't work

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=733608
2007-11-06 20:56:59 +00:00
David Faure
4a7750e797 cleanup: setSingleShot(true) needs to be done only once
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730781
2007-10-29 15:45:03 +00:00
David Faure
56f81a079f SVN_SILENT trailing whitespace removal done automatically by xemacs
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730780
2007-10-29 15:44:25 +00:00
David Faure
62a79199c1 Fix the bug that made all sessions monitor activity (and constantly call knotify), the bool wasn't checked at all.
Starting _monitorTimer is already done if _monitorSilence is true, a few lines above, so removed it.
CCMAIL: robertknight@gmail.com

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=730779
2007-10-29 15:43:00 +00:00
Robert Knight
d346a2ccad Trick to try and get shell program to redraw the prompt after 'Clear Scrollback and Reset' is selected from the menu. Resize the tty window slightly larger and then back to the original size again. If anyone knows of a more correct solution, please speak up.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=708825
2007-09-05 19:17:20 +00:00
Robert Knight
76943a4b26 Use correct 'terminal is using the mouse' status in newly added views.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=700303
2007-08-15 06:49:17 +00:00
Robert Knight
d3681ca746 Support environment variables in profile command or initial working directory.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=697623
2007-08-08 08:08:34 +00:00
Laurent Montel
53fc966203 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=695870
2007-08-03 06:40:12 +00:00
Robert Knight
35a7a587c8 Possibly controversial. Disabled F1 shortcut for handbook in Konsole because it interferes with terminal programs which need this key. Will review following beta feedback. Remove un-used includes and re-enable DBus adaptor for Session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=690414
2007-07-21 00:11:09 +00:00
Robert Knight
4c6fd377e5 Set WINDOWID environment variable in the child process. Mainly needed so that VIM will set a useful window title depending on the file being edited. Discovered the w3m-img package in the process which needs WINDOWID as well apparently. Wow! What a nifty hack.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=687621
2007-07-14 03:29:10 +00:00
Robert Knight
6c8ef8512d Use a more correct method to set the working directory of new sessions. Session::running() -> Session::isRunning(). Remove some commented-out code.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=687611
2007-07-14 02:40:59 +00:00
Robert Knight
808d9ed686 Set the COLORFGBG environment variable in new sessions to indicate to terminal programs whether the terminal has a light or dark background. This allows programs such as Vim to automatically pick appropriate colors when a Konsole session has a light or dark background. The value of 'COLORFGBG' is not strictly accurate, instead it approximates the current color scheme as 'black on white' or 'white on black' - but this covers the most important need'
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=686658
2007-07-11 22:33:43 +00:00
Robert Knight
8ac498d34c i18n fixes from Stefan Asserhall.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=685630
2007-07-09 10:54:44 +00:00
Robert Knight
50fb0ef4c6 Support for per-session randomized color schemes. Mainly useful to allow each new session (from a particular profile) to have a different background color to make them easier to identify at a glance. Randomization is specified in the color scheme as the maximum amount of difference in hue, saturation and value which a color is allowed to be randomly changed by. No GUI controls for this yet. Added a 'Black on Random Light' color scheme to make use of this facility out of the box.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=682403
2007-07-02 15:58:19 +00:00
Robert Knight
2a1109196f Save and load environment variables as part of the profile. Defaults to just 'TERM=xterm'. Allow editing of the environment in the profile editor (not just the TERM variable). Separate out the tab-related options into their own tab in the profile editor and rename 'Keyboard Setup' to 'Input' as that seems a more obvious name.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=679103
2007-06-23 02:09:21 +00:00
Robert Knight
ddf9b47864 Rewrite old-fashioned list construction as per Oswald's suggestion. Remove the zmodem resume / continue handling from Konsole::Session as Konsole::Pty provides its own buffering.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=677088
2007-06-18 12:45:33 +00:00
Robert Knight
81ee1e4b87 Port ZModem handling away from K3Process/K3ProcIO. Untested.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=676918
2007-06-17 22:40:45 +00:00
Oswald Buddenhagen
87f3afcdd0 copy some methods from KPty - they are used only here, so they will be
deleted from kdelibs.

svn path=/trunk/KDE/kdebase/apps/konsole/; revision=676799
2007-06-17 18:53:59 +00:00
Robert Knight
52db452aa4 Don't switch tabs when a non-active session finishes ( Bug #146639 ). Begin implementation of Send Input to All in new front-end.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=674139
2007-06-11 20:44:04 +00:00
Robert Knight
ecb43ae37f Avoid scrolling views unnecessarily when splitting the view.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=673774
2007-06-11 05:36:19 +00:00
Robert Knight
c345da0ccf Initial version of a command-line tool (konsoleprofile) to change profile options. Usage: konsoleprofile option=value . Applies to the profile used by the session in which konsoleprofile was executed. All of the logic is in Konsole itself. 'konsoleprofile' is just a very simple shell script which can be placed anywhere. Example usage: 'konsoleprofile colorscheme=WhiteOnBlack' will change the colors used by the active tab.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670582
2007-06-02 05:02:55 +00:00
Robert Knight
53f7666e8e Allow the default encoding to be specified per-profile. Something has caused the Edit Profile dialog's minimum size to become huge, I haven't figured out what it is yet.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=670153
2007-05-31 13:42:23 +00:00
Robert Knight
76b0f58867 * Add check for compositing on startup now that
KWindowSystem::compositingActive() works without a QApplication instance.
* Make terminal display intercept shortcuts using the Backspace/Home/End keys 
( fixes backspace key triggering the 'Go Back' action in Dolphin when 
terminal part has the focus )
* Add some plumbing that will be used to handle resizing by the terminal 
program.
* Misc. tidy-ups and EBN fixes.
* Update the right part of the terminal display when updating blinking 
cursor.


svn path=/trunk/KDE/kdebase/apps/konsole/; revision=668460
2007-05-26 14:07:24 +00:00
Robert Knight
5331bf720d Various EBN fixes.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667655
2007-05-23 13:09:23 +00:00
Robert Knight
0ef9ea5f41 Added 'Change Profile' menu to change the profile used by a running session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667162
2007-05-22 02:19:57 +00:00
Robert Knight
a0976835b6 Tidy up Pty class header file and API. Better method names, remove un-used methods, add API documentation etc. Fix some other API documentation mistakes.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=667129
2007-05-21 22:30:07 +00:00
Robert Knight
983271c55c Fix tab title syncing between multiple views of the same session.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665823
2007-05-18 04:20:57 +00:00
Robert Knight
04069377d9 Tidy up and reorganise the header files and API for the Emulation classes, add more API documentation for the base Emulation class. Rename methods for consistancy and clarity.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665816
2007-05-18 02:47:03 +00:00
Stephan Kulow
5842c08c80 if _emulation is 0, then we crash (CID 3508)
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665703
2007-05-17 17:45:43 +00:00
Robert Knight
fca8970274 Better Qt-style signal/slot names in Session class.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=665439
2007-05-16 22:48:45 +00:00
Robert Knight
07b1e29c0c Provide more sensible suggestions for bookmark names. Make suggestions context ( local vs. remote ) sensitive.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663708
2007-05-12 05:14:14 +00:00
Robert Knight
e9c4c9cca0 Cleanup the Session class's API. Remove redundant and unused methods, give better names to others, reorganise the order in the header file. Add checks in the view to behave properly when it is not attached to a session. Make the Konsole part's behaviour compliant with the TerminalInterface API documentation.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663705
2007-05-12 04:55:02 +00:00
Dirk Mueller
9ea3227384 include cleanup
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=663054
2007-05-09 22:23:52 +00:00
Robert Knight
33c913383d EBN fixes. Mostly copyright and implementations including their own headers first.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=662726
2007-05-09 00:01:01 +00:00
Robert Knight
0ab65a6fe4 Use a more correct method to determine the foreground process in the terminal. Works properly with nested shells.
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=661946
2007-05-07 04:14:32 +00:00
Thomas Reitelbach
b0008e109d typo corrections
svn path=/trunk/KDE/kdebase/apps/konsole/; revision=661812
2007-05-06 17:22:19 +00:00
Robert Knight
19a29d182a Rename directories for clarity. konsole -> src , other -> data.
svn path=/branches/work/konsole-split-view/; revision=661562
2007-05-05 23:33:05 +00:00