Bug 71325

Summary: kvim part in kdevelop does not work
Product: [Unmaintained] kvim Reporter: Richard Bos <richard.bos>
Component: Vim KPartAssignee: KDevelop Developers <kdevelop-devel>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: corey_s, lex.lists
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Richard Bos 2003-12-27 21:01:33 UTC
Version:           3.0.0b2 (using KDE Devel)
Installed from:    Compiled sources
OS:          Linux

If I choose kvim as editor in kdevelop no editor part is shown in the
main window of kdevelop.

Reproduce by:
- Open kdevelop
- Settings -> Configure kdevelop
- Editor => choose: embedded vim component
- ok
- file -> select recent file
  Result no file is shown.

Good scenario:
Repeat the above, but now choose for editor:
embedded advanced text editor (default).

In this case the file is shown.

kvim can be started from the command line, without problems.
The version is: 6.1 (the rpm says it is kvim-6.1.141-160, which
seems better than 6.1rc2 as stated by kdevelop is the minimum
version).


kdevelop command line output:
kdevelop: kvimscript = /opt/kde3/share/apps/vimpart/kvim.vim
kdevelop: loading vimpartui
kdevelop: View ready
kdevelop (core): Encoding: , extension: (nil)
QObject::connect: No such signal KMdiChildView::iconOrCaptionUdpated(QWidget*,QPixmap,const QString&)
QObject::connect:  (sender name:   'file:/usr/bin/aptate')
QObject::connect:  (receiver name: 'unnamed')
kparts: 0x81807f0 emitting activePartChanged 0x9030010
kdevelop: evalExpr winline()
kdevelop: NOT READY (means app not embedded yet, but results should be okay)
kdevelop: DcopEvalExpr winline()
kdevelop: DCOP eval expr result: 1
kdevelop: evalExpr wincol()
kdevelop: NOT READY (means app not embedded yet, but results should be okay)
kdevelop: DcopEvalExpr wincol()
kdevelop: DCOP eval expr result: 1
kparts: DockMainWindow::createGUI for unnamed
kparts: ReadOnlyPart::guiActivateEvent -> file:/usr/bin/aptate
kdevelop (abbrev): AbbrevPart::slotActivePartChanged()
kdevelop: KonsoleViewWidget::activePartChanged()
kdevelop:  ===> Changing dir to /usr/bin
kdevelop: KonsoleViewWidget::setDirectory()
kdevelop:  ===> part is 146422176
kdevelop:  ===> Changing dirUrl.path() == /usr/bin
kdevelop:  ===> Changing part->url.path() ==
konsole: Set Window Caption to file:/usr/bin
kdevelop (history): HistoryPart::activePartChanged()
kdevelop (history): history-length=1
kdevelop: View : FocusOUT
kdevelop: FocusIN
kdevelop: void MainWindow::slotViewActivated(KMdiChildView*)
kdevelop: slotCurrentChanged***********************************+
kdevelop: View : FocusIN
kdevelop (core): PartController::contextPopupMenu() will return [KPopupMenu pointer (0x8208258) to widget rb_popup, geometry=640x409+320+307]
kdevelop (core): EditorProxy::installPopup called with popup = [KPopupMenu pointer (0x8208258) to widget rb_popup, geometry=640x409+320+307]
kio (KDirWatch): Added File /usr/bin/aptate [KDirWatch-1]
kio (KDirWatch): Added Dir /usr/bin for /usr/bin/aptate
kio (KDirWatch):  Setup DNotify (fd 129) for /usr/bin
kdevelop (core): dcop emitting loadedFile /usr/bin/aptate
QObject::connect: No such signal Vim::Document::fileNameChanged(const KURL&)
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'unnamed')
QObject::connect: No such signal Vim::View::newStatus()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'unnamed')
kdevelop: FocusOUT
kdevelop: starting embedding 52428807 EDUQPX3ZWF
kdevelop: *** Embed 52428807 into 48237092. window=0
kdevelop: > before reparent: parent=0x5f
kdevelop: > Loop 0: > reparent of 0x3200007 into 0x2e00a24 successful
kdevelop: Vim window ready
kdevelop: Sending command: confirm wa through DCOP with exec function : execCmd(QString) for mode : 1
kdevelop: Sending command: bd! through DCOP with exec function : execCmd(QString) for mode : 1
kdevelop: Sending command: wa through DCOP with exec function : execCmd(QString) for mode : 1
kdevelop: Sending command: call OpenFile("/usr/bin/aptate") through DCOP with exec function : execCmd(QString) for mode : 1
kio (KDirWatch): KDirWatch-2 emitting dirty /home/rbos
kio (KDirListerCache): [void KDirListerCache::slotFileDirty(const QString&)] /home/rbos
kio (KDirListerCache): [void KDirListerCache::updateDirectory(const KURL&)] file:/home/rbos
kio (KDirListerCache): [void KDirListerCache::updateDirectory(const KURL&)] Killed = false
kio (KDirListerCache): [void KDirListerCache::updateDirectory(const KURL&)] update started in file:/home/rbos
kio (KDirListerCache): [void KDirListerCache::slotUpdateResult(KIO::Job*)] finished update file:/home/rbos
Comment 1 Jens Dagerbo 2003-12-27 23:49:40 UTC
Does it work in kwrite?
Comment 2 Richard Bos 2003-12-28 11:59:45 UTC
It works [1] in kwrite, but only if I restart the kwrite.

