about summary refs log tree commit diff stats
path: root/dwm.1
Commit message (Expand)AuthorAgeFilesLines
...
* small man page fixAnselm R. Garbe2006-08-241-1/+2
* updated man pageAnselm R. Garbe2006-08-231-4/+4
* applied tag drawing change to man pageAnselm R. Garbe2006-08-231-4/+4
* small fix of man pageAnselm R. Garbe2006-08-231-1/+1
* updated man pageAnselm R. Garbe2006-08-221-2/+1
* small changes to dwm.1, rearranged order within main event loopAnselm R.Garbe2006-08-211-6/+8
* applied jk_to_tab patchAnselm R.Garbe2006-08-151-34/+42
* applied sanders man page patch, removed button2 from bar clickAnselm R.Garbe2006-08-141-19/+21
* implemented restack behavior (floats are on top in tiled mode)Anselm R.Garbe2006-08-141-2/+2
* removed viewnext/viewprevAnselm R.Garbe2006-08-141-16/+0
* updated man page, added CAVEATS sectionAnselm R.Garbe2006-08-131-7/+14
* implemented viewextend and added M-S-C-n shortcuts for extending the current ...Anselm R.Garbe2006-08-111-4/+17
* applied Sanders fixes to dwm.1Anselm R.Garbe2006-08-111-4/+5
* fixed dwm.1, added Mod1-Shift-c (was missing for an odd reason)Anselm R.Garbe2006-08-111-3/+7
* updated dwm(1)Anselm R.Garbe2006-08-111-0/+14
* applied sander's patchAnselm R.Garbe2006-08-101-3/+10
* disallow zoom on maximized clientsAnselm R.Garbe2006-08-101-4/+0
* added a trailing '.' to shortcut descriptions in dwm(1)arg@10ksloc.org2006-08-071-15/+15
* applied Sanders man page/Makefile patcharg@10ksloc.org2006-08-071-1/+1
* updated man pagearg@10ksloc.org2006-08-071-0/+2
* applied Sanders doc changes, added a PHONY line and changed the output of con...arg@10ksloc.org2006-08-031-15/+16
* changing MASTERW value from 52 to 60 (in both, default and arg), I feel this ...arg@10ksloc.org2006-08-021-1/+1
* applied Sanders patches (numlock2)arg@10ksloc.org2006-08-021-10/+17
* removed artefacts of single-linked list (thanx to Jukka, I must have been mad)arg@10ksloc.org2006-08-011-1/+1
* centralized/externalized configuration to config.harg@10ksloc.org2006-08-011-4/+2
* applied Sanders patchesarg@10ksloc.org2006-08-011-17/+7
* s/0.5/0.6/ - my steps are wider than the realityarg@10ksloc.org2006-07-211-1/+1
* preparing 0.6 which will be available in the evening after sanders patch approx.arg@10ksloc.org2006-07-211-15/+2
* cleaned up codearg@10ksloc.org2006-07-201-1/+1
* fixed version in man pagearg@10ksloc.org2006-07-201-1/+1
* added heretag command which allows to tag a client of a foreign tag with curr...Anselm R. Garbe2006-07-181-0/+8
* patched dwmAnselm R. Garbe2006-07-171-1/+1
* slight change to dwm.1Anselm R. Garbe2006-07-171-1/+2
* simplified man pageAnselm R. Garbe2006-07-161-35/+28
* several additions in mouse handling ;)Anselm R. Garbe2006-07-161-43/+20
* fixed XSync handling and finished man pageAnselm R. Garbe2006-07-151-4/+54
* prep 0.1 0.1Anselm R. Garbe2006-07-141-1/+1
* implemented dwm reading status text from stdin Anselm R. Garbe2006-07-141-1/+15
* made barclick to select the specific tagAnselm R. Garbe2006-07-141-0/+3
* continued with man pageAnselm R. Garbe2006-07-141-0/+34
* continued with man pageAnselm R. Garbe2006-07-141-0/+33
* another changeAnselm R. Garbe2006-07-131-1/+1
* updated man pageAnselm R. Garbe2006-07-131-7/+5
* added logo+descriptionAnselm R. Garbe2006-07-131-0/+16
itle='author Kartik K. Agaram <vc@akkartik.com> 2017-04-13 08:49:05 -0700 committer Kartik K. Agaram <vc@akkartik.com> 2017-04-13 08:49:05 -0700 3817 - better errors on streams from null texts' href='/akkartik/mu/commit/066stream.mu?h=main&id=85b2f61b7727989c9291cff324b861d495ce315d'>85b2f61b ^
dd660682 ^
7a84094a ^
a0331a9b ^
7a84094a ^
51b0936f ^
4f3510d0 ^

