しかしこれが言うのとやるのとでは全然違います。最近のPCは画面も大きくなり、横長になり、様々なウィジットをデスクトップにちりばめ、タスクトレイにいろんアイコンが並んでいる。気がつくと情報過多なデスクトップになっているのです。その事に気づかされました。
でまあ、当然これをEmacsでもできないかとなと思い、やってみました。
以下の Emacs lisp を darkroom.el という名前で load path の通った場所に保存してください。
次に ~/.emacs に、
(require 'darkroom)と追記すればOKです。
(global-set-key [f11] 'darkroom-mode)
後は F11 キーを押せばフルスクリーンでDarkRoomモードになります。
;;; darkroom.el --- ;; Copyright (C) 2010 yama ;; Author: yama ;; Keywords: ;; $Id: darkroom.el,v 1.10 2010/02/25 10:22:02 yama Exp $ ;; This program is free software; you can redistribute it and/or modify;; it under the terms of the GNU General Public License as published by;; the Free Software Foundation, either version 3 of the License, or;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful,;; but WITHOUT ANY WARRANTY; without even the implied warranty of;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License;; along with this program. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;; use color-theme ;;; Usage ;;; (require 'darkroom);;; M-x darkroom ;;; Code:(require 'color-theme) ;;; Config ---------------------------------------------------------(defvar darkroom-left-margin 30 "left margin") (defvar darkroom-right-margin 30 "right margin") (defvar dark-mode-on nil "Non-nil if DarkRoom mode is enabled. Don't change this variable directly, you must change it by one of the functions that enable or disable Dark Room mode.") ;;; ------------------------------------------------------------------- (defun fullscreen (&optional f) "Chenge FullScreen. for Emacs23" (interactive) (set-frame-parameter f 'fullscreen (if (frame-parameter f 'fullscreen) nil 'fullboth))) (defun darkroom-mode () "simple writing environment." (interactive) (if (equal dark-mode-on t) (darkroom-mode-disable) (darkroom-mode-enable))) (defun darkroom-mode-enable () (setq dark-mode-on t) (setq darkroom-default-background-color (cdr (assoc 'background-color default-frame-alist))) (fset 'color-theme-snapshot (color-theme-make-snapshot)) (sleep-for 0.05) (color-theme-simple-1) (fullscreen ) (set-cursor-color "yellow") ;; cursor color (tool-bar-mode 0) (menu-bar-mode 0) (display-time-mode 1) (scroll-bar-mode) (set-face-foreground 'mode-line "gray25") (set-face-background 'mode-line "gray1") (if (equal (intern-soft "elscreen-version") nil) nil (elscreen-toggle-display-tab)) (auto-fill-mode 1)) (defun darkroom-mode-disable () (setq dark-mode-on nil) (add-to-list 'default-frame-alist '(background-color . darkroom-default-background-color)) (color-theme-snapshot) (scroll-bar-mode) (if (equal (intern-soft "elscreen-version") nil) nil (elscreen-toggle-display-tab)) (display-time-mode 0) (sleep-for 0.05) (fullscreen )) (defun window-count () (length (window-list (selected-frame) 1))) (defun set-margin () (set-window-margins (selected-window) darkroom-left-margin darkroom-right-margin)) (defun dark-window-update () (if (equal dark-mode-on t) (if (> (window-count) 1) (progn (set-window-margins (selected-window) 0 0) (set-window-margins (previous-window) 0 0)) (set-margin)) (set-window-margins (selected-window) 0 0))) (add-hook 'window-configuration-change-hook 'dark-window-update) (provide 'darkroom) ;;; darkroom.el ends here
低機能です。フルスクリーンにする部分がEmacs23からの機能を使っているので、emacs23以上で使用してください。そこを書き換えればemacs22とかでも動作するはず。
あらためて こうして全画面で作業をしていると、twitter や ウェブブラウズとかしなくなり、気が散らずに作業できるんだなあと。というか今までどんだけ注意力散漫だったんだろうと思いましたw
さあ皆さんも思う存分執筆に集中して下さいw
ps.
# 端末で起動してフルスクリーンにすればいいじゃんという突っ込みはなしで;;
●追記:
color-theme の設定書いただけで反映するの忘れてた(^_^;) 修正しましたので落とした方は再度落とし直して下さい。
●2012/08/30 追記:
続き→ http://ubulog.blogspot.jp/2012/08/darkroomel.html
0 件のコメント:
コメントを投稿