<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Wrohdewald&amp;feedformat=atom</id>
		<title>KDE TechBase - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Wrohdewald&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Special:Contributions/Wrohdewald"/>
		<updated>2013-05-20T01:45:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(zh_TW)</id>
		<title>Development/Architecture/KDE4 (zh TW)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(zh_TW)"/>
				<updated>2013-01-03T18:57:15Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar_(zh_TW)|Development/Architecture/KDE4}}&lt;br /&gt;
== 開發框架 ==&lt;br /&gt;
&lt;br /&gt;
# 桌面&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma (zh TW)|Plasma - 桌面]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - 拼寫及文法檢查技術]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - KDE 的元件架構]]&lt;br /&gt;
# 硬體&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - 硬體及網路探知]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - 多媒體框架]]&lt;br /&gt;
# 通訊&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - 即時通訊框架]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - 集中式的 PIM 儲存解決方案]]&lt;br /&gt;
# 使用者界面&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|線上幫助]]&lt;br /&gt;
# 服務&lt;br /&gt;
#* [[Development/Architecture/KDE4/Starting_Other_Programs_(zh_TW)|啟動其它程式]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - 桌面搜尋引擎]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - 協作資料共享]]（可能會移到專案）&lt;br /&gt;
&lt;br /&gt;
== 其它 KDE 模塊中的框架 ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(it)</id>
		<title>Development/Architecture/KDE4 (it)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(it)"/>
				<updated>2013-01-03T18:56:46Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Development Framework ==&lt;br /&gt;
&lt;br /&gt;
# Desktop&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma(it)|Plasma - Il Desktop]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Tecnologia di controllo ortografia e grammatica]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts_(it)|KParts - I componenti dell'architettura di KDE]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid_(it)|Solid - Controllo totale su Hardware e Rete]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Multimedia framework]]&lt;br /&gt;
# Communication&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Framework per comunicazioni real time]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Centralized PIM storage solution]]&lt;br /&gt;
# User Interface&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|Fornire Aiuto Online]]&lt;br /&gt;
# Services&lt;br /&gt;
#* [[Development/Architecture/KDE4/Starting_Other_Programs|Avvio di altri programmi]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Desktop search engine]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - Collaborative data sharing]] (potrebbero passare da qui alcuni progetti)&lt;br /&gt;
&lt;br /&gt;
== Frameworks negli altri moduli KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(pt_BR)</id>
		<title>Development/Architecture/KDE4 (pt BR)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(pt_BR)"/>
				<updated>2013-01-03T18:56:26Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Framework de desenvolvimento ==&lt;br /&gt;
&lt;br /&gt;
# Área de trabalho&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma|Plasma - A área de trabalho]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Tecnologia de verificação de ortografia e gramática]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - Arquitetura dos componentes KDE]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Hardware e network awareness]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Framework multimídia]]&lt;br /&gt;
# Comunicação&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Framework para comunicação em tempo real]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Centralized PIM storage solution]]&lt;br /&gt;
# User Interface&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|Fornecendo Ajuda Online]]&lt;br /&gt;
# Services&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Desktop search engine]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - Compartilhamento de dados colaborativo]] (might move here from projects)&lt;br /&gt;
&lt;br /&gt;
== Frameworks em outros módulos KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(ru)</id>
		<title>Development/Architecture/KDE4 (ru)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(ru)"/>
				<updated>2013-01-03T18:56:03Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Среда разработчика ==&lt;br /&gt;
&lt;br /&gt;
# Рабочий стол&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma (ru)|Plasma - рабочий стол]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - технология словарно-грамматической проверки текстов]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - компонент архитектуры KDE]]&lt;br /&gt;
# Оборудование&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - база знаний об оборудовании и сетевых устройствах]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - задача-ориентированное решение для Multimedia-приложений]]&lt;br /&gt;
# Комуникации&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - универсальное решение для коммуникаций в реальном режиме времени (VoIP-телефония и системы мгновенного обмена сообщениями)]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - решение для централизованного хранения пользовательских данных в системах мгновенного обмена сообщениями]]&lt;br /&gt;
# Пользовательский интерфейс&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|Обеспечение помощи в режиме онлайн]]&lt;br /&gt;
# Сервисы&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - решение для быстрого поиска и индексации данных]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - Совместное использование данных]]&lt;br /&gt;
&lt;br /&gt;
== Влияние на другие модули KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4/KGGZ_(es)</id>
		<title>Development/Architecture/KDE4/KGGZ (es)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4/KGGZ_(es)"/>
				<updated>2013-01-03T18:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: remove KGGZ description, it is not used anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
