unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* how to click on file in file manager and have gnuclientw open it up
@ 2007-03-02  1:10 William M. Grove
  2007-03-02 16:04 ` weber
  2007-03-02 21:48 ` james
  0 siblings, 2 replies; 3+ messages in thread
From: William M. Grove @ 2007-03-02  1:10 UTC (permalink / raw)
  To: help-gnu-emacs

I use Explorer and other file manager programs (Directory Opus, 
Powerdesk) to browse directory trees in WinXP.  I have associated 
certain file types (e.g., *.r files) with gnuclientw.exe in Windows.  
When I click on an *.r file, gnuclientw starts up and opens a window, 
but the contents of the window are blank (or they show the last file I 
edited in emacs, if I didn't close it out before exiting emacs)---emacs 
doesn't show my the *.r file I clicked on, the way other editing 
programs for Windows will do if they are associated with that file type.  
How can I fix this?  It's tedious to have to start up gnuclientw.exe (or 
runemacs.exe), then use File | Open | etc. to browse down through the 
directory tree to the file's location and open it, or even just do Ctrl-
f and type in the whole path to visit the file in question.

Here is my .emacs file, which tries to start gnuserv.exe up so 
gnuclientw.exe and it are in client-server relationship.  Alas, the 
arrangement isn't working---gnuserv isn't showing up in Task Manager.  I 
am guessing this problem has something to do with my "file clicked on 
doesn't show up in emacs window" problem.

****************** start of .emacs file ********************
;;File:       GROVE-HOME//~/.emacs
;;Author:     William M. Grove
;;Email:      grove001@umn.edu
;;last mod.:  04.06.2005 20:59

(setq debug-on-error t) ; this way no mystery derailments

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                        S T A R T U P
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Don't show splash screen
(setq inhibit-startup-message t)

(message "Loading .emacs")

;; Hundreds of times the default value.  This significantly speeds 
;;    up startup and operations for my computer without crashes
(setq gc-cons-threshold 50000000)

;; set up minibuffer size & location
(setq initial-frame-alist '((minibuffer . t) (name . "William M. Grove") 
(width . 100) (height . 35) (left . 5) (top . 5)))
(setq default-frame-alist '((minibuffer . t) (menu-bar-lines . 1) 
(width. 75) (height . 23)))

;; Set titles for main frame and icon (%f == file name, 
;;    %b == buffer name)
(setq-default frame-title-format (list "Emacs: %f"))
(setq-default icon-title-format "Emacs - %b")

;; location of initial frame
(set-frame-position (selected-frame) 0 0)

;; size of initial frame
(if (window-at 0 0)
    (let ((init-frame (window-frame (window-at 0 0))))
          (set-frame-height init-frame 74)
        (set-frame-width  init-frame 180) )
)

;; Make all "yes or no" prompts show "y or n" instead
(fset 'yes-or-no-p 'y-or-n-p)

(setq my-author-name (getenv "USER"))
(setq user-full-name (getenv "USER"))
(setq default-directory (getenv "HOME"))
;; Start off in user's home directory
(cd (getenv "HOME"))

;; Set my email address for whatever purpose
(setq user-mail-address "grove001@umn.edu")
;; add signature automagically
(setq mail-signature t)

;; Contents of mode line
(line-number-mode 1)
(setq column-number-mode t)
;; show current function
(which-func-mode t)                 

;;; Modeline stuff
(setq default-mode-line-format
      '("-"
;;     mode-line-mule-info
       mode-line-modified
       mode-line-frame-identification
       mode-line-buffer-identification
       "  "
       global-mode-string
       "   %[(" mode-name mode-line-process minor-mode-alist "%n" 
")%]--"
       (line-number-mode "L%l--")
       (column-number-mode "C%c--")
       (-3 . "%p")
       "-%-"))

