summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-10vt: on resize, restore screen using history buffercinap_lenrek
2012-11-10rio: fix auto compmplete candidates getting read back without promptcinap_lenrek
2012-11-09kbdfs: send interrupt note in separate proc to prevent potential deadlockcinap_lenrek
2012-11-09kbdfs: kill input buffer on interrupt keycinap_lenrek
2012-11-08pstree: manpage, print pid in first column, bio, silly walkscinap_lenrek
2012-11-07limit clunk queue length for cclose()cinap_lenrek
dont let the clunk queue grow too large if we are allowed to block (cclose) as the fileserver might run out of fids.
2012-11-07pstree: sort children, fix missing close, strip newline from argscinap_lenrek
2012-11-07fix spurious kproc ppidcinap_lenrek
newproc() didnt zero parentpid and kproc() didnt set it, so kprocs ended up with random parent pid. this is harmless as kprocs have no up->parent but it gives confusing results in pstree(1). now we zero parentpid in newproc(), and set it in sysrfork() unless RFNOWAIT has been set.
2012-11-07remove tty(1) command as kbdfs now handles interruptscinap_lenrek
2012-11-07devproc: remove pgrpid == 1 check for notepg opencinap_lenrek
assuming that this check tried to prevent the hostowner from killing init, it is silly because init would just handle the note. with kbdfs, we actually want to send interrupt note to the initial process group so instead of working arround this with rfork(RFNOTEG|RFNAMEG), we remove the check.
2012-11-06mergecinap_lenrek
2012-11-06make interrupt key (Del) just work in the consolecinap_lenrek
these changes make the interrupt key available in the console (before rio is started). kbdfs: will now send a "interrupt" note to its invoking process group in cooked mode. bootrc: is now prepared to handle interrupts, mainly to not accidently spawn a new bootargs prompt. init: forwards the interrupt to the cpurc/termrc pgrp. vncs: shields itself from kbdfs notegroup so interrrupt wont kill the whole vnc session.
2012-11-05Oops, make exponential function workiru
2012-11-05Add exponential function.iru
2012-11-05fplot(1) man pageiru
2012-11-05wikifmt: fix trailing _ in heading name referencecinap_lenrek
2012-11-05add google code wiki formatter aux/wikifmtcinap_lenrek
2012-11-02derp(1) spelling (thanks pap)cinap_lenrek
2012-11-02add directory-examining recursive compare derp(1)cinap_lenrek
2012-11-02hgfs: fix metaheader offset for logcinap_lenrek
2012-11-01hjfs: fix group permissions for /adm and /adm/users for initcinap_lenrek
2012-11-01hgfs: strip metadata header, bogus .n walkscinap_lenrek
2012-10-30rio: fix topping a hidden window does not activate the foreground font colorcinap_lenrek
2012-10-29hgfs: work in progress stuff...cinap_lenrek
2012-10-28hgfs: more work in progress stuffcinap_lenrek
2012-10-27devdraw: fix stats for #i/winname (thanks jas)cinap_lenrek
2012-10-26file: paq, troff, hp pcl, lua, vcardcinap_lenrek
2012-10-25fix permissiosn for upas and telco rc scriptcinap_lenrek
2012-10-25fix permissions for auth/(status enable disable)cinap_lenrek
2012-10-25realemu: fix REP prefix conditioncinap_lenrek
2012-10-25/sys/src/cmd/mk*: add $CLEANFILES to clean and nuke targetscinap_lenrek
2012-10-25mergecinap_lenrek
2012-10-25hgfs: add wip debug commandcinap_lenrek
2012-10-25libmemlayer: remove pool.h includes (import from sources)cinap_lenrek
there are no pool calls/data structures used in libmemlayer so the dependency can be removed.
2012-10-23pkg(1): update man pagestanley lieber
2012-10-23create bio file (/adm/keys.who) if it doesnt existcinap_lenrek
2012-10-23fmt: improved version using less memorycinap_lenrek
functional identical, but uses different data structure. instead of reading all words into memory, we read and tokenize on demand keeping a simple linked list of words to conume by further calls of getword(). once the list is empty we read the next line, tokenize it and fill the list up again. so we only need as mutch memory to hold all the words of the longest line.
2012-10-22devproc: fix another channel leak, move the cclose(c) from proctext() to ↵cinap_lenrek
procopen.
2012-10-22fix devproc text chan leakcinap_lenrek
2012-10-22mergecinap_lenrek
2012-10-22rio: fix deadlockcinap_lenrek
we can't really change the Window *input from outside the winctl() thread. the problem is that the window might end up reading the mouse (scroll, select) which makes the w->cctl channel block once you try to talk to the window again (from the mousethread). this also means we have to coordinate window switchin from the winctl proc waiting for the current window to release the input and then take over. thers a new Winctl message Topped that basically does that now using Wakeup and a chan to synchronize.
2012-10-21pkg/list: handle werc directory listingsstanley lieber
2012-10-21rio: fix cursor for sizing nocurrent windowcinap_lenrek
wrepaint() used to also set the cursor for the window if it was current. this reset the corner cursors on bandresize when one tried to attempt to size a window that was not current. make repaint just repaint the window and border. set cursor explicitely for hold toggle.
2012-10-21rio: various fixescinap_lenrek
use notefd in killprocs() insead of postnote() as the process might'v exited. the notefd stays valid even if the particular process it was originaly opend on exited. remove the Window.pid field as its not needed. dup() the notefd for interruptproc as the window might'v gone away and closed the notefd file descriptor, resulting in us writing to the wrong thing. use snprint() instead of sprint() for safety. fix bogus debug fprint(). add missing "visible" flushimage() after Reshaped winctl message got handled. i assumed wsetname()/nameimage() would be enough, it but does a invisible flush so softscreen doesnt get updated immidiately. do not make allocimage() failure in scrtemps() fatal. it wont draw the window properly, but it gives the user a chance to delete some windows to recover.
2012-10-20/sys/doc: permissions for cleanps, mkdirlist, mkfilelistcinap_lenrek
2012-10-20rio: colors, flicker reduction, refresh after mouse closecinap_lenrek
allocate all the colors in iconinit(), remove unused ones like grey. rename darkgrey to paletextcol because thats what it is used for. new approach to window image allocation. we allocate the window with DNofill and let the window fill itself. this reduces flickering especially with (-b) option and makes rio resize feel a lot faster. wrefresh() didnt work. now fixed.
2012-10-20rio: wtop() after resize fixcinap_lenrek
wtop() checked w->topped == topped as a fast exit. if you had the top most window not being current (== input) which can happen when you delete the current window, then wtop would after resize would not make the window current because it is already top topmost one. wtopme() and wcurrent() both are non-ops when window is already the topmost or window is already current, so remove the check as its not needed. also topping the window feels less sluggish.
2012-10-20rio: preserve window z-order on resize, fix race conditionscinap_lenrek
sort the window array by w->topped before reshaping all windows. this preserves the window z-order. remove implicit focus change on reshape/move. it called wcurrent() in wtcl thread which might send a wctl message to itself, bad... also we might not want to change focus on reshape, like for the rio resize. so we set the input window explicitely in all call sites. window deletion was racy. wclosewin() destroys w->i, but it is called outside the wctl thread so it might just free the image under libframe doing some text selection. this is fixed the following: add wclunk() function, which basically just marks the window as deleted and removes the reference from the window[] and hidden[] arrays. (called on wclose() when refcount drops to zero). wclosewin() now just frees the image and is only called from the wctl thread on exit or when handing the Deleted message. get a reference to the window when doing sweeping or moving as the filesystem might just clunk it under us and we might end up sending wctl messages to a Exited window. wctl resize message has to fail if the window is not current as it might be hidden... would also be annoying.
2012-10-18more generic way to deal with image chan conversion for resize/resample/rotatecinap_lenrek
this is to catch crazy color channels like k8a8 and the 15/16 bit ones and CMAP. basically, just convert to RGBA32 or RGB24 depending on if it has an alpha channel.
2012-10-18rio: copy window labels for menu3cinap_lenrek
as the menu is displayed, the window might go away or change its label causing menuhit() to dereference bad memory. just strdup() the labels before passing to menu3str to prevent accidents.