Jump to content

Windows/Issues: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
Jstaniek (talk | contribs)
Line 29: Line 29:
<code>
<code>
@echo off
@echo off
taskkill /T /F /fi "imagename eq klauncher*"
taskkill /T /fi "imagename eq dbus-daemon*"
taskkill /T /fi "imagename eq dbus-daemon*"
taskkill /T /fi "imagename eq kde*"
taskkill /T /fi "imagename eq kde*"
taskkill /T /fi "imagename eq klauncher*"
taskkill /T /fi "imagename eq kded*"
taskkill /T /fi "imagename eq kded*"
taskkill /T /fi "imagename eq kioslave*"
taskkill /T /fi "imagename eq kioslave*"
taskkill /T /fi "imagename eq knotify*"
taskkill /T /fi "imagename eq knotify*"
taskkill /T /fi "imagename eq korgac*"
taskkill /fi "imagename eq kded*"
taskkill /fi "imagename eq kded*"
taskkill /T /F /fi "imagename eq kded*"  
taskkill /T /F /fi "imagename eq kded*"
</code>
</code>



Revision as of 15:35, 26 June 2008

Disabling automatic generation of Start Menu entries

KDE on Windows provides a (kded) plugin for automatic generation of Start Menu entries for KDE applications. If for whatever reason you want to disable it:

  1. edit (or create if it does not exist) kde4/share/config/kwinstartmenurc file (not that it has no name extension)
  2. place the following two lines in it:

[General] Enabled=false

You may need to stop (or kill) all the KDE processes in order to use the new setting. It is planned to add appropriate setting on the forthcoming KDE's "Integration" system settings page.

File Locking - WerFault.exe

WerFault.exe is a process handling Windows Problem Reporting feature. Sometimes it may drive you crazy because it can lock your files, while you (or a KDE app) want to rename or remove. For me this was the case with files of KMail's MailDir storage.

If you're developer, you'll most obviously encounter many crashes with your developed applications. On any crash, annoying popup appears and says "This program has stopped responding" they it says something about Windows will try to find a solution and fix it. Of course this is a joke, so it is good to disable Windows Problem Reporting. On Vista: open the Control Panel, open the Problem Reports & Solutions applet, wnder the Advanced option you can disable problem reporting. For XP or Windows 2003, read here.

Killing KDE Processes

While it is easy to close applications as these have windows and have close buttons, there are (quite frequent) cases when you have to kill invisible "system" KDE processes. The two most important reasons are:

  • you want to (re)compile a library or application but you would not be able to install it because Windows locks write access to the binaries that are running
  • you need to restart dbus-daemon process in order to disconnect connections made by KUniqueApplication's; this is because of Windows-specific problem with not terminating them after the application stops working and/or gets killed itself

You can use taskkill command, which has quite complicated arguments. So you can define a kdekill command. Paste the following lines to a file like {KDEDIR}/bin/kdekill.bat:

@echo off taskkill /T /F /fi "imagename eq klauncher*" taskkill /T /fi "imagename eq dbus-daemon*" taskkill /T /fi "imagename eq kde*" taskkill /T /fi "imagename eq kded*" taskkill /T /fi "imagename eq kioslave*" taskkill /T /fi "imagename eq knotify*" taskkill /T /fi "imagename eq korgac*" taskkill /fi "imagename eq kded*" taskkill /T /F /fi "imagename eq kded*"

Then you can just type kdekill, to get result like:

SUCCESS: Sent termination signal to process with PID 832, child of PID 2372.
SUCCESS: Sent termination signal to process with PID 2692, child of PID 2580.
SUCCESS: Sent termination signal to process with PID 2684, child of PID 480.
SUCCESS: Sent termination signal to process with PID 480, child of PID 2580.
SUCCESS: Sent termination signal to process with PID 2692, child of PID 2580.

Feel free to extend it for your specific needs.

Note 1: klauncher sometimes refuses to terminate...

Note 2: we hope to address the above issues with KUniqueApplication and dbus-daemon in a cleaner and more automated way...

Ideas