I tried that in kdevelop too, but still it did not work.
Which is I think due to the tabbed behaviour of kdevelop.

However, I could make it work by first to open a file (
I openen a recent file) and than select to show some
documentation (the icon at the right side of kdevelop).
That seems to trigger the tab widget.

However, doing the above the other way around (first open
some documentation and than open the development file),
did not work properly.  He kvim part is not opened with the
right size... it was too small.

I hope this helps to identify the problem.

Note [1]: though the menubar and toolbar of both applications
are not merged as I expected.
Is it possible for kvim to merged the menubar and toolbar, I though
that this was one of the strength of kparts.


Comment 3 Jens Dagerbo 2004-01-11 20:54:45 UTC
*** Bug 72376 has been marked as a duplicate of this bug. ***
Comment 4 raphinou 2004-01-15 10:04:42 UTC
I have the same problem.
When opening a file, no content is shown. If I open a second file, that creates a second tab, that also stays empty. However, when I go to the first tab, the content of the activated tab is shown. If I go back to the second tab, its content is also shown.

The general behaviour is:
The content of the newly created tab is not shown. Activate another tab and come back to the last opened tab, and the content is shown.

I'm working on a cvs checkout from last night (20040114). Looking forward to the resolution, as I plan to then switch to kdevelop :-)
Comment 5 Mickael Marchand 2004-01-15 10:55:01 UTC
Yes, this is a known bug in the kvim part.
When kvim is resized during startup it badly displays its content after.
Once started like that, there is no way that I know to make it display correctly its content.
I think this is deeply related to X (some Exposure event etc ...) but I have not enough knowledge about X to be able to fix it.
I invite anybody who has this knowledge to help us fixing it ...

this can be reproduced with kwrite if you play with kwin's menu "Save geometry" (it basically rezise kvim during its startup...)

is there a way to prevent an app from being resized during its startup ?

Cheers,
Mik
Comment 6 corey_s 2004-03-24 06:05:43 UTC
Until the bugfix ever comes around, can anyone explain a workaround?

How can I force kvim to fit the correct geometry used by kdevelop, so 
that it doesn't get resized during startup?

Thanks!
Comment 7 lexual 2006-04-27 09:32:39 UTC
The kvim application is no longer maintained or supported by it's authors.
See this page for some background: http://www.yzis.org/devel/history

Closing all bugs won't fix.

Some of the old kvim author's have started work on a new vi-like editor called 
yzis. Keeping in mind that it is pre-release software, you can check it out 
here: yzis.org