about summary refs log blame commit diff stats
path: root/dwm.html
blob: ce4a44ae5f2571143c4439fbe2d54c7371385496 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                                     
                                                            




                         
                                                  
                                                       
                         
                                    


                                                        
                                   





                                                                                      



                                                                                      
                    
                                                             
                   
                                                                                              

                    
                            



                                                                                           





                                                                                          



                                                                                          

                             



                                                                                        

                             





                                                                                          
                                                                                        




                                                                                        


                                                                                      

                                                                                     

                             


                                                                                          

                             
                                                                                 
                                                                                                                                                       
                             
                     
                              
                    
                                                                                                        
                                                                                                             

                                                                                                                                                                                        

                                                                                            

                                 
                                                                                                                  
                                                                                                                     
                     
                                    
                   
                                                                                                                                                                                                                                                                       

                    
                                                                                
                    


                                                                                  
                                      

                                                                                                                                      
                                                                                    
                    
                                              

               
<html>
	<head>
		<title>dwm - dynamic window manager</title>
		<meta name="author" content="Anselm R. Garbe">
		<meta name="generator" content="ed">
		<meta name="copyright" content="(C)opyright 2006 by Anselm R. Garbe">
		<style type="text/css">
			body {
				color: #000000;
				font-family: sans-serif;
				margin: 20px 20px 20px 20px;
			}
		</style>
	</head>
	<body>
		<center>
			<img src="dwm.png"/><br />
			<h3>dynamic window manager</h3>
		</center>
		<h3>Description</h3>
		<p>
		dwm is a dynamic window manager for X11.
		</p>
		<h4>Philosophy</h4>
		<p>
		As founder and main developer of wmii I came to the conclusion that
		wmii is too clunky for my needs. I don't need so many funky features
		and all this hype about remote control through a 9P service, I only
		want to manage my windows in a simple, but dynamic way. wmii never got
		finished because I listened to users, who proposed arbitrary ideas I
		considered useful. This resulted in an extreme <a
		href="http://www.jwz.org/doc/cadt.html">CADT</a> development model,
		which was a mistake. Thus the philosophy of dwm is simply <i>to fit my
		needs</i> (maybe yours as well). That's it.
		</p>
		<h4>Differences to ion, larswm, and wmii</h4>
		<p>
		In contrast to ion, larswm, and wmii, dwm is much smaller, faster and simpler.
		</p>
		<ul>
			<li>
			dwm has no Lua integration, no 9P support, no menu, no editable
			tagbars, no shell-based configuration, no remote control, and comes
			without any additional tools like printing the selection or warping
			the mouse.
			</li>
			<li>
			dwm is only a single binary, it's source code is intended to never
			exceed 2000 SLOC.
			</li>
			<li>
			dwm is based on tagging and dynamic window management (however
			simpler than ion, wmii or larswm). It manages windows in
			tiling and floating modes. Either mode can be applied dynamically,
			depending on the application in use and the task performed.
			</li>
			<li>
			dwm don't distinguishes between layers, there is no floating or
			tiled layer. Wether the clients of currently selected tag are in
			tiled mode or not, you can re-arrange all clients on the fly.
			Popup- and fixed-size windows are treated floating, however. 
			</li>
			<li>
			dwm is customized through editing its source code, that makes it
			extremely fast and secure - it does not process any input data
			which hasn't been known at compile time, except window title names
			and status text read from standard input. You don't have to learn
			Lua/sh/ruby or some weird configuration file format (like X
			resource files), beside C to customize it for your needs,
			you <b>only</b> have to learn C (at least editing header files).
			</li>
			<li>
			Because dwm is customized through editing its source code, it's
			pointless to make binary packages of it. This keeps its userbase
			small and elitist. No novices asking stupid questions.
			</li>
			<li>
			dwm uses 1-pixel borders to provide the maximum of screen real
			estate to clients. Small titlebars are only drawn in front of
			unfocused clients.
			</li>
			<li>
			dwm reads from standard input to print arbitrary status text (like
			the date, load, battery charge). That's much simpler than
			larsremote, wmiir and what not...
			</li>
			<li>
			It can be downloaded and distributed under the conditions
			of the <a href="http://10kloc.org/cgi-bin/hgwebdir.cgi/dwm?f=f10eb1139362;file=LICENSE;style=raw">MIT/X Consortium license</a>.
			</li>
		</ul>
		<h4>Links</h4>
		<ul>
			<li><a href="http://10kloc.org/cgi-bin/man/man2html?query=dwm">Man page</a></li>
			<li><a href="http://10kloc.org/shots/dwm-20060801.png">Screenshot</a> (20060801)</li>
			<li><a href="http://10kloc.org/download/poster.ps">A4 poster (PostScript)</a></li>
			<li>Mailing List: <a href="http://10kloc.org/cgi-bin/mailman/listinfo/dwm">dwm at wmii dot de</a> <a href="http://10kloc.org/pipermail/dwm/">(Archives)</a></li>
			<li>IRC channel: <code>#dwm</code> at <code>irc.oftc.net</code></li>
		</ul>
		<h3>Download</h3>
		<ul>
			<li><a href="http://10kloc.org/download/dwm-0.6.tar.gz">dwm 0.6</a> (14kb) (20060802)</li>
			<li><a href="http://10kloc.org/download/dmenu-0.1.tar.gz">dmenu 0.1</a> (7kb) (20060803)</li>
		</ul>
		<h3>Development</h3>
		<p>
		dwm is actively developed in parallel to wmii. You can <a href="http://10kloc.org/cgi-bin/hgwebdir.cgi/dwm">browse</a> its source code repository or get a copy using <a href="http://www.selenic.com/mercurial/">Mercurial</a> with following command:
		</p>
		<p>
		<code>hg clone http://10kloc.org/cgi-bin/hgwebdir.cgi/dwm</code>
		</p>
		<p>
		<code>hg clone http://10kloc.org/cgi-bin/hgwebdir.cgi/dmenu</code>
		</p>
		<h3>Miscellaneous</h3>
		<p>
		You can purchase this <a href="https://www.spreadshirt.net/shop.php?op=article&article_id=3298632&view=403">tricot</a>
		if you like dwm and the dwm logo, which has been designed by Anselm.
		</p>
		<p><small>--Anselm</small></p>
	</body>
