The way to change starting window (a.k.a frame) position and size:
Click Preferences | search for default-frame-alist, add var left 300, width 125, height 60, top 0 | Click the state and save for future
Do the same for initial-frame-alist
Command to have a better default GUI:
emacs -fh -geometry 180x160 {file}
sudo apt install xclip
wget http://www.emacswiki.org/emacs-en/download/xclip.el /home/$USER/.emacs.d/xclip.el
==== (Copy to ~/.emacs)
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; (require 'py-yapf)
(add-hook 'python-mode-hook 'py-yapf-enable-on-save)
(setq-default indent-tabs-mode nil)
(setq default-tab-width 4)
(setq column-number-mode t)
(set-background-color "#F5E7D1")
(setq-default cursor-type '(bar . 2))
;;(add-to-list 'auto-mode-alist '("BUILD" . python-mode))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(blink-cursor-mode nil)
'(column-number-mode t)
'(inhibit-startup-screen t)
'(package-selected-packages '(yaml-mode py-yapf clang-format fill-column-indicator))
'(py-yapf-options '("--style" "{based_on_style: google}"))
'(show-paren-mode t))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "ConsolasHigh" :foundry "PfEd" :slant normal :weight normal :height 105 :width normal))))
'(c-annotation-face ((t (:inherit font-lock-constant-face :foreground "yellow"))))
'(cursor ((t (:background "red"))))
'(font-lock-comment-delimiter-face ((t (:inherit font-lock-comment-face :foreground "forest green"))))
'(font-lock-comment-face ((t (:foreground "forest green"))))
'(font-lock-constant-face ((t (:foreground "black"))))
'(font-lock-doc-face ((t (:foreground "forest green"))))
'(font-lock-function-name-face ((t (:foreground "black"))))
'(font-lock-keyword-face ((t (:foreground "royal blue" :weight bold))))
'(font-lock-string-face ((t (:foreground "#A52A2A"))))
'(font-lock-type-face ((t (:foreground "medium blue" :weight bold))))
'(font-lock-variable-name-face ((t (:foreground "black"))))
'(isearch ((t (:background "#ff7f00" :foreground "white"))))
'(lazy-highlight ((t (:background "#00F" :foreground "#FFF"))))
'(show-paren-match ((t (:background "dark gray" :foreground "blue")))))
(set-face-attribute 'region nil :background "#ff7f00" :foreground "#fff")
(put 'upcase-region 'disabled nil)
;;(setq linum-format "%03d ")
(global-display-line-numbers-mode 1)
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
;; disable auto indent in c/c++
(setq-default c-electric-flag nil)
(setq-default c-syntactic-indentation nil)
;; Bottom status bar
;;(setq-default mode-line-format nil)
(setq-default python-indent-offset 4)
(setq-default python-indent 4)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(electric-indent-mode -1)
(global-set-key (kbd "RET") 'newline-and-indent)
;; Windows postion
(setq initial-frame-alist '((left . 650) (top . 0)))
(if (functionp 'tool-bar-mode) (tool-bar-mode -1))
;; better scrolling
(setq mouse-wheel-scroll-amount '(4 ((shift) . 8))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1) ;; keyboard scroll one line at a time
(setq scroll-conservatively 10000)
(setq auto-window-vscroll nil)
(require 'dired)
(defun dired-mouse-find-file (event)
"In Dired, visit the file or directory name you click on."
(interactive "e")
(let (window pos file)
(save-excursion
(setq window (posn-window (event-end event))
pos (posn-point (event-end event)))
(if (not (windowp window))
(error "No file chosen"))
(set-buffer (window-buffer window))
(goto-char pos)
(setq file (dired-get-file-for-visit)))
(if (file-directory-p file)
(or (and (cdr dired-subdir-alist)
(dired-goto-subdir file))
(progn
(select-window window)
(dired file)))
(select-window window)
(find-file-other-window (file-name-sans-versions file t)))))
(define-key dired-mode-map [mouse-2] 'dired-mouse-find-file)
(defun dired-open-file ()
"In dired, open the file named on this line."
(interactive)
(let* ((file (dired-get-filename nil t)))
(message "Opening %s..." file)
(call-process "open" nil 0 nil file)
(message "Opening %s done" file)))
;; Use o to open a file with external apps
(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "o") 'dired-open-file)
(define-key dired-mode-map (kbd "j") 'dired-next-line)
(define-key dired-mode-map (kbd "k") 'dired-previous-line)
(define-key dired-mode-map (kbd "u") 'dired-up-directory)))
(setq split-height-threshold nil)
(setq split-width-threshold 160)
;;Matching parenthesis
(require 'paren)
(show-paren-mode 1)
(set-face-attribute 'show-paren-match nil :weight 'extra-bold)
(setq ring-bell-function 'ignore)
; Ctrl+right => forward word
(global-set-key "\M-[1;5C" 'forward-word)
; Ctrl+left => backward word
(global-set-key "\M-[1;5D" 'backward-word)
(global-set-key (kbd "C-x k") 'kill-current-buffer)
(define-key input-decode-map "\e[1;5A" [C-up])
(define-key input-decode-map "\e[1;5B" [C-down])
(defalias 'yes-or-no-p 'y-or-n-p)
(setq frame-title-format
(list (format "%s %%S: %%j " (system-name))
'(buffer-file-name "%f" (dired-directory dired-directory "%b"))))
(require 'clang-format)
(defun clang-format-buffer-smart ()
"Enable clang when the mode is C++"
(when (eq major-mode 'c++-mode)
(clang-format-buffer))
(when (eq major-mode 'c-mode)
(clang-format-buffer)))
(add-hook 'before-save-hook 'buildifier)
(add-hook 'before-save-hook 'clang-format-buffer-smart)
(defcustom buildifier-bin "buildifier"
"Location of the buildifier binary."
:type 'string
:group 'buildifier)
(defcustom buildifier-path-regex
"BUILD\\|WORKSPACE"
"Regular expression describing base paths that need buildifier."
:type 'string
:group 'buildifier)
(defun buildifier ()
"Run buildifier on current buffer."
(interactive)
(when (and (string-match buildifier-path-regex
(file-name-nondirectory
(buffer-file-name)))
(executable-find buildifier-bin))
(let ((p (point))
(tmp (make-temp-file "buildifier")))
(write-region nil nil tmp)
(let ((result (with-temp-buffer
(cons (call-process buildifier-bin tmp t nil)
(buffer-string)))))
(if (= (car result) 0)
(save-excursion
(erase-buffer)
(insert (cdr result)))
(warn "%s failed: %s" buildifier-bin (cdr result)))
(goto-char p)
(delete-file tmp nil)))))
;; Column ruler, edge
(setq-default fill-column 80)
(define-globalized-minor-mode global-fci-mode fci-mode (lambda () (fci-mode 1)))
(global-fci-mode 1)
(setq fci-handle-truncate-lines nil)
(setq fci-rule-color "#606060")
;; Column ruler end
; Source - https://stackoverflow.com/a/6853629
; Posted by tototoshi
; Retrieved 2026-05-08, License - CC BY-SA 3.0
(setq delete-by-moving-to-trash t)
No comments:
Post a Comment