(set-default 'truncate-lines t)
;; Even though we truncate long lines, I'd like to be able to see 
;;    what I'm missing
(require 'auto-show)
(auto-show-mode 1)
(setq-default auto-show-mode t)
;; Display time in mode line
(setq display-time-day-and-date t)
(display-time)

;; tabs, default color scheme
(setq default-tab-width 3)
(setq-default tab-stop-list; globally set tab stops default
   '(4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67
     70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118))
(defvar tabs-are-spaces nil
  "*If set, replace all tabs with equivalent spaces.  Automatically
buffer-local when set.")
(make-variable-buffer-local 'tabs-are-spaces)

;; Color theme
;; load before all the color stuff happens below
(load-library "color-theme")
(add-to-list 'color-themes '(color-theme-GaryF "GaryF" "Gary Fong 
<gwfong@hotmail.com>"))

;; If you want to have comments displayed in italics, uncomment the
;; following lines. Note that this must be done before font settings!
(setq w32-enable-italics t)
(make-face-italic 'font-lock-comment-face)

;; This loads file to highlight current line
;; Author:  Dave Love <fx@gnu.org>
(load "hl-line")
(setq hl-line-mode t)

;; Bookmarks
(setq bookmark-save-flag 1)

(setq completion-auto-help t)   ; I want as much help as I can get
(setq completion-auto-exit t)   ; Dont want to always hit return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                A B B R E V I A T I O N S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; In abbrev mode, inserting an abbreviation causes it to expand and 
;;    be replaced by its expansion
 (setq-default abbrev-mode t)
 (quietly-read-abbrev-file "~/.abbrev_defs")
 (setq save-abbrevs t)

; Reads in an abbrev file if it exists
; C-x a i g to create an abbrev
(if (file-exists-p abbrev-file-name)
    (read-abbrev-file))
    
;; Spaces rather than spaces+tabs
(setq unicon-indent-use-only-spaces t)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                    A U T O I N S E R T
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; directory with templates
(add-hook 'find-file-hooks 'auto-insert)
(load-library "autoinsert")
(setq auto-insert-directory "~/insert/")
;;; templates
(setq auto-insert-alist
      (append '((awk-mode     . "awk-insert.awk"))
      (append '((bat-mode     . "bat-insert.bat"))
      (append '((btm-mode     . "btm-insert.btm"))
      (append '((cmd-mode     . "cmd-insert.cmd"))
      (append '((fortran-mode . "fortran-insert.fortran"))
      (append '((f90-mode     . "f90-insert.f90"))
      (append '((LaTeX-mode   . "LaTeX-insert.LaTeX"))
      (append '((r-mode       . "r-insert.r"))
      (append '((s-mode       . "s-insert.s"))
      (append '((sas-mode     . "sas-insert.sas")))))))))))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                       C O L O R S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Give me colours in major editing modes

;; First set syntax highlighting, which uses color a lot
(require 'font-lock)
(global-font-lock-mode t)

;; Set the colors of the mode line
;(cond (window-system
;   (set-face-background 'modeline "yellow")
;   (set-face-foreground 'modeline "blue")
;))
;; Font-lock-mode affects colors of mode line, too
;(add-hook 'font-lock-mode-hook
;   '(lambda ()
;      (set-face-background 'modeline "Blue4")
;      (set-face-foreground 'modeline "Gold")
;      (set-face-foreground 'secondary-selection "red")
;      (set-face-background 'highlight "yellow")
;))

;; Set the wanted overall frame color style
;;(change-color-style default-color-style)

;; Background
(set-background-color "white smoke")

;; Override default text colours
(custom-set-faces
   '(font-lock-comment-face ((((class color)) (:foreground 
"firebrick"))))
  ;'(font-lock-comment-face ((((class color)) (:foreground "green4"))))
   '(region ((((class color)) (:background "wheat"))))
   '(highlight ((((class color)) (:background "green1"))))
   '(font-lock-string-face ((((class color)) (:foreground "green4"))))
   '(font-lock-keyword-face ((((class color)) (:foreground "orange"))))
   '(font-lock-type-face ((((class color)) (:foreground "blue"))))
   '(font-lock-variable-name-face ((((class color)) (:foreground 
"brown"))))
   '(font-lock-function-name-face ((((class color)) (:foreground "royal 
blue"))))
  ;'(font-lock-function-name-face ((((class color)) (:foreground 
"firebrick"))))
)

;;; Here are some color preferences.  I've spent a good deal of time
;;; adjusting color settings, trying to get it to look good and also be
;;; fairly easy to read. 
(setq default-frame-alist 
   (append default-frame-alist 
     ;'((foreground-color . "yellow")
     ;'((foreground-color . "green")
     ;'((foreground-color . "wheat")
      '((foreground-color . "black")
      '((background-color . "white smoke")
     ;'((cursor-color . "green3")))
      '((cursor-color . "blue"))))))

(set-face-foreground 'bold "yellow")
(set-face-background 'bold "grey40")

(set-face-foreground 'bold-italic "yellow green")
(set-face-foreground 'italic "yellow3")
(set-face-foreground 'region "white")
(set-face-background 'region "blue")
       
;; Load custom color theme if it exists
;(color-theme-emacs-21)
;(color-theme-subtle-blue)
;(color-theme-GaryF)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                    M I S C.    C O M M A N D S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; WoMan stuff for reading man pages in emacs
(autoload 'woman "woman" "Decode and browse a UN*X man page." t)
(autoload 'woman-find-file "woman"
  "Find, decode and browse a specific UN*X man-page file." t)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                          F A C E S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Faces
; (set-face-foreground 'region "black")
; (set-face-background 'highlight "CadetBlue")
; (set-face-background 'secondary-selection "MediumSeaGreen")

;; New faces
(defvar font-lock-number-face 'font-lock-number-face)
(defvar font-lock-hexnumber-face 'font-lock-hexnumber-face)
(defvar font-lock-floatnumber-face 'font-lock-floatnumber-face)
(defvar font-lock-keys-face 'font-lock-keys-face)
(defvar font-lock-qt-face 'font-lock-qt-face)

(defface font-lock-number-face
  '(
    (((class grayscale) (background light)) (:foreground 
"LightGray" :bold t))
    (((class grayscale) (background dark)) (:foreground "DimGray" :bold 
t))
    (((class color) (background light)) (:background "hotpink"))
    (((class color) (background dark)) (:foreground "black" :background 
"hotpink"))
    (t (:italic t)))
  "blah"
  :group 'font-lock-highlighting-faces)

(defface font-lock-hexnumber-face
  '(
    (((class grayscale) (background light)) (:foreground 
"LightGray" :bold t))
    (((class grayscale) (background dark)) (:foreground "DimGray" :bold 
t))
    (((class color) (background light)) (:background "darkblue"))
    (((class color) (background dark)) (:foreground "black" :background 
"darkblue"))
    (t (:italic t)))
  "blah"
  :group 'font-lock-highlighting-faces)

(defface font-lock-floatnumber-face
  '(
    (((class grayscale) (background light)) (:foreground 
"LightGray" :bold t))
    (((class grayscale) (background dark)) (:foreground "DimGray" :bold 
t))
    (((class color) (background light)) (:background "darkgreen"))
    (((class color) (background dark)) (:foreground "black" :background 
"darkgreen"))
    (t (:italic t)))
  "blah"
  :group 'font-lock-highlighting-faces)

(defface font-lock-keys-face
  '(
    (((class grayscale) (background light)) (:foreground 
"LightGray" :bold t))
    (((class grayscale) (background dark)) (:foreground "DimGray" :bold 
t))
    (((class color) (background light)) (:background "yellow"))
    (((class color) (background dark)) (:foreground "black" :background 
"yellow"))
    (t (:italic t)))
  "blah"
  :group 'font-lock-highlighting-faces)

(defface font-lock-qt-face
  '(
    (((class grayscale) (background light)) (:foreground 
"LightGray" :bold t))
    (((class grayscale) (background dark)) (:foreground "DimGray" :bold 
t))
    (((class color) (background light)) (:background "brown"))
    (((class color) (background dark)) (:foreground "green" :background 
"brown"))
    (t (:italic t)))
  "blah"
  :group 'font-lock-highlighting-faces)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                      F U N C T I O N S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; ASCII table function
(defun ascii-table ()
  "Print the ascii table. Based on a defun by Alex Schroeder 
<asc@bsiag.com>"
  (interactive)  (switch-to-buffer "*ASCII*")  (erase-buffer)
  (insert (format "ASCII characters up to number %d.\n" 254))  (let ((i 
0))
    (while (< i 254)      (setq i (+ i 1))
      (insert (format "%4d %c\n" i i))))  (beginning-of-buffer))

;; make-comment-italic
(defun make-comment-italic ()
  (interactive "*")
  (make-face-italic 'font-lock-comment-face))

;; make-comment-unitalic
(defun make-comment-unitalic ()
  (interactive "*")
  (make-face-unitalic 'font-lock-comment-face))

;; make-comment-invisible
(defun make-comment-invisible ()
  (interactive "*")
  (custom-set-faces
 '(font-lock-comment-face ((((class color)) (:foreground "white"))))))

;; make-comment-visible
(defun make-comment-visible ()
  (interactive "*")
  (custom-set-faces
 '(font-lock-comment-face ((((class color)) (:foreground "green4"))))))

;; make-comment-red
(defun make-comment-red ()
  (interactive "*")
  (custom-set-faces
 '(font-lock-comment-face ((((class color)) (:foreground "red3"))))))

(defun wrap-all-lines ()
  "Enable line wrapping"
  (interactive) ;this makes the function a command too
  (set-default 'truncate-lines nil)
)

(defun open-dot-emacs ()
  "opening-dot-emacs"
  (interactive) ;this makes the function a command too
  (find-file "~/.emacs")
)

(defun open-dot-emacs ()
  "opening-dot-emacs"
  (interactive) ;this makes the function a command too
  (find-file "~/.emacs")
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                  K E Y    B I N D I N G S
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;(global-set-key [home] 'beginning-of-line)
;;(global-set-key [end] 'end-of-line)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;             B U F F E R / F I L E    H A N D L I N G
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; syntax highlighting (font-lock)
(cond (window-system
;;     (require 'font-lock-menu) 
       (setq font-lock-maximum-decoration t) 
       (global-font-lock-mode t)        
       (setq font-lock-support-mode 'lazy-lock-mode) 
       (setq font-lock-defer-on-scrolling nil) 
       (setq font-lock-defer-on-the-fly nil) 
       (setq lazy-lock-defer-time 0)         
       (setq lazy-lock-minimum-size 10240)   
       ))

;; Getting new features into Emacs: load and autoload
;; Emacs gets built with a lot of default functionality for commonly 
;;    used functions and modes, but sometimes there is a need to 
;;    load in external Emacs LISP code to do special things; most of 
;;    this is handled automatically by Emacs such that you will only 
;;    see the messages from it when a new feature is being added.  
;;    You can add autoloads in your .emacs for features which Emacs 
;;    hasn't provided though, such as whist.el and wconfig.el in 
;;    ~gnu/emacs/local, as in the following examples
(autoload 'whist "whist" "Add history entries to a file" t)
(autoload 'wconfig-ring-save "wconfig" "Store the current window 
config." t)
 
;; Loading should be done only for functions which you intend to use
;;    every time you run Emacs; since additional features use more 
;;    memory, take more time for Emacs to start-up and can slow down 
;;    the overall performance of the machine which Emacs is being 
;;    run on (if lots of features were added), it is better to use 
;;    autoload.  The following are loaded directly because of 
;;    actions they take when loaded.

;; recentf --- menu of recently visited files
(require 'recentf)
(recentf-mode 1)

;; This method of killing the current buffer, when bound to C-x C-c, 
;;    allows you to close an emacs frame the same way, whether it's 
;;    the sole window you have open, or whether it's a "child" frame 
;;    of a "parent" frame.  If you're like me, and use emacs in a 
;;    windowing environment, you probably have lots of frames open 
;;    at any given time.  Well, it's a pain to remember to do 
;;    Ctrl-x 5 0 to dispose of a child frame, and to remember to do 
;;    C-x C-x to close the main frame (and if you're not careful, 
;;    doing so will take all the child frames away with it).  This 
;;    is my solution to that:  an intelligent close-frame operation 
;;    that works in all cases (even in an emacs -nw session).  
(defun intelligent-close ()
  "quit a frame the same way no matter what kind of frame you are on"
  (interactive)
  (if (eq (car (visible-frame-list)) (selected-frame))
      ;;for parent/master frame...
      (if (> (length (visible-frame-list)) 1)
          ;;close a parent with children present
   (delete-frame (selected-frame))
        ;;close a parent with no children present
 (save-buffers-kill-emacs))
    ;;close a child frame
    (delete-frame (selected-frame)))
)

;; scrolling a buffer's frame just one line at a time
(setq scroll-step 1)

;; Alas, this next thing doesn't seem to work right now
(setq auto-save-directory (expand-file-name "~/autosaves/"))
(setq auto-save-interval 125)

;; Add Time-stamp <> or Time-stamp " " anywhere in the top 8 lines 
;;    of a file to insert save date and time and user:
(add-hook 'write-file-hooks 'time-stamp)
;; (add-hook 'server-visit-hook '(lambda ()
;;                                 (interactive)
;;                                 (yes-or-no-p "Hello there")))
(add-hook 'server-switch-hook 'make-frame-command)
;; (add-hook 'server-done-hook '(lambda ()
;;                                (interactive)
;;                                (if (is-buffer-a-client)
;;                                    (delete-frame))))
                                                      
;; add a comment character in front of all lines in the region
(defun ewd-comment-region (start end)
  "Add one comment character in front of all lines in the region."       
  (interactive "*r")                  
  (or comment-start (setq comment-start (read-input "Comment char?: ")))
  (ewd-prepend start end comment-start)
)
  
;; remove a comment character from in front of all lines in the region
(defun ewd-uncomment-region (start end)
  "Remove one comment character from in front of all lines in the 
region."
  (interactive "*r")                  
  (or comment-start (setq comment-start (read-input "Comment char?: ")))
  (ewd-unprepend start end comment-start)
)

(defun kill-buffer-and-window ()
  "Kill the current buffer and delete the selected window."
  (interactive)
  (let ((buffer (current-buffer)))
    (delete-window (selected-window))
    (kill-buffer buffer))
)

;; let split windows display different buffers
(defun split-window-switch-buffer () (interactive)
  "Split current window and display the two last buffers used."
  (split-window)
  (switch-to-buffer (other-buffer (current-buffer)))
)

(defun hsplit-window-switch-buffer () (interactive)
  "Split current window horizontally and display the two last buffers 
used."
  (split-window-horizontally)
  (switch-to-buffer (other-buffer (current-buffer)))
)

(defun kill-current-buffer ()
  "Kill the current buffer, without confirmation."
  (interactive)
  (kill-buffer (current-buffer))
)

(defun kill-buffer-other-window (arg)
  "Kill the buffer in the other window, and make the current buffer full 
size.  If no other window, kills current buffer."
  (interactive "p")
  (let ((buf (save-window-excursion
        (other-window arg)
        (current-buffer))))
    (delete-windows-on buf)
    (kill-buffer buf))
)

(defun kill-buffer-jump-other-window (arg)
  "Kill this buffer and jump to other window."
  (interactive "p")
    (other-window arg)
    (kill-buffer-other-window arg)
)

(fset 'scroll-cursor-to-top
   "\C-u1\C-l")

(defun Kill-Line ()
  "Kills the whole line under cursor"
  (interactive)
  (beginning-of-line)
  (kill-line)
)

;;begin buffer-switching methods, which I bind to Ctrl-TAB and 
;;   Ctrl-Shift-TAB
;; ------------------------------------------------------------------
;;     Original yic-buffer.el
;;     From: choo@cs.yale.edu (young-il choo)
;;     Date: 7 Aug 90 23:39:19 GMT
;;
;;     Modified 
;; ------------------------------------------------------------------

(defun yic-ignore (str)
  (or
   ;;buffers I don't want to switch to 
   (string-match "\\*Buffer List\\*" str)
   (string-match "^TAGS" str)
   (string-match "^\\*Messages\\*$" str)
   (string-match "^\\*Completions\\*$" str)
   (string-match "^ " str)

   ;; Test to see if the window is visible on an existing visible 
   ;;    frame.  Because I can always ALT-TAB to that visible frame, 
   ;;    I never want to Ctrl-TAB to that buffer in the current 
   ;;    frame.  That would cause a duplicate top-level buffer 
   ;;    inside two frames.
(memq str                
      (mapcar 
       (lambda (x) 
         (buffer-name 
          (window-buffer 
           (frame-selected-window x))))
       (visible-frame-list))))
)

(defun yic-next (ls)
  "Switch to next buffer in ls skipping unwanted ones."
  (let* ((ptr ls)
         bf bn go
         )
    (while (and ptr (null go))
      (setq bf (car ptr)  bn (buffer-name bf))
      (if (null (yic-ignore bn))        ;skip over
   (setq go bf)
        (setq ptr (cdr ptr))
        )
      )
    (if go
        (switch-to-buffer go)))
)

(defun yic-prev-buffer ()
  "Switch to previous buffer in current window."
  (interactive)
  (yic-next (reverse (buffer-list)))
)

(defun yic-next-buffer ()
  "Switch to the other buffer (2nd in list-buffer) in current window."
  (interactive)
  (bury-buffer (current-buffer))
  (yic-next (buffer-list))
)
;; end of yic buffer-switching methods

(autoload 'goto-last-buffer "goto-last-buffer" nil t)
(global-set-key [(control c) (b)] 'goto-last-buffer)
(global-set-key [(control c) (B)] 'buffer-menu)

;; Make region visible (only up to next operation on it)
(setq transient-mark-mode t)

;; Filename case-sensitivity.  For Windows systems only
(if (eq system-type 'windows-nt)
    (setq w32-downcase-file-names t)
)

;; Convert DOS cr-lf to UNIX newline
(defun dos-unix () (interactive) (goto-char (point-min))
  (while (search-forward "\r" nil t) (replace-match "")))

;; Convert UNIX newline to DOS cr-lf
(defun unix-dos () (interactive) (goto-char (point-min))
  (while (search-forward "\n" nil t) (replace-match "\r\n"))
)

;; Insert date into buffer
(defun insert-date ()
  "Insert date at point."
  (interactive)
  (insert (format-time-string "%A, %B %e, %Y %k:%M:%S %z"))
)

;; some programs require this, few if any of mine are bothered by it
(setq require-final-newline t)

;;;;; rect-mark ;;;;;
;; Support for marking a rectangle of text with highlighting (rect-
mark.el).
; Only needed for emacs - xemacs has something similar built in.
; ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/
(if (boundp 'running-xemacs)
 ; Just bind mouse rectangle select similarly to rect-mark.el on GNU 
Emacs.
 ; Note you can't show a rectangular region during keyboard select -
 ; only during mouse select.
    (progn
      (global-set-key [(shift button1)] 'mouse-track-do-rectangle)
      (global-set-key (kbd "C-x r C-SPC") 'set-mark-command)
      (global-set-key (kbd "C-x r C-x") 'exchange-point-and-mark)
      (global-set-key (kbd "C-x r C-w") 'kill-rectangle)
      )
  ;(else GNU Emacs
  (progn
    (global-set-key (kbd "C-x r C-SPC") 'rm-set-mark)
    (global-set-key (kbd "C-x r C-x") 'rm-exchange-point-and-mark)
    (global-set-key (kbd "C-x r C-w") 'rm-kill-region)
    (global-set-key (kbd "C-x r M-w") 'rm-kill-ring-save)
    ;<shift>-<mouse button 1> now does a rectangular mark.
    (global-set-key [(shift down-mouse-1)] 'rm-mouse-drag-region)
    (autoload 'rm-set-mark "rect-mark"
      "Set mark for rectangle." t)
    (autoload 'rm-exchange-point-and-mark "rect-mark"
      "Exchange point and mark for rectangle." t)
    (autoload 'rm-kill-region "rect-mark"
      "Kill a rectangular region and save it in the kill ring." t)
    (autoload 'rm-kill-ring-save "rect-mark"
      "Copy a rectangular region to the kill ring." t)
    (autoload 'rm-mouse-drag-region "rect-mark"
      "Drag out a rectangular region with the mouse." t)
    )
)

;; dealing with marking, yanking rectangular regions
;;(defun option-package-start-rect-mark ()
;;  (autoload 'rm-set-mark "rect-mark"
;;    "Set mark for rectangle." t)
;;  (autoload 'rm-exchange-point-and-mark "rect-mark"
;;    "Exchange point and mark for rectangle." t)
;;  (autoload 'rm-kill-region "rect-mark"
;;    "Kill a rectangular region and save it in the kill ring." t)
;;  (autoload 'rm-kill-ring-save "rect-mark"
;;    "Copy a rectangular region to the kill ring." t)
;;  (autoload 'rm-mouse-drag-region "rect-mark"
;;    "Drag out a rectangular region with the mouse." t)
;;  (option-enable-keys 'option-keys-rect-mark-alist)
;;)
;;(defun option-package-end-rect-mark ()
;;  (option-disable-keys 'option-keys-rect-mark-alist)
;;)

;;; session management
(require 'desktop)
(load "desktop")
(desktop-load-default)
(desktop-read)

;;; misc key bindings
(global-set-key [(alt g)] 'goto-line)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;        O U T P U T    O F    M - X    C U S T O M I Z E
;;    D O    N O T    E D I T    B E L O W    T H I S    L I N E
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 06/02/2005 1909
(custom-set-variables
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste 
it!
  ;; Your init file should contain only one such instance.
 '(abbrev-mode t)
 '(bookmark-save-flag 3)
 '(calculator-number-digits 6)
 '(case-fold-search t)
 '(current-language-environment "Latin-1")
 '(default-input-method "latin-1-prefix")
 '(explicit-shell-file-name "d:\\UWIN\\usr\\bin\\ksh.exe")
 '(global-font-lock-mode t nil (font-lock))
 '(global-hl-line-mode t nil (hl-line))
 '(hl-line-face (quote highlight))
 '(mouse-wheel-mode t nil (mwheel))
 '(msb-mode t nil (msb))
 '(only-global-abbrevs t)
 '(save-completions-retention-time 672)
 '(save-place t nil (saveplace))
 '(server-program "c:/emacs-21.3/bin/gnuserv.exe")
 '(sh-alias-alist (quote ((ksh . ksh93) (bash2 . bash) (sh5 . sh) 
(nil))))
 '(show-paren-mode t nil (paren))
 '(show-paren-ring-bell-on-mismatch t)
 '(show-paren-style (quote expression))
 '(tempo-insert-region t)
 '(tempo-interactive t))
(custom-set-faces
  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 )

;; -----------------------------------------------------------------
;; AUC TeX

;(add-to-list 'load-path "d:/emacs-21.3/site-lisp/auctex/")
(add-to-list 'Info-default-directory-list "d:/emacs-21.3/site-
lisp/auctex/doc/")
(load "tex-site") 

;; -----------------------------------------------------------------
;; Reftex activation (Reftex is included with Emacs 21.1)

(autoload 'reftex-mode     "reftex" "RefTeX Minor Mode" t)
(autoload 'turn-on-reftex  "reftex" "RefTeX Minor Mode" nil)
(autoload 'reftex-citation "reftex-cite" "Make citation" nil)
(autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)   ; with AUCTeX LaTeX mode
(add-hook 'latex-mode-hook 'turn-on-reftex)   ; with Emacs latex mode

;; 
----------------------------------------------------------------------
;; Info for Ispell
(add-to-list 'Info-default-directory-list "d:/Cygwin/usr/local/info/")

;; info for Aspell
;; Enable aspell as the spell program
;; (Requires that the Aspell program and a dictionary be installed on 
the PC.
;;  Install them in: c:\Aspell
;;  Add the following to the PATH variable: c:\Aspell\bin
;;  The latest version of the Aspell program, Aspell-<version>.exe,
;;  and the dictionary of your choice, for example: aspell-en-
<version>.exe,
;;  can be found at http://aspell.net/win32/).
(setq-default ispell-program-name "aspell")

(message ".emacs loaded.")
;; EOF

(put 'downcase-region 'disabled nil)

(put 'upcase-region 'disabled nil)
****************** end of .emacs file **********************

Note: the ****start**** and ****end**** lines are _not_ part of the 
.emacs file, of course.

Thanks in advance for suggestions anyone can provide.

Sincerely,
Will Grove, a none-too-savvy emacs user

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-03-02 21:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-02  1:10 how to click on file in file manager and have gnuclientw open it up William M. Grove
2007-03-02 16:04 ` weber
2007-03-02 21:48 ` james

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).