</html>
pan class="nf">muc_nick(const char *const room); char* muc_password(const char *const room); void muc_nick_change_start(const char *const room, const char *const new_nick); void muc_nick_change_complete(const char *const room, const char *const nick); gboolean muc_nick_change_pending(const char *const room); char* muc_old_nick(const char *const room, const char *const new_nick); gboolean muc_roster_contains_nick(const char *const room, const char *const nick); gboolean muc_roster_complete(const char *const room); gboolean muc_roster_add(const char *const room, const char *const nick, const char *const jid, const char *const role, const char *const affiliation, const char *const show, const char *const status); void muc_roster_remove(const char *const room, const char *const nick); void muc_roster_set_complete(const char *const room); GList* muc_roster(const char *const room); Autocomplete muc_roster_ac(const char *const room); Autocomplete muc_roster_jid_ac(const char *const room); void muc_jid_autocomplete_reset(const char *const room); void muc_jid_autocomplete_add_all(const char *const room, GSList *jids); Occupant* muc_roster_item(const char *const room, const char *const nick); gboolean muc_occupant_available(Occupant *occupant); const char* muc_occupant_affiliation_str(Occupant *occupant); const char* muc_occupant_role_str(Occupant *occupant); GSList* muc_occupants_by_role(const char *const room, muc_role_t role); GSList* muc_occupants_by_affiliation(const char *const room, muc_affiliation_t affiliation); void muc_occupant_nick_change_start(const char *const room, const char *const new_nick, const char *const old_nick); char* muc_roster_nick_change_complete(const char *const room, const char *const nick); void muc_confserver_add(const char *const server); void muc_confserver_reset_ac(void); char* muc_confserver_find(const char *const search_str, gboolean previous); void muc_confserver_clear(void); void muc_invites_add(const char *const room, const char *const password); void muc_invites_remove(const char *const room); gint muc_invites_count(void); GList* muc_invites(void); gboolean muc_invites_contain(const char *const room); void muc_invites_reset_ac(void); char* muc_invites_find(const char *const search_str, gboolean previous); void muc_invites_clear(void); char* muc_invite_password(const char *const room); void muc_set_subject(const char *const room, const char *const subject); char* muc_subject(const char *const room); void muc_pending_broadcasts_add(const char *const room, const char *const message); GList* muc_pending_broadcasts(const char *const room); char* muc_autocomplete(ProfWin *window, const char *const input, gboolean previous); void muc_autocomplete_reset(const char *const room); gboolean muc_requires_config(const char *const room); void muc_set_requires_config(const char *const room, gboolean val); void muc_set_role(const char *const room, const char *const role); void muc_set_affiliation(const char *const room, const char *const affiliation); char* muc_role_str(const char *const room); char* muc_affiliation_str(const char *const room); muc_member_type_t muc_member_type(const char *const room); muc_anonymity_type_t muc_anonymity_type(const char *const room); #endif