760f683f ^
dd660682 ^
4f3510d0 ^
050a93ac ^


760f683f ^
77d5b5d6 ^
4a48bedc ^
85b2f61b ^
7a84094a ^
ea19d0dc ^
7a84094a ^
748b6865 ^



8fb0e672 ^

760f683f ^
77d5b5d6 ^
4a48bedc ^
85b2f61b ^
7a84094a ^
a0331a9b ^
7a84094a ^
104854ca ^
8fb0e672 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

                                            
           
                

 
                                                     
             
             
                       
                                      

                                         

 
                                                   
             
             
                  
                                 

 
                                                                            
             
             
                                              
                      
                                  
                                     
                      
                                          

                        
                                          
                              
   




                                   
                                                         
             
             
                                              
                           
                                  
                                     
                      
                                          

                        
                                          
                              
   


                         
                                                                 
             
             
                                                   
                                  
                                
                                              



                                        

 
                                                     
             
             
                                                              
                                  
                                     
                      
                                     
 
# new type to help incrementally scan arrays
container stream:_elem [
  index:num
  data:&:@:_elem
]

def new-stream s:&:@:_elem -> result:&:stream:_elem [
  local-scope
  load-inputs
  return-unless s, null
  result <- new {(stream _elem): type}
  *result <- put *result, index:offset, 0
  *result <- put *result, data:offset, s
]

def rewind in:&:stream:_elem -> in:&:stream:_elem [
  local-scope
  load-inputs
  return-unless in
  *in <- put *in, index:offset, 0
]

def read in:&:stream:_elem -> result:_elem, empty?:bool, in:&:stream:_elem [
  local-scope
  load-inputs
  assert in, [cannot read; stream has no data]
  empty? <- copy false
  idx:num <- get *in, index:offset
  s:&:@:_elem <- get *in, data:offset
  len:num <- length *s
  at-end?:bool <- greater-or-equal idx len
  {
    break-unless at-end?
    empty-result:&:_elem <- new _elem:type
    return *empty-result, true
  }
  result <- index *s, idx
  idx <- add idx, 1
  *in <- put *in, index:offset, idx
]

def peek in:&:stream:_elem -> result:_elem, empty?:bool [
  local-scope
  load-inputs
  assert in, [cannot peek; stream has no data]
  empty?:bool <- copy false
  idx:num <- get *in, index:offset
  s:&:@:_elem <- get *in, data:offset
  len:num <- length *s
  at-end?:bool <- greater-or-equal idx len
  {
    break-unless at-end?
    empty-result:&:_elem <- new _elem:type
    return *empty-result, true
  }
  result <- index *s, idx
]

def read-line in:&:stream:char -> result:text, in:&:stream:char [
  local-scope
  load-inputs
  assert in, [cannot read-line; stream has no data]
  idx:num <- get *in, index:offset
  s:text <- get *in, data:offset
  next-idx:num <- find-next s, 10/newline, idx
  result <- copy-range s, idx, next-idx
  idx <- add next-idx, 1  # skip newline
  # write back
  *in <- put *in, index:offset, idx
]

def end-of-stream? in:&:stream:_elem -> result:bool [
  local-scope
  load-inputs
  assert in, [cannot check end-of-stream?; stream has no data]
  idx:num <- get *in, index:offset
  s:&:@:_elem <- get *in, data:offset
  len:num <- length *s
  result <- greater-or-equal idx, len
]