compile all the platform-specific *ProcessInfo implementations only
in the OS they belong to, basically extending this conditional
compilation also to the Linux and Solaris implementations.
This allows to use proper OS-specific API/etc in each, removing quirks
(like the one for the Solaris psinfo struct) to emulate such APIs on
other OSes.
This reverts commit 5a5fd23696.
This comes as one part of reverting all the work related with the
refactoring of the ssh command parser. That big refactoring commit
5a5fd236 causes some hard to debug crashes/problems. For the long term
benefit, reverting now and early is a good choice. I will try to redo the
refactoring in a better way for KDE SC 4.11, but for the upcoming 4.10
stability more important.
This reverts commit 726c52c4cf.
This comes as one part of reverting all the work related with the
refactoring of the ssh command parser. That big refactoring commit
5a5fd236 causes some hard to debug crashes/problems. For the long term
benefit, reverting now and early is a good choice. I will try to redo the
refactoring in a better way for KDE SC 4.11, but for the upcoming 4.10
stability more important.
This reverts commit c0079755eb.
This comes as one part of reverting all the work related with the
refactoring of the ssh command parser. That big refactoring commit
5a5fd236 causes some hard to debug crashes/problems. For the long term
benefit, reverting now and early is a good choice. I will try to redo the
refactoring in a better way for KDE SC 4.11, but for the upcoming 4.10
stability more important.
This reverts commit 5e010083e9.
This comes as one part of reverting all the work related with the
refactoring of the ssh command parser. That big refactoring commit
5a5fd236 causes some hard to debug crashes/problems. For the long term
benefit, reverting now and early is a good choice. I will try to redo the
refactoring in a better way for KDE SC 4.11, but for the upcoming 4.10
stability more important.
That make the code easier to read and test, and also comes as a preparation for
writing parser for other remote connection commands, like mosh, dropbear, etc.
The current code using QFileInfo on the /proc/%pid/cwd and for some
situations, this may cause issues as QFileInfo hangs if unable to read that
file. The new code uses readlink which appears to work w/o issue.
The Solaris code needs fixed as well.
CCBUG: 251351
It is problematic to use "isEmpty()" to check whether the information
has been read. That would defeat the purpose of reading it only once
when the user has explicitly set that list as empty.
The main consideration is it is more often confusing than helpful for
average users, especially when this feature was hidden, undocumented and
enabled by default.
The "CommonDirNames" list in the code is now empty by default , instead
of a list of hardcoded common names.
To enable and customize this advanced and potentally confusing feature,
edit $KDEHOME/usr/share/config/konsolerc and add the following lines:
[ProcessInfo]
CommonDirNames=name1,name2,name3...
For konsolepart users, edit the config file of the hosting application.
I'll add related information for this hidden & advanced feature into
handbook later.
BUG:190281
FIXED-IN:4.9.0
REVIEW: 103949
CCMAIL: robertknight@gmail.com
Those two formatters have never been actually implemented or revealed to
users. It is quite hard to infer what they are supposed to do based upon
exising code and commit history
In '-p 2222', -p is the option and 2222 is its argument.
noOptionsArguments ==> noArgumentOptions
singleOptionArguments ==> singleArgumentOptions
argChar ==> optionChar
The old code updates the argument list when it is asked to refresh
process info, but it calls ProcessInfo::addArgument() without ever
clearing existing arguements first. This means the argument list will
grow longer and longer for ever. For a long-running shell session in
which user has executed thousands of commands, that will waste quite
amount of memory, not to metion the logic error itself.
The reaseon why this bug keeps hidden is that the %c and %C formatter
have never been revealed to users, which are not implemented yet.