''[http://www.ggzgamingzone.org/ GGZ Gaming Zone]'' is not used by KDE anymore.&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(es)</id>
		<title>Development/Architecture/KDE4 (es)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(es)"/>
				<updated>2013-01-03T18:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Infraestructura de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
# Escritorio&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma_(es)|Plasma - El escritorio]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Tecnologia de corrección de gramática y vocabulario]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts_(es)|KParts - Arquitectura de componentes de KDE]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid_(es)|Solid - Capa de abstracción hardware y de red]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon_(es)|Phonon - Infraestructura multimedia]]&lt;br /&gt;
# Comunicación&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel_(es)|Decibel - Infraestructura para comunicaciones en tiempo real]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Solución de almacenamiento centralizado PIM]]&lt;br /&gt;
# Interfaz de usuario&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help_(es)|Suministro de ayuda en línea]]&lt;br /&gt;
# Servicios&lt;br /&gt;
#* [[Development/Architecture/KDE4/Starting_Other_Programs|Ejecutar otros programas]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Motor de busqueda para el escritorio]]&lt;br /&gt;
#* [[Projects/KNS2_(es)|KNewStuff2 - Compartición de datos colaborativo]] (podría moverse aqui desde proyectos)&lt;br /&gt;
&lt;br /&gt;
== Infraestructuras en otros modulos de KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(pl)</id>
		<title>Development/Architecture/KDE4 (pl)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(pl)"/>
				<updated>2013-01-03T18:54:22Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Development Framework ==&lt;br /&gt;
&lt;br /&gt;
# Pulpit&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma|Plasma - Pulpit]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Technologia sprawdzania pisowni i gramatyki]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - Architektura komponentów KDE]]&lt;br /&gt;
# Sprzęt&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Sprawy sprzętu i sieci]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Framework odpodwiadający za multimedia]]&lt;br /&gt;
# Komunikacja&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Framework odpowiadający za komunikację w czasie rzeczywistym]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Centralne zarządzanie bazą PIM (Zarządzanie informacjami osobistymi) ]]&lt;br /&gt;
&lt;br /&gt;
* [[Development/Architecture/KDE4/Strigi|Strigi - silnik wyszukujący]]&lt;br /&gt;
* [[Projects/KNS2|KNewStuff2 - Wspólne (collaborative) udostępnianie danych]] (może zostać przeniesione tutaj z projektów)&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Frameworki i inne moduły KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4/KGGZ_(fi)</id>
		<title>Development/Architecture/KDE4/KGGZ (fi)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4/KGGZ_(fi)"/>
				<updated>2013-01-03T18:54:02Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: remove KGGZ description, it is not used anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
''GGZ Gaming Zone'' is not used by KDE anymore.&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(fi)</id>
		<title>Development/Architecture/KDE4 (fi)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(fi)"/>
				<updated>2013-01-03T18:53:23Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Kehityskehys ==&lt;br /&gt;
&lt;br /&gt;
# Ty&amp;amp;ouml;p&amp;amp;ouml;yt&amp;amp;auml;&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma_(fi)|Plasma - Ty&amp;amp;ouml;p&amp;amp;ouml;yt&amp;amp;auml;]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Oikeinkirjoitus- ja kielioppitarkistustekniikka]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts_(fi)|KParts - KDE:n komponenttiarkkitehtuuri]]&lt;br /&gt;
# Laitteisto&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Laitteisto ja verkkotietoisuus]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Multimedia-kehys]]&lt;br /&gt;
# Viestint&amp;amp;auml;&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Kehys tosiaikaviestint&amp;amp;auml;&amp;amp;auml;n]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Keskitetty PIM-tallennusratkaisu]]&lt;br /&gt;
# Käyttöliittymä&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|Online-opastuksen tarjoaminen]]&lt;br /&gt;
# Palvelut&lt;br /&gt;
#* [[Development/Architecture/KDE4/Starting_Other_Programs|Muiden ohjelmien käynnistäminen]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Työpöydän hakukone]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - jakaminen]] (saattaa siirty&amp;amp;auml; t&amp;amp;auml;nne projekteista)&lt;br /&gt;
&lt;br /&gt;
== Kehykset muissa KDE-moduuleissa ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(se)</id>
		<title>Development/Architecture/KDE4 (se)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(se)"/>
				<updated>2013-01-03T18:52:55Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Utvecklingsramverk ==&lt;br /&gt;
&lt;br /&gt;
# Skrivbordet&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma|Plasma - Skrivbordet]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Stavnings- och grammatik teknologi]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - KDE's komponent arkitektur]]&lt;br /&gt;
# Hårdvara&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Hårdvara och nätverks &amp;quot;awareness&amp;quot;]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Multimedia ramverk]]&lt;br /&gt;
# Kommunikation&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Ramverk för realtidskommunikation]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Centraliserad PIM lagringslösning]]&lt;br /&gt;
&lt;br /&gt;
* [[Development/Architecture/KDE4/Strigi|Strigi - Skrivbords sökmotor]]&lt;br /&gt;
* [[Projects/KNS2|KNewStuff2 - Collaborative data sharing]] (might move here from projects)&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Ramverk i andra KDE moduler ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(gl)</id>
		<title>Development/Architecture/KDE4 (gl)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(gl)"/>
				<updated>2013-01-03T18:52:33Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Infraestrutura de desenvolvemento ==&lt;br /&gt;
&lt;br /&gt;
# Escritorio&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma|Plasma - O escritorio]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Tecnoloxía de corrección de gramática e vocabulario]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - Arquitectura de componentes de KDE]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Capa de abstracción de hardware e rede]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Infraestrutura multimedia]]&lt;br /&gt;
# Comunicación&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Infraestrutura para comunicacións en tempo real]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Almacenamento de datos personais]]&lt;br /&gt;
&lt;br /&gt;
* [[Development/Architecture/KDE4/Strigi|Strigi - Motor de busca no escritorio]]&lt;br /&gt;
* [[Projects/KNS2|KNewStuff2 - Compartizón de datos colaborativo]] (pode que sexa movido dende proxectos aquí)&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== Infraestruturas noutros módulos de KDE ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/Related_(zh_CN)</id>
		<title>Projects/Related (zh CN)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/Related_(zh_CN)"/>
				<updated>2013-01-03T18:52:00Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
This page tries to document inter-project relationships that KDE has with other (independently-run) projects. The page is far from being complete.&lt;br /&gt;
&lt;br /&gt;
''Note: In the dependencies list, it doesn't specify an exact list of libraries and their versions. Such a page is still needed in addition!''&lt;br /&gt;
&lt;br /&gt;
== 开发工具 ==&lt;br /&gt;
&lt;br /&gt;
详见 [[Development/Tools|全部列表]].&lt;br /&gt;
&lt;br /&gt;
[[Projects/Related/Subversion|'''Subversion''']] is used as the version control system throughout KDE. [[Development/Tutorials/CMake|'''CMake''']] is also used,&lt;br /&gt;
and KDE played a heavy role in its development. Finally, KDE also served as a sufficiently complex target for [[Development/Tools/Valgrind|'''Valgrind''']].&lt;br /&gt;
&lt;br /&gt;
'''MediaWiki''' is used for user-editable websites, although KDE's own [[Projects/kde.org/Capacity_HOWTO|'''Capacity''']] is also being used.&lt;br /&gt;
&lt;br /&gt;
== 运行时 ==&lt;br /&gt;
&lt;br /&gt;
Several libraries from [[/freedesktop.org|'''freedesktop.org''']] are used in KDE to run the basic desktop and window manager.&lt;br /&gt;
&lt;br /&gt;
The '''GNU''' project develops software, some of which is used in KDE applications, and some for development. In the beginning of KDE there was some [http://www.kde.org/announcements/rmsresponse.php confusion] around this.&lt;br /&gt;
However, this has long been settled, KDE developers had a [http://phil.freehackers.org/writings/tea-with-stallman.html tee] with RMS in 2003 and KDE can be used as a totally free desktop for the GNU system.&lt;br /&gt;
&lt;br /&gt;
Last but not least, KDE uses the fine Qt library from '''Trolltech'''.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4_(de)</id>
		<title>Development/Architecture/KDE4 (de)</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4_(de)"/>
				<updated>2013-01-03T18:51:07Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Development Framework ==&lt;br /&gt;
&lt;br /&gt;
# Desktop&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma (de)|Plasma - Der Desktop]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Technik zum Rechtschreib- und Grammatikcheck]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts (de)|KParts - Die KDE Komponentenarchitektur]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Schnittstelle zur Hardware und Netzwerken]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Multimedia framework]]&lt;br /&gt;
# Communication&lt;br /&gt;
#* [[Development/Architecture/KDE4/Decibel|Decibel - Framework für Echtzeitkommunikation]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Zentralisierte PIM Speicherlösung]]&lt;br /&gt;
# User Interface&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help (de)|Online Hilfe verfügbar machen]]&lt;br /&gt;
# Services&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Desktop Suchmaschine]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - Gemeinsame Daten benutzen]] (könnte hierher von den Projekten verschoben werden)&lt;br /&gt;
&lt;br /&gt;
== Frameworks in anderen KDE Modulen ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/Related</id>
		<title>Projects/Related</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/Related"/>
				<updated>2013-01-03T18:50:08Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: do not mention GGZ anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page tries to document inter-project relationships that KDE has with other (independently-run) projects. The page is far from being complete.&lt;br /&gt;
&lt;br /&gt;
''Note: In the dependencies list, it doesn't specify an exact list of libraries and their versions. Such a page is still needed in addition!''&lt;br /&gt;
&lt;br /&gt;
== Development Tools ==&lt;br /&gt;
&lt;br /&gt;
See [[Development/Tools|here]] for a full list of tools.&lt;br /&gt;
&lt;br /&gt;
[[/Subversion|'''Subversion''']] is used as the version control system throughout KDE. [[Development/Tutorials/CMake|'''CMake''']] is also used,&lt;br /&gt;
and KDE played a heavy role in its development. Finally, KDE also served as a sufficiently complex target for [[Development/Tools/Valgrind|'''Valgrind''']].&lt;br /&gt;
&lt;br /&gt;
'''MediaWiki''' is used for user-editable websites, although KDE's own [[Projects/kde.org/Capacity_HOWTO|'''Capacity''']] is also being used.&lt;br /&gt;
&lt;br /&gt;
== Runtime Experience ==&lt;br /&gt;
&lt;br /&gt;
Several libraries from [[/freedesktop.org|'''freedesktop.org''']] are used in KDE to run the basic desktop and window manager.&lt;br /&gt;
&lt;br /&gt;
The '''GNU''' project develops software, some of which is used in KDE applications, and some for development. In the beginning of KDE there was some [http://www.kde.org/announcements/rmsresponse.php confusion] around this.&lt;br /&gt;
However, this has long been settled, KDE developers had a [http://phil.freehackers.org/writings/tea-with-stallman.html tee] with RMS in 2003 and KDE can be used as a totally free desktop for the GNU system.&lt;br /&gt;
&lt;br /&gt;
Last but not least, KDE uses the fine Qt library from '''Trolltech'''.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4/KGGZ</id>
		<title>Development/Architecture/KDE4/KGGZ</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4/KGGZ"/>
				<updated>2013-01-03T18:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: remove KGGZ description, it is not used anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
The ''[http://www.ggzgamingzone.org/ GGZ Gaming Zone]'' offers a complete free infrastructure for online games.&lt;br /&gt;
&lt;br /&gt;
It is not used by KDE anymore.&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Architecture/KDE4</id>
		<title>Development/Architecture/KDE4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Architecture/KDE4"/>
				<updated>2013-01-03T18:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: remove link to KGGZ which is not used anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Development Framework ==&lt;br /&gt;
&lt;br /&gt;
# Desktop&lt;br /&gt;
#* [[Development/Architecture/KDE4/Plasma|Plasma - The desktop]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Sonnet|Sonnet - Spell- and grammar-checking technology]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/KParts|KParts - KDE's component architecture]]&lt;br /&gt;
# Hardware&lt;br /&gt;
#* [[Development/Architecture/KDE4/Solid|Solid - Hardware and network awareness]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Phonon|Phonon - Multimedia framework]]&lt;br /&gt;
# Communication&lt;br /&gt;
#* [[Projects/Telepathy|Telepathy - Real-Time Communication and Collaboration]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Akonadi|Akonadi - Centralized PIM storage solution]]&lt;br /&gt;
# User Interface&lt;br /&gt;
#* [[Development/Architecture/KDE4/Providing_Online_Help|Providing Online Help]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/XMLGUI_Technology|Defining menus and toolbars in XML]]&lt;br /&gt;
# Services&lt;br /&gt;
#* [[Development/Architecture/KDE4/Starting_Other_Programs|Starting other programs]]&lt;br /&gt;
#* [[Development/Architecture/KDE4/Strigi|Strigi - Desktop search engine]]&lt;br /&gt;
#* [[Projects/KNS2|KNewStuff2 - Collaborative data sharing]] (might move here from projects)&lt;br /&gt;
&lt;br /&gt;
== Frameworks in other KDE modules ==&lt;br /&gt;
&lt;br /&gt;
KOffice 2.0&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]][[Category:Architecture]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan</id>
		<title>Schedules/KDE4/4.9 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan"/>
				<updated>2012-06-04T18:30:16Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: /* kdegames */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.9 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.9 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.8 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KGlobalSettings|Make KGlobalSettings reread locale settings before calling settingsChanged().|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
{{FeatureDone|Kate Part|Reworked Color Configuration|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|KActivities|Encryption for private activities (not available via UI).|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|KActivities|Linking files to activities in Dolphin, Konqueror, Folder View.|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|KActivities|Activities KIO.|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-runtime =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Thumbnail|fix for bookmarks|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-workspace =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|ksmserver|Port shutdown dialog to QML|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
{{FeatureInProgress|ksmserver|Merge the new qml based screen locker|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|plasma|MPRIS2 dataengine|alex.merry@kdemail.net|Alex Merry}}&lt;br /&gt;
&amp;lt;!-- The following section of entries has been auto generated by ChangelogGenerator. Do not edit!&lt;br /&gt;
BEGIN GENERATED SECTION --&amp;gt;&lt;br /&gt;
{{FeatureTodo|kwin|windows that are moved to another desktop should be treated as sticky windows ({{bug |213847}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Fix fullscreen state handling: NETWM says it's bound to focus and not stacking order, also see bug #224600 ({{bug |296076}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Lanczos Filter broken after screen size changes ({{bug |296065}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureInProgress|kwin|GHNS support for KWin Scripts ({{bug |296774}}, Review 104877)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|KConf Update Script for KWin 4.9 ({{bug |296775}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Request category for scripted KWin Effects on kde-(look&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;app).org ({{bug |297634}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Request category for KWin Scripts on kde-(look&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;app).org ({{bug |297635}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureInProgress|kwin|GHNS support for Window Switching Layouts ({{bug |297636}}, Review 104894)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Request category for Window Switcher Layouts on kde-(look&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;app).org ({{bug |297637}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Update Documentation for Window Switcher Layouts ({{bug |297638}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|ThumbnailItem allows upscaling of Windows ({{bug |297864}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Window Tab support for QML based Aurorae ({{bug |299138}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Increase ABI version for KDecorations ({{bug |299140}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureTodo|kwin|Break NETWM to allow inner xinerama struts ({{bug |299247}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Useraction menu closes when focus passes to another window ({{bug |81743}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|JJ: change focus only when moving mouse ({{bug |92290}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|JJ: kwin fulscreen / un-fullscreen system notifications ({{bug |124612}}, Review 104457)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Insufficient stacking order handling for deleted windows ({{bug |158262}}, Review 104519)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|JJ: Use arrow keys to control cover switch. ({{bug |178595}}, Review 104438)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|No reason given why some desktop effects cannot be activated ({{bug |209213}}, Review 104847)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Dragging a title bar against a bottom panel twice makes it go under the panel on the second time ({{bug |210926}})|kwin-bugs-null@kde.org}}                                                                                                                            &lt;br /&gt;
{{FeatureDone|kwin|Wobbly windows wobbles strange after quick-maximization ({{bug |222102}})|kwin-bugs-null@kde.org}}                        &lt;br /&gt;
{{FeatureDone|kwin|&amp;quot;Move&amp;quot; command should allow off-screen window moving same as Alt + click trick ({{bug |229942}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Bug with shading always inactive windows ({{bug |242217}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Change title of menu item &amp;quot;Configure window behaviour...&amp;quot; ({{bug |249486}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Task switcher message when no windows looks ugly with stars ({{bug |260938}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Placement Policy 'under mouse' ({{bug |272162}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|JJ: Synchronize Show Desktop wording in all tabbox effects ({{bug |273478}}, Review 104436)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|closing session crash ({{bug |282933}}, Review 104690)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Window Specific Settings dialog has no help function ({{bug |286783}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Add &amp;quot;Present Windows - Window Class&amp;quot; to &amp;quot;Screen Edges&amp;quot; functions ({{bug |288960}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|[JJ] Select next window with arrow key in Alt+Tab ({{bug |291916}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|KWin crashed when I was switching windows ({{bug |292614}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Kill helper should be out of process ({{bug |295940}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Synchronize user actions menu with libtaskmanager ({{bug |296056}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Different binary name for KWin Active ({{bug |296084}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Window Switcher KCM needs to be reworked ({{bug |297639}}, Review 104525)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Document global JavaScript methods in KWin Scripting API documentation ({{bug |297640}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Elevate windows in addition to highlight ({{bug |297809}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|KWin crashes when interacting with Plasma ({{bug |298669}}, Review 104714)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Add ABI check to KDecorations ({{bug |299141}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Effects cannot be configured ({{bug |299163}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Adding proper window thumbnail clipping to the QML tabbox ({{bug |299198}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Improve VSync strategy ({{bug |299274}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Screen Edge bindings for KWin Scripting ({{bug |299275}}, Review 104904)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Better QML selection list for Window Switcher layout ({{bug |299278}})|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Add layout specification to D-Bus call for invoking TabBox ({{bug |299279}}, Review 104838)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Default Bindings for Switching between Windows of current Application ({{bug |299308}}, Review 104730)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Make desktop focus chains activities aware ({{bug |299309}}, Review 104649)|kwin-bugs-null@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Activity window rules (Review 104972) |ivan.cukic@kde.org}}&lt;br /&gt;
{{FeatureDone|kwin|Desktop Zoom should be saved between sessions ({{bug |189956}}, Review 104597)|kwin-bugs-null@kde.org}}&lt;br /&gt;
&amp;lt;!-- END GENERATED SECTION --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-baseapps =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|FolderView|Refactor into PopupApplet and Containment|ignat.semenov@blue-systems.com|Ignat Semenov}}&lt;br /&gt;
{{FeatureDone|FolderView|Show files related to an activity|ivan.cukic@kde.org|Ivan Cukic}}&lt;br /&gt;
{{FeatureDone|Dolphin|Allow to show any kind of metadata like ratings, tags, comments, image-sizes, music-artist, ... beside each item of the view (see http://ppenz.blogspot.co.at/2012/06/improved-views.html for details)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Use KMessageWidget for information- and error-messages (see http://agateau.com/2011/04/21/kde-ux-2011/ for details)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Optionally remember the column-widths of the details view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Allow to disable the expandable folders of the details view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Implement inline renaming for the new view-engine|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Allow to optionally set a maximum number of lines for the icons-view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureTodo|Dolphin|Implement files quick preview feature (named Klook)  |evgeniy.augin@osinit.ru|Evgeniy Auzhin}}&lt;br /&gt;
{{FeatureDone|Konsole|Move menubar and tabbar settings out of profile and into &amp;quot;Configure Konsole&amp;quot;|adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Add command line options for controlling the visibility of menubar and tabbar|adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Allow dragging tab out of current window and into its own window|adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Add &amp;quot;Clone Tab&amp;quot; action for opening new tab using the same profile used by current tab |adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Add &amp;quot;Change Directory To&amp;quot; action in the popup menu of drag &amp;amp; drop operation |adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Allow action in the context menu for searching selected text using KDE WebShortcuts |adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Provide the searching ability in konsolepart|adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|konsolepart can notify the hosting application(e.g, dolphin) of the changing of current directory |adaptee@gmail.com|Jekyll Wu}} &lt;br /&gt;
{{FeatureDone|Konsole|Allow changing tab title through escape sequence like &amp;quot;\e]30;Tab Title\a&amp;quot; |adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
{{FeatureDone|Konsole|Allow users to have better control of the copy &amp;amp; paste behavior of mouse within Konsole|adaptee@gmail.com|Jekyll Wu}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Marble|Satellite Map NG|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Marble|Mars &amp;amp; Venus satellite plugin|rahn@kde.org|Torsten Rahn / Gerhard Holtkamp}}&lt;br /&gt;
{{FeatureTodo|Marble|Solar Eclipse Plugin|rahn@kde.org|Torsten Rahn / Gerhard Holtkamp}}&lt;br /&gt;
{{FeatureTodo|Marble|Help Menu polishing / Support page inclusion|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Marble|Toolbar polishing/refactoring|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Marble|Solar Eclipse Plugin|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Worldwide hillshading|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Extended library API (no MarbleWidget dependency for tasks like parsing, routing)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Plasma Active|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Android|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Support for loading geolocated photos (e.g. in a Gallery activity in Marble Touch)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Layer Management (by the user: Toggle layer visibility; maybe move layers from legend and layers in menus to one central place/tab)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Rocs|Project Files to combine graphs and algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Extend graph data structure to support overlay graphs|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Stepped execution of algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureInProgress|Rocs|General unit test cleanup and overhauling|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureTodo|Rocs|New Project Wizard - guided creation based on loaded plugins|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureInProgress|Rocs|Project journal files|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureInProgress|Rocs|New Add-Node/Add-Link Toolbar for data types and pointer types|rocs-devel@kde.org|Rocs Developers}}&lt;br /&gt;
{{FeatureDone|Kig|Improve Cancel Construction and Undo actions|david.narvaez@computer.org|David E. Narváez}}&lt;br /&gt;
{{FeatureDone|Pairs|New memory game|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra Mobile|Many improvements, including Android and better Active support|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|libkdegames|[http://community.kde.org/Games/API_cleanup Major cleanup and rewrite] (done, except for the new highscore classes)&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;'''Release team:''' please link to the [[Projects/Games/Porting_to_libkdegames_v5|porting instructions]]  for third-party developers|stefan.majewsky@googlemail.com|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Granatier|improve config UI for player and arena selection|m-hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureDone|Kajongg|tooltips giving playings hints|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|new config option: propose what to do|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|make it possible to replay a game from a screen shot (for better debugging)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|improve Robot AI|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Add default voices|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Players can chat with each other from within kajongg|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Define a central game server, making it easier to play over the internet (no more tweaking of firewalls for the server side)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add the Gold Rush II championship game (20 levels), contributed by Gabriel Miltschitzky|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add solution files to some KGoldrunner games|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KPatience|Saved game files now include the whole game history|coates@kde.org|Parker Coates}}&lt;br /&gt;
{{FeatureDone|KSudoku|Simplify the XML descriptions of puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Add XML and Desktop files for seven new two-dimensional puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Add XML and Desktop files for three new three-dimensional puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Improve the quality and relevance of KSudoku hints|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Make Load and Save work correctly for all puzzle types, including display of small markers/notes and restart of the puzzle clock from a saved value|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Integrate the new generator/solver and the old KSudoku code more closely|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Make puzzle features easier to see and use by improving highlighting, control and settings in both 2-D and 3-D puzzles and adding keyboard input to 3-D puzzles|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KMahjongg|Make the BoardEditor running again|Coding@Christian-Krippendorf.de|Christian Krippendorf}}&lt;br /&gt;
{{FeatureDone|KMahjongg|Implement an option for random layouts|Coding@Christian-Krippendorf.de|Christian Krippendorf}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Gwenview|Fullscreen browse|agateau@kde.org|Aurélien Gâteau}}&lt;br /&gt;
{{FeatureInProgress|Okular|Store annotations with documents {{bug |151614}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureInProgress|Okular|Print document with annotations {{bug |159005}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Annotations Screen support (embedded movies in PDF) {{bug |172847}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Aggressive page preloading {{bug |184196}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Hyphen-aware search {{bug |190433}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Multiple bookmarks per page {{bug |157198}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Allow the renaming of bookmark &amp;quot;parent&amp;quot; items|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Allow the page number selector to be added to the toolbar {{bug |279128}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Double click to select workds {{bug |187347}}|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Make Okular inhibit sleep and screen power management when in Presentation mode|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Behavior for left/right arrow keys (Review 104596)|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Remember the mouse mode on exit|okular-devel@kde.org|}}&lt;br /&gt;
{{FeatureDone|Okular|Make search from the current page the default|okular-devel@kde.org|}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|JuK|last.fm scrobbling|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
{{FeatureDone|JuK|cover-fetching from last.fm|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
{{FeatureDone|JuK|MPRIS2 support|alex.merry@kmail.net|Alex Merry}}&lt;br /&gt;
{{FeatureDone|JuK|MPRIS2 support|hein@kde.org|Eike Hein}}&lt;br /&gt;
{{FeatureDone|Dragon|MPRIS2 support|hein@kde.org|Eike Hein}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Kopete|Add option to group all offline users into a &amp;quot;Offline Users&amp;quot; group|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
{{FeatureDone|Kopete|Show contact's status change in chat window|igor.poboiko@gmail.com|Igor Poboiko}}&lt;br /&gt;
{{FeatureDone|Kopete|Add context option &amp;quot;rename&amp;quot; to contacts and allow changing custom display name inline.|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Akonadi Google Resources|Move contacts and calendars resources from Akonadi Google project to kdepim-runtime|dan@progdan.cz|Dan Vratil}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|KTnef|Bring back KTnef from the KDE3 days. KTnef is a standalone TNEF attachment viewer|winter@kde.org|Allen Winter}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Akonadi Kolab Resources|Kolab resource using the Kolab libraries to kdepim-runtime|chrigi_1@fastmail.fm|Christian Mollekopf}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Extend Akonotes Format|Extend the akonotes format to support features required by zanshin and kolab|chrigi_1@fastmail.fm|Christian Mollekopf}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Import pim data|ImportWizard allows to import settings/mails/filters/calendar/addressbook from thunderbird/evolution/etc. when exists.|montel@kde.org|Laurent Montel}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Archive Mail Agent|Archive Mail Agent archives your mail folders on a scheduled basis.|montel@kde.org|Laurent Montel}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Backup Mail|Backup Mail saves/restores mail config/config (akonadi)/database nepomuk/resources etc.|montel@kde.org|Laurent Montel}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Now Playing|replace with QML version|alex.merry@kdemail.net|Alex Merry}}&lt;br /&gt;
{{FeatureInProgress|Microblog|replace with QML version|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
{{FeatureInProgress|StackFolder|Add applet for quick browse the stack of folders|ural.mullabaev@rosalab.ru|Ural Mullabaev}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add custom datatypes to structures tool|alex.richardson@gmx.de|Alex Richardson}}&lt;br /&gt;
{{FeatureDone|Lokalize|Optimize TM fuzzy searching||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureDone|Lokalize|File search tab||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureTodo|Lokalize|.ts support||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureDone|Umbrello|diagram auto layout support|ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
{{FeatureDone|Umbrello|diagram graphviz dot export |ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
{{FeatureDone|Thumbnail|PO thumbnailer|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan</id>
		<title>Schedules/KDE4/4.9 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan"/>
				<updated>2012-03-28T05:37:52Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: kajongg features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.9 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.9 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.8 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KGlobalSettings|Make KGlobalSettings reread locale settings before calling settingsChanged().|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-runtime =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-workspace =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|ksmserver|Port shutdown dialog to QML|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-baseapps =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|FolderView|Refactor into PopupApplet and Containment|ignat.semenov@blue-systems.com|Ignat Semenov}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Marble|Worldwide hillshading|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Extended library API (no MarbleWidget dependency for tasks like parsing, routing)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Plasma Active|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Android|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Support for loading geolocated photos (e.g. in a Gallery activity in Marble Touch)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Layer Management (by the user: Toggle layer visibility; maybe move layers from legend and layers in menus to one central place/tab)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Rocs|Project Files to combine graphs and algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Extend graph data structure to support overlay graphs|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Stepped execution of algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureInProgress|Rocs|General unit test cleanup and overhauling|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Kajongg|tooltips giving playings hints|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|new config option: propose what to do|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|make it possible to replay a game from a screen shot (for better debugging)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|improve Robot AI|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Add default voices|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Players can chat with each other from within kajongg|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Define a central game server, making it easier to play over the internet (no more tweaking of firewalls for the server side)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Add support for other rule variants, starting with Classical Chinese variants|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Print rulesets, also more than one in parallel for comparisons|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|libkdegames|[http://community.kde.org/Games/API_cleanup Major cleanup and rewrite]|stefan.majewsky@googlemail.com|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|KGoldrunner|Add the Gold Rush II championship game (20 levels), contributed by Gabriel Miltschitzky|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureTodo|KGoldrunner|Add solution files to some KGoldrunner games, possibly using Get Hot New Stuff|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Simplify the XML descriptions of puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Add XML and Desktop files for seven new two-dimensional puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Add XML and Desktop files for three new three-dimensional puzzle shapes|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Improve the quality and relevance of KSudoku hints|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Make Load and Save work correctly for all puzzle types, including display of small markers/notes and restart of the puzzle clock from a saved value|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Integrate the new generator/solver and the old KSudoku code more closely|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KSudoku|Make puzzle features easier to see and use by improving highlighting, control and settings in both 2-D and 3-D puzzles and adding keyboard input to 3-D puzzles|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|JuK|last.fm scrobbling|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
{{FeatureDone|JuK|cover-fetching from last.fm|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Kopete|Add option to group all offline users into a &amp;quot;Offline Users&amp;quot; group|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
{{FeatureDone|Kopete|Show contact's status change in chat window|igor.poboiko@gmail.com|Igor Poboiko}}&lt;br /&gt;
{{FeatureDone|Kopete|Add context option &amp;quot;rename&amp;quot; to contacts and allow changing custom display name inline.|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Akonadi Google Resources|Move contacts and calendars resources from Akonadi Google project to kdepim-runtime|dan@progdan.cz|Dan Vratil}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add custom datatypes to structures tool|alex.richardson@gmx.de|Alex Richardson}}&lt;br /&gt;
{{FeatureDone|Lokalize|Optimize TM fuzzy searching||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureDone|Lokalize|File search tab||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureTodo|Lokalize|.ts support||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureInProgress|Umbrello|diagram auto layout support|ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
{{FeatureInProgress|Umbrello|diagram graphviz dot export |ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan</id>
		<title>Schedules/KDE4/4.9 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan"/>
				<updated>2012-03-23T14:16:58Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: update kajongg status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.9 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.9 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.8 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KGlobalSettings|Make KGlobalSettings reread locale settings before calling settingsChanged().|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-runtime =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-workspace =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|ksmserver|Port shutdown dialog to QML|lamarque@kde.org|Lamarque V. Souza}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-baseapps =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|FolderView|Refactor into PopupApplet and Containment|ignat.semenov@blue-systems.com|Ignat Semenov}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Marble|Worldwide hillshading|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Extended library API (no MarbleWidget dependency for tasks like parsing, routing)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Plasma Active|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Android|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Support for loading geolocated photos (e.g. in a Gallery activity in Marble Touch)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Layer Management (by the user: Toggle layer visibility; maybe move layers from legend and layers in menus to one central place/tab)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Rocs|Project Files to combine graphs and algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Extend graph data structure to support overlay graphs|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureDone|Rocs|Stepped execution of algorithms|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
{{FeatureInProgress|Rocs|General unit test cleanup and overhauling|cola@uni-paderborn.de|Andreas Cord-Landwehr}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Kajongg|tooltips giving playings hints|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|new config option: propose what to do|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|make it possible to replay a game from a screen shot (for better debugging)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|improve Robot AI|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Add default voices|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Players can chat with each other from within kajongg|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Define a central game server, making it easier to play over the internet (no more tweaking of firewalls for the server side)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add support for other rule variants, starting with Classical Chinese variants|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|libkdegames|[http://community.kde.org/Games/API_cleanup Major cleanup and rewrite]|stefan.majewsky@googlemail.com|Stefan Majewsky}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|JuK|last.fm scrobbling|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
{{FeatureDone|JuK|cover-fetching from last.fm|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Kopete|Add option to group all offline users into a &amp;quot;Offline Users&amp;quot; group|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
{{FeatureDone|Kopete|Show contact's status change in chat window|igor.poboiko@gmail.com|Igor Poboiko}}&lt;br /&gt;
{{FeatureDone|Kopete|Add context option &amp;quot;rename&amp;quot; to contacts and allow changing custom display name inline.|kopete-devel@kde.org|Kopete Developers}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Akonadi Google Resources|Move contacts and calendars resources from Akonadi Google project to kdepim-runtime|dan@progdan.cz|Dan Vratil}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add custom datatypes to structures tool|alex.richardson@gmx.de|Alex Richardson}}&lt;br /&gt;
{{FeatureDone|Lokalize|Optimize TM fuzzy searching||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureDone|Lokalize|File search tab||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureTodo|Lokalize|.ts support||Nick Shaforostoff}}&lt;br /&gt;
{{FeatureInProgress|Umbrello|diagram auto layout support|ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
{{FeatureInProgress|Umbrello|diagram graphviz dot export |ralf.habacker@freenet.de|Ralf Habacker}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git</id>
		<title>Projects/MoveToGit/UsingSvn2Git</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git"/>
				<updated>2012-03-16T07:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: renamed kde_svn to svn because svn is hardcoded in kde-ruleset/bin/startSync&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Projects/MoveToGit/UsingSvn2Git}}&lt;br /&gt;
&lt;br /&gt;
This page documents how to go about getting a KDE module ready for the Great Git Migration of 2010.&lt;br /&gt;
&lt;br /&gt;
=== Servers to use for all developers ===&lt;br /&gt;
&lt;br /&gt;
KDE Sysadmin provides 3 servers which are fully setup for writing rules. You can find more information about that on: http://community.kde.org/Sysadmin/DeveloperAccessForRuleWriting.&lt;br /&gt;
&lt;br /&gt;
All registered KDE developers have access to these machines. The rest of this document assumes a setup on your local computer, you are free to set it up on your local computer, but there is no need to. You can use the servers provided by KDE Sysadmin.&lt;br /&gt;
&lt;br /&gt;
=== Getting the tools ===&lt;br /&gt;
&lt;br /&gt;
The necessary tools are hosted at [http://www.gitorious.org/svn2git http://www.gitorious.org/svn2git] and [https://projects.kde.org/projects/playground/sdk/kde-ruleset https://projects.kde.org/projects/playground/sdk/kde-ruleset]. To get started do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone git://gitorious.org/svn2git/svn2git.git&lt;br /&gt;
git clone git://anongit.kde.org/kde-ruleset&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then install the libsvn-dev package.&lt;br /&gt;
&lt;br /&gt;
This will get you the source code to build svn2git and the KDE ruleset files as they currently exist. Build the svn2git tool before moving on to the next step.&lt;br /&gt;
&lt;br /&gt;
==== Building svn2git ====&lt;br /&gt;
Make sure you have Qt4 installed, then simply issue&lt;br /&gt;
&amp;lt;nowiki&amp;gt;qmake &amp;amp;&amp;amp; make&amp;lt;/nowiki&amp;gt; to build the executable called &amp;quot;svn-all-fast-export&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== How rulesets work ===&lt;br /&gt;
The format for the svn2git rules is pretty simple. First and foremost you&lt;br /&gt;
have to declare some repositories:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
create repository kdelibs&lt;br /&gt;
end repository&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tells svn2git that it should create a git repository called &amp;quot;kdelibs&amp;quot; that we can later on use to put commits into it.&lt;br /&gt;
&lt;br /&gt;
The rest of the file are rules matching specific paths in Subversion, each rule&lt;br /&gt;
specifies what to do with the commits that appeared at the given path. The&lt;br /&gt;
possible actions are ignoring them or adding them to a particular branch in a particular repository. '''Note:''' Ignoring is done by simply leaving out the information about the repository and the branch.&lt;br /&gt;
&lt;br /&gt;
As examples are more explanatory, the following rule would put all commits from 123453 to 456789 from the path /trunk/KDE/kdelibs into the master branch of&lt;br /&gt;
the kdelibs repository:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /trunk/KDE/kdelibs/&lt;br /&gt;
  min revision 123453&lt;br /&gt;
  max revision 456789&lt;br /&gt;
  repository kdelibs&lt;br /&gt;
  branch master&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The min and max revision are useful in cases where the same path in SVN contains&lt;br /&gt;
code for different branches. An example would be KDevelop3, where KDevelop 3.3 was shipped with KDE 3.5 until 3.5.7, 3.5.8 contained KDevelop 3.4 and 3.5.9 contained KDevelop 3.5 and all of those kdevelop versions are now under /branches/KDE/3.5/kdevelop.&lt;br /&gt;
&lt;br /&gt;
The two revision parameters are however not mandatory, if they're left out, then all commits that went to the given matching path in SVN are taken over into the specified branch.&lt;br /&gt;
&lt;br /&gt;
To generate tags with git you use a special format for the branch parameter: refs/tags/&amp;lt;tagname&amp;gt;. So to put all commits from /tags/KDE/4.4.0/kdelibs into the v4.4.0 tag in the kdelibs git repository the rule would be like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /tags/KDE/4.4.0/kdelibs/&lt;br /&gt;
  repository kdelibs&lt;br /&gt;
  branch refs/tags/v4.4.0&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more examples see the svn2git/samples/ directory and the rules in the kde-ruleset repository.&lt;br /&gt;
&lt;br /&gt;
The recurse action is a hack to tell svn2git to recurse into a directory it has just copied or that existed because it is of interest. Example: if we are importing kdelibs, it exists in {{path|trunk/KDE/kdelibs}}. At branching, someone did: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;svn cp $SVNROOT/trunk/KDE $SVNROOT/branches/KDE/4.4&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SVN recorded in that commit that branches/KDE/4.4 was the only path changed. &lt;br /&gt;
That means the rule &amp;lt;pre&amp;gt;branches/KDE/[^/]+/kdelibs/&amp;lt;/pre&amp;gt; will not match.&lt;br /&gt;
&lt;br /&gt;
We need to tell the tool that something interesting happened inside and it &lt;br /&gt;
should recurse. Then it will apply again all rules to the files that exist at &lt;br /&gt;
that point, at which point the rules will match.&lt;br /&gt;
&lt;br /&gt;
==== Important Details ====&lt;br /&gt;
&lt;br /&gt;
* All rules matching directories need to end with a '/', else the tool will crash at some point. This is a known bug. The only exception are the rules using the recurse-action.&lt;br /&gt;
&lt;br /&gt;
* All rules matching files need to use the prefix rule.&lt;br /&gt;
&lt;br /&gt;
* Matching rules can use Regular Expressions (according to the QRegExp syntax) in the match line and can use backreferences in the repository, prefix and branch parameters using \n (n=1,2,3,...) to reduce the amount of rules.&lt;br /&gt;
&lt;br /&gt;
* The rules form an ordered list that the tool goes through while matching the changed paths for each commit. So if two rules match the same path and neither of the two has more matching criteria, then the rule that is written further up in the file wins. This is useful to exclude certain commits from the extraction process, if you look at the existing kde ruleset  you'll notice that at the top some revisions are ignored.&lt;br /&gt;
&lt;br /&gt;
* Each rule file needs to handle all commits, ie. each file should end with a rule which matches everything and does nothing.&lt;br /&gt;
&lt;br /&gt;
=== Setting up your system ===&lt;br /&gt;
&lt;br /&gt;
You will need ~65GB of disk space to get started, as the process requires a copy of the KDE svn database. There is a script that will download this for you (and which can be used to update it periodically using rsync) in kde-ruleset/bin/startSync.&lt;br /&gt;
&lt;br /&gt;
more stuff goes here ...&lt;br /&gt;
&lt;br /&gt;
=== Step-by-Step on writing rules for a module ===&lt;br /&gt;
&lt;br /&gt;
==== Analyzing Subversion history to write rules ====&lt;br /&gt;
First of all you should check whether there are already rules for this module in the kde-ruleset repository. If there are rules already please go down to &amp;quot;Running svn2git&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If there are no rules yet, lets start with the master (aka trunk) branch. The easiest way to find out history with svn is executing:&lt;br /&gt;
&amp;lt;pre&amp;gt;svn log -v --stop-on-copy file:///path/to/svn/trunk/KDE/module&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that '/path/to/svn/' is the path to the 65GB you downloaded, and the 'trunk/KDE/module' is the module you want to write rules for, but those two put together is *not* a path that physically exists on your disk. svn log is smart enough to do what you want.&lt;br /&gt;
&lt;br /&gt;
This will give you a history of the given module in trunk, it'll stop on the first commit that copied the code from somewhere else. The verbose output will allow you to see where this copy came from.&lt;br /&gt;
&lt;br /&gt;
Now we have a starting point to write a rule, we want all commits from this path in our module repository in the master branch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /trunk/KDE/module/&lt;br /&gt;
  repository module&lt;br /&gt;
  branch master&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the log stops at a commit that copied the module from somewhere, we need to&lt;br /&gt;
follow this to also get the history imported from the &amp;quot;old&amp;quot; place the module resided. The same svn command can be used with slightly different path argument:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn log -v --stop-on-copy file:///path/to/svn/some/other/path@revision&amp;lt;/pre&amp;gt;&lt;br /&gt;
The @revision is important as the original path usually doesn't exist anymore. With this we can write the next rule to the rules file and repeat until we've finally reached the point where the code was initially imported into svn (or probably cvs in the old days)&lt;br /&gt;
&lt;br /&gt;
Now we can take care of the branches, this is a bit more involved as there may be multiple branches scattered over the /branches directory in svn. You can use the same commands as before to find out the history of a branch if you know the path. This time however you can stop following the source of copy-operations once you've found a source that you've already matched in a rule. That way your branch will be connected to the branch it originated from (which is often trunk aka master) in git.&lt;br /&gt;
&lt;br /&gt;
A useful help with finding branches is svn ls in combination with the path@revision syntax, that way you can view the content of a particular svn directory as it was in an older revision. With this you can even find branches that are not visible (have been deleted) in the current revision.&lt;br /&gt;
&lt;br /&gt;
The rule for putting commits into a git branch in the final repository is only slightly different (the example is for a core module):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /branches/KDE/4.4/module&lt;br /&gt;
  repository module&lt;br /&gt;
  branch 4.4&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And last are the tags, this works the same as branches and trunk, except for using branch refs/tags/v&amp;lt;tag-version&amp;gt; for the branch parameter.&lt;br /&gt;
&lt;br /&gt;
==== Running svn2git ====&lt;br /&gt;
This is the easiest, but most time-consuming part. As example lets say that in our current working directory we have the kde rules repository in kde-ruleset subdir, the svn2git tool in the svn2git subdir and the KDE repository in the svn subdir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn2git/svn-all-fast-export --identity-map kde-ruleset/account-map --rules kde-ruleset/module svn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will take a few hours usually, but it'll spit out the progress. The tool also writes a logfile to module.log, so in case something goes wrong you can find more details in there.&lt;br /&gt;
&lt;br /&gt;
Once its done you should have a new &amp;quot;module&amp;quot; git repository in your current working directory. &lt;br /&gt;
&lt;br /&gt;
==== Checking for proper history in the new git repository ====&lt;br /&gt;
To check the history of the created git repository simply change into the directory and use your favourite git command like ''git log'' to check if all is well.&lt;br /&gt;
&lt;br /&gt;
A '''very easy way to check whether the history was imported properly''' is to use the gitk tool from git. It shows you a graphical representation of the history in the git repository which makes it easy to identify where something is wrong.&lt;br /&gt;
&lt;br /&gt;
The tool should be run with the --all switch so it shows all branches.&lt;br /&gt;
&lt;br /&gt;
You can now scroll through the history to check whether things have been imported correctly.&lt;br /&gt;
&lt;br /&gt;
First and foremost there should be the master branch starting at the top with the most recent commit to trunk/ and ending in the oldest commit that imported the code into KDE's svn or cvs repository. &lt;br /&gt;
&lt;br /&gt;
From the master branch there should be several branches going away for each branch you imported. And eventually also branches that start from another non-master branch.&lt;br /&gt;
&lt;br /&gt;
Things that you should look out for are branches that start &amp;quot;nowhere&amp;quot;, that is the first commit in the branch has no parent in another branch or master. This means that svn2git didn't see a commit that created this branch from another using a svn cp command. That can mean that you may have forgotton to add a match rule for some path or that the same path was used for different branches in different revisions. The same applies to tags which have a commit without any parent.&lt;br /&gt;
&lt;br /&gt;
This can usually be fixed by using svn log and svn ls to follow the history of the branch. Eventually you might need to apply the min/max revision paramters.&lt;br /&gt;
&lt;br /&gt;
You'll notice that some tags are looking like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* * &amp;lt;v1.2.3&amp;gt;&lt;br /&gt;
| |&lt;br /&gt;
* *&lt;br /&gt;
| /&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thats normal for our tags even if a bit ugly. The reason is that often compile-fixes are done in trunk/ after the tag has been created and then the commit has been merged over to the tag.&lt;br /&gt;
&lt;br /&gt;
Another thing however are tags that are named vx.y.z_124321. These are tags that have been deleted and re-created later. You can usually see that in the svn log history, these tags can either be manually deleted after the repository creation using git tag or you can add rules that ignore certain revisions of the tag-path before the one putting the commits into the git repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /tags/KDE/3.3.2/kdelibs&lt;br /&gt;
  min revision 424234&lt;br /&gt;
  max revision 424236&lt;br /&gt;
end match&lt;br /&gt;
match /tags/KDE/3.3.2/kdelibs&lt;br /&gt;
  repository kdelibs&lt;br /&gt;
  branch refs/tags/3.3.2&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you choose to delete them manually please make sure to document this with a textfile or inside the rule file so if someone else does the conversion later again he'll know what manual steps you did.&lt;br /&gt;
&lt;br /&gt;
Also try grepping the output from svn2git for the string '&amp;quot;copy from&amp;quot;' (with the double quotation marks). This will give you a list of revisions/paths that svn2git could not detect the origin of. That is someone did a svn cp/mv and the old path is not in the generated git repository.&lt;br /&gt;
&lt;br /&gt;
Before publishing the newly created git repository make sure to repack it. This can greatly reduce it's size (i.e. Phonon's git repository could be shrunken from 18 MB to 5.2 MB)&lt;br /&gt;
&lt;br /&gt;
==== Pushing the Repository to git.kde.org ====&lt;br /&gt;
Request a new project as described in the [http://community.kde.org/Sysadmin/GitFAQ#Requesting_project_migrations_from_KDE_SVN_or_Gitorious.org Git KDE Manual]. Then push the repository into that new git project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== How to update the account-map file ====&lt;br /&gt;
&lt;br /&gt;
Currently, account-map file is being generated with 'generateAccountMap'[http://gitorious.org/svn2git/kde-ruleset/blobs/master/bin/generateAccountMap] script which parses kde-common/accounts[http://websvn.kde.org/trunk/kde-common/accounts?view=log] and kde-common/disabled-accounts[http://websvn.kde.org/trunk/kde-common/disabled-accounts?view=log] from SVN.&lt;br /&gt;
&lt;br /&gt;
Once you have your git repository you should check if there are accounts not listed in account-map file (you can use checkMissingAccounts[http://gitorious.org/svn2git/kde-ruleset/blobs/master/bin/checkMissingAccounts]), if that is the case, check if the missing accounts are listed in kde-common/accounts or kde-common/disabled-accounts, if it's not there file a sysadmin bug report[https://bugs.kde.org/enter_sysadmin_request.cgi] to get your missing account included in disabled-accounts. Once you get your missing accounts included in disabled accounts, you could generate the account-map file running 'bin/generateAccountMap', then run svn-all-fast-export again. Do not edit account-map file directly!&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== Recurse action doesn't work with cvs2svn tag commits ====&lt;br /&gt;
&lt;br /&gt;
You may have to deal with a commit done by cvs2svn to create a tag, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r386536 | (no author) | 2005-02-05 22:16:00 +0100 (Sat, 05 Feb 2005) | 2 lines&lt;br /&gt;
Changed paths:&lt;br /&gt;
   A /branches/beta_0_7_branch (from /trunk:386535)&lt;br /&gt;
   D /branches/beta_0_7_branch/art-devel&lt;br /&gt;
   D /branches/beta_0_7_branch/arts&lt;br /&gt;
   D /branches/beta_0_7_branch/bugs&lt;br /&gt;
   D /branches/beta_0_7_branch/devel-home&lt;br /&gt;
   D /branches/beta_0_7_branch/developer.kde.org&lt;br /&gt;
   D /branches/beta_0_7_branch/enterprise.kde.org&lt;br /&gt;
   D /branches/beta_0_7_branch/events.kde.org&lt;br /&gt;
   D /branches/beta_0_7_branch/foundation&lt;br /&gt;
   D /branches/beta_0_7_branch/kckde&lt;br /&gt;
   D /branches/beta_0_7_branch/kde-common&lt;br /&gt;
   D /branches/beta_0_7_branch/kde-i18n&lt;br /&gt;
   D /branches/beta_0_7_branch/kde-qt-addon&lt;br /&gt;
   D /branches/beta_0_7_branch/kde-women.kde.org&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeaccessibility&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeaddons&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeadmin&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeartwork&lt;br /&gt;
   D /branches/beta_0_7_branch/kdebase&lt;br /&gt;
   D /branches/beta_0_7_branch/kdebindings&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeedu&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-1&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-2&lt;br /&gt;
   M /branches/beta_0_7_branch/kdeextragear-3&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/Makefile.am.in&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/Makefile.cvs&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/README&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/configure.in.bot&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/configure.in.in&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/digikam&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/digikamimageplugins&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/doc&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/filelight&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kcfgcreator&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kconfigeditor&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kdebluetooth&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kdetv&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/keurocalc&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kiosktool&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/klicker&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/kplayer&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-3/pwmanager&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeextragear-libs-1&lt;br /&gt;
   D /branches/beta_0_7_branch/kdegames&lt;br /&gt;
   D /branches/beta_0_7_branch/kdegraphics&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeinstaller&lt;br /&gt;
   D /branches/beta_0_7_branch/kdejava&lt;br /&gt;
   D /branches/beta_0_7_branch/kdekiosk&lt;br /&gt;
   D /branches/beta_0_7_branch/kdelibs&lt;br /&gt;
   D /branches/beta_0_7_branch/kdemultimedia&lt;br /&gt;
   D /branches/beta_0_7_branch/kdenetwork&lt;br /&gt;
   D /branches/beta_0_7_branch/kdenonbeta&lt;br /&gt;
   D /branches/beta_0_7_branch/kdenox&lt;br /&gt;
   D /branches/beta_0_7_branch/kdepim&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-artwork&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-base&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-edu&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-games&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-ioslaves&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-multimedia&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-network&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-pim&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeplayground-utils&lt;br /&gt;
   D /branches/beta_0_7_branch/kdereview&lt;br /&gt;
   D /branches/beta_0_7_branch/kdesdk&lt;br /&gt;
   D /branches/beta_0_7_branch/kdesecurity&lt;br /&gt;
   D /branches/beta_0_7_branch/kdesupport&lt;br /&gt;
   D /branches/beta_0_7_branch/kdetoys&lt;br /&gt;
   D /branches/beta_0_7_branch/kdeutils&lt;br /&gt;
   D /branches/beta_0_7_branch/kdevelop&lt;br /&gt;
   D /branches/beta_0_7_branch/kdewebdev&lt;br /&gt;
   D /branches/beta_0_7_branch/kdoc&lt;br /&gt;
   D /branches/beta_0_7_branch/kfte&lt;br /&gt;
   D /branches/beta_0_7_branch/khtmltests&lt;br /&gt;
   D /branches/beta_0_7_branch/klyx&lt;br /&gt;
   D /branches/beta_0_7_branch/kmusic&lt;br /&gt;
   D /branches/beta_0_7_branch/koffice&lt;br /&gt;
   D /branches/beta_0_7_branch/kofficetests&lt;br /&gt;
   D /branches/beta_0_7_branch/konstruct&lt;br /&gt;
   D /branches/beta_0_7_branch/qt-copy&lt;br /&gt;
   D /branches/beta_0_7_branch/quanta&lt;br /&gt;
   D /branches/beta_0_7_branch/sysconfig&lt;br /&gt;
   D /branches/beta_0_7_branch/valgrind&lt;br /&gt;
   D /branches/beta_0_7_branch/www&lt;br /&gt;
&lt;br /&gt;
This commit was manufactured by cvs2svn to create branch&lt;br /&gt;
'beta_0_7_branch'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you do this&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /branches/beta_0_7_branch/kdeextragear-3/krecipes/&lt;br /&gt;
  repository krecipes&lt;br /&gt;
  branch 0.7&lt;br /&gt;
end match&lt;br /&gt;
&lt;br /&gt;
match /branches/beta_0_7_branch/&lt;br /&gt;
  min revision 386536&lt;br /&gt;
  max revision 386536&lt;br /&gt;
  action recurse&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
svn-all-fast-export will fail, you'll get an error sayining that '/foo/bar/path' was not found where '/foo/bar/path' is one of the deleted paths in the cvs2svn commit. This is because some paths were deleted in the same commit where you want to do an 'action recurse'. Therefore, to avoid matching the deleted paths you should do an action recurse on each intermediate directory from '/branches/beta_0_7_branch/' to '/branches/beta_0_7_branch/kdeextragear-3/krecipes/' and you should use a final '$' to make sure that the deleted paths will not be considered, thusly:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
match /branches/beta_0_7_branch/kdeextragear-3/krecipes/&lt;br /&gt;
  repository krecipes&lt;br /&gt;
  branch 0.7&lt;br /&gt;
end match&lt;br /&gt;
&lt;br /&gt;
match /branches/beta_0_7_branch/kdeextragear-3/$&lt;br /&gt;
  min revision 386536&lt;br /&gt;
  max revision 386536&lt;br /&gt;
  action recurse&lt;br /&gt;
end match&lt;br /&gt;
&lt;br /&gt;
match /branches/beta_0_7_branch/$&lt;br /&gt;
  min revision 386536&lt;br /&gt;
  max revision 386536&lt;br /&gt;
  action recurse&lt;br /&gt;
end match&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting Help ===&lt;br /&gt;
If you run into strange things or can't find a rule for something you can reach the KDE Git migration team on IRC: irc.freenode.org, #kde-git or on the [https://mail.kde.org/mailman/listinfo/kde-scm-interest kde-scm-interest mailinglist]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan</id>
		<title>Schedules/KDE4/4.9 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.9_Feature_Plan"/>
				<updated>2012-02-28T23:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: /* kdegames/Kajongg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.9 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.9 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.8 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-runtime =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-workspace =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kde-baseapps =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Marble|Worldwide hillshading|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Extended library API (no MarbleWidget dependency for tasks like parsing, routing)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Plasma Active|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Marble Touch on Android|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Support for loading geolocated photos (e.g. in a Gallery activity in Marble Touch)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Layer Management (by the user: Toggle layer visibility; maybe move layers from legend and layers in menus to one central place/tab)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Kajongg|tooltips giving playings hints|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|new config option: propose what to do|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|make it possible to replay a game from a screen shot (for better debugging)|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|improve Robot AI|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Add default voices|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|JuK|last.fm scrobbling|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
{{FeatureDone|JuK|cover-fetching from last.fm|martin.sandsmark@kde.org|Martin Sandsmark}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Akonadi Google Resources|Move contacts and calendars resources from Akonadi Google project to kdepim-runtime|dan@progdan.cz|Dan Vratil}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add custom datatypes to structures tool|alex.richardson@gmx.de|Alex Richardson}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils=&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-03-29T08:50:43Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: clarify what trunk is in relation to git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on the Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the development version of KDE (trunk in svn repositories, master in git repositories), if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-03-29T08:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: remove hint about emerge fetch qt hanging, should not happen anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on the Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Text-To-Speech</id>
		<title>Development/Tutorials/Text-To-Speech</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Text-To-Speech"/>
				<updated>2011-03-25T02:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: fix link to the speech API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Text to Speech? ==&lt;br /&gt;
&lt;br /&gt;
Jovie (previously called ktts in KDE &amp;lt;= 4.4) --  is a subsystem within the KDE desktop for conversion of text to audible speech. Jovie is currently under development and aims to become the standard subsystem for all KDE applications to provide speech output.&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
Applications send text they wish spoken to Jovie via D-Bus. For example, in a terminal window, you can type the following commands to start Jovie and speak &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Start Jovie (if not already running)&lt;br /&gt;
jovie&lt;br /&gt;
# Send &amp;quot;Hello World&amp;quot; to KTTSD for speaking in English.&lt;br /&gt;
qdbus org.kde.KSpeech /KSpeech say &amp;quot;Hello World&amp;quot; 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using speech in your application ===&lt;br /&gt;
&lt;br /&gt;
The above example shows how to play with speech via command-line, but to use it inside your application you'll likely want to use the dbus interface programmatically.  It's defined in kdelibs/interfaces/kspeech/org.kde.KSpeech.xml and can be used in your application by putting the following in your CMakeLists.txt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qt4_add_dbus_interfaces(my_SRCS ${KDE4_DBUS_INTERFACES_DIR}/org.kde.KSpeech.xml)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then in the source file you want to use speech in, #include &amp;lt;kspeech.h&amp;gt; to get some of the enumerations needed (i.e. KSpeech::soPlainText).  Finally, define an object of type org::kde::KSpeech* and use it like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;org::kde::KSpeech* kspeech = new org::kde::Kspeech(&amp;quot;org.kde.kttsd&amp;quot;, &amp;quot;/KSpeech&amp;quot;, QDbusConnection::sessionBus());&lt;br /&gt;
kspeech-&amp;gt;setApplicationName(&amp;quot;myappname&amp;quot;);&lt;br /&gt;
kspeech-&amp;gt;say(&amp;quot;text to speak&amp;quot;, KSpeech::soPlainText);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The KSpeech API ===&lt;br /&gt;
For a complete description of these and other commands, see the [http://api.kde.org/4.x-api/kdelibs-apidocs/interfaces/kspeech/html/index.html KDE Text-to-Speech API.]&lt;br /&gt;
&lt;br /&gt;
Jovie takes care of sending the text to speech-dispatcher. Jovie is not a speech synthesis engine itself. You must install one of the compatible speech engines. Speech-dispatcher is designed with a plugin architecture that makes it easy to write new plugins for other speech engines.&lt;br /&gt;
&lt;br /&gt;
== Why? Who needs it? ==&lt;br /&gt;
&lt;br /&gt;
Jovie provides a common interface for all KDE applications to use for speaking. Programmers need not concern themselves with the details of the particular speech synthesis engine(s) used. &lt;br /&gt;
&lt;br /&gt;
=== User Features ===&lt;br /&gt;
&lt;br /&gt;
 * Speak any text from the clipboard.&lt;br /&gt;
 * Speak any plain text file.&lt;br /&gt;
 * Speak all or any portion of a text file from Kate, including instances where Kate is embedded in another application.&lt;br /&gt;
 * Speak all or any portion of an HTML page from Konqueror.&lt;br /&gt;
 * Use as the speech backend for KMouth&lt;br /&gt;
 * Speak KDE notifications (KNotify).&lt;br /&gt;
 * Speech is spoken via speech-dispatcher, so any speech-dispatcher backend can be used (espeak, festival, etc.)&lt;br /&gt;
 * User-configurable filters for substituting misspoken words, choosing speech synthesizers, and transforming XHMTL/XML documents.&lt;br /&gt;
&lt;br /&gt;
=== Programmer Features ===&lt;br /&gt;
&lt;br /&gt;
 * Priority system for screen reader outputs, warnings and messages, while still playing regular texts.&lt;br /&gt;
 * Permit generation of speech from the command line (or via shell scripts) using the KDE DCOP utilities.&lt;br /&gt;
 * Provide a lightweight and easily usable interface for applications to generate speech output.&lt;br /&gt;
 * Applications need not be concerned about contention over the speech device.&lt;br /&gt;
 * FUTURE: Provide support for speech markup languages, such as VoiceXML, Sable, Java Speech Markup Language (JSML), and Speech Markup Meta-language (SMML).&lt;br /&gt;
 * FUTURE: Provide limited support for embedded speech markers.&lt;br /&gt;
 * Asynchronous to prevent system blocking.&lt;br /&gt;
&lt;br /&gt;
It is hoped that more programmers will begin adding speech capabilities to their KDE programs using Jovie.&lt;br /&gt;
&lt;br /&gt;
=== Different parts ===&lt;br /&gt;
Jovie actually consists of a few programs:&lt;br /&gt;
&lt;br /&gt;
==== Jovie ====&lt;br /&gt;
The KDE Text-to-Speech system, a system tray application that provides TTS support to KDE applications. Applications initiate TTS by making D-Bus calls to Jovie.&lt;br /&gt;
&lt;br /&gt;
==== kcmkttsd ====&lt;br /&gt;
A KControl module for configuring the Text to Speech System. kcmkttsd runs in the KDE Control Center or start it with the command &amp;quot;kcmshell4 kcmkttsd&amp;quot; or by choosing &amp;quot;configure&amp;quot; from Jovie system tray icon's menu.&lt;br /&gt;
&lt;br /&gt;
==== ktexteditor_kttsd ====&lt;br /&gt;
A plugin for the KDE Advanced Text Editor that permits you to speak an entire text file or any portion of a file.&lt;br /&gt;
&lt;br /&gt;
==== libkhtmlkttsdplugin ====&lt;br /&gt;
A plugin for Konqueror that permits you to speak all or any portion of an HTML web page.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
 * KDE 4.4 or later.&lt;br /&gt;
 * speech-dispatcher version 0.6.7 or later.&lt;br /&gt;
 * A speech synthesizer such as espeak, festival, or flite.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-14T11:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: what to do when emerge qt hangs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on the Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
Note: '''There is  a known problem with fetching qt sources. If emerge hangs, you should disable EMERGE_LOG_DIR in kdesettings.bat, execute &amp;lt;tt&amp;gt;emerge --fetch qt&amp;lt;/tt&amp;gt; and re-enable EMERGE_LOG_DIR.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-08T10:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on the Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/subversion</id>
		<title>Getting Started/Build/Windows/subversion</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/subversion"/>
				<updated>2011-01-08T06:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: how to make Pageant automatically reload keys at startup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article details how a developer can set up the Subversion command line client &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;PuTTY&amp;lt;/tt&amp;gt; on MS Windows to enable write access to the KDE Subversion Repository, using your existing SSH credentials from *nix.&lt;br /&gt;
&lt;br /&gt;
==Install PuTTY==&lt;br /&gt;
*Install PuTTY&lt;br /&gt;
[http://en.wikipedia.org/wiki/PuTTY PuTTY] is a free implementation of SSH for Win32. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Download] and install PuTTY.  Using the Windows install file is the easiest method. As of this writing the current version is [ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/x86/putty-0.60-installer.exe putty-0.60-installer.exe].&lt;br /&gt;
&lt;br /&gt;
*Put PuTTY in $PATH&lt;br /&gt;
In order for MS Windows to be able to find PuTTY and its related executable files, you need to add their location to your PATH variable.  By default, PuTTY will install to C:\Program Files\PuTTY.  To edit your PATH (for Windows &amp;gt;= Win2k), Start -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment Variables -&amp;gt; System Variables -&amp;gt; Path -&amp;gt; Edit.  Add &amp;quot;C:\Program Files\PuTTY;&amp;quot; to the end of the PATH variable value.&lt;br /&gt;
&lt;br /&gt;
==Enable Existing Key==&lt;br /&gt;
*Transfer existing ~\.ssh\id_dsa to Windows&lt;br /&gt;
Copy the private ssh key that is associated with your KDE Subversion account to the MS Windows machine.  In many cases this will be /home/kde-devel/.ssh/id_dsa.  I put mine in C:\Documents and Settings\mark\My Documents.&lt;br /&gt;
&lt;br /&gt;
*Load into PuTTY Key Generator&lt;br /&gt;
In order to use your OpenSSH private key, you must first convert it to a PuTTY Private Key (*.ppk).  To do this, Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTYgen -&amp;gt; Load.  Browse to wherever you saved your private key (id_dsa) and load it.&lt;br /&gt;
&lt;br /&gt;
*Save Private Key&lt;br /&gt;
Once the key is loaded, click on 'Save Private Key' to save a copy of the key in a version that PuTTY can use.  I saved mine as id_dsa.ppk.&lt;br /&gt;
&lt;br /&gt;
==Enable Pageant==&lt;br /&gt;
Pageant is PuTTY's version of sshagent, holding your keys for you so you don't always have to enter your passphrase.&lt;br /&gt;
&lt;br /&gt;
*Start Pageant&lt;br /&gt;
Start Pageant Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; Pageant.  An icon will appear in your system tray.  Right-click in the icon, then select view keys.  If your key isn't listed, click on 'Add Key' and add the id_dsa.ppk key you created earlier.&lt;br /&gt;
&lt;br /&gt;
*Add Pageant to Startup group&lt;br /&gt;
I suggest adding Pageant to the MS Windows Startup group so that it launches every time you start Windows.&lt;br /&gt;
&lt;br /&gt;
Pageant does not automatically reload keys when it is started. See the Pageant Help, there is a chapter &amp;quot;Making Pageant automatically load keys on startup&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configure Subversion PuTTY Tunnel==&lt;br /&gt;
We need to create a new type of tunnel: subversion over PuTTY (svn+ssh://).&lt;br /&gt;
We call the tunnel ssh for consistency with the Linux world. We could&lt;br /&gt;
just as well call it putty and then use svn+putty everywhere. The default configuration for emerge (kdesettings-example.bat) uses ssh.&lt;br /&gt;
&lt;br /&gt;
*We create this tunnel in the Subversion configuration file. Open &amp;lt;tt&amp;gt;%appdata%\Subversion\config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*In [Tunnels] section, we create our new tunnel by adding a line (use \\ for backslash):&lt;br /&gt;
&amp;lt;tt&amp;gt;ssh = plink -ssh -C -i c:\\path\\to\\id_dsa.ppk -agent &amp;lt;svnaccountname&amp;gt;@svn.kde.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;plink&amp;lt;/tt&amp;gt; is the command line version of PuTTY. &amp;lt;tt&amp;gt;-ssh&amp;lt;/tt&amp;gt; tells PuTTY to use SSH protocol. &amp;lt;tt&amp;gt;-C&amp;lt;/tt&amp;gt; turns on compression. &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; is the path to your private key. &amp;lt;tt&amp;gt;-agent&amp;lt;/tt&amp;gt; tells PuTTY to try to use Pageant.&lt;br /&gt;
&lt;br /&gt;
As an alternative to editing the Subversion configuration file, you can define the environment variable SVN_SSH just like you would define the ssh tunnel (untested).&lt;br /&gt;
&lt;br /&gt;
Now open PuTTY (Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTY) and open a connection to &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; it will ask you if you accept the server id. Select yes,&lt;br /&gt;
a terminal window with an error message may appear, this is normal. If prompted, enter your username. It may then throw errors, but don't worry. The authentication process between your computer and svn.kde.org is now complete, and you may close the PuTTY session.&lt;br /&gt;
&lt;br /&gt;
==Repository Access==&lt;br /&gt;
*The repository can now be accessed by using the svn+ssh:// tunnel, e.g. &amp;lt;tt&amp;gt;&lt;br /&gt;
C:\KDE4&amp;gt; svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup Git==&lt;br /&gt;
Install Git by either running [http://techbase.kde.org/Getting_Started/Build/KDE4/Windows/emerge 'emerge git' ] or by downloading the zip yourself from the [http://code.google.com/p/msysgit/ msysgit page].&lt;br /&gt;
&lt;br /&gt;
After installation you will need to setup the following environment variables (as shown above):&lt;br /&gt;
*Create a new variable HOME with value %USERPROFILE%. This will be expanded to the path of your account automatically.&lt;br /&gt;
*Create a new variable GIT_SSH with value: plink.exe&lt;br /&gt;
&lt;br /&gt;
Git is now completely setup to follow the steps in the [http://techbase.kde.org/Getting_Started/Sources/KDE_git-tutorial KDE Git tutorial]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/subversion</id>
		<title>Getting Started/Build/Windows/subversion</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/subversion"/>
				<updated>2011-01-07T16:21:37Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: SVN_SSH as an alternative to editing the svn config file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article details how a developer can set up the Subversion command line client &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;PuTTY&amp;lt;/tt&amp;gt; on MS Windows to enable write access to the KDE Subversion Repository, using your existing SSH credentials from *nix.&lt;br /&gt;
&lt;br /&gt;
==Install PuTTY==&lt;br /&gt;
*Install PuTTY&lt;br /&gt;
[http://en.wikipedia.org/wiki/PuTTY PuTTY] is a free implementation of SSH for Win32. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Download] and install PuTTY.  Using the Windows install file is the easiest method. As of this writing the current version is [ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/x86/putty-0.60-installer.exe putty-0.60-installer.exe].&lt;br /&gt;
&lt;br /&gt;
*Put PuTTY in $PATH&lt;br /&gt;
In order for MS Windows to be able to find PuTTY and its related executable files, you need to add their location to your PATH variable.  By default, PuTTY will install to C:\Program Files\PuTTY.  To edit your PATH (for Windows &amp;gt;= Win2k), Start -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment Variables -&amp;gt; System Variables -&amp;gt; Path -&amp;gt; Edit.  Add &amp;quot;C:\Program Files\PuTTY;&amp;quot; to the end of the PATH variable value.&lt;br /&gt;
&lt;br /&gt;
==Enable Existing Key==&lt;br /&gt;
*Transfer existing ~\.ssh\id_dsa to Windows&lt;br /&gt;
Copy the private ssh key that is associated with your KDE Subversion account to the MS Windows machine.  In many cases this will be /home/kde-devel/.ssh/id_dsa.  I put mine in C:\Documents and Settings\mark\My Documents.&lt;br /&gt;
&lt;br /&gt;
*Load into PuTTY Key Generator&lt;br /&gt;
In order to use your OpenSSH private key, you must first convert it to a PuTTY Private Key (*.ppk).  To do this, Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTYgen -&amp;gt; Load.  Browse to wherever you saved your private key (id_dsa) and load it.&lt;br /&gt;
&lt;br /&gt;
*Save Private Key&lt;br /&gt;
Once the key is loaded, click on 'Save Private Key' to save a copy of the key in a version that PuTTY can use.  I saved mine as id_dsa.ppk.&lt;br /&gt;
&lt;br /&gt;
==Enable Pageant==&lt;br /&gt;
Pageant is PuTTY's version of sshagent, holding your keys for you so you don't always have to enter your passphrase.&lt;br /&gt;
&lt;br /&gt;
*Start Pageant&lt;br /&gt;
Start Pageant Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; Pageant.  An icon will appear in your system tray.  Right-click in the icon, then select view keys.  If your key isn't listed, click on 'Add Key' and add the id_dsa.ppk key you created earlier.&lt;br /&gt;
&lt;br /&gt;
*Add Pageant to Startup group&lt;br /&gt;
I suggest adding Pageant to the MS Windows Startup group so that it launches every time you start Windows.&lt;br /&gt;
&lt;br /&gt;
==Configure Subversion PuTTY Tunnel==&lt;br /&gt;
We need to create a new type of tunnel: subversion over PuTTY (svn+ssh://).&lt;br /&gt;
We call the tunnel ssh for consistency with the Linux world. We could&lt;br /&gt;
just as well call it putty and then use svn+putty everywhere. The default configuration for emerge (kdesettings-example.bat) uses ssh.&lt;br /&gt;
&lt;br /&gt;
*We create this tunnel in the Subversion configuration file. Open &amp;lt;tt&amp;gt;%appdata%\Subversion\config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*In [Tunnels] section, we create our new tunnel by adding a line (use \\ for backslash):&lt;br /&gt;
&amp;lt;tt&amp;gt;ssh = plink -ssh -C -i c:\\path\\to\\id_dsa.ppk -agent &amp;lt;svnaccountname&amp;gt;@svn.kde.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;plink&amp;lt;/tt&amp;gt; is the command line version of PuTTY. &amp;lt;tt&amp;gt;-ssh&amp;lt;/tt&amp;gt; tells PuTTY to use SSH protocol. &amp;lt;tt&amp;gt;-C&amp;lt;/tt&amp;gt; turns on compression. &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; is the path to your private key. &amp;lt;tt&amp;gt;-agent&amp;lt;/tt&amp;gt; tells PuTTY to try to use Pageant.&lt;br /&gt;
&lt;br /&gt;
As an alternative to editing the Subversion configuration file, you can define the environment variable SVN_SSH just like you would define the ssh tunnel (untested).&lt;br /&gt;
&lt;br /&gt;
Now open PuTTY (Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTY) and open a connection to &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; it will ask you if you accept the server id. Select yes,&lt;br /&gt;
a terminal window with an error message may appear, this is normal. If prompted, enter your username. It may then throw errors, but don't worry. The authentication process between your computer and svn.kde.org is now complete, and you may close the PuTTY session.&lt;br /&gt;
&lt;br /&gt;
==Repository Access==&lt;br /&gt;
*The repository can now be accessed by using the svn+ssh:// tunnel, e.g. &amp;lt;tt&amp;gt;&lt;br /&gt;
C:\KDE4&amp;gt; svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup Git==&lt;br /&gt;
Install Git by either running [http://techbase.kde.org/Getting_Started/Build/KDE4/Windows/emerge 'emerge git' ] or by downloading the zip yourself from the [http://code.google.com/p/msysgit/ msysgit page].&lt;br /&gt;
&lt;br /&gt;
After installation you will need to setup the following environment variables (as shown above):&lt;br /&gt;
*Create a new variable HOME with value %USERPROFILE%. This will be expanded to the path of your account automatically.&lt;br /&gt;
*Create a new variable GIT_SSH with value: plink.exe&lt;br /&gt;
&lt;br /&gt;
Git is now completely setup to follow the steps in the [http://techbase.kde.org/Getting_Started/Sources/KDE_git-tutorial KDE Git tutorial]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-07T14:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on the Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommened you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-07T14:44:15Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: fix a few things about the subversion client&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool, abbreviated svn. You need a Subversion client for the first checkout of emerge. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org], aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*a GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Emerge uses its own Subversion client for checking out all KDE source code. However it is not quite up to date: From August 2009. You can find it in %KDEROOT%\dev-utils\svn\bin. It will be used by emerge even if you have another svn executable installed.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (svn doesn't work correctly) please remove any other svn binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Most source files in the KDE Subversion repository have Unix line endings, and svn will not convert them to Windows line endings. This is fine for emerge, but the standard Windows editor might not show those files correctly. You can use another editor like vim (http://www.vim.org).&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on svn-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommened you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/subversion</id>
		<title>Getting Started/Build/Windows/subversion</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/subversion"/>
				<updated>2011-01-07T14:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: tunnel for svn: call it ssh, not putty. And fix spelling for PuTTY&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article details how a developer can set up the Subversion command line client &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;PuTTY&amp;lt;/tt&amp;gt; on MS Windows to enable write access to the KDE Subversion Repository, using your existing SSH credentials from *nix.&lt;br /&gt;
&lt;br /&gt;
==Install PuTTY==&lt;br /&gt;
*Install PuTTY&lt;br /&gt;
[http://en.wikipedia.org/wiki/PuTTY PuTTY] is a free implementation of SSH for Win32. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Download] and install PuTTY.  Using the Windows install file is the easiest method. As of this writing the current version is [ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/x86/putty-0.60-installer.exe putty-0.60-installer.exe].&lt;br /&gt;
&lt;br /&gt;
*Put PuTTY in $PATH&lt;br /&gt;
In order for MS Windows to be able to find PuTTY and its related executable files, you need to add their location to your PATH variable.  By default, PuTTY will install to C:\Program Files\PuTTY.  To edit your PATH (for Windows &amp;gt;= Win2k), Start -&amp;gt; Control Panel -&amp;gt; System -&amp;gt; Advanced -&amp;gt; Environment Variables -&amp;gt; System Variables -&amp;gt; Path -&amp;gt; Edit.  Add &amp;quot;C:\Program Files\PuTTY;&amp;quot; to the end of the PATH variable value.&lt;br /&gt;
&lt;br /&gt;
==Enable Existing Key==&lt;br /&gt;
*Transfer existing ~\.ssh\id_dsa to Windows&lt;br /&gt;
Copy the private ssh key that is associated with your KDE Subversion account to the MS Windows machine.  In many cases this will be /home/kde-devel/.ssh/id_dsa.  I put mine in C:\Documents and Settings\mark\My Documents.&lt;br /&gt;
&lt;br /&gt;
*Load into PuTTY Key Generator&lt;br /&gt;
In order to use your OpenSSH private key, you must first convert it to a PuTTY Private Key (*.ppk).  To do this, Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTYgen -&amp;gt; Load.  Browse to wherever you saved your private key (id_dsa) and load it.&lt;br /&gt;
&lt;br /&gt;
*Save Private Key&lt;br /&gt;
Once the key is loaded, click on 'Save Private Key' to save a copy of the key in a version that PuTTY can use.  I saved mine as id_dsa.ppk.&lt;br /&gt;
&lt;br /&gt;
==Enable Pageant==&lt;br /&gt;
Pageant is PuTTY's version of sshagent, holding your keys for you so you don't always have to enter your passphrase.&lt;br /&gt;
&lt;br /&gt;
*Start Pageant&lt;br /&gt;
Start Pageant Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; Pageant.  An icon will appear in your system tray.  Right-click in the icon, then select view keys.  If your key isn't listed, click on 'Add Key' and add the id_dsa.ppk key you created earlier.&lt;br /&gt;
&lt;br /&gt;
*Add Pageant to Startup group&lt;br /&gt;
I suggest adding Pageant to the MS Windows Startup group so that it launches every time you start Windows.&lt;br /&gt;
&lt;br /&gt;
==Configure Subversion PuTTY Tunnel==&lt;br /&gt;
We need to create a new type of tunnel: subversion over PuTTY (svn+ssh://).&lt;br /&gt;
We call the tunnel ssh for consistency with the Linux world. We could&lt;br /&gt;
just as well call it putty and then use svn+putty everywhere. The default configuration for emerge (kdesettings-example.bat) uses ssh.&lt;br /&gt;
&lt;br /&gt;
*We create this tunnel in the Subversion configuration file. Open &amp;lt;tt&amp;gt;%appdata%\Subversion\config&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*In [Tunnels] section, we create our new tunnel by adding a line (use \\ for backslash):&lt;br /&gt;
&amp;lt;tt&amp;gt;ssh = plink -ssh -C -i c:\\path\\to\\id_dsa.ppk -agent &amp;lt;svnaccountname&amp;gt;@svn.kde.org&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;plink&amp;lt;/tt&amp;gt; is the command line version of PuTTY. &amp;lt;tt&amp;gt;-ssh&amp;lt;/tt&amp;gt; tells PuTTY to use SSH protocol. &amp;lt;tt&amp;gt;-C&amp;lt;/tt&amp;gt; turns on compression. &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; is the path to your private key. &amp;lt;tt&amp;gt;-agent&amp;lt;/tt&amp;gt; tells PuTTY to try to use Pageant.&lt;br /&gt;
&lt;br /&gt;
Now open PuTTY (Start -&amp;gt; All Programs -&amp;gt; PuTTY -&amp;gt; PuTTY) and open a connection to &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; it will ask you if you accept the server id. Select yes,&lt;br /&gt;
a terminal window with an error message may appear, this is normal. If prompted, enter your username. It may then throw errors, but don't worry. The authentication process between your computer and svn.kde.org is now complete, and you may close the PuTTY session.&lt;br /&gt;
&lt;br /&gt;
==Repository Access==&lt;br /&gt;
*The repository can now be accessed by using the svn+ssh:// tunnel, e.g. &amp;lt;tt&amp;gt;&lt;br /&gt;
C:\KDE4&amp;gt; svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setup Git==&lt;br /&gt;
Install Git by either running [http://techbase.kde.org/Getting_Started/Build/KDE4/Windows/emerge 'emerge git' ] or by downloading the zip yourself from the [http://code.google.com/p/msysgit/ msysgit page].&lt;br /&gt;
&lt;br /&gt;
After installation you will need to setup the following environment variables (as shown above):&lt;br /&gt;
*Create a new variable HOME with value %USERPROFILE%. This will be expanded to the path of your account automatically.&lt;br /&gt;
*Create a new variable GIT_SSH with value: plink.exe&lt;br /&gt;
&lt;br /&gt;
Git is now completely setup to follow the steps in the [http://techbase.kde.org/Getting_Started/Sources/KDE_git-tutorial KDE Git tutorial]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-07T14:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: change svn+putty to svn+ssh&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool. You need a Subversion client for the first checkout. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org] '''(required by emerge to get the source code from KDE Subversion repository)''', aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (Subversion doesn't work correctly) please remove any other Subversion binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Make sure to use a copy of Subversion that was built on Windows so that checked-out files do not use UNIX line endings.  If you check out with UNIX line endings, the ''patch'' program will fail when attempting to apply a patch whose line endings don't match the system's.&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+ssh://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommened you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Getting_Started/Build/Windows/emerge</id>
		<title>Getting Started/Build/Windows/emerge</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Getting_Started/Build/Windows/emerge"/>
				<updated>2011-01-07T12:09:34Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: plink also for the kde git server&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''emerge'' is a tool to build the KDE sources and its third-party requirements on MS Windows. It is the '''easy''' way to build KDE on MS Windows.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Emerge is a tool that can build the different parts of KDE and its dependencies under Windows. We created this tool to automate and simplify the build process under Windows. We try to build all packages that we offer in the KDE installer with emerge. That has some advantages for us:&lt;br /&gt;
* it is easy for people to join us:&lt;br /&gt;
Before emerge it was quite some work to set a system up for development. There were some quirks, which were documented in some mailing lists, but you had to remember them or you ran into an already solved problem again, etc.&lt;br /&gt;
Now to get a development machine you need a Windows computer, need to install Python and Subversion and do the emerge checkout. Then execute emerge to build what you want to build. This is easy for developers coming from Windows to KDE, and also for KDE developers coming to Windows.&lt;br /&gt;
* it is easy for us to do (nightly/continuous/release/reproducable/...) builds:&lt;br /&gt;
With emerge you can build the whole software stack (low-level libs, Qt, kdelibs, things above that) with only one command. You can start that build, and some hours later you can check if it worked, or if something broke. So we can spot problems easier and earlier. We can also start with a &amp;quot;naked&amp;quot; Windows computer without any other installed software and bootstrap kde on it. That ensures, that no hidden dependencies on some pieces of software sneak in, because then the builds on a &amp;quot;naked&amp;quot; computer would break and show the problem.&lt;br /&gt;
* it is easier to collaborate:&lt;br /&gt;
We can test the same emerge build description for a package on different Windows versions/computers before we do binary releases. People can also add build descriptions for new packages to the Subversion repository.&lt;br /&gt;
&lt;br /&gt;
This emerge tool was inspired by the Gentoo emerge tool.&lt;br /&gt;
&lt;br /&gt;
== Set up the environment ==&lt;br /&gt;
=== Root directory ===&lt;br /&gt;
Create a directory if possible in your harddrive's root e.g. C:\kderoot or D:\kderoot (You will need this PATH later). This directory will contain the whole kde installation later. We will refer to it as %KDEROOT%.&lt;br /&gt;
&lt;br /&gt;
=== Python interpreter ===&lt;br /&gt;
&amp;lt;tt&amp;gt;emerge.bat&amp;lt;/tt&amp;gt; invokes an &amp;lt;tt&amp;gt;emerge.py&amp;lt;/tt&amp;gt; script written in [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] programming language, so you first need to [http://www.python.org/download/ install the Python 2.7 Interpreter]. The ''python'' installation directory will be added to the PATH later by &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
=== Subversion client ===&lt;br /&gt;
The latest source code for Windows ''emerge'' and the rest of KDE is stored in a repository created and managed using the [http://subversion.tigris.org/ Subversion] version control tool. You need a Subversion client for the first checkout. There are at least two applications:&lt;br /&gt;
*a command line client, available at [http://subversion.apache.org/packages.html  subversion.apache.org] '''(required by emerge to get the source code from KDE Subversion repository)''', aimed at developers or power users accustomed with the command line,&lt;br /&gt;
*GUI program like [http://tortoisesvn.tigris.org/ TortoiseSVN], optional, useful for displaying differences between various versions of files in the repository in a graphical way.&lt;br /&gt;
&lt;br /&gt;
Note 1: If you experience problems with the checkout of Qt (Subversion doesn't work correctly) please remove any other Subversion binaries out of the path that you do have. '''The different versions of the Apache portable runtime (APR) are incompatible!'''&lt;br /&gt;
&lt;br /&gt;
Note 2: Make sure to use a copy of Subversion that was built on Windows so that checked-out files do not use UNIX line endings.  If you check out with UNIX line endings, the ''patch'' program will fail when attempting to apply a patch whose line endings don't match the system's.&lt;br /&gt;
&lt;br /&gt;
=== Getting the ''emerge'' tool ===&lt;br /&gt;
The source code of the ''emerge'' tool and the recipes for creating KDE packages are located at &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt;, which is an URL based on Subversion-specific ''svn'' protocol.&lt;br /&gt;
&lt;br /&gt;
You need to check out the source code from the ''emerge'' Subversion directory into a new directory below your root directory (the root directory is normally called %KDEROOT% here) or get it inside a self extracting archive (not tested yet).&lt;br /&gt;
&lt;br /&gt;
==== Check out using the 'svn' command ====&lt;br /&gt;
&lt;br /&gt;
*Option 1: With the ''svn'' command line tool, you can accomplish this with the following commands:&amp;lt;pre&amp;gt;cd %KDEROOT%&amp;lt;/pre&amp;gt;&lt;br /&gt;
**if you will only use anonymous (read-only) access to the KDE svn repository:&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
**or, if you plan to use write access (commit) to the KDE svn repository&lt;br /&gt;
***via https:&amp;lt;pre&amp;gt;svn co --username yourusername https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
***via a [[Getting_Started/Build/KDE4/Windows/subversion|puTTY tunnel]] using your existing account &amp;amp; OpenSSH private key: &amp;lt;pre&amp;gt;svn co svn+putty://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This would result with:&lt;br /&gt;
&lt;br /&gt;
 Error validating server certificate for '&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;':&lt;br /&gt;
  - The certificate is not issued by a trusted authority. Use the&lt;br /&gt;
    fingerprint to validate the certificate manually!&lt;br /&gt;
 Certificate information:&lt;br /&gt;
  - Hostname: svn.kde.org&lt;br /&gt;
  - Valid: from Wed, 11 May 2005 09:08:21 GMT until Sat, 09 May 2015 09:08:21 GMT&lt;br /&gt;
  - Issuer: SVN, KDE e.V., Nuernberg, Bavaria, DE&lt;br /&gt;
  - Fingerprint: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx&lt;br /&gt;
 (R)eject, accept (t)emporarily or accept (p)ermanently? &lt;br /&gt;
&lt;br /&gt;
enter ''p'' here to permanently accept the certificate:&lt;br /&gt;
&lt;br /&gt;
 Authentication realm: &amp;lt;&amp;lt;nowiki&amp;gt;https://svn.kde.org:443&amp;lt;/nowiki&amp;gt;&amp;gt; KDE SVN account&lt;br /&gt;
 Password for 'yourusername': ***************&lt;br /&gt;
 A    emerge\kdeenv.bat&lt;br /&gt;
 A    emerge\portage&lt;br /&gt;
 A    emerge\portage\kdesupport&lt;br /&gt;
 [....]&lt;br /&gt;
&lt;br /&gt;
The password and cache for the certificates is saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Check out using the TortoiseSVN ====&lt;br /&gt;
&lt;br /&gt;
*Option 2: If you use TortoiseSVN:&lt;br /&gt;
*#right-click on your %KDEROOT% folder and select ''SVN Checkout...'' command from the context menu,&lt;br /&gt;
*#paste &amp;lt;tt&amp;gt;svn://anonsvn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/tt&amp;gt; URL into the ''URL of repository'' text box (replace with &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;https://svn.kde.org/home/kde/trunk/kdesupport/emerge&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; for read-write access)&lt;br /&gt;
*#add &amp;lt;tt&amp;gt;\emerge&amp;lt;/tt&amp;gt; to the folder name in the ''Checkout directory'' box and click OK to continue&lt;br /&gt;
*#if you picked the read-write access, you will be asked for accepting the SSL certificate of the SVN server (click &amp;quot;Premanent&amp;quot;) and then for username and password. For convenience select &amp;quot;Save authentication&amp;quot; checkbox too (the password and cache for the certificates will be saved in &amp;lt;tt&amp;gt;%APPDATA%\Subversion\auth&amp;lt;/tt&amp;gt; directory).&lt;br /&gt;
&lt;br /&gt;
After the checkout you should have the directory &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. If you don't, you move your ''emerge'' directory to that location.&lt;br /&gt;
&lt;br /&gt;
==== Installing from the self-extracting archive ====&lt;br /&gt;
*Option 3: Get the self-extracting archive from [http://www.winkde.org/pub/kde/ports/win32/emerge/emerge-latest.exe here], unpack it into your KDEROOT directory so that you have a folder %KDEROOT%\emerge.&lt;br /&gt;
* This self-extracting archive brings a subversion repository containing the emerge scripts and a python installation with it, so you do not need either of them before starting with emerge.&lt;br /&gt;
&lt;br /&gt;
=== Configure the ''emerge'' tool ===&lt;br /&gt;
# Create the directory &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Copy the file &amp;lt;tt&amp;gt;%KDEROOT%\emerge\kdesettings-example.bat&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt; and change its contents according to your needs. The options are described in the ''rem'' lines in the file itself.&lt;br /&gt;
&lt;br /&gt;
The kdesettings.bat script will be called by the main kdeenv.bat script.&lt;br /&gt;
&lt;br /&gt;
Note 1: '''Be sure that you neither have the msys/bin nor the cygwin/bin in your path. If so you have to definitely remove it from the path.'''&lt;br /&gt;
&lt;br /&gt;
Note 2 '''from a user: The applications gimp, inkscape and graphviz are also a problem. To make sure that there's nothing wrong I stripped my path to contain only what I needed to build.'''&lt;br /&gt;
&lt;br /&gt;
Note 3 '''from another user: be careful when renaming the file to &amp;quot;kdesettings.bat&amp;quot; it is easy to end up with &amp;quot;kdesettings.bat.bat&amp;quot; instead of what you want since Windows(by default) will not show the the file extension part of a file.'''&lt;br /&gt;
&lt;br /&gt;
=== [Optional, Advanced] emergehosts.conf ===&lt;br /&gt;
Add a file emergehosts.conf in the &amp;lt;tt&amp;gt;%KDEROOT%\etc&amp;lt;/tt&amp;gt; directory. The format of this file is a typical config file with only two entries per section:&lt;br /&gt;
The first entry is the ''host'' as mentioned in the portage file for the package. The second entry is called ''replace'' and is the replace string for the host string.&lt;br /&gt;
&lt;br /&gt;
As an example, here is how to checkout all gitorious based repos of the kde-developers group using a push url instead of the anonymous access:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[qt gitorious]&lt;br /&gt;
host: git://gitorious.org/+kde-developers/&lt;br /&gt;
replace: git@gitorious.org:+kde-developers/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a second example here is how to checkout with a ssh user from a subversion repository:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[svn.example.com]&lt;br /&gt;
host: svn://svn.example.com/&lt;br /&gt;
replace: svn+ssh://user@svn.example.com/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The name of the section doesn't matter and can be used for descriptions.&lt;br /&gt;
&lt;br /&gt;
== Using emerge ==&lt;br /&gt;
&lt;br /&gt;
To use emerge you need to start a console window and point that to &amp;lt;tt&amp;gt;%KDEROOT%\emerge&amp;lt;/tt&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 C:&lt;br /&gt;
 cd \%KDEROOT%\emerge&lt;br /&gt;
&lt;br /&gt;
Then you have to execute&lt;br /&gt;
&lt;br /&gt;
 kdeenv.bat&lt;br /&gt;
&lt;br /&gt;
This tells emerge about your environment settings (e.g. paths). It will load your configuration from &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;. It should not give any error messages, otherwise emerge will not work as expected. The output should look similar to this one (of course with your paths):&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;kdeenv.bat&lt;br /&gt;
 kdesettings.bat executed&lt;br /&gt;
 KDEROOT     : C:\kderoot&lt;br /&gt;
 KDECOMPILER : mingw&lt;br /&gt;
 KDESVNDIR   : C:\kderoot\svn&lt;br /&gt;
 PYTHONPATH  : C:\python27&lt;br /&gt;
 DOWNLOADDIR : C:\kderoot\download&lt;br /&gt;
&lt;br /&gt;
 C:\kderoot\emerge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if you have configured your kdesettings.bat to use svn+ssh for your subversion checkout, then you need to run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;plink &amp;lt;your-svn-username&amp;gt;@svn.kde.org&lt;br /&gt;
plink &amp;lt;your-kde-username&amp;gt;@git.kde.org&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prompt you to accept the fingerprint of the server, otherwise svn will hang forever when trying to download from the server.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to use emerge. Type&lt;br /&gt;
&lt;br /&gt;
 emerge --help&lt;br /&gt;
&lt;br /&gt;
to get some help on usage.&lt;br /&gt;
&lt;br /&gt;
''Note: There is a short path option in kdesettings which you will&lt;br /&gt;
need if you want to build Qt in a directory that has a pathlenght of&lt;br /&gt;
more then around 5 characters. This problem is due to limitations of the command line length and the Qt build system.''&lt;br /&gt;
&lt;br /&gt;
== Setting up a compiler ==&lt;br /&gt;
Currently emerge supports both the MinGW and MS Visual C++ (msvc) compilers. We did not add dependencies for the compilers, so you have to make sure to install a compiler by yourself. There are three ways to set up a compiler for emerge.&lt;br /&gt;
We assumed you have set KDECOMPILER variable properly in the &amp;lt;tt&amp;gt;%KDEROOT%\etc\kdesettings.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In the following sections you can find information on how to install or reuse an existing compiler.&lt;br /&gt;
&lt;br /&gt;
=== Install the MinGW compiler with emerge ===&lt;br /&gt;
Let emerge install the MinGW compiler, as soon as emerge needs MinGW it will automatically fetch the correct version for you.&lt;br /&gt;
&lt;br /&gt;
=== Install MS Visual C++ ===&lt;br /&gt;
Read [[../MS_Visual_Studio#The_Compiler|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Point to an existing MS Visual C++ installation ===&lt;br /&gt;
You need to point emerge to an existing msvc installation. This is run automatically for you from kdeenv.bat if configured properly in kdesettings.bat. Check your kdesettings.bat file to know where to set it.&lt;br /&gt;
&lt;br /&gt;
== Installing the base system ==&lt;br /&gt;
Once you have emerge and a compiler installed and working, try:&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --help&amp;lt;/tt&amp;gt; for a list of available commands&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installable&amp;lt;/tt&amp;gt; to get a list of available packages&lt;br /&gt;
* &amp;lt;tt&amp;gt;emerge --print-installed&amp;lt;/tt&amp;gt; to get a list of currently installed packages&lt;br /&gt;
Further options are described below.&lt;br /&gt;
&lt;br /&gt;
You are now ready to start building KDE, it is recommended to do so progressively, relying on emerge to automatically resolve the required dependencies at each set step:&lt;br /&gt;
&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge qt&amp;lt;/tt&amp;gt;.  This will fetch and install Windows versions of numerous UNIX-like utilities and libraries, then checkout, compile and install Qt.  This will take several hours.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdelibs&amp;lt;/tt&amp;gt;.  This will checkout, compile and install the required kdesupport modules and then kdelibs.&lt;br /&gt;
* Enter &amp;lt;tt&amp;gt;emerge kdebase-apps&amp;lt;/tt&amp;gt;. This will checkout, compile and install kdebase-runtime, and kdebase-apps&lt;br /&gt;
&lt;br /&gt;
You will now have successfully installed a base KDE system and can now install other KDE modules as required.&lt;br /&gt;
&lt;br /&gt;
Note that this will install the trunk version of KDE, if you wish to install a particular stable branch then you must prefix the KDE package names with the required version, i.e. &amp;lt;tt&amp;gt;emerge kde-4.5/kdelibs&amp;lt;/tt&amp;gt;.  You can force emerge to always default to a given branch by setting the &amp;lt;tt&amp;gt;EMERGE_DEFAULTCATEGORY&amp;lt;/tt&amp;gt; variable in your kdesettings.bat file.  You should not mix kde packages from different branches.&lt;br /&gt;
&lt;br /&gt;
It is strongly recommened you do not choose to manually install any of the utilities and libraries yourself, as you may install the wrong version and cause installation failures.  Instead allow emerge to resolve the dependencies for you.&lt;br /&gt;
&lt;br /&gt;
Every time you want to update or install a package, you should first update your emerge checkout (simply run emerge --update emerge) to ensure you are using the latest package recipies.&lt;br /&gt;
&lt;br /&gt;
== What emerge does ==&lt;br /&gt;
'''emerge ''packageName'' ''' performs the separate actions &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--unpack&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--compile&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--install&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--manifest&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;--qmerge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;--fetch&amp;lt;/tt&amp;gt; action will retrieve either a binary or the source code for the package:&lt;br /&gt;
* If a binary package, this will be downloaded into the &amp;lt;tt&amp;gt;DOWNLOADDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\download&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a non-KDE source package, the source repository will be checked-out into &amp;lt;tt&amp;gt;%DOWNLOADDIR%\svn-src&amp;lt;/tt&amp;gt;, e.g. Qt source may be found in &amp;lt;tt&amp;gt;C:\kderoot\download\svn-src\qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* If a KDE source package from the &amp;lt;tt&amp;gt;svn.kde.org&amp;lt;/tt&amp;gt; repository, then the source will be checked-out into the &amp;lt;tt&amp;gt;KDESVNDIR&amp;lt;/tt&amp;gt; defined in your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt;, which is usually &amp;lt;tt&amp;gt;%KDEROOT%\svn&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== ''emerge'' command line options and settings ==&lt;br /&gt;
There are some options that can be used when building with ''emerge''.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Command line switch&lt;br /&gt;
!Command line argument&lt;br /&gt;
!&lt;br /&gt;
!Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_VERBOSE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|width=&amp;quot;5%&amp;quot;|&lt;br /&gt;
|This option sets the verbosity level. Currently the highest verbosity level is 3 (&amp;lt;tt&amp;gt;-v -v -v&amp;lt;/tt&amp;gt;). A verbosity level of 0 should give no output and equals to &amp;lt;tt&amp;gt;-q&amp;lt;/tt&amp;gt;. You can set &amp;lt;tt&amp;gt;EMERGE_VERBOSE=3&amp;lt;/tt&amp;gt; instead in the environment of the commandline or within your &amp;lt;tt&amp;gt;kdesettings.bat&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--offline&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option suppresses the update step of the local tree - which needs some time. Be aware though that you have to have existing sources already if you want to use this option.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;tt&amp;gt;EMERGE_BUILDTESTS&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|This option enables or disables KDE4 buildtests for KDE modules. Other packages will not change. Use &amp;lt;tt&amp;gt;EMERGE_BUILDTESTS=True&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;=False&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--print-targets&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option will display all &amp;quot;targets&amp;quot; a certain package has. Normally targets are fixed releases or different branches. They are defined in the portage file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--target=TARGET&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This sets a specific target for this package. If not added, the default target is used, which can be checked by looking at the output of '''--print-targets'''.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed. It builds it completely new, but keeps the dependencies.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&amp;lt;tt&amp;gt;--update&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|This option ignores that a package is already installed but doesn't cleanup an already existing build directory. Thus you will only rebuild files that have changed since the last build.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
=== Updating packages ===&lt;br /&gt;
*Once you have ''packagename'' built, type &amp;lt;code&amp;gt;emerge --update packagename&amp;lt;/code&amp;gt; to update &amp;lt;tt&amp;gt;packagename&amp;lt;/tt&amp;gt; from the Subversion and compile it without removing the build dir or &amp;lt;code&amp;gt;emerge --update-all&amp;lt;/code&amp;gt; to update all packages that can be rebuild (they are rebuild with --update).&lt;br /&gt;
&lt;br /&gt;
=== General setup ===&lt;br /&gt;
For Fine Tuning see here:&lt;br /&gt;
[[Projects/KDE_on_Windows/Installation#Fine-tuning|Fine-tuning]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
''emerge'' can mostly cooperate with the [[Projects/KDE_on_Windows/Installation#KDE_Installer_for_Windows|kdewin-installer]] but we're currently still working on some packages which are packaged in a wrong way.&lt;br /&gt;
It is not recommended to use another layout then '''installer''' for '''directory_layout''' in the '''kdesettings.bat''' anymore (see that file for more detailed information).&lt;br /&gt;
&lt;br /&gt;
''emerge'' creates lots of files in '''\kderoot\tmp''' during build.&lt;br /&gt;
After a package is successfully installed&lt;br /&gt;
(check '''\kderoot\etc\portage\installed''' or the directory '''\kderoot\manifest\'''), you can delete its temporary directory.&lt;br /&gt;
&lt;br /&gt;
Windows ''emerge'' is derived from the Gentoo portage system, but we are currently not enforcing compatibility. If you have questions about that please contact us at the channel #kde-windows on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
last reviewed by [[User:SaroEngels|SaroEngels]] 22:25, 4 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Vista issues==&lt;br /&gt;
*[[User:Jstaniek|jstaniek]] 12:02, 15 January 2008 (CET): UAC has infamous heuristics that make programs like patch.exe treat as installers and try to run them with admin rights (!). This heuristics can be tricked by renaming patch.exe to something like pch.exe ([http://nevali.net/2007/01/update-workaround-for-the-cygwin-uac-problem/ example]) but we did not want to add item to our infrastructure. Instead it is possibleto turn off the heuristics (see the screenshot [http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html here in the security blog calling the heuristics 'severe hole in the design of UAC']). If you happen to disable the UAC, as many annoyed users and devs do (msvc demands admin rights anyway!), patch.exe should already work for you as in older Windows. Alternatively you may want to disable UAC [http://www.howtogeek.com/howto/windows-vista/disable-user-account-controluac-for-administrators-only/ for admins only], but this makes no sense if you are the only user of your machine and use only the admin account.&lt;br /&gt;
* [http://ben.versionzero.org/wiki/Fixing_the_way_Vista_Auto-detects_Installers This wiki page] lists instructions on how to use program manifest to disable privilege elevation for a single binary and makes patch play nice with UAC.  This [https://bugs.kde.org/show_bug.cgi?id=186712 should] eventually be integrated to emerge scripts. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:MS Windows]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Localization/Building_KDE%27s_l10n_Module</id>
		<title>Development/Tutorials/Localization/Building KDE's l10n Module</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Localization/Building_KDE%27s_l10n_Module"/>
				<updated>2010-11-30T09:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: revpath: debian/ubuntu has no package imake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TutorialBrowser|&lt;br /&gt;
&lt;br /&gt;
series=Localization|&lt;br /&gt;
&lt;br /&gt;
name=Building KDE's l10n Module|&lt;br /&gt;
&lt;br /&gt;
pre=[[Getting_Started/Sources/Using_Subversion_with_KDE|Using Subversion with KDE]]&amp;lt;br&amp;gt;[[Getting_Started/Build/KDE4|Building KDE From Subversion]]&amp;lt;br&amp;gt;[[../i18n|Writing Applications With Localization in Mind]]|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
For those working on applications in KDE's main repository, building and installing language support from KDE's localization (l10n) module is a good idea. Doing so will allow you to test applications in other languages so as to spot problems related to localization that may exist in KDE. Learn how to do just that in this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Step 1: l10n ==&lt;br /&gt;
&lt;br /&gt;
You must download, build and install each language in the l10n module separately. You can check out and build just the German, and XX languages using the following procedure:&lt;br /&gt;
&lt;br /&gt;
 svn co -N svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4 l10n&lt;br /&gt;
 cd l10n&lt;br /&gt;
 svn up scripts&lt;br /&gt;
 svn up templates&lt;br /&gt;
 svn up x-test&lt;br /&gt;
 svn up de&lt;br /&gt;
 ./scripts/autogen.sh de&lt;br /&gt;
 ./scripts/autogen.sh x-test&lt;br /&gt;
&lt;br /&gt;
Once this is done, switch to your build directory, start cmake in the &amp;lt;tt&amp;gt;l10n/x-test&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;l10n/de&amp;lt;/tt&amp;gt;, etc directories that you wish to build the language support for one at a time. You may then make and install from the build directory.&lt;br /&gt;
&lt;br /&gt;
{{note|You need revpath (may be found in package imake or xutils-dev) to run autogen.sh}}&lt;br /&gt;
{{tip|Do not combine make and make install in a single step. It won't install anything.}}&lt;br /&gt;
&lt;br /&gt;
== Step 2: Test An Application ==&lt;br /&gt;
&lt;br /&gt;
To run your application using, for instance, the German catalogs open a terminal (e.g. konsole) and type:&lt;br /&gt;
&lt;br /&gt;
 KDE_LANG=de myapp&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;myapp&amp;quot; is the name of the application you wish to test. Replace the &amp;quot;de&amp;quot; with the language code you wish to test, e.g. &amp;quot;x-test&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The German language is a good choice for testing the layout of your application, as German translated strings tend to be quite long. French is also a good choice. The x-test language is useful for identifying strings in your application that are not translated.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan</id>
		<title>Schedules/KDE4/4.6 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan"/>
				<updated>2010-11-09T08:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.6 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Faceted browsing via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Searching support for non-indexed files|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Git-plugin (implemented by Sebastian Dörner and Johannes Steffen)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Resizeable columns in the column-view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Allow leading zeros when renaming multiple files  (implemented by Matthias Fuchs)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureInProgress|nspluginviewer|Full npruntime support|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureTodo|Dolphin|Smooth scrolling|fredrik@kde.org|Fredrikh Höglund}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Plasma|Plasma KPart|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Declarative AppletScript to write QML plasmoids|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Optimize the Newspaper containment for the use with touchscreens and the Plasma KPart|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|KWin|Focus tracking for the zoom plugin (uses kaccessible)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KWin|Extend mouse tracking modes for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureInProgress|Nepomuk Backup &amp;amp; Sync| Provide Backup and Sync capabilities to Nepomuk|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureTodo|Web Metadata extractor| Provide a framework to get additional data about resources|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureDone|Activities manager service|Merge the kded and nepomuk modules for activities into one service|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Activities manager service|Register desktop events instead directly linking the activities to resources|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|KNotify|Add support for relative present actions in contexts|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureInProgress|KNotify|Add Plugin Loading Support|j.maceachern@gmail.com|Jeffery MacEachern}}&lt;br /&gt;
{{FeatureInProgress|Locale KCM|Complete re-write to improve usability, support for new localization features|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|Phonon KCM|Add video input device configuration support|kiagiadakis.george@gmail.com|George Kiagiadakis}}&lt;br /&gt;
{{FeatureInProgress|ksecretserviced|Make it replace KWallet|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|libtaskmanager / tasks-applet| support for Windows 7 like launchers |akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureInProgress|notifications| rework notification applet appearance |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|notifications| make various dataengines use Plasma::Storage |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|plasma-desktop| UI for editing activity name and icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|plasma-desktop| add some default activities|fux@kde.org|Mario Fux}}&lt;br /&gt;
{{FeatureDone|plasma| finish support for activity templates |chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureInProgress|plasma-devicenotifier| Improve notification support |wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureTodo|plasma-devicenotifier| Signal to the user which apps are blocking  a device|wilderkde@gmail.com |Jacopo De Simoi}}&lt;br /&gt;
{{FeatureDone|quicklaunch| populate new applets with user's default browser, file manager, ... instead of hardcoded ones |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureDone|quicklaunch| allow editing of existing launchers (including ones that do not point to a .desktop file) |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureInProgress|quicklaunch| better layout for desktop and media center form factors |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureInProgress|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|libplasma|Make Calendar DataEngine a Service.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|plasma-desktop| integrate activity-sessions|chani@kde.org|Ivan/Chani}}&lt;br /&gt;
{{FeatureInProgress|plasma-desktop|activity dataengine|chani@kde.org|Chani}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin&lt;br /&gt;
{{FeatureInProgress|windowgeometry effect| compositor powered move/resize windowgeometry display |thomas.luebking@web.de|Thomas Lübking}} &lt;br /&gt;
{{FeatureInProgress|dashboard effect| new effect for Plasma dashboard |ademmer@opensuse.org|Andreas Demmer}} &lt;br /&gt;
{{FeatureDone|kwin/ksmserver| activity sessions |chanika@gmail.com|Chani}} &lt;br /&gt;
{{FeatureTodo|libtaskmanager/kwin?| combine the three window-contextmenu codebases into one |chani@kde.org|Chani}}  &lt;br /&gt;
{{FeatureTodo|libtaskmanager/kwin] | Expose Window Tabs to taskmanager |kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|kwin|ARB Shader support|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|Aurorae|Tooltips on window tabs|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Present Windows|Close window GUI control|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Startup Feedback|Effect to replace the Startup Feedback notification|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Screenshot Effect|KSanpshot can use KWin for screenshots|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|KCM Compositing|Allow compositing even if GL is buggy/X crashes|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|KWin Killer|Use notification instead of dialog|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|Compositing|Improved platform detection|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KDE Power Management system &lt;br /&gt;
{{FeatureDone|core| PowerDevil v2 core |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureDone|actions| Basic actions for feature parity with PowerDevil v1 |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureInProgress|actions| More actions for advanced users |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureInProgress|policy-handler| Create a new policy handler for handling inhibition properly, and have kdelibs' Solid API use it |drf@kde.org|Dario Freddi}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | System Settings&lt;br /&gt;
{{FeatureInProgress|keyboard| Support for sticky layout switching |arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureInProgress|keyboard| Support for &amp;gt; 4 layouts|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureInProgress|driconf|New module for configuring DRI drivers|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Blue Devil&lt;br /&gt;
{{FeatureInProgress|Review| Get into kdebase|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureInProgress|kio_obexftp| Better error handling|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|usability|Review all the components improving hig/elegance|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|share folders|Be able to share folders via obexftp|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|Devices KCM|Add further information about devices, like address...|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|Devices KCM|Allow to connect to devices services|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|libbluedevil|Review DBus handling|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|libbluedevil|Add support for services|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|Monolithic|Fix listing problems under certain conditions|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libnepomuk|Convenience operator overloads for query construction|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|libnepomuk|New query flags and improved handling of full text matching scores including sorting|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|kdeui|Allow getting and setting the size of the pixmap cache in KImageCache|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureDone|katepart|scripted actions|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|katepart|QAccessibleInterface's for document+cursor|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|libplasma|PluginLoader class|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|libplasma|Allow SVGs to use systemcolors before rendering|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureInProgress|libplasma|DeclarativeWidget to load QML scenes in Plasma|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma|finish up the gsoc project about Plasma::Storage service|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|libplasma|let Plasma::SVG find the best matching size hinted element if there is no exact match|ingomar@wesp.name|Ingomar Wesp (mentored by Manuel Mommertz)}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk/KIO|Search excerpts|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|Standardqueries for convenience|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|GUI elements for resource/file searching including faceted browsing|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuksync|Sync library to be used in BackupSync, Strigi, Akonadi, WebExtractor and Removable Media|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Add more possible synchronization primitives to KSharedDataCache to expand OS support. POSIX Semaphores Contributed by Alberto Villa of the FreeBSD project. Windows support may still occur as well.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add fallback to QCache&amp;lt;QString,QByteArray&amp;gt; in KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureDone|kdecore|Add cache-wide timestamp to KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add ability to make KSharedDataCache strictly read-only for laptop support.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Social About Dialog|teo@kde.org|Teo Mrnjavac}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Allow to hide icons in menus|christoph@maxiom.de|Christoph Feck}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem||john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add astronomical calculation support classes and astronomical based calendars.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add api for first/last day of year/month.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KDate|New convenience class to make date localization easy.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add more date formats.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Full POSIX compliant format support for date, time, numbers and money, including but not limited to: traditional/US week numbers, AM/PM symbols, number grouping|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Implement separate backends for each supported platform/desktop to use platform localization in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Implement support for Country Code sub-regions and other country code standard conversions.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KHTML|HTML5 postMessage.|maksim@kde.org|Maksim Orlovich}} &lt;br /&gt;
{{FeatureTodo|kcookiejar|New domain specific cookie policy based on patch provided in bug#54300|adawit@kde.org|Dawit A.}} &lt;br /&gt;
{{FeatureInProgress|kcookiejar|Implement storing cookies in KWallet|fid@gpul.org|José Millán Soto}} &lt;br /&gt;
{{FeatureInProgress|ksecretservice|Make KWallet::Wallet use the secrets-service API|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureInProgress|anywhere|Allow to build without deprecated symbols|ervin@kde.org|Kevin Ottens (with lots of support from David Faure)}} &lt;br /&gt;
{{FeatureInProgress|KIO|Use `net usershare` in KSambaShare|rclbelem@gmail.com|Rodrigo Belem}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Marble|Loading of routes in .kml format (Maemo)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route printing (map and directions, configurabe)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route state saving and restoring|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Convert MarbleRunners to plugins|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|worldwide and offline routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Extend MarbleRunner interface to handle reverse geocoding and routing requests; Display of alternative routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Routing API|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|&amp;quot;Go To&amp;quot; dialog for Maemo|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Tile download along the route for offline usage|akssps011@gmail.com|Siddharth Srivastava}}&lt;br /&gt;
{{FeatureDone|Marble|Turn-by-turn navigation mode|akssps011@gmail.com|Siddharth Srivastava}}&lt;br /&gt;
{{FeatureTodo|Marble|QtDeclarative plugin (possibly rather in 4.7)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Separate thread for tile loading and texture blending (not texture mapping at the moment) for more smooth browsing|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Tile loading &amp;quot;read ahead&amp;quot; when idle, prerequisite: threaded tile loading|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Multi threaded texture mapping|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Improve GeoData API|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Convert Gps tracking to GeoDataDocument|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Provide a treeModel for GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Draw the geometries of multiple GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Load Pnt vector data files as GeoData|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Manipulate Gps track data|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Cantor|Backend for GNU Octave|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
{{FeatureInProgress|Cantor|Merge R improvement branch|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureInProgress|Cantor|Variable management panel|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureTodo|Cantor|Formulas inside Text Entries|alexanderrieder@gmail.com| Alexander Rieder}}&lt;br /&gt;
{{FeatureDone|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Implicit functions plot|percy.camilo.ta@gmail.com|Percy Aucahuasi}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Improved execution speed on the calculator|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Better integration between the Console and the Plotting facilities|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Lighter version aimed to mobile users|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureInProgress|KStars|OpenGL rendering support for KStars|akarshsimha@gmail.com|Harry de Valence, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Better designed object database|akarshsimha@gmail.com|Victor Carbune, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Star Hop Generator|akarshsimha@gmail.com|Akarsh Simha}}&lt;br /&gt;
{{FeatureDone|Kig|LaTeX/TikZ exporter|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Add MPRIS support to JuK so that the NowPlaying applet doesn't need to special-case JuK.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Update JuK's MusicBrainz support to a modern version of MusicBrainz.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kmix|Improved volume OSD|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libkdegames|Import KGameRenderer framework and [[Projects/Games/Porting|port games]] to this unified rendering infrastructure.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|Palapeli|Import Goldberg slicer as the new default slicer plugin.|loehnert.kde@gmx.de|Johannes Loehnert}}&lt;br /&gt;
{{FeatureDone|Palapeli|Update libpala API. Improve usability of &amp;quot;Create new puzzle&amp;quot; dialog.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Kajongg|Docbook: Describe the basic game, until now I supposed the player already knows how to play Mah Jong.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Tiles can be discarded with drag&amp;amp;drop.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make robot player AI more intelligent.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make tiles in the hand larger and the wall tiles smaller for better playability on small screens.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make games suspendable/resumable.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Animate moving tiles.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Demo mode.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Introduce an option to only offer possible actions.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add more rulesets like other Classical Chinese variants and the international tournament rules.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Save and restore the current control-mode, keyboard-control option and game-speed settings.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add a keyboard-mode option to start moving when a direction-key is pressed and stop when it is released. Support multiple keys being pressed.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|Klickety|An adaptation of the &amp;quot;clickomania&amp;quot; game.Rewrite the kde3 version.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureDone|Klickety|Merge KSame into Klickety.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Kolf|Port to KGameRenderer, cleanup all QGraphicsView- and physics-related code (and physics engine), incorporate ideas from Kolf-NG.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Granatier|Port to KGameRenderer.|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Granatier|Use TagaroAudio for sound.|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureDone|Knights|New game: Chess board for KDE4|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|gwenview|Simplify photo sharing|agateau@kde.org|Aurélien Gâteau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|loading compressed files and then saving them back in the original compression format (bug 65518)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Nepomukshell|New Nepomukshell development tool allowing to browse and debug Nepomuk data|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureInProgress|Dolphin|Git plugin|sebastian@sebastian-doerner.de|Sebastian Doerner}} &lt;br /&gt;
{{FeatureDone|Kate|GDB plugin|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|KGpg|Better workflow to edit encrypted files|kde@opensource.sf-tec.de|Rolf Eike Beer}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Kontact|Plasma-based Summary Page|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureInProgress|KHolidays|Add support for holiday types and day-off types.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KHolidays|Holiday Region selection widget.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KHolidays|Holiday duration api.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KHolidays|Default Holiday Region api.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Port to Akonadi|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureDone|KAlarm|Option to not notify execution errors for pre-alarm actions|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Allow reminders after the main alarm|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Provide wake-from-suspend option for alarms|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeaccessibility  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KAccessible|Added a dbus-service and a QAccessibleBridgePlugin for focus tracking (used in KMagnifier and the KWin zoom plugin).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KMagnifier|Follow Focus Mode for Focus Tracking (uses kaccessible).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KAccessible|Added Screenreader (uses speech-dispatcher)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KDE Asciiquarium|Added a new ASCII sprite (a submarine). Contributed by Ryan Meldrum.|mpyne@kde.org.|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Shelf|Automatic sizing of the popup|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Setting a custom popup icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|Shelf|Cascading popup menus for folders|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Keyboard navigation|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Search completion|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|libLancelot-datamodels|Akonadi integration|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|libLancelot-datamodels|Folder contents sorting|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Lancelot|Theme improvements, animations|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|Events Runner|Event search|alexey.noskov@gmail.com|Alexey Noskov}}&lt;br /&gt;
{{FeatureTodo|Comic plasmoid|Per comic max cache limit|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureTodo|Comic plasmoid|Change behaviour when comic can't be found|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|krfb|Refactor Core to make it more maintainable/extensible|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|Telepathy Tubes support|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|UI Improvements to support new features/deal with some existing bug reports|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureTodo|kget|Log for transfers|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan</id>
		<title>Schedules/KDE4/4.6 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan"/>
				<updated>2010-11-02T09:40:56Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: update Kajongg status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.6 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Faceted browsing via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Searching support for non-indexed files|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Git-plugin (implemented by Sebastian Dörner and Johannes Steffen)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Resizeable columns in the column-view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Allow leading zeros when renaming multiple files  (implemented by Matthias Fuchs)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureInProgress|nspluginviewer|Full npruntime support|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureTodo|Dolphin|Smooth scrolling|fredrik@kde.org|Fredrikh Höglund}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Plasma|Plasma KPart|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Declarative AppletScript to write QML plasmoids|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Optimize the Newspaper containment for the use with touchscreens and the Plasma KPart|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|KWin|Focus tracking for the zoom plugin (uses kaccessible)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KWin|Extend mouse tracking modes for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureInProgress|Nepomuk Backup &amp;amp; Sync| Provide Backup and Sync capabilities to Nepomuk|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureTodo|Web Metadata extractor| Provide a framework to get additional data about resources|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureDone|Activities manager service|Merge the kded and nepomuk modules for activities into one service|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Activities manager service|Register desktop events instead directly linking the activities to resources|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|KNotify|Add support for relative present actions in contexts|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureInProgress|KNotify|Add Plugin Loading Support|j.maceachern@gmail.com|Jeffery MacEachern}}&lt;br /&gt;
{{FeatureInProgress|Locale KCM|Complete re-write to improve usability, support for new localization features|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|Phonon KCM|Add video input device configuration support|kiagiadakis.george@gmail.com|George Kiagiadakis}}&lt;br /&gt;
{{FeatureInProgress|ksecretserviced|Make it replace KWallet|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|libtaskmanager / tasks-applet| support for Windows 7 like launchers |akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureInProgress|notifications| rework notification applet appearance |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|notifications| make various dataengines use Plasma::Storage |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|plasma-desktop| UI for editing activity name and icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|plasma-desktop| add some default activities|fux@kde.org|Mario Fux}}&lt;br /&gt;
{{FeatureDone|plasma| finish support for activity templates |chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureInProgress|plasma-devicenotifier| Improve notification support |wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureTodo|plasma-devicenotifier| Signal to the user which apps are blocking  a device|wilderkde@gmail.com |Jacopo De Simoi}}&lt;br /&gt;
{{FeatureDone|quicklaunch| populate new applets with user's default browser, file manager, ... instead of hardcoded ones |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureDone|quicklaunch| allow editing of existing launchers (including ones that do not point to a .desktop file) |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureInProgress|quicklaunch| better layout for desktop and media center form factors |ingomar@wesp.name|Ingomar Wesp}}&lt;br /&gt;
{{FeatureInProgress|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|libplasma|Make Calendar DataEngine a Service.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|plasma-desktop| integrate activity-sessions|chani@kde.org|Ivan/Chani}}&lt;br /&gt;
{{FeatureInProgress|plasma-desktop|activity dataengine|chani@kde.org|Chani}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin&lt;br /&gt;
{{FeatureInProgress|windowgeometry effect| compositor powered move/resize windowgeometry display |thomas.luebking@web.de|Thomas Lübking}} &lt;br /&gt;
{{FeatureInProgress|dashboard effect| new effect for Plasma dashboard |ademmer@opensuse.org|Andreas Demmer}} &lt;br /&gt;
{{FeatureDone|kwin/ksmserver| activity sessions |chanika@gmail.com|Chani}} &lt;br /&gt;
{{FeatureTodo|libtaskmanager/kwin?| combine the three window-contextmenu codebases into one |chani@kde.org|Chani}}  &lt;br /&gt;
{{FeatureTodo|libtaskmanager/kwin] | Expose Window Tabs to taskmanager |kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|kwin|ARB Shader support|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|Aurorae|Tooltips on window tabs|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Present Windows|Close window GUI control|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Startup Feedback|Effect to replace the Startup Feedback notification|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Screenshot Effect|KSanpshot can use KWin for screenshots|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|KCM Compositing|Allow compositing even if GL is buggy/X crashes|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|KWin Killer|Use notification instead of dialog|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|Compositing|Improved platform detection|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KDE Power Management system &lt;br /&gt;
{{FeatureDone|core| PowerDevil v2 core |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureDone|actions| Basic actions for feature parity with PowerDevil v1 |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureInProgress|actions| More actions for advanced users |drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureInProgress|policy-handler| Create a new policy handler for handling inhibition properly, and have kdelibs' Solid API use it |drf@kde.org|Dario Freddi}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | System Settings&lt;br /&gt;
{{FeatureInProgress|keyboard| Support for sticky layout switching |arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureInProgress|keyboard| Support for &amp;gt; 4 layouts|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureInProgress|driconf|New module for configuring DRI drivers|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Blue Devil&lt;br /&gt;
{{FeatureInProgress|Review| Get into kdebase|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureInProgress|kio_obexftp| Better error handling|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|usability|Review all the components improving hig/elegance|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|share folders|Be able to share folders via obexftp|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|Devices KCM|Add further information about devices, like address...|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|Devices KCM|Allow to connect to devices services|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|libbluedevil|Review DBus handling|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|libbluedevil|Add support for services|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
{{FeatureTodo|Monolithic|Fix listing problems under certain conditions|ereslibre@kde.org|Rafael Fernández López}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libnepomuk|Convenience operator overloads for query construction|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|libnepomuk|New query flags and improved handling of full text matching scores including sorting|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|kdeui|Allow getting and setting the size of the pixmap cache in KImageCache|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureDone|katepart|scripted actions|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|katepart|QAccessibleInterface's for document+cursor|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|libplasma|PluginLoader class|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|libplasma|Allow SVGs to use systemcolors before rendering|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureInProgress|libplasma|DeclarativeWidget to load QML scenes in Plasma|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma|finish up the gsoc project about Plasma::Storage service|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|libplasma|let Plasma::SVG find the best matching size hinted element if there is no exact match|ingomar@wesp.name|Ingomar Wesp (mentored by Manuel Mommertz)}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk/KIO|Search excerpts|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|Standardqueries for convenience|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|GUI elements for resource/file searching including faceted browsing|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuksync|Sync library to be used in BackupSync, Strigi, Akonadi, WebExtractor and Removable Media|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Add more possible synchronization primitives to KSharedDataCache to expand OS support. POSIX Semaphores Contributed by Alberto Villa of the FreeBSD project. Windows support may still occur as well.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add fallback to QCache&amp;lt;QString,QByteArray&amp;gt; in KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureDone|kdecore|Add cache-wide timestamp to KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add ability to make KSharedDataCache strictly read-only for laptop support.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Social About Dialog|teo@kde.org|Teo Mrnjavac}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Allow to hide icons in menus|christoph@maxiom.de|Christoph Feck}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem||john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add astronomical calculation support classes and astronomical based calendars.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add api for first/last day of year/month.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KDate|New convenience class to make date localization easy.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add more date formats.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Full POSIX compliant format support for date, time, numbers and money, including but not limited to: traditional/US week numbers, AM/PM symbols, number grouping|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Implement separate backends for each supported platform/desktop to use platform localization in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KLocale|Implement support for Country Code sub-regions and other country code standard conversions.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|KHTML|HTML5 postMessage.|maksim@kde.org|Maksim Orlovich}} &lt;br /&gt;
{{FeatureTodo|kcookiejar|New domain specific cookie policy based on patch provided in bug#54300|adawit@kde.org|Dawit A.}} &lt;br /&gt;
{{FeatureInProgress|kcookiejar|Implement storing cookies in KWallet|fid@gpul.org|José Millán Soto}} &lt;br /&gt;
{{FeatureInProgress|ksecretservice|Make KWallet::Wallet use the secrets-service API|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureInProgress|anywhere|Allow to build without deprecated symbols|ervin@kde.org|Kevin Ottens (with lots of support from David Faure)}} &lt;br /&gt;
{{FeatureInProgress|KIO|Use `net usershare` in KSambaShare|rclbelem@gmail.com|Rodrigo Belem}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Marble|Import of routes in .gpx and .kml format|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route printing (map and directions, configurabe)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route state saving and restoring|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Convert MarbleRunners to plugins|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|worldwide and offline routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Extend MarbleRunner interface to handle reverse geocoding and routing requests; Display of alternative routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Routing API|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|&amp;quot;Go To&amp;quot; dialog for Maemo|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|QtDeclarative plugin (possibly rather in 4.7)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Separate thread for tile loading and texture blending (not texture mapping at the moment) for more smooth browsing|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Tile loading &amp;quot;read ahead&amp;quot; when idle, prerequisite: threaded tile loading|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Tile download along the route for offline usage|akssps011@gmail.com|Siddharth Srivastava}}&lt;br /&gt;
{{FeatureInProgress|Marble|Turn-by-turn navigation mode|akssps011@gmail.com|Siddharth Srivastava}}&lt;br /&gt;
{{FeatureTodo|Marble|Multi threaded texture mapping|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Improve GeoData API|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Convert Gps tracking to GeoDataDocument|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Provide a treeModel for GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Draw the geometries of multiple GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Load Pnt vector data files as GeoData|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Manipulate Gps track data|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Cantor|Backend for GNU Octave|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
{{FeatureInProgress|Cantor|Merge R improvement branch|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureInProgress|Cantor|Variable management panel|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureTodo|Cantor|Formulas inside Text Entries|alexanderrieder@gmail.com| Alexander Rieder}}&lt;br /&gt;
{{FeatureDone|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Implicit functions plot|percy.camilo.ta@gmail.com|Percy Aucahuasi}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Improved execution speed on the calculator|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Better integration between the Console and the Plotting facilities|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Lighter version aimed to mobile users|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureInProgress|KStars|OpenGL rendering support for KStars|akarshsimha@gmail.com|Harry de Valence, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Better designed object database|akarshsimha@gmail.com|Victor Carbune, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Star Hop Generator|akarshsimha@gmail.com|Akarsh Simha}}&lt;br /&gt;
{{FeatureDone|Kig|LaTeX/TikZ exporter|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Add MPRIS support to JuK so that the NowPlaying applet doesn't need to special-case JuK.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Update JuK's MusicBrainz support to a modern version of MusicBrainz.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kmix|Improved volume OSD|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libkdegames|Import KGameRenderer framework and [[Projects/Games/Porting|port games]] to this unified rendering infrastructure.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|Palapeli|Import Goldberg slicer as the new default slicer plugin.|loehnert.kde@gmx.de|Johannes Loehnert}}&lt;br /&gt;
{{FeatureDone|Palapeli|Update libpala API. Improve usability of &amp;quot;Create new puzzle&amp;quot; dialog.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Kajongg|Docbook: Describe the basic game, until now I supposed the player already knows how to play Mah Jong.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Tiles can be discarded with drag&amp;amp;drop.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make robot player AI more intelligent.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make tiles in the hand larger and the wall tiles smaller for better playability on small screens.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make games suspendable/resumable.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Animate moving tiles.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Demo mode.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Introduce an option to only offer possible actions.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add more rulesets like other Classical Chinese variants and the international tournament rules.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Save and restore the current control-mode, keyboard-control option and game-speed settings.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add a keyboard-mode option to start moving when a direction-key is pressed and stop when it is released. Support multiple keys being pressed.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|Klickety|An adaptation of the &amp;quot;clickomania&amp;quot; game.Rewrite the kde3 version.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Klickety|IMerge KSame into Klickety.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Kolf|Port to KGameRenderer, cleanup all QGraphicsView- and physics-related code (and physics engine), incorporate ideas from Kolf-NG.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Granatier|Port to KGameRenderer.|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Granatier|Use TagaroAudio for sound.|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureDone|Knights|New game: Chess board for KDE4|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|gwenview|Simplify photo sharing|agateau@kde.org|Aurélien Gâteau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|loading compressed files and then saving them back in the original compression format (bug 65518)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Nepomukshell|New Nepomukshell development tool allowing to browse and debug Nepomuk data|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureInProgress|Dolphin|Git plugin|sebastian@sebastian-doerner.de|Sebastian Doerner}} &lt;br /&gt;
{{FeatureDone|Kate|GDB plugin|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|KGpg|Better workflow to edit encrypted files|kde@opensource.sf-tec.de|Rolf Eike Beer}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Kontact|Plasma-based Summary Page|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureInProgress|KHolidays|Add support for holiday types and day-off types.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KHolidays|Holiday Region selection widget.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KHolidays|Holiday duration api.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KHolidays|Default Holiday Region api.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Port to Akonadi|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureDone|KAlarm|Option to not notify execution errors for pre-alarm actions|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Allow reminders after the main alarm|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureInProgress|KAlarm|Provide wake-from-suspend option for alarms|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeaccessibility  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KAccessible|Added a dbus-service and a QAccessibleBridgePlugin for focus tracking (used in KMagnifier and the KWin zoom plugin).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KMagnifier|Follow Focus Mode for Focus Tracking (uses kaccessible).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KAccessible|Added Screenreader (uses speech-dispatcher)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KDE Asciiquarium|Added a new ASCII sprite (a submarine). Contributed by Ryan Meldrum.|mpyne@kde.org.|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Shelf|Automatic sizing of the popup|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Setting a custom popup icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|Shelf|Cascading popup menus for folders|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Keyboard navigation|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Search completion|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|libLancelot-datamodels|Akonadi integration|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|libLancelot-datamodels|Folder contents sorting|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Lancelot|Theme improvements, animations|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|Events Runner|Event search|alexey.noskov@gmail.com|Alexey Noskov}}&lt;br /&gt;
{{FeatureTodo|Comic plasmoid|Per comic max cache limit|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureTodo|Comic plasmoid|Change behaviour when comic can't be found|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|krfb|Refactor Core to make it more maintainable/extensible|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|Telepathy Tubes support|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|UI Improvements to support new features/deal with some existing bug reports|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureTodo|kget|Log for transfers|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan</id>
		<title>Schedules/KDE4/4.6 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan"/>
				<updated>2010-10-24T20:37:02Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: update Todos for Kajongg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.6 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Feature Plan]] (previous major release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Faceted browsing via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Searching support for non-indexed files|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Git-plugin (implemented by Sebastian Dörner and Johannes Steffen)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Resizeable columns in the column-view|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin| Allow leading zeros when renaming multiple files  (implemented by Matthias Fuchs)|peter.penz19@gmail.com|Peter Penz}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Plasma|Plasma KPart|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Declarative AppletScript to write QML plasmoids|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|Plasma|Optimize the Newspaper containment for the use with touchscreens and the Plasma KPart|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|KWin|Focus tracking for the zoom plugin (uses kaccessible)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KWin|Extend mouse tracking modes for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureInProgress|Nepomuk Backup &amp;amp; Sync| Provide Backup and Sync capabilities to Nepomuk|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureInProgress|Activities manager service|Merge the kded and nepomuk modules for activities into one service|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Activities manager service|Register desktop events instead directly linking the activities to resources|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|libtaskmanager / tasks-applet| support for Windows 7 like launchers |akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureInProgress|notifications| rework notification applet appearance |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|notifications| make various dataengines use Plasma::Storage |mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureDone|plasma-desktop| UI for editing activity name and icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|plasma-desktop| add some default activities|fux@kde.org|Mario Fux}}&lt;br /&gt;
{{FeatureTodo|plasma| finish support for activity templates | |??}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin&lt;br /&gt;
{{FeatureInProgress|windowgeometry effect| compositor powered move/resize windowgeometry display |thomas.luebking@web.de|Thomas Lübking}} &lt;br /&gt;
{{FeatureInProgress|dashboard effect| new effect for Plasma dashboard |ademmer@opensuse.org|Andreas Demmer}} &lt;br /&gt;
{{FeatureInProgress|kwin/ksmserver| activity sessions |chanika@gmail.com|Chani}} &lt;br /&gt;
{{FeatureTodo|libtaskmanager/kwin?| combine the three window-contextmenu codebases into one | |??}}  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libnepomuk|Convenience operator overloads for query construction|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|libnepomuk|New query flags and improved handling of full text matching scores including sorting|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|kdeui|Allow getting and setting the size of the pixmap cache in KImageCache|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureDone|katepart|scripted actions|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|katepart|QAccessibleInterface's for document+cursor|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|libplasma|PluginLoader class|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|libplasma|Allow SVGs to use systemcolors before rendering|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureInProgress|libplasma|DeclarativeWidget to load QML scenes in Plasma|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma|finish up the gsoc project about Plasma::Storage service|mart@kde.org|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk/KIO|Search excerpts|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|Standardqueries for convenience|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|GUI elements for resource/file searching including faceted browsing|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuksync|Sync library to be used in BackupSync, Strigi, Akonadi, WebExtractor and Removable Media|handa.vish@gmail.com|Vishesh Handa}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Add more possible synchronization primitives to KSharedDataCache to expand OS support. POSIX Semaphores Contributed by Alberto Villa of the FreeBSD project. Windows support may still occur as well.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add fallback to QCache&amp;lt;QString,QByteArray&amp;gt; in KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add cache-wide timestamp to KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add ability to make KSharedDataCache strictly read-only for laptop support.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Social About Dialog|teo@kde.org|Teo Mrnjavac}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Marble|GPX import of routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route printing (map and directions, configurabe)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route state saving and restoring|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Convert MarbleRunners to plugins|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|worldwide and offline routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Extend MarbleRunner interface to handle reverse geocoding and routing requests; Display of alternative routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Routing API|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Separate thread for tile loading and texture blending (not texture mapping at the moment) for more smooth browsing|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Tile loading &amp;quot;read ahead&amp;quot; when idle, prerequisite: threaded tile loading|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Tile download along the route for offline usage|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureInProgress|Marble|Turn-by-turn navigation mode|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureTodo|Marble|Multi threaded texture mapping|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Improve GeoData API|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Convert Gps tracking to GeoDataDocument|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Provide a treeModel for GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Draw the geometries of multiple GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Load Pnt vector data files as GeoData|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Manipulate Gps track data|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Cantor|Backend for GNU Octave|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
{{FeatureTodo|Cantor|Merge R improvement branch|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureTodo|Cantor|Variable management panel|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureDone|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Implicit functions plot|percy.camilo.ta@gmail.com|Percy Aucahuasi}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Improved execution speed on the calculator|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Better integration between the Console and the Plotting facilities|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureInProgress|KStars|OpenGL rendering support for KStars|akarshsimha@gmail.com|Harry de Valence, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Better designed object database|akarshsimha@gmail.com|Victor Carbune, Akarsh Simha}}&lt;br /&gt;
{{FeatureInProgress|KStars|Star Hop Generator|akarshsimha@gmail.com|Akarsh Simha}}&lt;br /&gt;
{{FeatureDone|Kig|LaTeX/TikZ exporter|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Add MPRIS support to JuK so that the NowPlaying applet doesn't need to special-case JuK.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Update JuK's MusicBrainz support to a modern version of MusicBrainz.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libkdegames|Import KGameRenderer framework and [[Projects/Games/Porting|port games]] to this unified rendering infrastructure.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|Palapeli|Import Goldberg slicer as the new default slicer plugin.|loehnert.kde@gmx.de|Johannes Loehnert}}&lt;br /&gt;
{{FeatureDone|Palapeli|Update libpala API. Improve usability of &amp;quot;Create new puzzle&amp;quot; dialog.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Kajongg|Docbook: Describe the basic game, until now I supposed the player already knows how to play Mah Jong.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Tiles can be discarded with drag&amp;amp;drop.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make robot player AI more intelligent.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make tiles in the hand larger and the wall tiles smaller for better playability on small screens.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make games suspendable/resumable.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Animate moving tiles.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Demo mode.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Introduce an option to only offer possible actions.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add more rulesets like other Classical Chinese variants and the international tournament rules.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Save and restore the current control-mode, keyboard-control option and game-speed settings.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add a keyboard-mode option to start moving when a direction-key is pressed and stop when it is released. Support multiple keys being pressed.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|Klickety|An adaptation of the &amp;quot;clickomania&amp;quot; game.Rewrite the kde3 version.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Klickety|IMerge KSame into Klickety.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Kolf|Port to KGameRenderer, cleanup all QGraphicsView- and physics-related code (and physics engine), incorporate ideas from Kolf-NG.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|loading compressed files and then saving them back in the original compression format (bug 65518)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Nepomukshell|New Nepomukshell development tool allowing to browse and debug Nepomuk data|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureInProgress|Dolphin|Git plugin|sebastian@sebastian-doerner.de|Sebastian Doerner}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Kontact|Plasma-based Summary Page|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= kdeaccessibility  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KAccessible|Added a dbus-service and a QAccessibleBridgePlugin for focus tracking (used in KMagnifier and the KWin zoom plugin).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KMagnifier|Follow Focus Mode for Focus Tracking (uses kaccessible).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KAccessible|Added Screenreader (uses speech-dispatcher)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KDE Asciiquarium|Added a new ASCII sprite (a submarine). Contributed by Ryan Meldrum.|mpyne@kde.org.|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeplasma-addons =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Shelf|Automatic sizing of the popup|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Setting a custom popup icon|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|Shelf|Cascading popup menus for folders|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Keyboard navigation|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureDone|Shelf|Search completion|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|libLancelot-datamodels|Akonadi integration|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureTodo|libLancelot-datamodels|Folder contents sorting|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
{{FeatureInProgress|Lancelot|Theme improvements, animations|ivan.cukic@kde.org|Ivan Čukić}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|krfb|Refactor Core to make it more maintainable/extensible|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|Telepathy Tubes support|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
{{FeatureInProgress|krfb|UI Improvements to support new features/deal with some existing bug reports|grundleborg@googlemail.com.|George Goldberg}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan</id>
		<title>Schedules/KDE4/4.6 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan"/>
				<updated>2010-10-03T12:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: update Todos for Kajongg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.6 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Feature Plan]] (previous minor release)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Dolphin|Faceted browsing via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Plasma|Plasma KPart|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|KWin|Focus tracking for the zoom plugin (uses kaccessible)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KWin|Extend mouse tracking modes for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|libtaskmanager| support for Windows 7 like launchers |akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin&lt;br /&gt;
{{FeatureInProgress|dashboard effect| new effect for Plasma dashboard |ademmer@opensuse.org|Andreas Demmer}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|libnepomuk|Convenience operator overloads for query construction|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|libnepomuk|New query flags and improved handling of full text matching scores including sorting|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|kdeui|Allow getting and setting the size of the pixmap cache in KImageCache|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureDone|katepart|scripted actions|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|katepart|QAccessibleInterface's for document+cursor|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|libplasma|PluginLoader class|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|libplasma|Allow SVGs to use systemcolors before rendering|2kmm@gmx.de|Manuel Mommertz}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk/KIO|Search excerpts|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|Standardqueries for convenience|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|libnepomuk|GUI elements for resource/file searching including faceted browsing|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Add more possible synchronization primitives to KSharedDataCache to expand OS support. POSIX Semaphores Contributed by Alberto Villa of the FreeBSD project. Windows support may still occur as well.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add fallback to QCache&amp;lt;QString,QByteArray&amp;gt; in KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add cache-wide timestamp to KSharedDataCache.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|kdecore|Add ability to make KSharedDataCache strictly read-only for laptop support.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Marble|GPX import of routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route printing (map and directions, configurabe)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Route state saving and restoring|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Convert MarbleRunners to plugins|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|worldwide and offline routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Extend MarbleRunner interface to handle reverse geocoding and routing requests; Display of alternative routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Routing API|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Separate thread for tile loading and texture blending (not texture mapping at the moment) for more smooth browsing|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Tile loading &amp;quot;read ahead&amp;quot; when idle, prerequisite: threaded tile loading|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Tile download along the route for offline usage|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureInProgress|Marble|Turn-by-turn navigation mode|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureTodo|Marble|Multi threaded texture mapping|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Improve GeoData API|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Convert Gps tracking to GeoDataDocument|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Provide a treeModel for GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Draw the geometries of multiple GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Load Pnt vector data files as GeoData|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Manipulate Gps track data|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Cantor|Backend for GNU Octave|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
{{FeatureTodo|Cantor|Merge R improvement branch|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureTodo|Cantor|Variable management panel|alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureDone|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Implicit functions plot|percy.camilo.ta@gmail.com|Percy Aucahuasi}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Improved execution speed on the calculator|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Better integration between the Console and the Plotting facilities|aleixpol@kde.org|Aleix Pol Gonzalez}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Add MPRIS support to JuK so that the NowPlaying applet doesn't need to special-case JuK.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Update JuK's MusicBrainz support to a modern version of MusicBrainz.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|libkdegames|Import KGameRenderer framework and port games to this unified rendering infrastructure.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Palapeli|Import Goldberg slicer as the new default slicer plugin.|loehnert.kde@gmx.de|Johannes Loehnert}}&lt;br /&gt;
{{FeatureTodo|Palapeli|Update libpala API. Improve usability of &amp;quot;Create new puzzle&amp;quot; dialog.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Kajongg|Docbook: Describe the basic game, until now I supposed the player already knows how to play Mah Jong.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Tiles can be discarded with drag&amp;amp;drop.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make robot player AI more intelligent.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make tiles in the hand larger and the wall tiles smaller for better playability on small screens.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make games suspendable/resumable.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Animate moving tiles.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add more rulesets like other Classical Chinese variants and the international tournament rules.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Save and restore the current control-mode, keyboard-control option and game-speed settings.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add a keyboard-mode option to start moving when a direction-key is pressed and stop when it is released. Support multiple keys being pressed.|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|Klickety|An adaptation of the &amp;quot;clickomania&amp;quot; game.Rewrite the kde3 version.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
{{FeatureInProgress|Klickety|Merge KSame into Klickety.|shuizhuyuanluo@126.com|Ni Hui}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|loading compressed files and then saving them back in the original compression format (bug 65518)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Nepomukshell|New Nepomukshell development tool allowing to browse and debug Nepomuk data|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Kontact|Plasma-based Summary Page|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= kdeaccessibility  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KAccessible|Added a dbus-service and a QAccessibleBridgePlugin for focus tracking (used in KMagnifier and the KWin zoom plugin).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KMagnifier|Follow Focus Mode for Focus Tracking (uses kaccessible).|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KAccessible|Added Screenreader (uses speech-dispatcher)|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KDE Asciiquarium|Added a new ASCII sprite (a submarine). Contributed by Ryan Meldrum.|mpyne@kde.org.|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/CMake/Python</id>
		<title>Development/CMake/Python</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/CMake/Python"/>
				<updated>2010-09-27T12:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: Adapt to comments by Jonathan Riddell&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to integrate a Python project into the KDE4 cmake system =&lt;br /&gt;
&lt;br /&gt;
This is work in progress - right now there seem to be very different views about how runtime dependencies for projects should be handled. This is much more of a problem for Python projects because almost all of their dependencies are runtime only.&lt;br /&gt;
&lt;br /&gt;
Here are some links to discussions:&lt;br /&gt;
&lt;br /&gt;
http://lists.kde.org/?l=kde-buildsystem&amp;amp;m=128267903722403&amp;amp;w=4&lt;br /&gt;
http://lists.kde.org/?l=kde-core-devel&amp;amp;m=126890156111852&amp;amp;w&lt;br /&gt;
http://lists.kde.org/?l=kde-buildsystem&amp;amp;m=128550824619920&amp;amp;w=4&lt;br /&gt;
&lt;br /&gt;
== Build time dependencies ==&lt;br /&gt;
&lt;br /&gt;
There is not much that needs to be compiled for a Python project:&lt;br /&gt;
&lt;br /&gt;
* The byte-compiled *.pyc files if you choose to do that when building the package. A better way would be to do that at install time - that ensures the correct Python version is used. This is what Debian-based distros do. If you compile them at buid time, they should be generated for all project modules. However the main .py file (or files) like kajongg.py which are executed first should not be bytecompiled. The Python interpreter would not use that anyway, it always recompiles the main .py file when loading it. For shorter startups, make it as small as possible. See the example below. Since cmake bytecompiles all python source files at build time, this main file (like kajongg.py) should not be added to the list of source files. Instead simply install those main .py files directly in the right place.&lt;br /&gt;
&lt;br /&gt;
* Maybe some *.ui files to be processed by pyuic4. If you only have few small *.ui files you may prefer to simply distribute the *.ui files and have them processed at runtime (I did not measure how much time that actually takes). This of course simplifies cmake configuration.&amp;lt;code&amp;gt;&lt;br /&gt;
from PyQt4 import uic&lt;br /&gt;
uic.loadUi('mywidget.ui')&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So you need a Python interpreter installed for the generation of byte-compiled *.pyc files. Make sure it is a version that can also execute your program. If the version installed at the client side is too different, your precompiled bytecode is incompatible and cannot be used, so the client system will recompile your sources. And if it cannot write them because of missing access rights, it will do that at every program start (there are ways how to tell python where to write its local *.pyc files but that is out of scope for here).&lt;br /&gt;
&lt;br /&gt;
And optionally you need pyuic4 installed. This macro calls pyuic4 and installs the resulting *ui.py files:&amp;lt;code&amp;gt;PYKDE4_ADD_UI_FILES(src/*.ui)&amp;lt;/code&amp;gt;However I believe I had some problems with that macro, that may have been one reason why I now do that at runtime for Kajongg. This would need to be checked.&lt;br /&gt;
&lt;br /&gt;
== Runtime dependencies ==&lt;br /&gt;
In C/C++ most runtime dependencies are also build time dependencies - the KDE4 cmake macros do not even let you differentiate them (yet). However Python source code can be bytecompiled without the imported modules being installed - so the set of build time dependencies is very small and about the same for all Python projects.&lt;br /&gt;
&lt;br /&gt;
Most distribution packagers do '''NOT''' want cmake to error out on missing runtime dependencies, they do not even want warnings about them because they just might  not want to install them. They want to have their build system as simple (and as fast) as possible with a minimal set of dependencies. However this is not true for all packagers, some do want warnings. Developers probably want warnings too but it should be a small burden for them to install what the program claims as missing. &lt;br /&gt;
&lt;br /&gt;
Until an easy way is found to satisfy both use cases, it is probably best to only implement the least common denominator: Do not error out or produce warnings.&lt;br /&gt;
&lt;br /&gt;
Of course packagers still need to know the runtime dependencies. For now there is no nice way of specifying this with existing cmake macros. Currently the best solution for you is to write runtime dependency information into a file README.packagers in the home of your project.&lt;br /&gt;
&lt;br /&gt;
== Executables ==&lt;br /&gt;
In theory, the main.py (like kajongg.py in the example below) could directly be installed in whatever */bin directory but it is nicer to only put a symbolic link there like /usr/bin/kajongg -&amp;gt; /usr/share/kde4/apps/kajongg/kajongg.py.&lt;br /&gt;
Of course cmake comes with a macro for this:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
PYKDE4_ADD_EXECUTABLE(kajongg.py kajongg)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example projects ==&lt;br /&gt;
*[http://websvn.kde.org/trunk/KDE/kdegames/kajongg/ Kajongg], a board game. This project is not yet conforming to the above text - I will convert it as soon as nobody objects to this.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/CMake/Python</id>
		<title>Development/CMake/Python</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/CMake/Python"/>
				<updated>2010-09-26T21:13:41Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: cmake and Python projects - initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to integrate a Python project into the KDE4 cmake system =&lt;br /&gt;
&lt;br /&gt;
This is work in progress - right now there seem to be very different views about how runtime dependencies for projects should be handled. This is much more of a problem for Python projects because almost all of their dependencies are runtime only.&lt;br /&gt;
&lt;br /&gt;
Here are some links to discussions:&lt;br /&gt;
&lt;br /&gt;
http://lists.kde.org/?l=kde-buildsystem&amp;amp;m=128267903722403&amp;amp;w=4&lt;br /&gt;
http://lists.kde.org/?l=kde-core-devel&amp;amp;m=126890156111852&amp;amp;w&lt;br /&gt;
http://lists.kde.org/?l=kde-buildsystem&amp;amp;m=128550824619920&amp;amp;w=4&lt;br /&gt;
&lt;br /&gt;
== Build time dependencies ==&lt;br /&gt;
&lt;br /&gt;
There is not much that needs to be compiled for a Python project:&lt;br /&gt;
&lt;br /&gt;
* Mainly the byte-compiled *.pyc files. They should be generated for all project modules. However the main .py file (or files) like kajongg.py which are executed first should not be bytecompiled. The Python interpreter would not use that anyway, it always recompiles the main .py file when loading it. For shorter startups, make it as small as possible. See the example below. Since cmake bytecompiles all python source files at build time, this main file (like kajongg.py) should not be added to the list of source files. Instead simply install those main .py files directly in the right place.&lt;br /&gt;
&lt;br /&gt;
* And maybe some *.ui files to be processed by pyuic4. If you only have few small *.ui files you may prefer to simply distribute the *.ui files and have them processed at runtime (I did not measure how much time that actually takes). This of course simplifies cmake configuration.&amp;lt;code&amp;gt;&lt;br /&gt;
from PyQt4 import uic&lt;br /&gt;
uic.loadUi('mywidget.ui')&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So you need a Python interpreter installed for the generation of byte-compiled *.pyc files. Make sure it is a version that can also execute your program. If the version installed at the client side is too different, your precompiled bytecode is incompatible and cannot be used, so the client system will recompile your sources. And if it cannot write them because of missing access rights, it will do that at every program start (there are ways how to tell python where to write its local *.pyc files but that is out of scope for here).&lt;br /&gt;
&lt;br /&gt;
And optionally you need pyuic4 installed. This macro calls pyuic4 and installs the resulting *ui.py files:&amp;lt;code&amp;gt;PYKDE4_ADD_UI_FILES(src/*.ui)&amp;lt;/code&amp;gt;However I believe I had some problems with that macro, that may have been one reason why I now do that at runtime for Kajongg. This would need to be checked.&lt;br /&gt;
&lt;br /&gt;
== Runtime dependencies ==&lt;br /&gt;
In C/C++ most runtime dependencies are also build time dependencies - the KDE4 cmake macros do not even let you differentiate them (yet). However Python source code can be bytecompiled without the imported modules being installed - so the set of build time dependencies is very small and about the same for all Python projects.&lt;br /&gt;
&lt;br /&gt;
Since cmake is mostly used by distribution packagers, you should respect their preferences. Developers do not need cmake for Python development at all.&lt;br /&gt;
&lt;br /&gt;
Distribution packagers do '''NOT''' want cmake to error out on missing runtime dependencies, they do not even want warnings about them because they just might  not want to install them. Packagers want to have their build system as simple (and as fast) as possible with a minimal set of dependencies. Of course they still need to know the runtime dependencies. For now there is no nice way of specifying this with existing cmake macros. Currently the best solution for you is to write runtime dependency information into a file README.packagers in the home of your project.&lt;br /&gt;
&lt;br /&gt;
== Executables ==&lt;br /&gt;
In theory, the main.py (like kajongg.py in the example below) could directly be installed in whatever */bin directory but it is nicer to only put a symbolic link there like /usr/bin/kajongg -&amp;gt; /usr/share/kde4/apps/kajongg/kajongg.py.&lt;br /&gt;
Of course cmake comes with a macro for this:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
PYKDE4_ADD_EXECUTABLE(kajongg.py kajongg)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example projects ==&lt;br /&gt;
*[http://websvn.kde.org/trunk/KDE/kdegames/kajongg/ Kajongg], a board game. This project is not yet conforming to the above text - I will convert it as soon as nobody objects to this.&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/CMake</id>
		<title>Development/CMake</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/CMake"/>
				<updated>2010-09-26T20:00:29Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: add a new page for cmake with Python projects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/CMake}}&lt;br /&gt;
&lt;br /&gt;
This is the central directory of all [http://www.cmake.org CMake]-related pages on TechBase.&lt;br /&gt;
&lt;br /&gt;
== KDE4 Specific CMake Documentation==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/CMake|CMake tutorial]]&lt;br /&gt;
:''An introduction to using CMake for KDE4''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake_FAQ|KDE's CMake FAQ]]&lt;br /&gt;
:''Some Frequently Asked Questions''&lt;br /&gt;
&lt;br /&gt;
;[http://api.kde.org/cmake/modules.html KDE CMake modules API]&lt;br /&gt;
:''Documentation for all CMake modules in kdelibs (generated from kdelibs svn)''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake/DashboardBuilds|Nightly dashboard builds for KDE]]&lt;br /&gt;
: ''Describes the quality dashboard for KDE and how to set up Nightly builds for it''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake/Addons for KDE|KDE4 CMake Buildtypes, macros and variables]]&lt;br /&gt;
:''Documentation for the buildtypes (debugfull, release, ...), macros and variables for building KDE4 software, provided by FindKDE4Internal.cmake (manually written)''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tools/Automoc4|Automoc4]]&lt;br /&gt;
:''Automoc4 documentation.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake/Python|CMake for Python projects]]&lt;br /&gt;
:''How to integrate a Python project into the KDE4 cmake system.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Policies==&lt;br /&gt;
&lt;br /&gt;
;[[Policies/CMake_Commit_Policy|Commit Policy for kdelibs/cmake/modules/]]&lt;br /&gt;
:''The files in kdelibs/cmake/modules/ are part of the public interface of KDE, some special policies apply to committing there.''&lt;br /&gt;
&lt;br /&gt;
;[[Policies/CMake_and_Source_Compatibility|Source compatiblity with CMake]]&lt;br /&gt;
:''This page discusses what has to be taken care of in order to stay source compatible on the CMake level.''&lt;br /&gt;
&lt;br /&gt;
;[[Policies/CMake_Coding_Style|Coding style for CMake files]]&lt;br /&gt;
:''Some guidelines how to write CMake scripts in KDE.''&lt;br /&gt;
&lt;br /&gt;
==Changelog for KDE's CMake buildsystem==&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake_KDE_4_5 |Changes in the buildsystem with KDE 4.5]]&lt;br /&gt;
:''What has changed in KDE 4.5 compared to KDE 4.4''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake_KDE_4_4 |Changes in the buildsystem with KDE 4.4]]&lt;br /&gt;
:''What has changed in KDE 4.4 compared to KDE 4.3''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake_KDE_4_3 |Changes in the buildsystem with KDE 4.3]]&lt;br /&gt;
:''What has changed in KDE 4.3 compared to KDE 4.2''&lt;br /&gt;
&lt;br /&gt;
;[[Development/CMake_KDE_4_2 |Changes in the buildsystem with KDE 4.2]]&lt;br /&gt;
:''What has changed in KDE 4.2 compared to KDE 4.0/4.1''&lt;br /&gt;
&lt;br /&gt;
==More Places to learn about CMake==&lt;br /&gt;
&lt;br /&gt;
Here are some good places to learn about CMake in general:&lt;br /&gt;
* [http://www.cmake.org/HTML/Documentation.html CMake Manual]&lt;br /&gt;
* [http://www.cmake.org/Wiki/CMake CMake Wiki]&lt;br /&gt;
* [http://www.cmake.org/Wiki/CMake_HowToDoPlatformChecks CMake System Checks ]&lt;br /&gt;
* [http://www.cmake.org/Wiki/CMake_HowToFindInstalledSoftware Finding Optional Packages ]&lt;br /&gt;
* [http://www.cmake.org/Wiki/HowToBuildKDE4Software KDE 4 Tutorial at the CMake Wiki ]&lt;br /&gt;
* [http://www.cmake.org/Wiki/CMake_FAQ CMake FAQ]&lt;br /&gt;
* [http://www.elpauer.org/stuff/learning_cmake.pdf Slides for the &amp;quot;Learning CMake&amp;quot; seminar]&lt;br /&gt;
* [http://mail.kde.org/pipermail/kde-buildsystem/ The kde-buildsystem Mailing List Archive]&lt;br /&gt;
&lt;br /&gt;
Also, consider joining the [http://www.cmake.org/mailman/listinfo/cmake CMake mailing list].&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Languages/Python</id>
		<title>Development/Languages/Python</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Languages/Python"/>
				<updated>2010-09-26T16:38:45Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: mention Kajongg in applications using PyKDE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Languages/Python}}&lt;br /&gt;
&lt;br /&gt;
Python is a powerful object oriented, dynamic language. You can find out more about the language itself on the Python website at http://www.python.org/.&lt;br /&gt;
&lt;br /&gt;
Two important pieces of software are needed to develop KDE applications using Python, [http://www.riverbankcomputing.co.uk/software/pyqt/intro PyQt] and PyKDE. PyQt provides Python support for the Qt library which KDE is built on. PyQt can be obtained at http://www.riverbankcomputing.co.uk/software/pyqt/ . Riverbank Computing has a lot of good documentation about how to use PyQt to create pure Qt applications. If you are new to KDE / Python development, then learning how to use PyQt is the best first step.&lt;br /&gt;
&lt;br /&gt;
PyKDE builds on top of PyQt and adds Python support for KDE's libraries and technologies.&lt;br /&gt;
&lt;br /&gt;
PyKDE is distributed as part of the kdebindings module. Stable releases can be downloaded from the normal [http://kde.org/download/ KDE download page], although it is usually easier to install pre-built packages from your operating system distribution. You can also obtain PyKDE from KDE's subversion repository:&lt;br /&gt;
&lt;br /&gt;
 svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebindings/python/pykde4&lt;br /&gt;
&lt;br /&gt;
The code in subversion can be browsed online via http://websvn.kde.org/trunk/KDE/kdebindings/python/pykde4/.&lt;br /&gt;
&lt;br /&gt;
==Documentation and Tutorials==&lt;br /&gt;
* [http://www.riverbankcomputing.co.uk/software/pyqt/intro PyQt home page and documentation]&lt;br /&gt;
* [[/Using PyKDE 4|Using PyKDE 4]]&lt;br /&gt;
* [http://api.kde.org/pykde-4.3-api/toc.html PyKDE 4.3 Documentation]&lt;br /&gt;
* [http://api.kde.org/pykde-4.3-api/modules.html PyKDE 4.3 API class reference]&lt;br /&gt;
* [http://api.kde.org/pykde-4.2-api/ PyKDE 4.2 API class reference]&lt;br /&gt;
* [[/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]], a simple web browser application in PyKDE&lt;br /&gt;
* [[Development/Tutorials/Python introduction to signals and slots|introduction to signals and slots]]&lt;br /&gt;
* [[Development/Tutorials/Python-hello world|Hello world]]. An example that you can also use as a starting point for your development.&lt;br /&gt;
* [http://www.rkblog.rk.edu.pl/w/p/introduction-pyqt4/ Introduction article about PyQt4]&lt;br /&gt;
* [http://lateral.netmanagers.com.ar/stories/BBS47.html PyQt by Example]&lt;br /&gt;
* [[/PyKDE_DBus_Tutorial|Python DBus Tutorial]]. See how to call dbus methods from PyKDE.&lt;br /&gt;
* [[/PyKDE_Knotify_Tutorial|Python KNotify Tutorial]]. How to use Notification and Jobs in your Applications&lt;br /&gt;
* [[Development/Tutorials/Phonon/Introduction/Python|Phonon Example]]&lt;br /&gt;
* [[Development/Tutorials/Plasma#Plasma_Programming_with_Python|Plasma tutorials]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===KDE 3 and PyKDE 3===&lt;br /&gt;
Documentation and tutorials for the older PyQt and PyKDE 3.&lt;br /&gt;
* [http://vizzzion.org/?id=pyqt Python-Qt tutorial]&amp;lt;br /&amp;gt;''&amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt; In this tutorial, the basic steps of creating a Qt-based application with PyQt are explained. &amp;lt;/font&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
==Further reading and information==&lt;br /&gt;
*[http://www.riverbankcomputing.com/mailman/listinfo/pyqt PyQt and PyKDE mailing list]&lt;br /&gt;
*[http://www.riverbankcomputing.co.uk/software/pykde/intro PyKDE Homepage]&lt;br /&gt;
*[http://www.diotavelli.net/PyQtWiki The PyQt and PyKDE community Wiki]&lt;br /&gt;
*The book [http://www.qtrac.eu/pyqtbook.html Rapid GUI Programming with Python and Qt] is available and covers Qt 4 programming with Python.&lt;br /&gt;
*The IRC channel ''#kubuntu-devel'' on freenode often has PyKDE programmers in it.&lt;br /&gt;
*The IRC channel ''#pyqt'' on freenode is used by some PyQt application developers.&lt;br /&gt;
&lt;br /&gt;
==Applications using PyKDE==&lt;br /&gt;
*[http://utils.kde.org/projects/printer-applet/ printer-applet]&lt;br /&gt;
*[http://websvn.kde.org/trunk/KDE/kdeadmin/system-config-printer-kde/ system-config-printer-kde]&lt;br /&gt;
*[http://websvn.kde.org/trunk/extragear/utils/guidance-power-manager/ Guidance Power Manager], a battery applet&lt;br /&gt;
*[https://code.launchpad.net/ubiquity/trunk Ubiquity], installer for Kubuntu&lt;br /&gt;
*[https://code.launchpad.net/~ubuntu-core-dev/gdebi/ubuntu GDebi], .deb package installer&lt;br /&gt;
*[https://code.launchpad.net/~jr/install-package/trunk install-package], graphical apt-get&lt;br /&gt;
*[http://draketo.de/light/english/pyrad pyRad], wheel type command interface&lt;br /&gt;
*[http://websvn.kde.org/trunk/KDE/kdebindings/python/pykde4/examples/ some examples are in the PyKDE source]&lt;br /&gt;
*[http://websvn.kde.org/trunk/KDE/kdegames/kajongg/ Kajongg], a board game&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan</id>
		<title>Schedules/KDE4/4.6 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.6_Feature_Plan"/>
				<updated>2010-08-27T04:49:38Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: Kajongg for 4.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.6 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.6 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Plasma|Plasma KPart|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
{{FeatureDone|KWin|Focus tracking for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
{{FeatureDone|KWin|Extend mouse tracking modes for the zoom plugin|mail@dipe.org|Sebastian Sauer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|libtaskmanager| support for Windows 7 like launchers |akreuzkamp@web.de|Anton Kreuzkamp}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|katepart|scripted actions|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|libplasma|PluginLoader class|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Marble|GPX import of routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Route printing (map and directions, configurabe)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Route state saving and restoring|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Convert MarbleRunners to plugins|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|worldwide and offline routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Extend MarbleRunner interface to handle reverse geocoding and routing requests; Display of alternative routes|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureTodo|Marble|Routing API|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Separate thread for tile loading and texture blending (not texture mapping at the moment) for more smooth browsing|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|Marble|Tile loading &amp;quot;read ahead&amp;quot; when idle, prerequisite: threaded tile loading|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Tile download along the route for offline usage|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureInProgress|Marble|Turn-by-turn navigation mode|akssps011@gmail.com|Siddharth Srivastavah}}&lt;br /&gt;
{{FeatureTodo|Marble|Multi threaded texture mapping|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureDone|Marble|Improve GeoData API|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Convert Gps tracking to GeoDataDocument|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Provide a treeModel for GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Marble|Draw the geometries of multiple GeoDataDocuments|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Load Pnt vector data files as GeoData|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureInProgress|Marble|Manipulate Gps track data|tgridel@freedotfr|Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|Cantor|Backend for GNU Octave|miha.cancula@gmail.com|Miha Čančula}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Add MPRIS support to JuK so that the NowPlaying applet doesn't need to special-case JuK.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Update JuK's MusicBrainz support to a modern version of MusicBrainz.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|libkdegames|Import KGameRenderer framework and port games to this unified rendering infrastructure.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Palapeli|Import Goldberg slicer as the new default slicer plugin.|loehnert.kde@gmx.de|Johannes Loehnert}}&lt;br /&gt;
{{FeatureTodo|Palapeli|Update libpala API. Improve usability of &amp;quot;Create new puzzle&amp;quot; dialog.|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Kajongg|Docbook: Describe the basic game, until now I supposed the player already knows how to play Mah Jong.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Tiles can be discarded with drag&amp;amp;drop.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kajongg|Make robot player AI more intelligent.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|Make games suspendable/resumable.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Add more rulesets like other Classical Chinese variants and the international tournament rules.|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|loading compressed files and then saving them back in the original compression format (bug 65518)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|Kontact|Plasma-based Summary Page|ry@n.rix.si|Ryan Rix}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan</id>
		<title>Schedules/KDE4/4.5 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan"/>
				<updated>2010-05-27T10:37:21Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.5 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.4 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeadmin  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|system-config-printer-kde|Restore feature parity with KDEPrint3 where possible.||Jonathan Riddell, John Layt}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in session-management|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in tab-bar widget|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|New Konqueror bookmarks using Akonadi and Nepomuk, awesome bar|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|nspluginviewer|npruntime scripting support|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureTodo|Konqueror|Add speeddial/thumbnails-like start page|germain@ebooksfrance.org|Germain Garand}} &lt;br /&gt;
{{FeatureDone|Konsole|Finish implementing tab context menu|kurt.hindenburg@gmail.com|Kurt Hindenburg}}&lt;br /&gt;
{{FeatureDone|Konsole|Allow setting tab profile from file on command-line|kurt.hindenburg@gmail.com|Kurt Hindenburg}}&lt;br /&gt;
{{FeatureInProgress|Konsole|Adds support for SHELL_SESSION_ID|kurt.hindenburg@gmail.com|Kurt Hindenburg}}&lt;br /&gt;
{{FeatureDone|Konsole|Modernize menu layout|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Konsole|Move to KTabWidget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|print-manager|New Print manager KCM and applet replacement, using C++|dantti85-pk@yahoo.com.br|Daniel Nicoletti}} &lt;br /&gt;
{{FeatureDone|Dolphin|Drag and drop on tabs|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|Dolphin|Make menus like &amp;quot;View Mode&amp;quot;, &amp;quot;Additional Information&amp;quot; and &amp;quot;Sort By&amp;quot; available as toolbar buttons|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|Dolphin|Smooth scrolling|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureTodo|Dolphin|Faceted browsing|peter.penz@gmx.at|Peter Penz}}&lt;br /&gt;
{{FeatureDone|Dolphin|Make use of additional columns (Symbolic Link Destination, Path or URL) in KFileItemDelegate|frank78@googlemail.com|Frank Reininghaus}} &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KWallet|Single Sign On using PAM|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for LISa|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for SMB|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Integrate with remote and zeroconf kioslaves|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|Locale KCM|Add support for new KLocale and KCalendarSystem features (see kdelibs section) including Digit Groups, AM/PM, etc.  Improvements to usability of existing money display options.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|network kioslave|Backend for UPnP|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave| Backend to discover bluetooth devices and they services |edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureInProgress|bluetooth kioslave|Backend to browse bluetooth devices|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureDone|Nepomuk|Monitor file system changes via inotify|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureTodo|KNotify|Route solid errors via knotify to the device notifier|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Non-Plasma, Non-KWin &lt;br /&gt;
{{FeatureDone|KInfoCenter|Complete rewrite of KInfoCenter|hubnerd@ntlworld.com|David Hubner}} &lt;br /&gt;
{{FeatureDone|KInfoCenter|Add Export functionality into KInfoCenter|hubnerd@ntlworld.com|David Hubner}}&lt;br /&gt;
{{FeatureDone|DeviceInfo KCM|New DeviceInfo KCM for KInfoCenter|hubnerd@ntlworld.com|David Hubner}}&lt;br /&gt;
{{FeatureDone|Summary KCM|New Summary KCM for KInfoCenter|hubnerd@ntlworld.com|David Hubner}}     &lt;br /&gt;
{{FeatureTodo|Icons KCM|More configurable icon sizes|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Fonts KCM|More configurable fonts|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|BlueDevil Wizard |Write a new Wizard to pair Bluetooth devices |alex@eyeos.org|Alex Fiestas}} &lt;br /&gt;
{{FeatureTodo|Bluetooth KCM|New KCM to manage all bluetooth configurations and devices|ereslibre@kde.org|Rafael Fernandez}}&lt;br /&gt;
{{FeatureTodo|Screenedges|Screenedges handling outside of kwin/plasma|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|Oxygen style|Move window using left-mouse button on windows' empty areas|hugo@oxygen-icons.org|Hugo Pereira Da Costa}}&lt;br /&gt;
{{FeatureDone|Oxygen configuration|Oxygen style and decoration standalone expert configuration tool|hugo@oxygen-icons.org|Hugo Pereira Da Costa}}&lt;br /&gt;
{{FeatureDone|Free Space Notifier Daemon|Small daemon that warns you when your home has almost no space left|knuckles@gmail.com|Ivo Anjo}}&lt;br /&gt;
{{FeatureInProgress|Activities Daemons|Daemons to handle info about activities (kded daemon and a nepomuk service)|ivan.cukic@kde.org|Ivan Cukic}}&lt;br /&gt;
{{FeatureInProgress|Systemsettings|driconf KCM|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureDone|PowerDevil|Display brightness OSD|debfx-kde@fobos.de|Felix Geyer}}&lt;br /&gt;
{{FeatureDone|Keyboard|Merge keyboard hardware and layouts configuration UI|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureDone|Keyboard|Allow adding layouts by language|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureDone|Keyboard|Add keyboard layout indicator plasma applet|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureDone|Keyboard|Allow configuring keyboard model without configuring layouts|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureDone|Keyboard|Allow by-window switching and KDE shortcut without configuring layouts|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
{{FeatureDone|Keyboard|Rewrite keyboard layouts app into kded daemon|arysin@gmail.com|Andriy Rysin}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|systemtray/taskmanager|port the systray and tasks applet to windows|windows@kde.org|kde windows}}&lt;br /&gt;
{{FeatureInProgress|systemtray|monochrome statusnotifier based systray icons support|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|systemtray|sort icons by category|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|systemtray|put hidden icons in a popup menu|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|tasks dataengine|export all informations needed to build an applet comparable to the current one|matthieu_gallien@yahoo.fr|Matthieu Gallien}}&lt;br /&gt;
{{FeatureDone|notifications|split systemtray and notifications applet|notmart@gmail.com|Marco Martin}}  &lt;br /&gt;
{{FeatureInProgress|notifications|new look and behaviour for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|support for remote applets for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|netbook/SAL|use QStandardModels|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|netbook/SAL|support for drag and drop of items|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|netbook/SAL|package manager invocation from the toolbox|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|netbook/Workspace KCM|New default options for KWin: tabbox as present windows, that will be set as regular grid|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|put extendergroups in scrollwidgets|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|possibility to detach exteneritems as standalone windows|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma/theme|more transparent dialogs when the blur effect is enabled|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma/desktop|Activity Manager UI|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|accounts applet|a plasma widget that is a central place to add accounts to social sites like identica and opendesktop, optimized for the netbook shell|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|folderview|&amp;quot;Open folder&amp;quot; icon to open folder into pop-up at request instead of automatically.|bigras.bruno@gmail.com|Bruno Bigras}}&lt;br /&gt;
{{FeatureTodo|folderview|Extend the configuration UI for nepomuksearch|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureInProgress|Extend Calendar DataEngine with Akonadi calendar incidents|Allows to query calendar events/todos from Akonadi in Plasma|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|calculator|Added optional libqalculate support in the calculator runner|agostinelli@gmail.com|Matteo Agostinelli}}&lt;br /&gt;
{{FeatureInProgress|KRunner|Add some advanced sorting to KRunner using Nepomuk|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
{{FeatureTodo|KRunner|Improve keyboard navigation &amp;amp; command history interaction|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureInProgress|device-notifier|Route all solid error notifications via knotify to the device notifier|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureInProgress|device-notifier|Detailed (HAL) error notifications in the device notifier|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureInProgress|Plasma::Theme|Themed CSS support|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
{{FeatureTodo|battery|Weighted charge information for multiple batteries|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
{{FeatureTodo|Plasma|Welcome plasmoid|riccardo@kde.org|Riccardo Iaconelli}}&lt;br /&gt;
{{FeatureInProgress|crystal|New desktop search widget|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
{{FeatureInProgress|networkmanagement|Network management Plasmoid|sebas@kde.org|Sebastian Kügler}}&lt;br /&gt;
{{FeatureDone|quicklaunch|Improvements from Ingomar Wesp|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin&lt;br /&gt;
{{FeatureDone|Tiling|Merge window tiling branch|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|KWin|New flag to exclude windows from switchers|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|KCM Decoration|New decoration kcm with previews and GHNS|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Aurorae|Port Aurorae to GraphicsView and KDecoration|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Aurorae|Better themeing support|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Aurorae|Window tabbing support|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Aurorae|Decorations on window sides|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|Aurorae|Autohiding decoration for maximized windows|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|kwin|hide windows from other activities|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|Effects|Move features from present windows to libkwineffects to make them available in desktop grid|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|Effects|Add close window button to each window in present windows/desktop grid|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureTodo|Window Tabbing/libtaskmanager|Announce window groups to be used for grouping in tasks applet|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureInProgress|KWin/plasma|New window type for Plasma dashboard|kde@martin-graesslin.com|Martin Gräßlin}}&lt;br /&gt;
{{FeatureDone|Effects|New blur effect|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureInProgress|Effects|High quality scaling shader for the taskbar thumbnails|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureTodo|KWin|Hint for defining the window snap rect|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureInProgress|Effects|Glide effect for opening and closing windows|iori.yagami.26979@gmail.com|Iori Yagami}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KStars|Display Comet Magnitudes whenever possible|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Information links in-place for each technical term|akarshsimha@gmail.com|Akarsh Simha}} {{FeatureTodo|KStars|Tool to suggest star-hopping techniques???|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Extend conjunction tool to have one object unspecified, but have a genre of objects specified instead|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Lunar Eclipses|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Satellites and Iridium Flares|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Social and Geographical Integration for KStars|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Marble widget for Geolocation tool|mboquien@free.fr|Médéric Boquien}} &lt;br /&gt;
{{FeatureTodo|KStars|Better printed star charts|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Better rendering of comets/asteroids|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Texture mapping of the skymap???|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureTodo|Marble|Add proper support for GPX waypoints, tracks and routes display|anders@alweb.dk|Anders Lund}}&lt;br /&gt;
{{FeatureTodo|Marble|Export map to MxN pixel bitmap|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Map Contents translation|tackat@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureDone|Marble|Support OpenStreetMap Nominatim as search backend (MarbleRunner)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Generalized Animations with GeoDataLookAt support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|Online-Routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureDone|Marble|GPS improvements|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Maemo Support|earthwings@gentoo.org|Bastian Holst, Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoGraphicsScene for Online Service Plugins|bastianholst@gmx.de|Bastian Holst}}&lt;br /&gt;
{{FeatureInProgress|Marble|Follow XDG Base Directory Specification|bastianholst@gmx.de|Bastian Holst}}&lt;br /&gt;
{{FeatureDone|Marble|Download region|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|Implement sun locator blendings as derived classes of Marble::Blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|Configurable texture layer blending|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|Import geonames city data|sonu.itbhu@gmail.com|Harshit Jain}}&lt;br /&gt;
{{FeatureInProgress|Marble|Bookmark support|anik.varshney@gmail.com|Kumar Anik Varshney}}&lt;br /&gt;
{{FeatureInProgress|Marble|Various Marble speed improvements|rahn@kde.org|Torsten Rahn, Ariya Hidayat}}&lt;br /&gt;
{{FeatureInProgress|Marble|Plugin to display APRS data|hardaker@users.sourceforge.net|Wes Hardaker}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Type checker for expressions to statically detect errors|aleixpol@kde.org|Aleix Pol}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Support for drawing implicit curves|percy.camilo.ta@gmail.com|Percy Camilo Triveño Aucahuasi}}&lt;br /&gt;
{{FeatureInProgress|Parley|Parley practice mode rewritten|gladhornKDEorg|Daniel Laidig, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|Parley|LaTeX support|laidig_kde.org|Daniel Laidig}}&lt;br /&gt;
{{FeatureTodo|Parley|Better support for entering synonyms|laidig_kde.org|Benjamin Schleinzer, Daniel Laidig}}&lt;br /&gt;
{{FeatureTodo|Cantor|import and polish Qalculate! backend|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|KTurtle|Implement GHNS download support|nielsslot@gmail.com|Niels Slot}}&lt;br /&gt;
{{FeatureTodo|KTurtle|Implement GHNS upload support|nielsslot@gmail.com|Niels Slot}}&lt;br /&gt;
{{FeatureDone|Rocs|Node beautification in SVG|tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
{{FeatureDone|Rocs|Threads for not blocking the UI|tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
{{FeatureDone|Rocs|Redesigned the UI for better usability|tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
{{FeatureDone|Rocs|Plugin System|wiglot@gmail.com|Wagner Reck}}&lt;br /&gt;
{{FeatureDone|Rocs|Small plugins as examples|wiglot@gmail.com|Wagner Reck}}&lt;br /&gt;
{{FeatureDone|Rocs|Multiple Script support|tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
{{FeatureTodo|Granatier|Arena Editor|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|New traditional Mahjongg for four players|wolfgang@rohdewald.de|Wolfang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Default voices for computer players|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|KBounce|Difficulty levels|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureDone|KBounce|Random images as background|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureTodo|KBreakOut|Level Sets|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KBreakOut|Sound|fela.kde@gmail.com|Fela Winkelmolen}}&lt;br /&gt;
{{FeatureDone|KGoldrunner|Add the Demolition game (20 levels)|iandw.au@gmail.com|Ian Wadham}}&lt;br /&gt;
{{FeatureDone|Kigo|Load SGF games from command line and register to mimetype 'application/x-go-sgf'|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Kigo|Fix KNewStuff provider issues|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Kiriki|Hint|luizromario@gmail.com|Luiz Romário Santana Rios}}&lt;br /&gt;
{{FeatureTodo|Kolf|Replace with Kolf 2 (help on coding and artwork desired)|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Konquest|Merge the patch by Sean D'Epagnier to implement many features like map editing|pinaraf@pinaraf.info|Pierre Ducroquet}}&lt;br /&gt;
{{FeatureDone|KPat|Add keyboard controls to allow playing without a mouse.|parker.coates@kdemail.net|Parker Coates}}&lt;br /&gt;
{{FeatureInProgress|KPat|Create a new LibKCardGame from KPat's card scene logic. Make it generic and friendly enough for use in other card games.|parker.coates@kdemail.net|Parker Coates}}&lt;br /&gt;
{{FeatureTodo|KsirK|rewrite AI code or at least correct most problems related in bug #170777. Volunteers wanted!|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureTodo|KsirK|Boost playing over Jabber|kleag@free.fr|Gaël de Chalendar}}&lt;br /&gt;
{{FeatureTodo|KSquares|Re-write computer player, make it act faster and more intelligent|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSquares|Add more types of boards: hexagonal, triangular|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Import new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Port game to new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Adapt view to show information provided by engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Add new actions to GUI|joselb@gmx.net|Johannes Bergmeier}}&lt;br /&gt;
{{FeatureInProgress|KTuberling|A new &amp;quot;fast switch&amp;quot; between playgrounds|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureDone|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}233784 Optimize size of puzzle files in default collection] (temporarily fixed for this release cycle with an awful hack)|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211859 Recieve new puzzles over KNewStuff]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211861 Introduce handicap as a means to configure difficulty]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211866 Implement puzzle piles to organize pieces]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}212814 Quick piece grouping]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}213774 Add magnifying glass]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureDone|Palapeli|Rewrite puzzle table mouse interaction stack|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureDone|Palapeli|Cleanup config dialog code|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|libkdcraw|Make color management options more flexible|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureDone|libksane|Improve auto-selection|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureDone|libksane|Highlight scanned area|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|libksane|Add public API for available devices|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|gwenview|Show Nepomuk info in image meta info|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureTodo|gwenview|Persistent changes|agateau@kde.org|Aurelien Gateau}}&lt;br /&gt;
{{FeatureTodo|okular|Thumb creators via Okular Core|harsh@harshj.com|Harsh J}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|katepart|Add visual block mode and make the basic commands support it|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureTodo|katepart|context dependent indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|scripting configuration, esp. for indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|list of available scripts and indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|GHNS for scripts/indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|easier writing of indenters, esp. by automatically reloading them when changed|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|extend list of available default styles for highlighting, remove hardcoded colors from existing XML files|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|improve AutoBrace plugin|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureInProgress|katepart/ktexteditor|defaultvalues, regular expressions, mirroring master, scripting of templates|jowenn(you_know)kde(here_too)org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureInProgress|ktexteditor plugin|InsaneHTML_LE (zencoding like selector input (light edition)|jowenn(you_know)kde(here_too)org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureTodo|katepart|replace smart cursor/ranges API|cullmann@kde.org|Christoph Cullmann}}&lt;br /&gt;
{{FeatureTodo|kdeui|API to integrate KStatusNotifierItem and KNotification: both as class api and DBus specification API|davide.bettio@kdemail.net|Davide Bettio}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add support for Date Difference calculations.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add support for era based calendar systems.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add new calendar systems: Japanese Era, Thai, Taiwanese.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|KCalendarSystem|Add support for Unicode format strings for Qt and cross-platform compatability.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new astronomical calculation support classes to be used in kdelibs to build new astronomically based calendar systems, and in kdepim to build new version of libkholiday.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new calendar systems: Bahai'i, Chinese, Buddhist, etc.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add support for traditional/USA week numbering.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|kdecore|Group policy (Windows) backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|Add framework for standard actions for 'Send to...' for e-mail, fax, etc by printing to PDF/PS.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Implement caps-lock warning for password entry widgets|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for number grouping other than thousands using LC_NUMERIC and LC_MONETARY formats, e.g. India 00 00 000 and China 0000 0000.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Full POSIX compliant format support for date, time, numbers and money.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement more 'named' date/time formats, e.g. ISO, UnixTimestamp, RFC3339, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add Full date format in addition to existing short and long.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement separate backends for each supported platform/desktop to use platform localisation in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for additional Country Code standards: ISO Alpha 3, ISO Numeric 3, FIPS-10.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for Country Code sub-regions, i.e. States/Provinces/etc. Needed for new KHolidays.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Improvements to KDatePicker/KDateTable for feature parity with Plasma Calendar widget, i.e. holiday support, select calendar system, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|DBus interface in StatusNotifierItem to connect it with freedesktop notifications instances|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|khtml|Improvements in kwallet integration|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureInProgress|khtml|Basic audio/video tag support|germain@ebooksfrance.org|Michael Howell and Germain Garand}} &lt;br /&gt;
{{FeatureInProgress|khtml|DOM3 XPath/XPath1 support|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureDone|khtml|Selectors API1|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureTodo|khtml and kparts|More general KPart scripting interfaces|maksim@kde.org|Maks Orlovich}}&lt;br /&gt;
{{FeatureTodo|khtml|Implement more of DOM3's CSSOM View module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureInProgress|khtml|Implement missing parts of DOM3's Background and Borders module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureTodo|khtml|add new form widgets defined in HTML5 draft|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Improved Download Dialog, multiple previews, better integration of details, changelog is displayed|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureInProgress|KNewStuff|Icon view mode|gladhornKDEorg|Reza Shah, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Upload dialog rewritten: It now supports updating of old uploads, previews, most data that can be entered on the website and allows direct login to the account|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|KNewStuff|Support more than one payload|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureTodo|kdeui|Social About Dialog|teo@kde.org|Téo Mrnjavac}}&lt;br /&gt;
{{FeatureTodo|kdeui|Generic find bar widget|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureTodo|kio|SSL client certificate support|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
{{FeatureTodo|kio|SSL root certificate list GUI + backend|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
{{FeatureDone|kio|Add &amp;quot;apply to all&amp;quot; checkbox in renamedialog and allow for automatic renaming|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kio|Port renamedialog to KFileMetaDataWidget|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kio|Don't select extension in renamedialog|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kio|Better listing of applications in file &amp;quot;open with&amp;quot; context menu|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kio|Context menu entry to open all files in their default applications|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kio|Add support for additional columns (e.g., smybolic link destination) in KFileItemDelegate|frank78ac@googlemail.com|Frank Reininghaus}}&lt;br /&gt;
{{FeatureDone|kfile|Scroll wheel support for breadcrumb bar|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kfile|Show all sub-folders in breadcrumb bar|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureDone|kfile|Middle-click on subfolder in the breadcrumb bar to open in a new tab|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureInProgress|kfile|Easier access to protocols in breadcrumb bar|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|kfile|Show sub-sub-folders (and so on) in breadcrumb bar|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Generic shared-memory cache|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Redesigned icon cache|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureDone|kdeui|Support alpha channel in KColor classes|christoph@maxiom.de|Christoph Feck}}&lt;br /&gt;
{{FeatureDone|nepomuk|Redesigned Nepomuk::TagWidget which can now actually be used by applications|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|kio|Remember downloads via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|solid|Broadcast mount/unmount messages across processes|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureTodo|solid|Add parent matching to predicate parsing|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureDone|kdeui|Add the KRecursiveFilterProxyModel to kdeui/itemviews|steveire@gmail.com|Stephen Kelly}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|Video Thumbnailer|Add ffmpegthumbnailer for faster video thumbnailing|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements -- will move to KDE 4.5 feature plan|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however -- will move to KDE 4.5 feature plan|mpyne.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Kopete|UPnp Support|mattr@kde.org|Matt Rogers}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle video support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle ICE support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Add support for urls to Bonjour plugin|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Kopete|Rich text support for ICQ|kedgedev@gmail.com|Roman Jarosz}} &lt;br /&gt;
{{FeatureDone|Kopete|Extended video controls|fschaefer.oss(at)googlemail.com|Frank Schaefer}} &lt;br /&gt;
{{FeatureTodo|Kopete|Akonadi History Plugin|roideuniverse@gmail.com|Kaushik Saurabh}} &lt;br /&gt;
{{FeatureTodo|Krdc|Connection status and reconnect screen|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureDone|Krdc|Much improved new connection screen: more info, sortable, interactive, and better use of space|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureInProgress|KGet|Use plasma notifications to show the progress|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|KGet|Refaktor Torrent-Plugin to base on the newly created libktorrent from extragear|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
{{FeatureInProgress|KGet|Better error handling|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KAlarm|Port to Akonadi|djarvie@kde.org|David Jarvie}}&lt;br /&gt;
{{FeatureInProgress|KMail|Port to Akonadi|kde-pim@kde.org|Thomas McGuire}}&lt;br /&gt;
{{FeatureInProgress|KOrganizer|Port to Akonadi|kde-pim@kde.org|Frank Osterfeld, Sebastian Sauer}}&lt;br /&gt;
{{FeatureInProgress|KJots|Port to Akonadi|kde-pim@kde.org|Stephen Kelly}}&lt;br /&gt;
{{FeatureInProgress|KHolidays|Add support for alternative calendar systems, advanced holiday calculations, and improved API.|john@layt.net|John Layt}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|knowledgebase|port knowledgebase plasmoid to new engine|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|knowledgebase|Add categories|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureDone|Bookmarks widget|New|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Performance improvements|jacob.benoit.1@gmail.com|Benoit Jacob}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Rendering improvements (through dithering, extra iterations, and better/simpler formulas)|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Allow to import/export parameters and to export to PNG images|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Add option to show &amp;quot;text&amp;quot;, &amp;quot;icons&amp;quot; or both &amp;quot;text and icons&amp;quot; for tabs|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Prefetch next and previous comic strip (thx to Miha Cancula)|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Character Runner|New|akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureDone|KDE Observatory|Performance improvements, new data engine|sandroandrade@kde.org|Sandro Andrade}}&lt;br /&gt;
{{FeatureDone|Plasmaboard|Completly rework the current onscreen keyboard and add key layouts for tablets and mids. Better performance, better useability, less memory usage. See: http://btux1984.wordpress.com/ |bjoern@ruberg-wegener.de|Björn Ruberg}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureInProgress|Kate|Replace old snippet plugin through TNG plugin and enhance the usability of the new plugin|jowenn(you_know)kde(here_too)org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureDone|Kate|Port the old XML completion plugin (xmltools)|tomastrnka@gmx.com|Tomáš Trnka}} &lt;br /&gt;
{{FeatureInProgress|Umbrello|Add a code importing wizzard|andi.fischer@NOSPAMhispeed.ch|Andi Fischer}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Simplify Kerfuffle's API (jobs, interfaces etc) and try to make it stable|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add a &amp;quot;Preview with...&amp;quot; context menu item|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make Kerfuffle really thread-safe (and use threads in less places)|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Get rid of the Observer code in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make error reporting work as expected in Kerfuffle|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add view profiles, incl. editor/manager|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureInProgress|Okteta|Allow writing structure definitions in JavaScript|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureInProgress|Okteta|Add possibility to set count of bytes per line/group|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|kdelirc/kremotecontrol|Transition from KDELirc to KRemoteControl|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureDone|KGpg|Add &amp;amp;quot;caff&amp;amp;quot; mode for keysigning|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureDone|Okteta|Add KNewStuff support to the structures tool|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureDone|Okteta|Allow pinning structure beginning to a specific offset|alex.richardson@gmx.de|Alex Richardson}}&lt;br /&gt;
{{FeatureDone|Okteta|new export formats: S-Record, Intel Hex, Base32, Ascii85, Uuencoding, Xxencoding|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|add QIODevice for AbstractByteArrayModel and make mimetype detection use this instead of only filename |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|Refactor mouse input to controllers for the bytearray widget|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdetoys  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureInProgress|kteatime|Port to KStatusNotifierItem|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureInProgress|kteatime|Port to KConfigXT|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureInProgress|kteatime|Support categories|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureInProgress|kteatime|Improved indicator icon painting|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureTodo|kteatime|Fork multiple instances for multiple timers|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureTodo|kteatime|Tea runner|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureTodo|kteatime|Improved command line|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureTodo|amor|Do some refactoring in amor|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureTodo|amor|Improve theme support|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureTodo|amor|Implement KNewStuff support|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureTodo|amor|Revamp configure dialog|kde@hilefoks.org|Stefan Böhmann}} {{FeatureTodo|amor|Sound support|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureTodo|amor|Add KStatusNotifierItem support|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
{{FeatureInProgress|ktux|Do some refactoring in ktux|kde@hilefoks.org|Stefan Böhmann}} &lt;br /&gt;
{{FeatureTodo|ktux|Revamp configure dialog|kde@hilefoks.org|Stefan Böhmann}} {{FeatureTodo|ktux|Sound support|kde@hilefoks.org|Stefan Böhmann}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan</id>
		<title>Schedules/KDE4/4.5 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan"/>
				<updated>2010-04-14T15:04:35Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.5 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.4 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeadmin  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|system-config-printer-kde|Restore feature parity with KDEPrint3 where possible.||Jonathan Riddell, John Layt}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in session-management|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in tab-bar widget|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|New Konqueror bookmarks using Akonadi and Nepomuk, awesome bar|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KWallet|Single Sign On using PAM|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for LISa|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for SMB|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Integrate with remote and zeroconf kioslaves|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|Locale KCM|Add support for new KLocale features (see kdelibs section) including Digit Groups, AM/PM, etc.  Improvements to usability of existing money display options.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|network kioslave|Backend for UPnP|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave| Backend to discover bluetooth devices and they services |edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureInProgress|bluetooth kioslave|Backend to browse bluetooth devices|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Non-Plasma, Non-KWin &lt;br /&gt;
{{FeatureTodo|Icons KCM|More configurable icon sizes|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Fonts KCM|More configurable fonts|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Solid|Write a new Bluetooth backend |alex@eyeos.org|Alex Fiestas}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|systemtray|monochrome statusnotifier based systray icons support|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|systemtray|sort icons by category|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|systemtray|put hidden icons in a popup menu|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|split systemtray and notifications applet|notmart@gmail.com|Marco Martin}}  &lt;br /&gt;
{{FeatureInProgress|notifications|new look and behaviour for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|support for remote applets for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|netbook/SAL|use QStandardModels|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|netbook/SAL|support for drag and drop of items|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|put extendergroups in scrollwidgets|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|possibility to detach exteneritems as standalone windows|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma/theme|more transparent dialogs when the blur effect is enabled|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/desktop|Activity Manager UI|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|accounts applet|a plasma widget that is a central place to add accounts to social sites like identica and opendesktop, optimized for the netbook shell|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|folderview|&amp;quot;Open folder&amp;quot; icon to open folder into pop-up at request instead of automatically.|bigras.bruno@gmail.com|Bruno Bigras}}&lt;br /&gt;
{{FeatureInProgress|Extend Calendar DataEngine with Akonadi calendar incidents|Allows to query calendar events/todos from Akonadi in Plasma|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KStars|Display Comet Magnitudes whenever possible|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Information links in-place for each technical term|akarshsimha@gmail.com|Akarsh Simha}} {{FeatureTodo|KStars|Tool to suggest star-hopping techniques???|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Extend conjunction tool to have one object unspecified, but have a genre of objects specified instead|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Lunar Eclipses|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Satellites and Iridium Flares|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Social and Geographical Integration for KStars|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Marble widget for Geolocation tool|mboquien@free.fr|Médéric Boquien}} &lt;br /&gt;
{{FeatureTodo|KStars|Better printed star charts|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Better rendering of comets/asteroids|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Texture mapping of the skymap???|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|Marble|Add proper support for GPX waypoints, tracks and routes display|anders@alweb.dk|Anders Lund}}&lt;br /&gt;
{{FeatureTodo|Marble|Export map to MxN pixel bitmap|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Map Contents translation|tackat@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|Marble|Support OpenStreetMap Nominatim as search backend (MarbleRunner)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Generalized Animations with GeoDataLookAt support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Online-Routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GPS improvements|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Maemo Support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoGraphicsScene for Online Service Plugins|bastianholst@gmx.de|Bastian Holst}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Type checker for expressions to statically detect errors|aleixpol@kde.org|Aleix Pol}}&lt;br /&gt;
{{FeatureInProgress|Parley|Parley practice mode rewritten|gladhornKDEorg|Daniel Laidig, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|Cantor|import and polish Qalculate! backend|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KBounce|Difficulty levels|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureDone|KBounce|Random images as background|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureTodo|KBreakOut|Level Sets|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KBreakOut|Sound|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|Kolf|Replace with Kolf 2 (help on coding and artwork desired)|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|KsirK|rewrite AI code or at least correct most problems related in bug #170777. Volunteers wanted!|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureTodo|KsirK|Boost playing over Jabber|kleag@free.fr|Gaël de Chalendar}}&lt;br /&gt;
{{FeatureTodo|KSquares|Re-write computer player, make it act faster and more intelligent|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSquares|Add more types of boards: hexagonal, triangular|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Import new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Port game to new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Adapt view to show information provided by engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Add new actions to GUI|joselb@gmx.net|Johannes Bergmeier}}&lt;br /&gt;
{{FeatureTodo|Granatier|Arena Editor|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|New traditional Mahjongg for four players|wolfgang@rohdewald.de|Wolfang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Default voices for computer players|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureTodo|Kajongg|Make playing against computer suspendable/resumable|wolfgang@rohdewald.de|Wolfgang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kigo|Load SGF games from command line and register to mimetype 'application/x-go-sgf'|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|KTuberling|A new &amp;quot;fast switch&amp;quot; between playgrounds|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211859 Recieve new puzzles over KNewStuff]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211861 Introduce handicap as a means to configure difficulty]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211866 Implement puzzle piles to organize pieces]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}212814 Quick piece grouping]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}213774 Add magnifying glass]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|Rewrite puzzle table mouse interaction stack|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureTodo|Konquest|Merge the patch by Sean D'Epagnier to implement many features like map editing|pinaraf@pinaraf.info|Pierre Ducroquet}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|libkdcraw|Make color management options more flexible|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureDone|libksane|Improve auto-selection|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|gwenview|Show Nepomuk info in image meta info|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureTodo|gwenview|Persistent changes|agateau@kde.org|Aurelien Gateau}}&lt;br /&gt;
{{FeatureTodo|okular|Thumb creators via Okular Core|harsh@harshj.com|Harsh J}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|katepart|Add visual block mode and make the basic commands support it|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureTodo|katepart|context dependent indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|scripting configuration, esp. for indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|list of available scripts and indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|GHNS for scripts/indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|easier writing of indenters, esp. by automatically reloading them when changed|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|extend list of available default styles for highlighting, remove hardcoded colors from existing XML files|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|improve AutoBrace plugin|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureInProgress|katepart/ktexteditor|defaultvalues, regular expressions, mirroring master, scripting of templates|jowenn(you_know)kde(here_too)org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureInProgress|ktexteditor plugin|InsaneHTML_LE (zencoding like selector input (light edition)|jowenn(you_know)kde(here_too)org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureTodo|katepart|replace smart cursor/ranges API|cullmann@kde.org|Christoph Cullmann}}&lt;br /&gt;
{{FeatureTodo|kdeui|API to integrate KStatusNotifierItem and KNotification: both as class api and DBus specification API|davide.bettio@kdemail.net|Davide Bettio}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new astronomical calculation support classes to be used in kdelibs to build new astronomically based calendar systems, and in kdepim to build new version of libkholiday.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new calendar systems: Bahaii, Coptic, Ethiopean, Chinese, Japanese, Buddhist, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdecore|Group policy (Windows) backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|If no file printing support in Qt4.5, migrate FilePrinter class from Okular to enable file printing for all apps via QPrinter.  To be discussed on k-c-d first.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|Add framework for standard actions for 'Send to...' for e-mail, fax, etc by printing to PDF/PS.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Implement caps-lock warning for password entry widgets|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureTodo|kio|Better file information in file conflict dialog|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for number grouping other than thousands using LC_NUMERIC and LC_MONETARY formats, e.g. India 00 00 000 and China 0000 0000.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Full POSIX compliant format support for date, time, numbers and money.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement more 'named' date/time formats, e.g. ISO, UnixTimestamp, RFC3339, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add Full date format in addition to existing short and long.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement separate backends for each supported platform/desktop to use platform localisation in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for additional Country Code standards: ISO Alpha 3, ISO Numeric 3, FIPS-10.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for Country Code sub-regions, i.e. States/Provinces/etc. Needed for new KHolidays.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Improvements to KDatePicker/KDateTable for feature parity with Plasma Calendar widget, i.e. holiday support, select calendar system, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|DBus interface in StatusNotifierItem to connect it with freedesktop notifications instances|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|Khtml|Improvements in kwallet integration|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureTodo|Khtml|Basic audio/video tag support|germain@ebooksfrance.org|Michael Howell and Germain Garand}} &lt;br /&gt;
{{FeatureTodo|Khtml|Implement more of DOM3's CSSOM View module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Improved Download Dialog, multiple previews, better integration of details, changelog is displayed|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureInProgress|KNewStuff|Icon view mode|gladhornKDEorg|Reza Shah, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Upload dialog rewritten: It now supports updating of old uploads, previews, most data that can be entered on the website and allows direct login to the account|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|kdeui|Social About Dialog|teo@kde.org|Téo Mrnjavac}}&lt;br /&gt;
{{FeatureTodo|kio|SSL client certificate support|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
{{FeatureTodo|kio|SSL root certificate list GUI + backend|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements -- will move to KDE 4.5 feature plan|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however -- will move to KDE 4.5 feature plan|mpyne.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Kopete|UPnp Support|mattr@kde.org|Matt Rogers}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle video support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle ICE support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Add support for urls to Bonjour plugin|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Kopete|Rich text support for ICQ|kedgedev@gmail.com|Roman Jarosz}} &lt;br /&gt;
{{FeatureTodo|Krdc|Connection status screen and reconnect|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureDone|Krdc|Much improved new connection screen: more info, sortable, interactive, and better use of space|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureInProgress|KGet|Use plasma notifications to show the progress|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureInProgress|KGet|Refaktor Torrent-Plugin to base on the newly created libktorrent from extragear|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|knowledgebase|port knowledgebase plasmoid to new engine|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|knowledgebase|Add categories|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureDone|Bookmarks widget|New|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Performance improvements|jacob.benoit.1@gmail.com|Benoit Jacob}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Rendering improvements (through dithering, extra iterations, and better/simpler formulas)|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Allow to import/export parameters and to export to PNG images|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Add option to show &amp;quot;text&amp;quot;, &amp;quot;icons&amp;quot; or both &amp;quot;text and icons&amp;quot; for tabs|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Prefetch next and previous comic strip (thx to Miha Cancula)|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Character Runner|New|akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureInProgress|KDE Observatory|Performance improvements, new data engine|sandroandrade@kde.org|Sandro Andrade}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureInProgress|Kate|Replace old snippet plugin through TNG plugin and enhance the usability of the new plugin|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|KGpg|Make keyserver actions possible to use on multiple keyservers at once|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Refactor mouse input to controllers for the bytearray widget|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add KNewStuff support to the structures tool|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureInProgress|kdelirc/kremotecontrol|Transition from KDELirc to KRemoteControl|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureInProgress|Okteta|Allow writing structure definitions in JavaScript|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureDone|Okteta|new export formats: S-Record, Intel Hex, Base32, Ascii85, Uuencoding, Xxencoding|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|add QIODevice for AbstractByteArrayModel and make mimetype detection use this instead of only filename |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Using_KActions</id>
		<title>Development/Tutorials/Using KActions</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Using_KActions"/>
				<updated>2010-03-14T17:20:58Z</updated>
		
		<summary type="html">&lt;p&gt;Wrohdewald: &amp;amp; in action text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Tutorials/Using_KActions}}&lt;br /&gt;
&lt;br /&gt;
{{TutorialBrowser|&lt;br /&gt;
&lt;br /&gt;
series=Beginner Tutorial|&lt;br /&gt;
&lt;br /&gt;
name=How To Use KActions and XMLGUI|&lt;br /&gt;
&lt;br /&gt;
pre=[[Development/Tutorials/Using_KXmlGuiWindow|Tutorial 2 - KXmlGuiWindow]], Basic XML knowledge|&lt;br /&gt;
&lt;br /&gt;
next=[[Development/Tutorials/Saving_and_loading|Tutorial 4 - Saving and loading]]| &lt;br /&gt;
&lt;br /&gt;
reading=None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
This tutorial introduces the concept of actions. Actions are a unified way of supplying the user with ways to interact with your program.&lt;br /&gt;
&lt;br /&gt;
For example, if we wanted to let the user of [[Development/Tutorials/Using_KXmlGuiWindow|Tutorial 2 ]] clear the text box by clicking a button in the toolbar, from an option in the File menu or through a keyboard shortcut, it could all be done with one {{class|KAction}}.&lt;br /&gt;
&lt;br /&gt;
[[image:introtokdetutorial3.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==KAction==&lt;br /&gt;
A {{class|KAction}} is an object which contains all the information about the icon and shortcuts that is associated with a certain action. The action is then connected to a [http://doc.trolltech.com/latest/signalsandslots.html slot] which carries out the work of your action.&lt;br /&gt;
&lt;br /&gt;
== The Code ==&lt;br /&gt;
&lt;br /&gt;
===main.cpp===&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
#include &amp;lt;KApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
#include &amp;lt;KCmdLineArgs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;mainwindow.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main (int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  KAboutData aboutData( &amp;quot;tutorial3&amp;quot;, &amp;quot;tutorial3&amp;quot;,&lt;br /&gt;
      ki18n(&amp;quot;Tutorial 3&amp;quot;), &amp;quot;1.0&amp;quot;,&lt;br /&gt;
      ki18n(&amp;quot;A simple text area using KAction etc.&amp;quot;),&lt;br /&gt;
      KAboutData::License_GPL,&lt;br /&gt;
      ki18n(&amp;quot;Copyright (c) 2007 Developer&amp;quot;) );&lt;br /&gt;
  KCmdLineArgs::init( argc, argv, &amp;amp;aboutData );&lt;br /&gt;
  KApplication app;&lt;br /&gt;
 &lt;br /&gt;
  MainWindow* window = new MainWindow();&lt;br /&gt;
  window-&amp;gt;show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This time, very little has changed in &amp;lt;tt&amp;gt;main.cpp&amp;lt;/tt&amp;gt;, only the KAboutData constructor has been updated to show that we are now on tutorial 3.&lt;br /&gt;
&lt;br /&gt;
===mainwindow.h===&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
#ifndef MAINWINDOW_H&lt;br /&gt;
#define MAINWINDOW_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;KXmlGuiWindow&amp;gt;&lt;br /&gt;
#include &amp;lt;KTextEdit&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class MainWindow : public KXmlGuiWindow&lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    MainWindow(QWidget *parent=0);&lt;br /&gt;
	&lt;br /&gt;
  private:&lt;br /&gt;
    KTextEdit* textArea;&lt;br /&gt;
    void setupActions();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Only a function &amp;lt;tt&amp;gt;void setupActions()&amp;lt;/tt&amp;gt; has been added which will do all the work setting up the KActions.&lt;br /&gt;
&lt;br /&gt;
===mainwindow.cpp===&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
#include &amp;quot;mainwindow.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;KApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;KAction&amp;gt;&lt;br /&gt;
#include &amp;lt;KLocale&amp;gt;&lt;br /&gt;
#include &amp;lt;KActionCollection&amp;gt;&lt;br /&gt;
#include &amp;lt;KStandardAction&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MainWindow::MainWindow(QWidget *parent)&lt;br /&gt;
    : KXmlGuiWindow(parent)&lt;br /&gt;
{&lt;br /&gt;
  textArea = new KTextEdit;&lt;br /&gt;
  setCentralWidget(textArea);&lt;br /&gt;
&lt;br /&gt;
  setupActions();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MainWindow::setupActions()&lt;br /&gt;
{&lt;br /&gt;
  KAction* clearAction = new KAction(this);&lt;br /&gt;
  clearAction-&amp;gt;setText(i18n(&amp;quot;&amp;amp;Clear&amp;quot;));&lt;br /&gt;
  clearAction-&amp;gt;setIcon(KIcon(&amp;quot;document-new&amp;quot;));&lt;br /&gt;
  clearAction-&amp;gt;setShortcut(Qt::CTRL + Qt::Key_W);&lt;br /&gt;
  actionCollection()-&amp;gt;addAction(&amp;quot;clear&amp;quot;, clearAction);&lt;br /&gt;
  connect(clearAction, SIGNAL(triggered(bool)),&lt;br /&gt;
          textArea, SLOT(clear()));&lt;br /&gt;
&lt;br /&gt;
  KStandardAction::quit(kapp, SLOT(quit()),&lt;br /&gt;
                        actionCollection());&lt;br /&gt;
&lt;br /&gt;
  setupGUI(Default, &amp;quot;tutorial3ui.rc&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This builds upon the KXmlGuiWindow code from [[Development/Tutorials/Using_KXmlGuiWindow|Tutorial 2]]. Most of the changes are to &amp;lt;tt&amp;gt;mainwindow.cpp&amp;lt;/tt&amp;gt;, an important structural change being that the constructor for MainWindow now calls &amp;lt;tt&amp;gt;setupActions()&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;setupGUI()&amp;lt;/tt&amp;gt;. &amp;lt;tt&amp;gt;setupActions()&amp;lt;/tt&amp;gt; is where the new KAction code goes before finally calling &amp;lt;tt&amp;gt;setupGUI()&amp;lt;/tt&amp;gt; itself.&lt;br /&gt;
&lt;br /&gt;
===Creating the KAction object===&lt;br /&gt;
The KAction is built up in a number of steps. The first is including the &amp;lt;tt&amp;gt;KAction&amp;lt;/tt&amp;gt; library and then creating the KAction:&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
#include &amp;lt;KAction&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
KAction* clearAction = new KAction(this);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This creates a new KAction called &amp;lt;tt&amp;gt;clearAction&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Setting KAction Properties===&lt;br /&gt;
====Text====&lt;br /&gt;
Now we have our KAction object, we can start setting its properties. The following code sets the text that will be displayed in the menu and under the &amp;lt;tt&amp;gt;KAction&amp;lt;/tt&amp;gt;'s icon in the toolbar.&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;clearAction-&amp;gt;setText(i18n(&amp;quot;&amp;amp;Clear&amp;quot;));&amp;lt;/code&amp;gt;&lt;br /&gt;
Note that the text is passed through the i18n() function; this is necessary for the UI to be translatable (more information on this can be found in the [[Development/Tutorials/Localization/i18n|i18n tutorial]]).&lt;br /&gt;
&lt;br /&gt;
The text of the action should contain a &amp;lt;tt&amp;gt;&amp;amp;&amp;lt;/tt&amp;gt; because that makes it easier to translate in non latin1 languages. In Japanese, the translation might be &amp;lt;tt&amp;gt;ソース(&amp;amp;S)&amp;lt;/tt&amp;gt; and without the &amp;lt;tt&amp;gt;&amp;amp;&amp;lt;/tt&amp;gt; in the english text the translators cannot know if they have to add a &amp;lt;tt&amp;gt;&amp;amp;&amp;lt;/tt&amp;gt; or not.&lt;br /&gt;
&lt;br /&gt;
====Icon====&lt;br /&gt;
If the action is going to be displayed in a toolbar, it's nice to have an icon depicting the action. The following code sets the icon to the standard KDE &amp;lt;tt&amp;gt;document-new&amp;lt;/tt&amp;gt; icon through the use of the &amp;lt;tt&amp;gt;setIcon()&amp;lt;/tt&amp;gt; function:&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;clearAction-&amp;gt;setIcon(KIcon(&amp;quot;document-new&amp;quot;));&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Keyboard Shortcut====&lt;br /&gt;
Setting a keyboard shortcut to perform our action is equally simple:&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;clearAction-&amp;gt;setShortcut(Qt::CTRL + Qt::Key_W);&amp;lt;/code&amp;gt;&lt;br /&gt;
This associates Ctrl+W with the KAction.&lt;br /&gt;
&lt;br /&gt;
===Adding to the Collection===&lt;br /&gt;
In order for the action to be accessed by the XMLGUI framework (explained in depth later) it must be added to the application's ''action collection''. The action collection is accessed via the &amp;lt;tt&amp;gt;actionCollection()&amp;lt;/tt&amp;gt; function like this: &lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
actionCollection()-&amp;gt;addAction(&amp;quot;clear&amp;quot;, clearAction);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here, the &amp;lt;tt&amp;gt;clearAction&amp;lt;/tt&amp;gt; KAction is added to the collection and given a name of ''clear''. This name (''clear'') is used by the XMLGUI framework to refer to the action, ergo, it should not be localized, since it is used internally only.&lt;br /&gt;
&lt;br /&gt;
====Connecting the action====&lt;br /&gt;
Now that the action is fully set up, it needs to be connected to something useful. In this case (because we want to clear the text area), we connect our action to the &amp;lt;tt&amp;gt;clear()&amp;lt;/tt&amp;gt; action belonging to a KTextEdit (which, unsurprisingly, clears the KTextEdit)&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;&lt;br /&gt;
connect( clearAction, SIGNAL( triggered(bool) ), &lt;br /&gt;
         textArea, SLOT( clear() ) );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This is the same as it would be done in Qt with a {{qt|QAction}}.&lt;br /&gt;
&lt;br /&gt;
===KStandardAction===&lt;br /&gt;
&lt;br /&gt;
For actions which would likely appear in almost every KDE application such as 'quit', 'save', and 'load' there are pre-created convenience KActions, accessed through [http://api.kde.org/4.0-api/kdelibs-apidocs/kdeui/html/namespaceKStandardAction.html KStandardAction].&lt;br /&gt;
&lt;br /&gt;
They are very simple to use. Once the library has been included (&amp;lt;tt&amp;gt;#include &amp;lt;KStandardAction&amp;gt;&amp;lt;/tt&amp;gt;), simply supply it with what you want the function to do and which KActionCollection to add it to. For example:&lt;br /&gt;
&amp;lt;code cppqt&amp;gt;KStandardAction::quit(kapp, SLOT(quit()), actionCollection());&amp;lt;/code&amp;gt;&lt;br /&gt;
This creates a KAction with the correct icon, text and shortcut and even adds it to the File menu.&lt;br /&gt;
&lt;br /&gt;
==Adding the action to menus and toolbars==&lt;br /&gt;
At the moment, the new &amp;quot;Clear&amp;quot; action has been created but it hasn't been associated with any menus or toolbars. This is done with a KDE technology called XMLGUI, which does nice things like movable toolbars for you.&lt;br /&gt;
&lt;br /&gt;
{{note|In a later version of KDE4, XMLGUI, may be replaced with a new framework called liveui. For now, XMLGUI, is the only and correct way to set up the UI.}}&lt;br /&gt;
&lt;br /&gt;
==Defining your own help menu==&lt;br /&gt;
The help menu is god-given, that is why all KDE help menus look the same. If you want to create your own help menu, go [http://websvn.kde.org/trunk/KDE/kdelibs/kdeui/widgets/khelpmenu.h?revision=1002779&amp;amp;view=markup here] and search for the explanation around showAboutApplication().&lt;br /&gt;
&lt;br /&gt;
==XMLGUI==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;setupGUI()&amp;lt;/tt&amp;gt; function in {{class|KXmlGuiWindow}} depends on the XMLGUI system to construct the GUI, which XMLGUI does by parsing an XML file description of the interface.&lt;br /&gt;
&lt;br /&gt;
The rule for naming this XML file is &amp;lt;tt&amp;gt;appnameui.rc&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;appname&amp;lt;/tt&amp;gt; is the name you set in {{class|KAboutData}} (in this case, ''tutorial3''). So in our example, the file is called &amp;lt;tt&amp;gt;tutorial3ui.rc&amp;lt;/tt&amp;gt;, and is located in the build directory. Where the file will ultimately be placed is handled by CMake.&lt;br /&gt;
&lt;br /&gt;
''See also'' [http://developer.kde.org/documentation/library/kdeqt/kde3arch/xmlgui.html developer.kde.org] which still provides valid information for KDE4.&lt;br /&gt;
&lt;br /&gt;
==''appname''ui.rc File==&lt;br /&gt;
&lt;br /&gt;
Since the description of the UI is defined with XML, the layout must follow strict rules. This tutorial will not go into great depth on this topic, but for more information, see the [[Development/Architecture/KDE4/XMLGUI_Technology|detailed XMLGUI page]] (here is an older tutorial: [http://developer.kde.org/documentation/tutorials/xmlui/preface.html]).&lt;br /&gt;
&lt;br /&gt;
===tutorial3ui.rc===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;gui name=&amp;quot;tutorial3&amp;quot;&lt;br /&gt;
     version=&amp;quot;1&amp;quot;&lt;br /&gt;
     xmlns=&amp;quot;http://www.kde.org/standards/kxmlgui/1.0&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;http://www.kde.org/standards/kxmlgui/1.0&lt;br /&gt;
                         http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;MenuBar&amp;gt;&lt;br /&gt;
    &amp;lt;Menu name=&amp;quot;file&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;Action name=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Menu&amp;gt;&lt;br /&gt;
  &amp;lt;/MenuBar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;ToolBar name=&amp;quot;mainToolBar&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;text&amp;gt;Main Toolbar&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;Action name=&amp;quot;clear&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/ToolBar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;&amp;lt;Toolbar&amp;gt;&amp;lt;/tt&amp;gt; tag allows you to describe the toolbar, which is the bar across the top of the window normally with icons. Here it is given the unique name ''mainToolBar'' and its user visible name set to ''Main Toolbar'' using the &amp;lt;tt&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/tt&amp;gt; tag. The clear action is added to the toolbar using the &amp;lt;tt&amp;gt;&amp;lt;Action&amp;gt;&amp;lt;/tt&amp;gt; tag, the name parameter in this tag being the string that was passed to the KActionCollection with &amp;lt;tt&amp;gt;addAction()&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;mainwindow.cpp&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Besides having the action in the toolbar, it can also be added to the menubar. Here the action is being added to the ''File'' menu of the &amp;lt;tt&amp;gt;MenuBar&amp;lt;/tt&amp;gt; the same way it was added to the toolbar.&lt;br /&gt;
&lt;br /&gt;
Change the 'version' attribute of the &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;gui&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; tag if you changed .rc file since the last install to force a system cache update. Be sure it is an integer, if you use a decimal value, it will not work, but will not notify that it didn't. '''Note:''' The version attribute must be an integer number, i.e. it may not contain dots or other non-digits like an application version number.&lt;br /&gt;
&lt;br /&gt;
Some notes on the interaction between code and the .rc file: Menus appear automatically and should have a &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;text/&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; child tag unless they refer to standard menus. Actions need to be created manually and inserted into the actionCollection() using the name in the .rc file. Actions can be hidden or disabled, whereas menus can't.&lt;br /&gt;
&lt;br /&gt;
==CMake==&lt;br /&gt;
Finally, the &amp;lt;tt&amp;gt;tutorial3ui.rc&amp;lt;/tt&amp;gt; needs to go somewhere where KDE can find it (can't just leave it in the source directory!). '''This means the project needs to be installed somewhere.'''&lt;br /&gt;
===CMakeLists.txt===&lt;br /&gt;
&amp;lt;code cmake&amp;gt;&lt;br /&gt;
project(tutorial3)&lt;br /&gt;
&lt;br /&gt;
find_package(KDE4 REQUIRED)&lt;br /&gt;
include_directories(${KDE4_INCLUDES})&lt;br /&gt;
&lt;br /&gt;
set(tutorial3_SRCS &lt;br /&gt;
  main.cpp&lt;br /&gt;
  mainwindow.cpp&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
kde4_add_executable(tutorial3 ${tutorial3_SRCS})&lt;br /&gt;
&lt;br /&gt;
target_link_libraries(tutorial3 ${KDE4_KDEUI_LIBS})&lt;br /&gt;
&lt;br /&gt;
install(TARGETS tutorial3 DESTINATION ${BIN_INSTALL_DIR})&lt;br /&gt;
install(FILES tutorial3ui.rc &lt;br /&gt;
        DESTINATION  ${DATA_INSTALL_DIR}/tutorial3)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file is almost identical to the one for tutorial2, but with two extra lines at the end that describe where the files are to be installed. Firstly, the &amp;lt;tt&amp;gt;tutorial3&amp;lt;/tt&amp;gt; target is installed to the &amp;lt;tt&amp;gt;BIN_INSTALL_DIR&amp;lt;/tt&amp;gt; then the &amp;lt;tt&amp;gt;tutorial3ui.rc&amp;lt;/tt&amp;gt; file that describes the layout of the user interface is installed to the application's data directory.&lt;br /&gt;
&lt;br /&gt;
===Make, Install And Run===&lt;br /&gt;
If you don't have write access to where your KDE4 installation directory, you can install it to a folder in your home directory.&lt;br /&gt;
&lt;br /&gt;
To tell CMake where to install the program, set the &amp;lt;tt&amp;gt;DCMAKE_INSTALL_PREFIX&amp;lt;/tt&amp;gt; switch. You probably just want to install it somewhere local for testing (it's probably a bit silly to go to the effort of installing these tutorials to your KDE directory), so the following might be appropriate:&lt;br /&gt;
 mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake .. -DCMAKE_INSTALL_PREFIX=$HOME&lt;br /&gt;
 make install&lt;br /&gt;
 $HOME/bin/tutorial3&lt;br /&gt;
which will create a KDE-like directory structure in your user's home directory directory and will install the executable to {{path|$HOME/bin/tutorial3}}.&lt;br /&gt;
&lt;br /&gt;
==Moving On==&lt;br /&gt;
Now you can move on to [[Development/Tutorials/Saving_and_loading|saving and loading]].&lt;br /&gt;
&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Wrohdewald</name></author>	</entry>

	</feed>