This is a list of the last 500 scripts updated in joey's current working copy of jsh. (Updated Tue Sep 11 08:31:11 BST 2012)
Most should be available from CVS (run updatejsh from within your copy of jsh).
The latest scripts which aren't yet in CVS are marked; you can pick them up here if you like!

Sep 11 03:01 traffic_shaping [Newer version than CVS] ### BEGIN INIT INFO
Sep  7 10:15 diffhighlight [Newer version than CVS] ## Ideally we would do this to all but the first one
Sep  7 00:14 jchroot [Newer version than CVS] ## See also: joey/project/gentoo/chroot_into_gentoo.sh which has isActiveMountPoint().
Sep  6 18:04 joeysaliases [Newer version than CVS] ## TODO: split this into jshaliases and a personal config
Sep  6 17:47 check_music_collection_for_gai
.............n_changes
[Not yet in CVS] ???
Sep  6 17:46 mp3gainhelper [Not yet in CVS] will calculate and display the gain change neccessary to normalise the mp3,
Sep  6 16:43 makejshwebdocs [Newer version than CVS] ## TODO: move deps_todo info next to compile link, where it is relevant meta-context!
Sep  6 15:48 fasttreeprofile [!] ???
Sep  6 08:13 datediff ???
Sep  6 08:12 pipebackto "| dog $FILE" and "| pipebackto $FILE" are alternatives to "> $FILE".
Sep  6 08:03 call ## Did the user give a number, or a name to look up?
Sep  6 06:11 zshkeys [Newer version than CVS] ???
Sep  6 06:10 load_shell_colors.shlib [Newer version than CVS] ## Oh. See: faster_jsh_colors.init :P
Sep  6 06:08 findlinksmatching ## Produces a list of symlinks which may point to or through the given file or
Sep  6 06:07 friendlycvscommit [Newer version than CVS] friendlycvscommit
Sep  6 06:06 findpkg ???
Sep  6 05:22 memo [Newer version than CVS] Usage:
Sep  5 22:04 bashkeys ## *
Sep  5 16:27 jshdepwiz ## Get a script's dependencies
Sep  5 16:24 findjshdeps ## Lists all+ executables and jsh shellscripts which could be called by the target perl/shell/any-script.
Sep  5 16:21 newer ## Problem: many filesystems do not hold accurate enough dates that allow us to
Sep  5 16:21 newer.b4jdw [!] ## Problem: many filesystems do not hold accurate enough dates that allow us to
Sep  5 16:20 jgettmpdir ## We could be using a much shorter version:
Sep  5 16:20 jgettmpdir.b4jdw [!] ## We could be using a much shorter version:
Sep  5 16:18 findjob lists processes whose command or arguments match the given word.
Sep  5 16:18 findjob.b4jdw [!] findjob [-tree] <cmd/arg_regexp_word>
Sep  5 16:18 hwippp ???
Sep  5 16:18 hwippp.b4jdw [!] ???
Sep  5 16:15 pipebackto.b4jdw [!] "| dog $FILE" and "| pipebackto $FILE" are alternatives to "> $FILE".
Sep  5 16:14 highlight [Newer version than CVS] highlights all occurrences of the expression in stdout using a random termcap
Sep  5 16:14 highlight.b4jdw [!] highlight [ -bold ] <regexp> [ <color> ]
Sep  5 16:14 ppp-off ???
Sep  5 16:14 ppp-off.b4jdw [!] ???
Sep  5 16:14 phonelookup ???
Sep  5 16:14 phonelookup.b4jdw [!] ???
Sep  5 16:12 call.b4jdw [!] ## Did the user give a number, or a name to look up?
Sep  5 16:11 find [Not yet in CVS] ## It might be possible to automatically add memoing to general find calls
Sep  5 16:09 find.b4jdw [!] ## It might be possible to automatically add memoing to general find calls
Sep  5 16:03 jdeltmp ???
Sep  5 16:03 jdeltmp.b4jdw [!] ???
Sep  5 16:03 datediff.b4jdw [!] ???
Sep  5 16:02 rememo [Newer version than CVS] ## FEATURE ISSUE: rememo does not actually replace the old stored memo, so the
Sep  5 16:02 rememo.b4jdw [!] ## FEATURE ISSUE: rememo does not actually replace the old stored memo, so the
Sep  5 16:02 memo.b4jdw [!] Usage:
Sep  5 15:42 jwhich will find the executable file in your $PATH minus anything that looks like jsh's JPATH
Sep  5 15:33 newscript [Not yet in CVS] ???
Sep  5 14:36 hwipromptforzsh ???
Sep  5 14:07 refreshtoollinks ## DONE: make links point to ../code/shellscript/$SCRIPTPATH rather than full path, to make jsh easier to move about!
Sep  5 04:45 jman ## Popup the man window first if running in X:
Sep  5 04:44 manpopup ## Pops up the relevant man page in a new window (or in a new tab if using screen).
Sep  4 02:20 ftp_grab_backup will make a copy of specified directory in current directory (due to implementation, the remote path is preserved locally)
Sep  3 20:01 extract_clips_from_video will play the video file in mplayer, and allow you to mark the positions of
Sep  3 18:11 startj-hwi [Newer version than CVS] ### B # l # o # a # t # e # d # ! #
Sep  3 16:42 recovervimswap ## Appears stable =)
Sep  3 15:45 open_recent_files ???
Sep  3 04:21 datediffeachline ## Sometimes (e.g. when using datediff to determine slowest processes from a log) it's preferable
Sep  3 03:03 load_common_vars.shlib [!] ???
Sep  3 02:59 whatsplaying ## BUG: doesn't work if you use a sound server (eg. artsd or esd). Fixing that would probably require a different approach.
Sep  3 02:35 wget_get_everything_below ## Could be renamed: get_high_fidelity_sub_mirror
Sep  3 02:34 wget_get_browseable_copy [Not yet in CVS] ## One problem is ? pages, whose links cannot be easily followed to files by
Sep  3 01:33 numbereachline ???
Sep  3 01:32 highlight_words ## BUG: $COLBOLD has no affect in eterm, so all colors appear dark, but it
Sep  2 23:06 reclaimspace is intended to be run regularly as root, but can be run from the cmdline.
Sep  2 22:06 watch_net_traffic ## Show everything:
Sep  2 20:33 afterfirst ## I just cannot do it properly with sed. :-(
Sep  2 20:31 cvsstatus ## Only tested on up-to-date checkout :P
Sep  2 19:14 wp ## Wikipedia summary lookup over domain protocol (IP but not TCP or HTTP).
Sep  2 18:51 indeximages ???
Sep  2 14:51 issymlink ## Another method:
Sep  1 19:43 jmon ???
Sep  1 14:11 eterm [Not yet in CVS] ## NOTE: When Eterm loads, it swaps round the labels Font 1 and Font 2!
Sep  1 13:12 unzipintodir ???
Sep  1 12:48 symlink_duplicates [ DO= | DO=1 ] symlink_duplicates <dir> <absolute_archive_dirs>...
Sep  1 08:01 put_current_xwindow.bash [Newer version than CVS] ## Moves your current window to corner/edge/center of screen.
Sep  1 07:57 put_current_xwindow ## NOTE: It is preferable to use the ported version put_current_xwindow.bash
Sep  1 00:01 globtoregexp ???
Aug 31 19:35 startswith return status 0 means true, 1 means false.
Aug 31 19:33 catwithprogress ## If the time is spent reading (piping/processing) the stream (as opposed to creating it), then this cat will show progress.
Aug 23 17:32 jdoc will show you the documentation for the command, be it unix or jsh,
Aug 23 17:26 findduplicatefiles where
Aug 23 17:08 locateend ???
Aug 13 13:52 sftp_sync Usage: sftp_sync <user>@<host>:<dir> <dir>
Aug  4 23:14 txt2speech [Newer version than CVS] ## WISHLIST: Rather than buffering by line, it'd be nice to read all available, then send to txt2speech, then read again...
Aug  3 02:57 monitorcpufreq ???
Aug  1 19:09 sedreplace -verify asks user whether to accept replacement, per-file.
Aug  1 10:09 tocol ## tocol 9 will stream the first 8 columns, stripping all after
Jul 31 04:35 apt_find_autoable_packages ## Select packages which are installed but not marked auto.
Jul 30 20:26 findduplicatefiles-quick A simplified implementation of findduplicatefiles.
Jul 30 20:20 toglob ???
Jul 30 20:16 removeduplicatelinespo ## Removes any duplicate lines from the stream, preserving line order on output.
Jul 30 19:44 fastfind [!] ???
Jul 30 17:49 showsonginfo ???
Jul 30 17:38 apachelogs ## Reduce the length of the lines a little bit
Jul 30 17:08 indirdo ## indirdo <dir> <cmd>..
Jul 30 16:55 freshuser ## -x might use my zsh PS1 if we dont shebang /bin/bash at the top
Jul 30 16:22 gitdiff ## Shows unstaged differences between filesystem and repository.
Jul 30 16:04 mvcvs ## BUG TODO: mvcvs only works when recent version of file has been committed
Jul 30 15:56 CONFLICT [Not yet in CVS] ???
Jul 30 15:54 mvln ## Ummm see also mvandbacklink
Jul 30 15:54 mvandbacklink will move the files/dirs into the destination dir,
Jul 30 04:56 rename_atom ##
Jul 30 04:17 joeys_shortcuts [Not yet in CVS] ???
Jul 29 22:27 playmp3andwait ???
Jul 29 20:17 dusk ## Simple version:
Jul 29 19:29 wget_flat_files.sh.sh ## Downloads a page with all its pre-requesites into the current folder.
Jul 29 19:11 load_script_config ???
Jul 28 18:17 listoverrides ???
Jul 28 18:12 startj-simple ## Hmmm. At very least this should call startj -simple, or startj should call this.
Jul 28 16:29 importshfn ## Usage:
Jul 28 16:23 withalldo ## Pass -r option to ignore empty input (run nothing)
Jul 28 15:04 fix_dodgy_scripts ???
Jul 28 06:49 randomwallpaper ## This was previously /bin/zsh but that had a problem. Somehow in the
Jul 28 05:54 jwatch Executes the given command every 5 seconds, and reports changed lines.
Jul 28 02:19 rmlink_safely [Not yet in CVS] ## Removes a symlink, then checks to see whether it might have caused a
Jul 27 20:19 justlinks or
Jul 27 18:30 diffdirs ## Consider: Instead of "Only in ..." use "Missing" and "Added" when comparing state of second wrt first.
Jul 27 14:54 escapeargs ## Returns the given arguments as a string, with each arg quoted and with any
Jul 24 15:42 Tetris_Game [Not yet in CVS] ############################################################################################
Jul 18 19:32 wine ## Wine used to crash due to my crazy fonts, so this disabled them temporarily
Jul 17 09:47 reencode_video_to_x264 ???
Jul 17 01:44 slaykde ???
Jul 15 16:27 apt-list Usage:
Jul 14 02:10 debuglibs [!] ???
Jul 12 09:02 geneximrule ## BUG: can't handle really long lists of email addresses. Needs fixing! See below.
Jul  4 03:16 editandwait ## Convenience function for user: if they gave a remote folder instead of the
Jun 19 22:31 gitstatus ???
Jun 17 18:27 foreachdo ## CONSIDER: We can do "... | foreachdo echo", but if we do "... | foreachdo eval 'sleep 0.2 ; echo'" then it breaks on bin/org/neuralyte/irc/IRCBot$2.class .
Jun 14 05:53 xterm ## Just for fun, set the default xterm cursor to a random colour:
Jun 12 17:01 sortfilesbydate ## This implementation cannot deal with more files than shell args can take:
Jun 12 16:05 wmctrl_store_positions ???
Jun 12 14:22 cvsdiff cvsdiff
Jun 11 16:52 mplayer ???
Jun  9 11:29 dateeachline Prepends each line of output with the date/time it was printed, like a logfile.
Jun  9 11:23 removeduplicatelinesadj ???
Jun  6 12:47 friendlygitcommit ???
Jun  5 20:20 aproposjsh Uses onelinedescription to build an apropos-like database for jsh
Jun  5 20:16 japropos ## Adds colour highlight to apropos; also runs aproposjsh
May 24 09:48 jparse ???
May 24 09:48 cvsupdate ???
May 19 21:24 pkgversions will show packages available with the given name.
May 18 17:26 renamefiles <command>... | renamefiles <search_glob> <replace_regex> [ |sh ]
May 18 02:43 traffic_shaping_monitor ## A simple visualisation for tc traffic
May 13 07:18 unix2dos ???
May 13 07:18 dos2unix ## Doesn't seem to work
May 13 07:17 beeb2unix [Not yet in CVS] ???
May 11 21:16 browse ## browse: given a url (or possibly path), opens up the users favourite browser
May  8 01:31 randommp3 ## Create playlist.last as we go, so we can look back in history.
May  7 00:52 jpp ???
May  6 21:41 rotate TODO: the default should be to have all these options ON!
May  6 06:29 sbash ## Decrypts a folder, starts a shell, then re-encrypts the folder.
May  5 20:30 tarballstogit [Not yet in CVS] ## See also: /stuff/joey/src/keep/vfs/fuse-j/create_git_repository.sh
May  5 19:56 duskdiff ## @long_overdue
May  5 01:50 add_timedots [!] ???
May  4 06:49 dfs2dos [Not yet in CVS] ???
May  3 19:37 video2mp3 [Not yet in CVS] ## Doesn't work:
Apr 26 01:35 slaylx ???
Apr 25 15:09 lscolsrefresh Processes ~/.dircolors to create or update the ~/.lscols cachefile for lscolsinit. This makes lscols load faster when you start a shell session.
Apr 17 17:30 dsr ## Show size in bytes, not human readable size.
Apr 16 12:17 xsnapshot will take a screenshot of the current desktop (or with -window the currently focused window) and save it in /home/joey/linux/screenshots
Apr  2 16:59 process_cachedir ## process_cachedir will look at new files in your UT cachedir and move them to one of:
Apr  2 11:57 cvslog ???
Apr  2 01:57 ut_check_deps [Not yet in CVS] ???
Mar 31 21:13 wineonedemo ## I think I used to need this when I was running wine
Mar 31 12:26 winealldemoz ## I think wine+demoz are more likely to work if you set wine's "window management" to "desktop" (i use 1024x768).
Mar 21 05:41 diffsummary ???
Mar 20 02:03 playmms ## This is useful for opening .wvx files,
Mar 19 16:42 del will move each <file> to the first writeable directory out of:
Mar 17 03:17 jdiffsimple A nice simple visual diff for the console. See also: jdiff
Mar 16 00:05 javainit ## JREs:
Mar 10  2012 jfcsh jfcsh [ -bothways | -common ] [ -sorted ] <file_A> <file_B>
Mar 10  2012 jdiff Display a side-by-side diff, using green/red/yellow terminal colours.
Mar  9  2012 cvslistnewfiles ???
Mar  9  2012 getpkgfromhwi will log in to hwi, and bring back a tarfile of hwi's current installation
Mar  9  2012 gitautocommit will stage and commit all changed files under the current directory.
Mar  8  2012 gitundolastcommit ???
Mar  8  2012 cat_from_url ???
Mar  8  2012 urltitle ???
Mar  1  2012 checksecuritypkgs-old ## List all packages from Debian's security archive site:
Mar  1  2012 convert_to_ogg ???
Feb 29  2012 lazymount ## lazymount makes it easier to mount .iso files or disk-image files (e.g. created by dd).
Feb 29  2012 diffcoms will run both commands, using eval, and diff their output.
Feb 29  2012 viminxterm ## My script to popup vim in a new xterm with a sensible size for the file it is editing.
Feb 29  2012 columnise-clever Reformat the input into columns.
Feb 29  2012 columnise TODO BUGS:
Feb 29  2012 cvscommitall [ DO=1 ] cvscommitall [ <base_filename> | -auto ] <files>..
Feb 28  2012 cvscommit Commits files to cvs respository, and immediately unlocks them.
Feb 25  2012 slowcp allows you to copy large amounts of data across partitions without
Feb 25  2012 trickle ## See also: slowcp, catslowly
Feb 19  2012 whatisonport ???
Feb 19  2012 netbeans ## --fontsize 10
Feb 19  2012 unj unj <program> <args> runs the version of <program> outside of jsh, when otherwise (without unj) the jsh override version of <program> might have been run.
Feb 19  2012 save_desktop ## TODO: If there is already an existing (unreceovered) $TARGET_FILE, then don't overwrite it! But do what ... ?
Feb 12  2012 onchange Multiple files must be contained in "quotes".
Feb 11  2012 extract_audio_from_video ## This works on some YouTube videos containing aac or ogg audio. Thanks pup!
Feb  9  2012 wheremounted ## See also: /bin/mountpoint -d (not available in morphix)
Feb  9  2012 prettycat ## pretty user shell function:
Feb  5  2012 highlightstderr ## Runs the command you provide, making standard error messages appear in red.
Feb  5  2012 verbosely ## xttitle was bad; adding stuff to streams which scripts were using (verbosely); but tty check seems to have fix this ; no it hasn't :s (e.g. was steal_package_from_chroot.sh)
Feb  3  2012 traffic_shaping_monitor2 ???
Feb  2  2012 l ## I know 'l' should really be an alias, but I personally like to use it e.g.
Jan 29  2012 nextsong ## Fades down the volume, then switches your media player to the next song (hopefully), and restores the original volume.
Jan 29  2012 pingurlsin [Not yet in CVS] ???
Jan 28  2012 set_volume ???
Jan 28  2012 get_volume ???
Jan 28  2012 unfadevolume ???
Jan 28  2012 volumedown ## TODO: merge volumeup and volumedown into adjustvolume +/-N
Jan 28  2012 volumeup ## TODO: merge volumeup and volumedown into adjustvolume +/-N
Jan 28  2012 fadevolume ## TODO: wrap aumix if it is missing. e.g. try alsamixer/rexima/...
Jan 25  2012 joinlines [Not yet in CVS] ???
Jan 21  2012 difftwotarballs ???
Jan 21  2012 getcurrentwindowtitle ???
Jan 21  2012 diffzips ## No need to unpack them, we can check the file hashes in the index.
Jan 15  2012 updatemusiclist ## The extra slash on mp3s/ ensures find follows the link (if not use -follow)
Jan 14  2012 xisrunning ## xisrunning - check we have an accessible running X display
Jan 10  2012 cvsedit ## Makes all of your cvs files in current/specified folder writeable, because if you "cvs commit" a file or files it write-locks it.
Jan  9  2012 slaywine ???
Jan  7  2012 eximflushall ## See also: exim -qff
Jan  7  2012 gitvimdiff will check out a temporary version of <filename> and do a vimdiff...
Jan  6  2012 randomfiglet ## Stolen from Hwi's front page script.
Dec 18  2011 d.zsh ## d: change directory and record for b and f shell tools
Dec 18  2011 randomorder ## randomorder [ <files> ] prints the lines in a random order.
Dec 18  2011 b.zsh ## Put the directory we're moving from at the top of the history (looping)
Dec 18  2011 f.zsh ???
Dec 16  2011 xttitleprompt ## This script must be sourced! E.g.: . xttitleprompt
Dec 13  2011 cvsvimdiff will check out a temporary revision(s) of <filename> and do a vimdiff...
Dec 13  2011 jsh Joey's shellscript library/environment system thingy has two main components:
Dec 10  2011 fbdesk_generate [Not yet in CVS] ???
Dec 10  2011 betterhugs [Not yet in CVS] ???
Dec  9  2011 dirhistory ???
Dec  3  2011 dump_audio_from ## Uses mplayer to extract a wav/pcm file from the video/audio file.
Dec  3  2011 convert_to_mp3 ???
Nov 22  2011 xtermopts ######################
Nov 22  2011 wmctrl_restore_positions ???
Nov 21  2011 xttitle ## FAILED EXPERIMENT:
Nov 12  2011 extract_marked_clips_from_vide
.............o
???
Nov  5  2011 expandsymlinks ## Undoes contractsymlinks.
Nov  5  2011 contractsymlinks ## Collects all symlinks in the current directory tree into a single text file, and deletes them.
Nov  4  2011 testhwisservices #### TODO TODO What about all those other address: eg. open-lists.net!
Nov  4  2011 striphtml ???
Nov  4  2011 drop Skips N lines from the front of a stream.
Nov  4  2011 chop ## See also: tail -n +5
Nov  4  2011 cvsreplaceserver ???
Nov  4  2011 autocomplete_from_man ## BIGGEST TODO: Some of the most obvious commands, eg. cd (which defaults to dirs only),
Nov  4  2011 ppp-updateip #### I have disabled ppp-updateip because I cannot accept incoming requests.
Nov  2  2011 wmctrl_emulate_fluxbox_command
.............
## Multiple switch requests have a tendency to undo each other if performed too
Oct 30  2011 ppp-getip ## See also: ip route
Oct 27  2011 open_last_vim_session [!] ???
Oct 26  2011 list_vim_sessions [!] ???
Oct 25  2011 bigwin ## Based on xtermsh
Oct 24  2011 load_desktop ???
Oct 24  2011 wmctrl_restore_all ## Raises all minimized windows
Oct 24  2011 japt-build ## I think something here is wrong: the package gets labeled i386 although it's compiled for a k6! But if I change the DEBIANARCH then the final package refuses to install on my system!
Oct 23  2011 cursegrey ???
Oct 19  2011 require_exes ## Source me from a bash-shebanged script (will not work from an sh-shebanged script)
Oct 16  2011 getvideoduration ## Outputs seconds as a decimal
Oct 16  2011 getvideoresolution ???
Oct 11  2011 locate ## BUG: tty checks stdin, not out :S
Oct  9  2011 reencode_video_two_pass will reencode the video using transcode (which is sometimes able to retain
Oct  9  2011 convert_audio_to_video ## With some help from http://wiki.multimedia.cx/index.php?title=MPlayer_FAQ#Mencoder_questions
Oct  2  2011 apachelistuploads ## Well, this actually lists files currently opened for reading by apache:
Sep 27  2011 requirevars ## Source me from a bash-shebanged script (will not work from an sh-shebanged script)
Sep  4  2011 resolvevimswapfiles [!] ???
Sep  4  2011 swap_caps_ctrl ???
Sep  3  2011 errorexit ## This script should be sourced. It will print the error message you provide (if using bash but not always with sh), then exit the current shell with exit code 1.
Sep  3  2011 compilejshscript Will compile all the dependencies of a jsh script into one standalone script.
Sep  3  2011 sortpathsbylastdirname ???
Aug  7  2011 lscolsinit ## Load pretty colors for ls into the shell. Source me!
Aug  3  2011 et ## wtf is -f for? Who uses -f ?!
Jul 29  2011 linkhome links Joey's rc scripts from /home/joey/j//code/home to your own homedir /home/joey/linux
Jul 28  2011 listopenfiles will list all files the process currently has opened for reading or writing.
Jul 20  2011 deprecated Reports that we are using some deprecated code, and performs a workaround.
Jul 19  2011 makebackup TODO: storage_dir must be absolute to work, but I should change that!
Jul 19  2011 fixpermissions ## Default behaviour with no arguments:
Jul 19  2011 jshsuggest ???
Jul 19  2011 finishmove ## The problem with all these "removing duplicates" scripts is verify whether or not the file is the same actual file.
Jul 19  2011 makealljshdocs ## Added shebang to see if it helps processing at all.
Jul 18  2011 dropcols ## See also: colrm (No that treats each char as a column)
Jul 16  2011 listopenports ???
Jun 30  2011 pipeboth ## Takes input on stdin (stdout), echos output on both stdout and stderr
Jun 26  2011 sql_string_escape [!] ## I escaped ' but it failed!
Jun 26  2011 whatisaccessing ???
Jun 26  2011 screen ## screen (this script) with no args should only be interactive when run
Jun 25  2011 languagegenerator [!] ???
Jun 25  2011 vimkeepdate ???
Jun 21  2011 reencode_video_simple ## Couldn't open codec mp2, br=224
Jun 16  2011 linkcurrentsongfor [Not yet in CVS] ???
Jun 16  2011 whatsblockingaudio ???
Jun 16  2011 reencode_video_three_pass will reencode a video using mplayer's mencoder.
Jun 14  2011 jgettmp ## WARNING: with /bin/sh -> dash these scripts forkbomb!
Jun  9  2011 some_crazy_tricks_with_bash4 [Not yet in CVS] ???
Jun  8  2011 visualise_dates [!] ???
Jun  8  2011 generate_fontlist_html ???
Jun  6  2011 rip_realplayer ## BBC news: http://www.bbc.co.uk/newsa/n5ctrl/tvseq/bb_news_ost.ram
May 14  2011 wikipedia ???
May 13  2011 jwatchcomp ## Default behaviour is to display dropped lines in red, and new lines in white
May 12  2011 escapenewlines '\'s and '
May 11  2011 locateonly ???
May 11  2011 higrep Like grep, but highlights occurrences of the regexp in a random colour.
May  9  2011 updatejsh ## BUG: In the past I have sometimes had problems failing to rebuild the links.
May  7  2011 ssh-send-key ???
May  7  2011 shape_traffic [Not yet in CVS] ???
May  7  2011 nyx [Not yet in CVS] ???
May  5  2011 undelext3 ???
May  5  2011 undelext2 ???
May  5  2011 undelext1 ???
Apr 13  2011 assert ???
Apr 11  2011 top ## well we want to unexport it cos jsh exports it (useful for some apps, but not top, if you change term size whilst it's running)
Apr  9  2011 isatty ## Returns 0 if stdout is to a terminal (pts or tty),
Apr  7  2011 jwatchchanges will repeatedly run <command>, displaying its output with changes highlighted.
Mar 20  2011 utdep [Not yet in CVS] ???
Feb 27  2011 amaroklookup [!] ???
Feb 12  2011 googlesearch ## TODO: See seeklyrics syntax. We should surround each argument passed with ""s in the google query, or %whatevers.
Feb 12  2011 links ???
Feb 12  2011 seeklyrics ## TODO: use of TMPDIR is dodgy! (to save dependency hugeness?)
Feb 12  2011 findlyrics ## This script has been superceded by: seeklyrics
Jan  5  2011 imagesize ???
Jan  5  2011 imageinfo ???
Dec 13  2010 edit ## When edit is used in a GUI, e.g. called from the browser, then we should not
Dec 13  2010 removeduplicatelines reads from stdin or <files>, removes duplicate lines, and echos to stdout.
Dec  6  2010 selfmemo ## No shebang. I should be sourced from bash (or perhaps zsh) but not POSIX sh (fails with dash - the args are not passed when sourcing).
Dec  1  2010 getxwindimensions ???
Nov 28  2010 jshquestion ## Usage: jshquestion "What is your name ["anon"/your name] ? "
Nov 27  2010 leastusedpkgs ## For now:
Nov 25  2010 search_for_non_posix_scripppts
.............
[Not yet in CVS] ## TODO: We need to do these three for all non-.sh scripts!
Nov 25  2010 explore ## explore: given a path or url, opens up the user's favourite file manager, or browser if neccessary
Nov 19  2010 droplonglines ## Strip lines longer than 240 chars from the output
Nov 14  2010 hwipromptforbash ## TODO WARNING: This can often get ignored because xttitleprompt is in operation.
Nov 11  2010 unescapenewlines ## In fact, for decoding a newline-escaped stream, tr -d '\n' should never be harmful, so the -x option needn't really be specified, it could be assumed. (But if it is going to be sent, the -x should be caught!)
Nov  1  2010 deletecurrentsong [Not yet in CVS] ???
Oct 20  2010 bookmarks ## Returns you a long list of URLs from all your browsers,
Oct 20  2010 makeshfunction ## makeshfunction `find ~/j/code/shellscript -type f | grep -v /CVS/ | grep -v "\.hs" | grep -v "\.c" | grep -v "\.swp" | grep -v "\.txt$"` > allj.sh
Oct 20  2010 hakpak Usage:
Oct 20  2010 revsshclient ## Note - this script shares files with the revssh CGI script.
Oct 20  2010 onchangecom ???
Oct 20  2010 fakelshi ???
Oct 20  2010 preventgreperrs ## Avoid "cannot grep directory" errors:
Oct 20  2010 linktree ## Unlike linkhome (and stow), never links to dirs, always creates its own full dir tree.
Oct 20  2010 grepboth [!] ???
Oct 17  2010 faster_jsh_colors.init ???
Oct 14  2010 toline ## Streams standard in to standard out, until given awk regexp is reached (inclusive).
Oct 14  2010 takeline ## See also: getline (better+faster with sed)
Oct 14  2010 sortbydirdepth ???
Oct 14  2010 scripts_which_override_existin
.............g
## See listoverrides
Oct 14  2010 fromline ## TODO: it appears that awk has a limited line length (webscraping FlyBMI)
Oct 14  2010 find-typef_avoiding_stale_hand
.............le_error
Like find "$1" -type f, but does not bomb when encountering "Stale NFS file handle"
Oct 14  2010 find_breadth_first [Not yet in CVS] ???
Oct 14  2010 findaged ???
Oct 14  2010 extractregex ## lool, 7/4/05: See grep -o !!
Oct 14  2010 countcharsinline ## Give or take a few characters ... !
Oct 14  2010 cdrwblank ## Blank a RW cd quickly or fully.
Oct 14  2010 cdburniso ## driveropts=burnfree was suggested one time, but made no different on my drive
Oct 14  2010 plotfilesbydate [!] ## TODO:
Oct 14  2010 notify [Not yet in CVS] ???
Oct 14  2010 md5sum ???
Oct 14  2010 ls-Rtofilelist The option -l will process ls -lR input.
Oct 14  2010 expandthreedots ## Converts: .../hello/../goodbye/..../end (win9x+)
Oct 14  2010 error ???
Oct 14  2010 cdwritetracks ## Yes I'm afraid this script is still broken (at least, I still get double-speed audio when I burn a CD) :-(
Oct 14  2010 cdwritefiles ## Find your CD_DEVICE with: cdrecord [ dev=ATAPI ] -scanbus
Oct 14  2010 cdwritecue [Not yet in CVS] ???
Oct 14  2010 cdlinkout [Not yet in CVS] ???
Oct 14  2010 cdinf [Not yet in CVS] ???
Oct 14  2010 cdcksum ## ls preferable to find because former gives physical order, latter alphabetical
Oct 14  2010 write [Not yet in CVS] ???
Oct 14  2010 striptermchars ## Removes all special terminal characters from stream
Oct 14  2010 realpath ???
Oct 14  2010 mountpoint [Not yet in CVS] ???
Oct 14  2010 madplay ## TODO: migrate to options:
Oct 14  2010 jmadplay [Not yet in CVS] ## TODO: migrate to options:
Oct 14  2010 inscreendo will either create or rejoin the named screen, and run the new command in it.
Oct 14  2010 fakeinit ???
Oct 14  2010 winmx [!] ## Don't turn them back on, because wine will just end up recalculating font metrics (forever) later.
Oct 14  2010 listoldpackages [Not yet in CVS] ???
Oct 14  2010 jtag ???
Oct 14  2010 jhelp ???
Oct 14  2010 find_unused_packages ## Attempts to calculate the "last-used" date of packages on your Debian system,
Oct 14  2010 cygpkgsizes ???
Oct 14  2010 apt-quick-description [Not yet in CVS] ???
Oct 14  2010 aptpkgurl ## This is much quicker than apt-get, but of course it doesn't resolve dependencies.
Oct 14  2010 apt-get-security ???
Oct 14  2010 xpdf ???
Oct 14  2010 shell_config [Not yet in CVS] ## Make a really nice menu / wizard / options / config / script installation tool, which lets the user select which parts of jsh they want.
Oct 14  2010 setup_common_vars [Not yet in CVS] ## Actually, it just ensures that they are set.
Oct 14  2010 perltrace ???
Oct 14  2010 makedebugtooldir ## TODO
Oct 14  2010 evolution ## My evolution and eclipse look much nicer once my gnome fonts have been loaded:
Oct 14  2010 peekevolutioncalendar ???
Oct 14  2010 oaf-slay ## TODO: check with mykillps ; I think lines were truncated; do we need env COLUMNS=huge ?
Oct 14  2010 mutt ## This script checks folder size/date before and after running mutt.
Oct 14  2010 jshupdateallcvs ???
Oct 14  2010 ircbot [Not yet in CVS] ???
Oct 14  2010 figletall ???
Oct 14  2010 vimdiff ???
Oct 14  2010 totallocate [Not yet in CVS] ???
Oct 14  2010 prettytail ## NOTE: When joeysaliases aliased tail=prettytail, it caused sourced scripts from user shell problems: eg. b.zsh used tail (->prettytail) but now uses 'tail'
Oct 14  2010 plotdf ???
Oct 14  2010 onchange-simple ???
Oct 14  2010 newircuser [Not yet in CVS] ## TODO: allow server and channel name, for temporary anonymous IRC connection
Oct 14  2010 monitorhdflow ## This old method is useless
Oct 14  2010 logdf ???
Oct 14  2010 encryptdir ## If you do not yet have a public/private key pair, run: gpg --gen-key
Oct 14  2010 decryptdir ???
Oct 14  2010 xtermbg ???
Oct 14  2010 whitewin ## Unlike newwin, this allows option passing to xterm, so for execution, -e <com> is required.
Oct 14  2010 vio ## Redundant; use vim -
Oct 14  2010 su [Not yet in CVS] ## Jsh likes to clear its environment before su-ing
Oct 14  2010 startx ## Occasionally (in emergencies) I startx from within a screen.
Oct 14  2010 sshz ???
Oct 14  2010 remount ???
Oct 14  2010 nohup ???
Oct 14  2010 locateword ???
Oct 14  2010 cksum ## cksum caching, re-checked when file is newer than cached cksum
Oct 14  2010 psbranch ???
Oct 14  2010 lsd ???
Oct 14  2010 jwhere ???
Oct 14  2010 jinfo ## Colours don't work!
Oct 14  2010 jindent ???
Oct 14  2010 jfind ???
Oct 14  2010 infcat ???
Oct 14  2010 galeon ## Even without the crashfile removal, Galeon sometimes starts a new session instead of joining an existing one (notably when run from Evolution, different env because started from panel?)
Oct 14  2010 panel ???
Oct 14  2010 nickwindowsfonts ???
Oct 14  2010 nickmsfonts ## BBLUG suggests:
Oct 14  2010 jcedict ???
Oct 14  2010 findchinesecharacters ???
Oct 14  2010 dush ???
Oct 14  2010 dfh ???
Oct 14  2010 chinesedictionary where g means use GB dictionary,
Oct 14  2010 cedicthtml ???
Oct 14  2010 cedictbatchlookup ???
Oct 14  2010 tarxfzwithprogress ???
Oct 14  2010 tarxfz ???
Oct 14  2010 tarcfzwithprogress ???
Oct 14  2010 tarcfz ???
Oct 14  2010 takesomescreenshots ???
Oct 14  2010 randomxscreensaver ## Problems:
Oct 14  2010 openzipwith ???
Oct 14  2010 jxsetbg ## xsetbg is faster, but sometimes poor aspect for tall pictures, and doesn't support bmp
Oct 14  2010 friendly_wm_chooser [Not yet in CVS] ???
Oct 14  2010 findfileinzips ???
Oct 14  2010 xtermsh ???
Oct 14  2010 xtermindir ???
Oct 14  2010 vlox ???
Oct 14  2010 testallfonts ## I used this script to find out which of my fonts was causing X to crash.
Oct 14  2010 sodallfonts ???
Oct 14  2010 sloppypaste ???
Oct 14  2010 sloppycopy ## An alternative to scp, sloppycopy and sloppypaste allow you to transfer (small) files via two open xterms and unix copy/paste
Oct 14  2010 runacommand ## Provides functionality like F2 in KDE and Gnome.
Oct 14  2010 kdelight ## startkde is slow and worst of all it keeps its loading banner on top of other windows even when they become usable.
Oct 14  2010 ionhelp [Not yet in CVS] ???
Oct 14  2010 ion [Not yet in CVS] ???
Oct 14  2010 hugewin ## Rubbish atm
Oct 14  2010 clipboard ???
Oct 14  2010 vnc ## Still too high for Boris:
Oct 14  2010 viinxterm ???
Oct 14  2010 startgnome ???
Oct 14  2010 noescape ???
Oct 14  2010 lynx ???
Oct 14  2010 lox ???
Oct 14  2010 jxplanet ???
Oct 14  2010 jw ## Sorts output of w by idle time.
Oct 14  2010 ion+panel ???
Oct 14  2010 hix ???
Oct 14  2010 changewm ???
Oct 14  2010 wgetpostfix ???
Oct 14  2010 watchwebpages Gets each web page in the list of urls, and compares it to the previous copy.
Oct 14  2010 translate [Not yet in CVS] ## By jynxzero
Oct 14  2010 quickmirror [Not yet in CVS] ## -k converts for local vieweing, but also means repeat calls will re-download the file!
Oct 14  2010 mkindex.html.sh ???
Oct 14  2010 jmake ???
Oct 14  2010 httpclient http_do [ -post ] <url>
Oct 14  2010 fromhtml ???
Oct 14  2010 findqt ???
Oct 14  2010 extracturls ## The final '+' (instead of '*') in each expression means we won't match the empty url "xyz://".
Oct 14  2010 catch ???
Oct 14  2010 ztee [Not yet in CVS] ???
Oct 14  2010 sourceforgesearch ???
Oct 14  2010 removefrompath [Not yet in CVS] ???
Oct 14  2010 openofficezip ???
Oct 14  2010 openofficeunzip ## Note: sed only really desirable if OOffice XML compression is on (default)
Oct 14  2010 nicels ???
Oct 14  2010 mkdirandmv ## BUG TODO: If second arg is a non-existent directory, it moves the file to that name rather than creating a folder and moving the file into it!
Oct 14  2010 mirrorhwi ???
Oct 14  2010 freshmeatsearch ???
Oct 14  2010 fastestftp ???
Oct 14  2010 fastestfilesearch ???
Oct 14  2010 ddshowbytes [Not yet in CVS] ???
Oct 14  2010 xtermorhere ???
Oct 14  2010 watchtex ???
Oct 14  2010 texfindimgs ???
Oct 14  2010 texdiff ???
Oct 14  2010 tex2eps ???
Oct 14  2010 splicewith ???
Oct 14  2010 shortsleep [Not yet in CVS] ## Lol. This script probably takes longer than a second to run on slow systems!
Oct 14  2010 includepath ## TODO: maybe rename or alias it to "addroot", to re-use chroot terminology.
Oct 14  2010 getuniquefile ???
Oct 14  2010 dirnames ???
Oct 14  2010 awkdrop ???
Oct 14  2010 stringinstring [Not yet in CVS] ## Ripped from morphix-start
Oct 14  2010 requestsudo ???