about summary refs log tree commit diff stats
path: root/LICENSE
blob: 67e22c37c3a994e66539612cb02de910eca91baa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MIT/X Consortium License

(C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
(C)opyright MMVI Sander van Dijk <a dot h dot vandijk at gmail dot com>

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the 
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in 
all copies or substantial portions of the Software. 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
DEALINGS IN THE SOFTWARE.
="w"> replace_one_substr_end(void **state); void replace_two_substr(void **state); void replace_char(void **state); void replace_when_none(void **state); void replace_when_match(void **state); void replace_when_string_empty(void **state); void replace_when_string_null(void **state); void replace_when_sub_empty(void **state); void replace_when_sub_null(void **state); void replace_when_new_empty(void **state); void replace_when_new_null(void **state); void compare_win_nums_less(void **state); void compare_win_nums_equal(void **state); void compare_win_nums_greater(void **state); void compare_0s_equal(void **state); void compare_0_greater_than_1(void **state); void compare_1_less_than_0(void **state); void compare_0_less_than_11(void **state); void compare_11_greater_than_0(void **state); void compare_0_greater_than_9(void **state); void compare_9_less_than_0(void **state); void next_available_when_only_console(void **state); void next_available_3_at_end(void **state); void next_available_9_at_end(void **state); void next_available_0_at_end(void **state); void next_available_2_in_first_gap(void **state); void next_available_9_in_first_gap(void **state); void next_available_0_in_first_gap(void **state); void next_available_11_in_first_gap(void **state); void next_available_24_first_big_gap(void **state); void test_online_is_valid_resource_presence_string(void **state); void test_chat_is_valid_resource_presence_string(void **state); void test_away_is_valid_resource_presence_string(void **state); void test_xa_is_valid_resource_presence_string(void **state); void test_dnd_is_valid_resource_presence_string(void **state); void test_available_is_not_valid_resource_presence_string(void **state); void test_unavailable_is_not_valid_resource_presence_string(void **state); void test_blah_is_not_valid_resource_presence_string(void **state); void test_p_sha1_hash1(void **state); void test_p_sha1_hash2(void **state); void test_p_sha1_hash3(void **state); void test_p_sha1_hash4(void **state); void test_p_sha1_hash5(void **state); void test_p_sha1_hash6(void **state); void test_p_sha1_hash6(void **state); void test_p_sha1_hash7(void **state); void utf8_display_len_null_str(void **state); void utf8_display_len_1_non_wide(void **state); void utf8_display_len_1_wide(void **state); void utf8_display_len_non_wide(void **state); void utf8_display_len_wide(void **state); void utf8_display_len_all_wide(void **state);
                                                            




                         
                                                  
                                                       

                                    


                                                        






                                                                                      


                                                                                                                  
                    
                                                

                                                                                    
                                                              

                    
                            
                                                                            




























                                                                                               
                                                                                            



                                                                                         
                                                                                                 


                                                                                              

                                                                                                                                                               
                     
                                   
                   
                                                                                                          
                    
                                    



                                                                                                                                                                                                                                                                    
                                                                             
                    







                                                                                                                                      

               
<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>
		<h3>Philosophy</h3>
		<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>
		<h3>Differences to wmii</h3	
		<p>
		In contrast to wmii, dwm is only a window manager, and nothing else.
		Hence, it is much smaller, faster and simpler.
		</p>
		<ul>
			<li>
			dwm has no 9P support, no menu, no editable tagbars,
			no shell-based configuration and 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 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.
			</li>
			<li>
			dwm is based on tagging and dynamic window management (however simpler
			than wmii or larswm).
			</li>
			<li>
			dwm don't distinguishes between layers, there is no floating or
			managed layer. Wether the clients of currently selected tag are
			managed or not, you can re-arrange all clients on the fly. Popup-
			and fixed-size windows are treated unmanaged. 
			</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 <b>stdin</b> to print arbitrary status text (like the
			date, load, battery charge). That's much simpler than larsremote,
			wmiir and what not...
			</li>
			<li>
			garbeam <b>does not</b> want any feedback to dwm. If you ask for support,
			feature requests, or if you report bugs, they will be <b>ignored</b>
			with a high chance. dwm is only intended to fit garbeams needs.
			However you are free to download and distribute/relicense it, with the
			conditions of the <a href="http://wmii.de/cgi-bin/hgwebdir.cgi/dwm?f=f10eb1139362;file=LICENSE;style=raw">MIT/X Consortium license</a>.
			</li>
		</ul>
		<h3>Screenshot</h3>
		<p>
		<a href="http://wmii.de/shots/dwm-20060714.png">Click here for a screenshot</a> (20060714)
		</p>
		<h3>Development</h3>
		<p>
		dwm is actively developed in parallel to wmii. You can <a href="http://wmii.de/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://wmii.de/cgi-bin/hgwebdir.cgi/dwm</code>
		</p>
		<h3>Download</h3>
		<p>There is no release yet.</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 garbeam.
		</p>
		<p><small>--Anselm (20060714)</small></p>
	</body>
</html>