geek rescue kit Code
Brought to you by:
ctaf
File | Date | Author | Commit |
---|---|---|---|
bin | 2008-09-30 | ctaf | [r290] - re-enable correct xsession installation |
etc | 2009-01-22 | ctaf | [r298] template for hpp |
gtk-ctafconf | 2008-08-03 | ctaf | [r283] added template for gtk-ctafconf |
test | 2008-03-29 | ctaf | [r272] some change in ct-git |
AUTHORS | 2007-04-06 | ctaf | [r169] |
ChangeLog | 2009-01-22 | ctaf | [r298] template for hpp |
README | 2008-02-10 | ctaf | [r221] loads of change |
README.DEVEL | 2006-05-20 | ctaf | [r106] |
TODO | 2008-10-06 | ctaf | [r293] fluxbox/xsession tweak |
VERSION | 2008-10-06 | ctaf | [r293] fluxbox/xsession tweak |
=========================================================== =========================================================== ########################GUIDELINE########################## =========================================================== =========================================================== =========================================================== FILES AND FOLDERS: =========================================================== - all files in .ctafconf/etc must be static (user should not edit them, program should not add file into) - all binary files should be in .ctafconf/bin - all files in .ctafconf/perso must not be overwritten and are user specific .ctafconf root directory .ctafconf/etc contain all configuration files .ctafconf/bin ct-profile, ct-installconf, ctssh, ctrepo, ... .ctafconf/perso user specific configuration files .ctafconf/perso/bin user binary .ctafconf/perso/semantic semantic cache file (for emacs, when cedet is installed) .ctafconf/perso/previous all file replaced by the ctafconf .ctafconf/perso/wallpaper user wallpaper (ct-add-wallpaper to add one) =========================================================== SHELL POSIX: =========================================================== ###################### Global advise: - always quote string and variable to avoid problem with string containing space - use shell lib - $(( 1 + 2 )) dont work on sun (jsh), use expr - $(( 077 )) = 63 ###################### --shell lib ssft.sh : interface for zenity, kdialog, dialog or read shelltools.sh : portable function between bash,ksh,tcsh, and zsh set_env, set_var, null_which (which without output), ... xsession.sh : delay application launching grktools.sh : file operation tools, copyfile, linkfile, restorefile make file operation with backup, usefull for installation ###################### --sh---- (ksh, zsh, bash) #syntax if cmp -s $SRCFILE $FILE; then fi export al=val alias al=val var=val source #catch a signal _trap_kill () { exit 0 } trap _trap_kill INT #KILL EXIT QUIT INT TERM #exit from sourced or standalone script #sourced or standalone return 2>/dev/null exit ###################### --tcsh-- #syntax if ( -x file ) echo cool setenv al val alias al val set var val =========================================================== MINE: =========================================================== all .mine should be in etc/mine they should contains configuration user can tweak =========================================================== PACKAGE: =========================================================== all .grk should be in etc/ they contains installation instruction for a package current variable/functions to define are (replace pkgname with the name of the file): pkgname_name='name of the package' (usefull??) #description of the package pkgname_description #is this package installed? #0 = installed #1 = not installed pkgname_is_installed #install this package is pkgname_is_installed return "not installed" #0 = installed #1 = not installed pkgname_install #uninstall file installed with pkgname_install pkgname_uninstall #this function is always called when you call ct-installconf #dont affected by pkgname_uninstall #put all .mine there, and stuff for upgrade pkgname_alwaysinstall =========================================================== CUSTOM VAR: =========================================================== ctafconf (user-profile): - wm - wallpaper - config - interface - sudo (ct-sudo) defaultapp (for menus): - webnavigator - mailclient shell (shell-profile): - zshprompt - email - name - proxy - pager - editor - screen at startup - host to ban (restricted host) fluxbox: - style (init file) e16: - style emacs (emacs-profile): - size - ilisp - cedet - ecb - doxy - ... ct-ssh/ct-repo: ssh_gate --- - ct-profile edit *.ctprofile , each .ctprofile describe : - variable - the output file - the output method (sh, emacs, csh, ..) - ct-profile arg: - askall - test if var are def var_type (yesno, singlechoice, multichoice, text) var_separator #defined by the type var_value (value separate by separator) var_description var_file (needed?) var_type (emacs,csh,sh) =========================================================== KEYBOARD: =========================================================== ctrl+alt+m : toggle maximize ctrl+alt+t : toggle decoration ctrl+alt+c : close ctrl+alt+k : kill ctrl+alt+f : toggle fullscreen alt+f1 : switch to desktop 1 alt+f2 : switch to desktop 2 alt+f3 : switch to desktop 3 alt+f4 : switch to desktop 4 alt+click gauche : move alt+click droit : resize =========================================================== EMACS: =========================================================== emacs : global configuration file bindings.emacs : global keybindings misc.emacs : not very usefull think settings.emacs : emacs settings color.emacs : emacs color theme functions.emacs : emacs functions mode.emacs : autoload mode menu.emacs : emacs menu prog.emacs : specific think for programmation startup.emacs : startup message and help