[nongnu] elpa/autothemer cb4d4b69f8: Add docs for autothemer-let-palette
branch: elpa/autothemer commit cb4d4b69f8bb1f8158d2311692b7607794b75829 Author: jasonm23 Commit: jasonm23 Add docs for autothemer-let-palette --- function-reference.md | 16 1 file changed, 16 insertions(+) diff --git a/function-reference.md b/function-reference.md index 8c6886c8bf..1fb4a63b41 100644 --- a/function-reference.md +++ b/function-reference.md @@ -45,6 +45,7 @@ assist with theme building, here are a few highlights... - [autothemer-saturated-order](#autothemer-saturated-order--a-b) - [autothemer-saturation-group](#autothemer-saturation-group--color--saturation-groups) - [autothemer-sort-palette](#autothemer-sort-palette--theme-colors--sort-fn-group-fn-group-args) +- [autothemer-let-palette](#autothemer-let-palette) ### Internal Functions - [autothemer--alist-to-reduced-spec](#autothemer--alist-to-reduced-spec--facename-alist) - [autothemer--approximate-spec](#autothemer--approximate-spec--reduced-spec-theme) @@ -487,6 +488,21 @@ See `autothemer-group-and-sort` for a full list. (autothemer-sort-palette (theme-colors &optional sort-fn group-fn group-args)) ``` +- - - +### autothemer-let-palette + +Provide a let block for `body` from `autothemer-current-theme`. + +Load/eval the required autothemer source (not byte-compiled) to set +`autothemer-current-theme', before using `autothemer-let-palette` + +function signature +```lisp +;; assuming your theme has a palette color of juicy-watermelon +(autothemer-let-palette ;; + (message "%s" juicy-watermelon)) +``` + - - - ### autothemer--alist-to-reduced-spec internal
[nongnu] elpa/clojure-mode 1dc343fe67: Fix clojure-find-ns for ns forms preceded by whitespace (#661)
branch: elpa/clojure-mode commit 1dc343fe67c1b7b858df6250bfc500eca6823940 Author: p4v4n Commit: vemv Fix clojure-find-ns for ns forms preceded by whitespace (#661) Closes https://github.com/clojure-emacs/clojure-mode/issues/593 --- CHANGELOG.md | 4 clojure-mode.el| 6 +++--- test/clojure-mode-util-test.el | 17 + 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27aed4f369..6a4b3eb71e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ * Improve support for multiple forms in the same line by replacing `beginning-of-defun` fn. +### Bugs fixed + +* [#593](https://github.com/clojure-emacs/clojure-mode/issues/593): Fix clojure-find-ns when ns form is preceded by whitespace or inside comment form. + ## 5.16.2 (2023-08-23) ### Changes diff --git a/clojure-mode.el b/clojure-mode.el index 0d2b613e88..43030a1d07 100644 --- a/clojure-mode.el +++ b/clojure-mode.el @@ -2125,7 +2125,7 @@ content) are considered part of the preceding sexp." (make-obsolete-variable 'clojure-namespace-name-regex 'clojure-namespace-regexp "5.12.0") (defconst clojure-namespace-regexp - (rx line-start "(" (? "clojure.core/") (or "in-ns" "ns" "ns+") symbol-end)) + (rx line-start (zero-or-more whitespace) "(" (? "clojure.core/") (or "in-ns" "ns" "ns+") symbol-end)) (defcustom clojure-cache-ns nil "Whether to cache the results of `clojure-find-ns'. @@ -2153,7 +2153,7 @@ DIRECTION is `forward' or `backward'." (save-match-data (goto-char end) (clojure-forward-logical-sexp) -(unless (or (clojure--in-string-p) (clojure--in-comment-p)) +(unless (or (clojure--in-string-p) (clojure--in-comment-p) (clojure-top-level-form-p "comment")) (setq candidate (string-remove-prefix "'" (thing-at-point 'symbol candidate)) @@ -3224,7 +3224,7 @@ With universal argument \\[universal-argument], act on the \"top-level\" form." (beginning-of-defun-raw) (clojure--toggle-ignore-next-sexp))) - + ;;; ClojureScript (defconst clojurescript-font-lock-keywords (eval-when-compile diff --git a/test/clojure-mode-util-test.el b/test/clojure-mode-util-test.el index a35babbed3..3f6e2de74a 100644 --- a/test/clojure-mode-util-test.el +++ b/test/clojure-mode-util-test.el @@ -82,6 +82,23 @@ (expect (clojure-find-ns) :to-equal "foo")) (with-clojure-buffer "(ns ^:bar ^:baz foo)" (expect (clojure-find-ns) :to-equal "foo"))) + (it "should find namespaces with spaces before ns form" +(with-clojure-buffer " (ns foo)" + (expect (clojure-find-ns) :to-equal "foo"))) + (it "should skip namespaces within any comment forms" +(with-clojure-buffer "(comment + (ns foo))" + (expect (clojure-find-ns) :to-equal nil)) +(with-clojure-buffer " (ns foo) + (comment + (ns bar))" + (expect (clojure-find-ns) :to-equal "foo")) +(with-clojure-buffer " (comment + (ns foo)) + (ns bar) +(comment + (ns baz))" + (expect (clojure-find-ns) :to-equal "bar"))) (it "should find namespace declarations with nested metadata and docstrings" (with-clojure-buffer "(ns ^{:bar true} foo)" (expect (clojure-find-ns) :to-equal "foo"))
[nongnu] elpa/hyperdrive 2b4ade87bc 2/2: Change: (-dir--yank-media-image-handler) Open image, not parent
branch: elpa/hyperdrive commit 2b4ade87bcbb10c44327cf120b18dba3c85a2716 Author: Joseph Turner Commit: Joseph Turner Change: (-dir--yank-media-image-handler) Open image, not parent --- hyperdrive-dir.el | 14 +- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/hyperdrive-dir.el b/hyperdrive-dir.el index babe267e8e..76eaceed57 100644 --- a/hyperdrive-dir.el +++ b/hyperdrive-dir.el @@ -375,19 +375,7 @@ see Info node `(elisp)Yanking Media'." :body-type 'binary ;; TODO: Pass MIME type in a header? hyper-gateway detects it for us. :body image :as 'response -:then (lambda (_res) -(hyperdrive-open parent - :then (lambda () - (ewoc-goto-node ewoc - (hyperdrive-ewoc-find-node ewoc entry -:predicate (lambda (a b) - (equal (hyperdrive-entry-path a) - (hyperdrive-entry-path b) - (recenter) - ;; FIXME: Newly-added file is not highlit. Calling - ;; the `then' callback in a queue finalizer inside - ;; `hyperdrive-dir-handler' should fix this. - ))) +:then (lambda (_res) (hyperdrive-open entry)) :else (lambda (plz-error) (hyperdrive-message "Unable to yank media: %S" plz-error)
[nongnu] elpa/hyperdrive 86a1aa8fe0 1/2: Fix: (hyperdrive-dir-handler) Call THEN in finally
branch: elpa/hyperdrive commit 86a1aa8fe07dc55dc0079f1ce3e8492a5237eb70 Author: Joseph Turner Commit: Joseph Turner Fix: (hyperdrive-dir-handler) Call THEN in finally --- hyperdrive-dir.el | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hyperdrive-dir.el b/hyperdrive-dir.el index 62daa94009..babe267e8e 100644 --- a/hyperdrive-dir.el +++ b/hyperdrive-dir.el @@ -94,7 +94,9 @@ arguments." (or (when prev-entry (goto-entry prev-entry ewoc)) (goto-char prev-point))) - (set-buffer-modified-p nil)) + (set-buffer-modified-p nil) + (when then + (funcall then))) ;; TODO: Remove this and the commented out `debug-start-time' ;; binding when we're done experimenting. ;; (message "Elapsed: %s" @@ -111,10 +113,7 @@ arguments." :then (lambda (&rest _) (update-footer (cl-incf num-filled) num-entries (plz-run metadata-queue) - (display-buffer (current-buffer) hyperdrive-directory-display-buffer-action) - ;; TODO: Should we display the buffer before or after calling THEN? (test with yank-media handler) - (when then -(funcall then))) + (display-buffer (current-buffer) hyperdrive-directory-display-buffer-action)) (defun hyperdrive-dir-column-headers (prefix) "Return column headers as a string with PREFIX.
[nongnu] elpa/hyperdrive updated (07728f7d81 -> 2b4ade87bc)
elpasync pushed a change to branch elpa/hyperdrive. from 07728f7d81 Meta: Update changelog new 86a1aa8fe0 Fix: (hyperdrive-dir-handler) Call THEN in finally new 2b4ade87bc Change: (-dir--yank-media-image-handler) Open image, not parent Summary of changes: hyperdrive-dir.el | 23 +-- 1 file changed, 5 insertions(+), 18 deletions(-)
[nongnu] elpa/hyperdrive updated (2b4ade87bc -> d0e869e021)
elpasync pushed a change to branch elpa/hyperdrive. from 2b4ade87bc Change: (-dir--yank-media-image-handler) Open image, not parent new a851e24dfd Add: (--entry-buffer-p) Split out pred for entry-visiting buffer new 536538f5ae Add: (hyperdrive--buffer-for-entry) Workaround for bug#65797 new 91eb2a2c00 Change/Fix: (hyperdrive-write-buffer) Prompt before overwriting file new d0e869e021 Meta: Update changelog Summary of changes: CHANGELOG.org | 1 + hyperdrive-lib.el | 17 + hyperdrive.el | 27 ++- 3 files changed, 36 insertions(+), 9 deletions(-)
[nongnu] elpa/hyperdrive d0e869e021 4/4: Meta: Update changelog
branch: elpa/hyperdrive commit d0e869e0217d3615d6a1d19cb3362dc3a031b37d Author: Joseph Turner Commit: Joseph Turner Meta: Update changelog --- CHANGELOG.org | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.org b/CHANGELOG.org index 9ff90b4b82..084118cd00 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -27,6 +27,7 @@ This project adheres to [[https://semver.org/spec/v2.0.0.html][Semantic Versioni - Fixed version history navigation in directories - Allow entering URLs without ~hyper://~ - Prevent accidental loss of unsaved hyperdrive files +- Prompt before overwriting with ~hyperdrive-write-buffer~ - Improved error handling ** Security
[nongnu] elpa/hyperdrive a851e24dfd 1/4: Add: (--entry-buffer-p) Split out pred for entry-visiting buffer
branch: elpa/hyperdrive commit a851e24dfdf5f89c66f0eff35dfd874050a6305e Author: Joseph Turner Commit: Joseph Turner Add: (--entry-buffer-p) Split out pred for entry-visiting buffer --- hyperdrive-lib.el | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el index 318ceeb650..fda8e7600f 100644 --- a/hyperdrive-lib.el +++ b/hyperdrive-lib.el @@ -1213,10 +1213,7 @@ Affected by option `hyperdrive-reuse-buffers', which see." (buffer (or (when (eq 'any-version hyperdrive-reuse-buffers) (cl-loop for buffer in (buffer-list) - when (and (buffer-local-value 'hyperdrive-mode buffer) - (buffer-local-value 'hyperdrive-current-entry buffer) - (hyperdrive-entry-equal entry - (buffer-local-value 'hyperdrive-current-entry buffer))) + when (hyperdrive--entry-buffer-p entry buffer) return buffer)) (get-buffer-create buffer-name (with-current-buffer buffer @@ -1233,6 +1230,13 @@ Affected by option `hyperdrive-reuse-buffers', which see." (setq-local hyperdrive-current-entry entry) (current-buffer +(defun hyperdrive--entry-buffer-p (entry buffer) + "Return non-nil when BUFFER is visiting ENTRY." + (and (buffer-local-value 'hyperdrive-mode buffer) + (buffer-local-value 'hyperdrive-current-entry buffer) + (hyperdrive-entry-equal entry + (buffer-local-value 'hyperdrive-current-entry buffer + (defun hyperdrive--entry-buffer-name (entry) "Return buffer name for ENTRY." (hyperdrive-entry-description entry :format-path 'name))
[nongnu] elpa/hyperdrive 536538f5ae 2/4: Add: (hyperdrive--buffer-for-entry) Workaround for bug#65797
branch: elpa/hyperdrive commit 536538f5ae0e0fe801f129728843e9fb5877724c Author: Joseph Turner Commit: Joseph Turner Add: (hyperdrive--buffer-for-entry) Workaround for bug#65797 --- hyperdrive-lib.el | 5 + 1 file changed, 5 insertions(+) diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el index fda8e7600f..5019a5a305 100644 --- a/hyperdrive-lib.el +++ b/hyperdrive-lib.el @@ -1237,6 +1237,11 @@ Affected by option `hyperdrive-reuse-buffers', which see." (hyperdrive-entry-equal entry (buffer-local-value 'hyperdrive-current-entry buffer +(defun hyperdrive--buffer-for-entry (entry) + "Return a predicate to match buffer against ENTRY" + ;; TODO: This function is a workaround for bug#65797 + (lambda (buffer) (hyperdrive--entry-buffer-p entry buffer))) + (defun hyperdrive--entry-buffer-name (entry) "Return buffer name for ENTRY." (hyperdrive-entry-description entry :format-path 'name))
[nongnu] elpa/hyperdrive 91eb2a2c00 3/4: Change/Fix: (hyperdrive-write-buffer) Prompt before overwriting file
branch: elpa/hyperdrive commit 91eb2a2c00489c36853544e142c6d4c6054335c7 Author: Joseph Turner Commit: Joseph Turner Change/Fix: (hyperdrive-write-buffer) Prompt before overwriting file --- hyperdrive.el | 27 ++- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/hyperdrive.el b/hyperdrive.el index b784a9a998..04b561c548 100644 --- a/hyperdrive.el +++ b/hyperdrive.el @@ -405,15 +405,32 @@ overwrite. With universal prefix argument \\[universal-argument], prompts for more information. See `hyperdrive-read-entry' and -`hyperdrive-complete-hyperdrive'." +`hyperdrive-complete-hyperdrive'. With two universal prefix +arguments \\[universal-argument] \\[universal-argument], +overwrite without prompting." (interactive (list (hyperdrive-read-entry :predicate #'hyperdrive-writablep :force-prompt current-prefix-arg :default-path (when (and hyperdrive-current-entry (not current-prefix-arg)) (hyperdrive-entry-path hyperdrive-current-entry)) -:allow-version-p nil))) - ;; FIXME: Overwrites without prompting if file exists. - (ignore overwritep) +:allow-version-p nil) + (equal '(16) current-prefix-arg))) + (unless (or overwritep (not (hyperdrive-entry-at nil entry))) +(unless (y-or-n-p +(format "File %s exists; overwrite?" (hyperdrive-entry-description entry))) + (hyperdrive-user-error "Canceled")) +(when-let ((buffers (match-buffers (hyperdrive--buffer-for-entry entry + (unless (y-or-n-p + (format "A buffer is visiting %s; proceed?" (hyperdrive-entry-description entry))) +(hyperdrive-user-error "Aborted")) + ;; TODO: In BUFFERS, when user attempts to modify the buffer, + ;; offer warning like "FILE has been modified in hyperdrive; are + ;; you sure you want to edit this buffer?" + ;; TODO Replace `match-buffers' above with `cl-find-if' if we don't + ;; end up adding a buffer-local variable to each buffer to + ;; indicate that the file in the hyperdrive has been modified. + (ignore buffers) + )) (pcase-let (((cl-struct hyperdrive-entry hyperdrive name) entry) (url (hyperdrive-entry-url entry)) (buffer (current-buffer))) @@ -460,7 +477,7 @@ for more information. See `hyperdrive-read-entry' and "Call `hyperdrive-write-buffer' for the current buffer. To be used in `write-contents-functions'." (cl-assert hyperdrive-mode) - (hyperdrive-write-buffer hyperdrive-current-entry)) + (hyperdrive-write-buffer hyperdrive-current-entry t)) (defun hyperdrive-copy-url (entry) "Save hyperdrive ENTRY's URL to the kill ring.
[elpa] externals/org 1f88acd013: * lisp/ob-core.el (org-babel-result-cond): Document all the arguments
branch: externals/org commit 1f88acd01394b1d78c875af21ba0e84b0f2f287a Author: Ihor Radchenko Commit: Ihor Radchenko * lisp/ob-core.el (org-babel-result-cond): Document all the arguments --- lisp/ob-core.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 8f46af2d2b..a7c4f2cabb 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -3384,7 +3384,10 @@ Emacs shutdown.") :type 'string) (defmacro org-babel-result-cond (result-params scalar-form &rest table-forms) - "Call the code to parse raw string results according to RESULT-PARAMS." + "Call the code to parse raw string results according to RESULT-PARAMS. +Do nothing with :results discard. +Execute SCALAR-FORM when result should be treated as a string. +Execute TABLE-FORMS when result should be considered sexp and parsed." (declare (indent 1) (debug t)) (org-with-gensyms (params) `(let ((,params ,result-params))
[nongnu] elpa/clojure-ts-mode 724e40dedc 2/3: Mention NonGNU ELPA
branch: elpa/clojure-ts-mode commit 724e40dedceaa2e25e7db4f262b74bef6291b224 Author: Bozhidar Batsov Commit: Bozhidar Batsov Mention NonGNU ELPA --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ad9c91d161..f103073ede 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,8 @@ If you decide to build Emacs from source there's some useful information on this ### Install clojure-ts-mode -clojure-ts-mode is available on [Melpa](https://melpa.org/#/clojure-ts-mode). +clojure-ts-mode is available on [MElPA](https://melpa.org/#/clojure-ts-mode) and +[NonGNU ELPA](https://elpa.nongnu.org/nongnu/clojure-ts-mode.html). It can be installed with ``` emacs-lisp
[nongnu] elpa/clojure-ts-mode f74fa56ab3 1/3: Update the installation instructions to account for the release of Emacs 29
branch: elpa/clojure-ts-mode commit f74fa56ab3b8418e35aa8088dda4b984295da425 Author: Bozhidar Batsov Commit: Bozhidar Batsov Update the installation instructions to account for the release of Emacs 29 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6edf4c98c2..ad9c91d161 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,8 @@ You can track the current progress towards an initial release [here](https://git ### Emacs 29 This package requires Emacs 29 built with tree-sitter support from the [emacs-29 branch](https://git.savannah.gnu.org/cgit/emacs.git/log/?h=emacs-29). -As of right now, users must install Emacs from source with tree-sitter installed on their system. -More information on this can be found in the Emacs repository: + +If you decide to build Emacs from source there's some useful information on this in the Emacs repository: - [Emacs tree-sitter starter-guide](https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/notes/tree-sitter/starter-guide?h=emacs-29) - [Emacs install instructions](https://git.savannah.gnu.org/cgit/emacs.git/tree/INSTALL.REPO).
[nongnu] elpa/clojure-ts-mode updated (bd61a7fb28 -> 2225190ee5)
elpasync pushed a change to branch elpa/clojure-ts-mode. from bd61a7fb28 Pin grammar revision in treesit-language-source-alist new f74fa56ab3 Update the installation instructions to account for the release of Emacs 29 new 724e40dedc Mention NonGNU ELPA new 2225190ee5 Make font lock feature list more conforming with recommendations Summary of changes: CHANGELOG.md | 1 + README.md | 7 ++- clojure-ts-mode.el | 177 - 3 files changed, 70 insertions(+), 115 deletions(-)
[nongnu] elpa/clojure-ts-mode 2225190ee5 3/3: Make font lock feature list more conforming with recommendations
branch: elpa/clojure-ts-mode commit 2225190ee57ef667d69f2cd740e0137810bc38e7 Author: Danny Freeman Commit: Danny Freeman Make font lock feature list more conforming with recommendations Level 1 is really simple: comments, definitions Level 2 is for some primitives, types, builtins (let, fn, etc) Level 3 is for numbers, nil, bools, metadata Level 4 is for brackets, function calls, fancy syntax constructs like @ Additionally, this commit fixes some font-locking where we matched faces that don't exist, moves type hints under the 'type feature, font-lock `def` like functions as regular builtins instead of features for the things they are actually defining. --- CHANGELOG.md | 1 + clojure-ts-mode.el | 177 - 2 files changed, 66 insertions(+), 112 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11445a14bd..ff6b651596 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Re-enable treesit-transpose-sexps on Emacs 30 after fixes released by @casouri. - Pin grammar revision in treesit-language-source-alist +- Make font lock feature list more conforming with recommendations ## 0.1.5 diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el index dcc56c47bb..caf70f0639 100644 --- a/clojure-ts-mode.el +++ b/clojure-ts-mode.el @@ -155,95 +155,35 @@ Only intended for use at development time.") (eval-and-compile (concat "^" (regexp-opt - '("do" - "if" - "let*" - "var" - "fn" - "fn*" - "loop*" - "recur" - "throw" - "try" - "catch" - "finally" - "set!" - "new" - "." - "monitor-enter" - "monitor-exit" + '("do" "if" "let*" "var" + "fn" "fn*" "loop*" "recur" + "throw" "try" "catch" "finally" + "set!" "new" + "monitor-enter" "monitor-exit" "quote" - "->" - "->>" - ".." - "amap" - "and" - "areduce" - "as->" - "assert" - "binding" - "bound-fn" - "case" - "comment" - "cond" - "cond->" - "cond->>" - "condp" - "declare" - "delay" - "doall" - "dorun" - "doseq" - "dosync" - "dotimes" - "doto" - "extend-protocol" - "extend-type" - "for" - "future" - "gen-class" - "gen-interface" - "if-let" - "if-not" - "if-some" - "import" - "in-ns" - "io!" - "lazy-cat" - "lazy-seq" - "let" - "letfn" - "locking" - "loop" - "memfn" - "ns" - "or" - "proxy" - "proxy-super" - "pvalues" - "refer-clojure" - "reify" - "some->" - "some->>" - "sync" - "time" - "vswap!" - "when" - "when-first" - "when-let" - "when-not" - "when-some" - "while" - "with-bindings" - "with-in-str" - "with-loading-context" - "with-local-vars" - "with-open" - "with-out-str" - "with-precision" - "with-redefs" - "with-redefs-fn")) + "->" "->>" ".." "." + "amap" "and" "areduce" "as->" "assert" + "binding" "bound-fn" + "case" "comment" "cond" "cond->" "cond->>" "condp" + "declare" "def" "definline" "definterface" "defmacro" "defmethod" + "defmulti" "defn" "defn-" "defonce" "defprotocol" "defrecord" + "defstruct" "deftype" + "delay" "doall" "dorun" "doseq" "dosync" "dotimes" "doto" + "extend-protocol" "extend-type" + "for" "future" + "gen-class" "gen-interface" + "if-let" "if-not" "if-some" "import" "in-ns""io!" + "lazy-cat" "lazy-seq" "let" "letfn" "locking" "loop" + "memfn" "ns" "or" + "proxy" "proxy-super" "pvalues" + "refer-clojure" "reify" + "some->" "some->>""sync" + "time" "vswap!" + "when" "when-first" "when-let" "when-not" "when-some" "while" + "with-bindings" "with-in-str"
[nongnu] elpa/web-mode 443a09423d: blade parsing fix
branch: elpa/web-mode commit 443a09423d23727df7efd4e60beedd3919e4800a Author: fxbois Commit: fxbois blade parsing fix #1265 --- issues/1265.blade.php | 6 ++ web-mode.el | 55 +++ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/issues/1265.blade.php b/issues/1265.blade.php new file mode 100644 index 00..b424dfeeb6 --- /dev/null +++ b/issues/1265.blade.php @@ -0,0 +1,6 @@ + + @include('a', [ +'key1' => someFunc('value1'), +'key2' => 'value2', + ]) + diff --git a/web-mode.el b/web-mode.el index e2fdc7490d..60c05c7f45 100644 --- a/web-mode.el +++ b/web-mode.el @@ -2,7 +2,7 @@ ;; Copyright 2011-2023 François-Xavier Bois -;; Version: 17.3.13 +;; Version: 17.3.14 ;; Author: François-Xavier Bois ;; Maintainer: François-Xavier Bois ;; Package-Requires: ((emacs "23.1")) @@ -23,7 +23,7 @@ ;; CONSTS -- -(defconst web-mode-version "17.3.13" +(defconst web-mode-version "17.3.14" "Web Mode version.") ;; GROUPS -- @@ -3687,13 +3687,14 @@ Also return non-nil if it is the command `self-insert-command' is remapped to." delim-close "}}")) ((looking-at-p "[[:alnum:]]+\\.[[:alpha:]]+") ) - ((looking-at-p "[[:alnum:]]+(") - (setq closing-string ")" -delim-open "@")) ((string= sub1 "@") (setq closing-string "EOB" delim-open "@")) + ((looking-at-p "[[:alnum:]]+(") + (setq closing-string ")" +delim-open "@")) ) + ;;(message "closing-string=%S delim-open=%S delim-close=%S" closing-string delim-open delim-close) ) ;blade ((string= web-mode-engine "smarty") @@ -4273,9 +4274,47 @@ Also return non-nil if it is the command `self-insert-command' is remapped to." pos)) (defun web-mode-blade-skip (pos) - (goto-char pos) - (forward-char) - (skip-chars-forward "a-zA-Z0-9_-")) + (let (regexp char inc continue found (reg-beg pos) (reg-end (point-max))) +(goto-char pos) +(forward-char) +(skip-chars-forward "a-zA-Z0-9_-") +(when (eq (char-after) ?\() + (setq regexp "[\"'()]" +inc 0) + (while (and (not found) (re-search-forward regexp reg-end t)) +(setq char (char-before)) +;;(message "pos=%S char=%c" (point) char) +(cond + ((eq char ?\() + (setq inc (1+ inc))) + ((eq char ?\)) + (cond + ((and (not (eobp)) +(eq (char-after) ?\)) +(< inc 2)) +(forward-char) +(setq found t) +) + ((> inc 0) +(setq inc (1- inc))) + ) + ) + ((eq char ?\') + (setq continue t) + (while (and continue (search-forward "'" reg-end t)) +(setq continue (web-mode-string-continue-p reg-beg)) +) + ) + ((eq char ?\") + (setq continue t) + (while (and continue (search-forward "\"" reg-end t)) +(setq continue (web-mode-string-continue-p reg-beg)) +) + ) + ) ;cond +) ;while +) ; when + )) (defun web-mode-velocity-skip (pos) (goto-char pos)
[elpa] externals/transient dd970cd464: Compile suffix commands that are defined inside prefix definitions
branch: externals/transient commit dd970cd464570c85ca3492706b6239029876556d Author: Jonas Bernoulli Commit: Jonas Bernoulli Compile suffix commands that are defined inside prefix definitions Closes #256. --- lisp/transient.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/transient.el b/lisp/transient.el index a61179f277..67bcefd04b 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1088,7 +1088,10 @@ example, sets a variable, use `transient-define-infix' instead. `(prog1 ',sym (put ',sym 'interactive-only t) (put ',sym 'command-modes (list 'not-a-mode)) - (defalias ',sym ,(macroexp-quote cmd))) + (defalias ',sym + ,(if (eq (car-safe cmd) 'lambda) +cmd + (macroexp-quote cmd ((or (stringp car) (and car (listp car))) (let ((arg pop)
[nongnu] elpa/helm 7dbdf3e999 4/4: Don't try to highlight when match part is empty string
branch: elpa/helm commit 7dbdf3e999ccae2700b669b02ada6728c805542f Author: Thierry Volpiatto Commit: Thierry Volpiatto Don't try to highlight when match part is empty string This happen when trying to match empty lines. --- helm-core.el | 102 +++ 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/helm-core.el b/helm-core.el index 37a3a84730..0a87899d03 100644 --- a/helm-core.el +++ b/helm-core.el @@ -4640,57 +4640,61 @@ useful when the order of the candidates is meaningful, e.g. with (or host (and (stringp real) real) display) (count 0) beg-str end-str) -(when host (setq pattern (cadr (split-string pattern ":" -;; Extract all parts of display keeping original properties. -(when (and mp (ignore-errors -;; Avoid error when candidate is a huge line. -(string-match (regexp-quote mp) display))) - (setq beg-str (substring display 0 (match-beginning 0)) -end-str (substring display (match-end 0) (length display)) -mp (substring display (match-beginning 0) (match-end 0 -(with-temp-buffer - ;; Insert the whole display part and remove non--match-part - ;; to keep their original face properties. - (insert (propertize (or mp display) 'read-only nil)) ; Fix (bug#1176) - (goto-char (point-min)) - (condition-case nil - (progn -;; Try first matching against whole pattern. -(unless (string= pattern "") - (while (re-search-forward regex nil t) -(cl-incf count) -(helm-add-face-text-properties - (match-beginning 0) (match-end 0) 'helm-match))) -;; If no matches start matching against multiples or fuzzy matches. -(when (zerop count) - (cl-loop with multi-match = (string-match-p " " pattern) - with patterns = (if multi-match - (cl-loop for pat in (helm-mm-split-pattern -pattern) -collect - (helm--maybe-get-migemo-pattern - pat diacritics)) - (split-string pattern "" t)) - for p in patterns - ;; Multi matches (regexps patterns). - if multi-match do - (progn - (while (re-search-forward p nil t) +;; Happens when matching empty lines (^$), in this case there is nothing to +;; highlight. +(if (string= mpart "") +candidate + (when host (setq pattern (cadr (split-string pattern ":" + ;; Extract all parts of display keeping original properties. + (when (and mp (ignore-errors + ;; Avoid error when candidate is a huge line. + (string-match (regexp-quote mp) display))) +(setq beg-str (substring display 0 (match-beginning 0)) + end-str (substring display (match-end 0) (length display)) + mp (substring display (match-beginning 0) (match-end 0 + (with-temp-buffer +;; Insert the whole display part and remove non--match-part +;; to keep their original face properties. +(insert (propertize (or mp display) 'read-only nil)) ; Fix (bug#1176) +(goto-char (point-min)) +(condition-case nil +(progn + ;; Try first matching against whole pattern. + (unless (string= pattern "") +(while (re-search-forward regex nil t) + (cl-incf count) + (helm-add-face-text-properties + (match-beginning 0) (match-end 0) 'helm-match))) + ;; If no matches start matching against multiples or fuzzy matches. + (when (zerop count) +(cl-loop with multi-match = (string-match-p " " pattern) + with patterns = (if multi-match + (cl-loop for pat in (helm-mm-split-pattern + pattern) + collect + (helm--maybe-get-migemo-pattern + pat diacritics)) + (split-string pattern "" t)) + for p in patterns + ;; Multi matches (regexps patterns). + if multi-match do + (progn + (while (re-search-forward p nil t) +
[nongnu] elpa/helm-core updated (6e74ef7e9b -> 7dbdf3e999)
elpasync pushed a change to branch elpa/helm-core. from 6e74ef7e9b Make code more readable with helm-aand adds 1b9a7ac014 Fix vestiges of old code not removed (rsync) adds b6e382861c Fix error in exact search fn adds 1586b2d6b9 Fix regexps in helm-occur adds 7dbdf3e999 Don't try to highlight when match part is empty string No new revisions were added by this update. Summary of changes: helm-core.el| 102 +++- helm-files.el | 6 ++-- helm-multi-match.el | 2 +- helm-occur.el | 4 +-- 4 files changed, 59 insertions(+), 55 deletions(-)
[nongnu] elpa/helm b6e382861c 2/4: Fix error in exact search fn
branch: elpa/helm commit b6e382861ca0e8df8759a57edf478fbf617ae358 Author: Thierry Volpiatto Commit: Thierry Volpiatto Fix error in exact search fn --- helm-multi-match.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-multi-match.el b/helm-multi-match.el index e4d143e630..da2a25319c 100644 --- a/helm-multi-match.el +++ b/helm-multi-match.el @@ -108,7 +108,7 @@ If GREP-SPACE is used translate escaped space to \"\\s\" instead of \"\\s-\"." (defun helm-mm-exact-search (pattern &rest _ignore) (and (search-forward (helm-mm-exact-get-pattern pattern) nil t) - (forward-line -1))) + (forward-line 1))) ;;; Prefix match
[nongnu] elpa/helm 1b9a7ac014 1/4: Fix vestiges of old code not removed (rsync)
branch: elpa/helm commit 1b9a7ac0145db9e841fb6a30ae7d5085db7daec4 Author: Thierry Volpiatto Commit: Thierry Volpiatto Fix vestiges of old code not removed (rsync) --- helm-files.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm-files.el b/helm-files.el index 2cd5bb310a..e405ea1ad3 100644 --- a/helm-files.el +++ b/helm-files.el @@ -1325,9 +1325,9 @@ ACTION can be `rsync' or any action supported by `helm-dired-action'." (`remain (nth 3 infos (helm-mklist helm-ff-rsync-progress-bar-info) ", ")) - (setq percent (and (string-match "\\([0-9]+\\)%" progbar) - (setq percent (string-to-number -(match-string 1 progbar) + (when (string-match "\\([0-9]+\\)%" progbar) +(setq percent (string-to-number + (match-string 1 progbar (if percent (format "%s%s%s%s" (propertize (capitalize (replace-regexp-in-string
[nongnu] elpa/helm updated (6e74ef7e9b -> 7dbdf3e999)
elpasync pushed a change to branch elpa/helm. from 6e74ef7e9b Make code more readable with helm-aand new 1b9a7ac014 Fix vestiges of old code not removed (rsync) new b6e382861c Fix error in exact search fn new 1586b2d6b9 Fix regexps in helm-occur new 7dbdf3e999 Don't try to highlight when match part is empty string Summary of changes: helm-core.el| 102 +++- helm-files.el | 6 ++-- helm-multi-match.el | 2 +- helm-occur.el | 4 +-- 4 files changed, 59 insertions(+), 55 deletions(-)
[nongnu] elpa/helm 1586b2d6b9 3/4: Fix regexps in helm-occur
branch: elpa/helm commit 1586b2d6b945ed2d95cd4e0b901ebb8fa9ff2b6d Author: Thierry Volpiatto Commit: Thierry Volpiatto Fix regexps in helm-occur --- helm-occur.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm-occur.el b/helm-occur.el index 68b790404f..21be1212f7 100644 --- a/helm-occur.el +++ b/helm-occur.el @@ -42,7 +42,7 @@ Don't set it to any value, it will have no effect.") (defvar helm-occur--buffer-list nil) (defvar helm-occur--buffer-tick nil) (defvar helm-occur-history nil) -(defvar helm-occur--search-buffer-regexp "\\`\\([0-9]*\\)\\s-\\{1\\}\\(.*\\)\\'" +(defvar helm-occur--search-buffer-regexp "\\`\\([0-9]*\\)\\s-\\(.*\\)\\'" "The regexp matching candidates in helm-occur candidate buffer.") (defvar helm-occur-mode--last-pattern nil) (defvar helm-occur--initial-pos 0) @@ -348,7 +348,7 @@ When GSHORTHANDS is nil use PATTERN unmodified." :diacritics helm-occur-ignore-diacritics :search (lambda (pattern) (when (string-match "\\`\\^\\([^ ]*\\)" pattern) -(setq pattern (concat "^[0-9]* \\{1\\}" (match-string 1 pattern +(setq pattern (concat "^[0-9]*\\s-" (match-string 1 pattern (condition-case _err (re-search-forward pattern nil t) (invalid-regexp nil)))
[nongnu] elpa/git-commit 48ebba0a16 2/4: magit-commit-assert: Tweak behavior for merge commits
branch: elpa/git-commit commit 48ebba0a161559942a716ca33787bedcdca9c41d Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-commit-assert: Tweak behavior for merge commits Signal an error if there are any unmerged changes. Instead of unconditionally signaling an error when there are unstaged changes, ask the user whether they want to proceed. Closes #4985. --- lisp/magit-commit.el | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/magit-commit.el b/lisp/magit-commit.el index f6ee9ad5ae..d8d6bb6225 100644 --- a/lisp/magit-commit.el +++ b/lisp/magit-commit.el @@ -368,9 +368,14 @@ depending on the value of option `magit-commit-squash-confirm'." (setq this-command #'magit-rebase-continue) (magit-run-git-sequencer "rebase" "--continue") nil) - ((and (file-exists-p (expand-file-name "MERGE_MSG" (magit-gitdir))) - (not (magit-anything-unstaged-p))) -(or args (list "--"))) + ((file-exists-p (expand-file-name "MERGE_MSG" (magit-gitdir))) +(cond ((magit-anything-unmerged-p) + (user-error "Unresolved conflicts")) + ((and (magit-anything-unstaged-p) +(not (y-or-n-p + "Proceed with merge despite unstaged changes? "))) + (user-error "Abort")) + ((or args (list "--") ((not (magit-anything-unstaged-p)) (user-error "Nothing staged (or unstaged)")) (magit-commit-ask-to-stage
[nongnu] elpa/git-commit updated (ee0b557a94 -> c316ca034e)
elpasync pushed a change to branch elpa/git-commit. from ee0b557a94 Remove text properties when copying from magit buffers new 986515d93f Deal with enabled long lines shortcuts new 48ebba0a16 magit-commit-assert: Tweak behavior for merge commits new 17d2bf5cee magit-diff{,-refresh}: Rearrange arguments new c316ca034e Use setq-local instead of set and make-local-variable Summary of changes: lisp/git-rebase.el| 2 +- lisp/magit-commit.el | 11 --- lisp/magit-diff.el| 18 +- lisp/magit-section.el | 40 ++-- 4 files changed, 52 insertions(+), 19 deletions(-)
[nongnu] elpa/git-commit c316ca034e 4/4: Use setq-local instead of set and make-local-variable
branch: elpa/git-commit commit c316ca034ed3a8266f36c6f5f92563ba2df09d60 Author: Jonas Bernoulli Commit: Jonas Bernoulli Use setq-local instead of set and make-local-variable --- lisp/git-rebase.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/git-rebase.el b/lisp/git-rebase.el index 66f11195c5..2a0fbb3d6d 100644 --- a/lisp/git-rebase.el +++ b/lisp/git-rebase.el @@ -830,7 +830,7 @@ By default, this is the same except for the \"pick\" command." (add-hook 'git-rebase-mode-hook #'git-rebase-mode-show-keybindings t) (defun git-rebase-mode-disable-before-save-hook () - (set (make-local-variable 'before-save-hook) nil)) + (setq-local before-save-hook nil)) (add-hook 'git-rebase-mode-hook #'git-rebase-mode-disable-before-save-hook)
[nongnu] elpa/git-commit 986515d93f 1/4: Deal with enabled long lines shortcuts
branch: elpa/git-commit commit 986515d93f2214895e73e1066e9101b1d371fb62 Author: Jonas Bernoulli Commit: Jonas Bernoulli Deal with enabled long lines shortcuts Closes #4955. --- lisp/magit-section.el | 40 ++-- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/lisp/magit-section.el b/lisp/magit-section.el index 03883475bb..df8df28a47 100644 --- a/lisp/magit-section.el +++ b/lisp/magit-section.el @@ -1607,12 +1607,15 @@ evaluated its BODY. Admittedly that's a bit of a hack." (setq magit-section-unhighlight-sections magit-section-highlighted-sections) (setq magit-section-highlighted-sections nil) -(unless (eq section magit-root-section) - (run-hook-with-args-until-success - 'magit-section-highlight-hook section selection)) -(dolist (s magit-section-unhighlight-sections) - (run-hook-with-args-until-success - 'magit-section-unhighlight-hook s selection)) +(if (and (fboundp 'long-line-optimizations-p) + (long-line-optimizations-p)) +(magit-section--enable-long-lines-shortcuts) + (unless (eq section magit-root-section) +(run-hook-with-args-until-success + 'magit-section-highlight-hook section selection)) + (dolist (s magit-section-unhighlight-sections) +(run-hook-with-args-until-success + 'magit-section-unhighlight-hook s selection))) (restore-buffer-modified-p nil))) (setq magit-section-highlight-force-update nil) (magit-section-maybe-paint-visibility-ellipses))) @@ -1676,6 +1679,31 @@ invisible." (push ov magit-section-highlight-overlays) ov)) +(defvar magit-show-long-lines-warning t) + +(defun magit-section--enable-long-lines-shortcuts () + (message "Enabling long lines shortcuts in %S" (current-buffer)) + (setq-local redisplay-highlight-region-function + #'redisplay--highlight-overlay-function) + (setq-local redisplay-unhighlight-region-function + #'redisplay--unhighlight-overlay-function) + (when magit-show-long-lines-warning +(setq magit-show-long-lines-warning nil) +(display-warning 'magit "\ +Emacs has enabled redisplay shortcuts +in this buffer because there are lines who's length go beyond +`long-line-treshhold' \(%s characters). As a result section +highlighting and the special appearance of the region has been +disabled. Some existing highlighting might remain in effect. + +These shortcuts remain enables, even once there no longer are +any long lines in this buffer. To disable them again, kill +and recreate the buffer. + +This message won't be shown for this session again. To disable +it for all future sessions, set `magit-show-long-lines-warning' +to nil." :warning))) + (cl-defgeneric magit-section-get-relative-position (section)) (cl-defmethod magit-section-get-relative-position ((section magit-section))
[nongnu] elpa/git-commit 17d2bf5cee 3/4: magit-diff{, -refresh}: Rearrange arguments
branch: elpa/git-commit commit 17d2bf5cee57c81ae1c801f995d415f252c12f4c Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-diff{,-refresh}: Rearrange arguments Move arguments for using an external diff driver and showing additional information after all arguments that tweak the look of the diff. --- lisp/magit-diff.el | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el index cfedfecd19..5f88922aa1 100644 --- a/lisp/magit-diff.el +++ b/lisp/magit-diff.el @@ -900,12 +900,12 @@ and `:slant'." (magit-diff:--diff-algorithm) (magit-diff:-M) (magit-diff:-C) - ("-x" "Disallow external diff drivers" "--no-ext-diff") - ("-s" "Show stats" "--stat") - ("=g" "Show signature" "--show-signature") (5 "-R" "Reverse sides""-R") (5 magit-diff:--color-moved) - (5 magit-diff:--color-moved-ws)] + (5 magit-diff:--color-moved-ws) + ("-x" "Disallow external diff drivers" "--no-ext-diff") + ("-s" "Show stats" "--stat") + ("=g" "Show signature" "--show-signature")] ["Actions" [("d" "Dwim" magit-diff-dwim) ("r" "Diff range"magit-diff-range) @@ -934,15 +934,15 @@ and `:slant'." (magit-diff:--diff-algorithm) (magit-diff:-M) (magit-diff:-C) + (5 "-R" "Reverse sides""-R" + :if-derived magit-diff-mode) + (5 magit-diff:--color-moved) + (5 magit-diff:--color-moved-ws) ("-x" "Disallow external diff drivers" "--no-ext-diff") ("-s" "Show stats" "--stat" :if-derived magit-diff-mode) ("=g" "Show signature" "--show-signature" -:if-derived magit-diff-mode) - (5 "-R" "Reverse sides""-R" - :if-derived magit-diff-mode) - (5 magit-diff:--color-moved) - (5 magit-diff:--color-moved-ws)] +:if-derived magit-diff-mode)] [["Refresh" ("g" "buffer" magit-diff-refresh) ("s" "buffer and set defaults" transient-set :transient nil)
[nongnu] elpa/magit updated (ee0b557a94 -> c316ca034e)
elpasync pushed a change to branch elpa/magit. from ee0b557a94 Remove text properties when copying from magit buffers adds 986515d93f Deal with enabled long lines shortcuts adds 48ebba0a16 magit-commit-assert: Tweak behavior for merge commits adds 17d2bf5cee magit-diff{,-refresh}: Rearrange arguments adds c316ca034e Use setq-local instead of set and make-local-variable No new revisions were added by this update. Summary of changes: lisp/git-rebase.el| 2 +- lisp/magit-commit.el | 11 --- lisp/magit-diff.el| 18 +- lisp/magit-section.el | 40 ++-- 4 files changed, 52 insertions(+), 19 deletions(-)
[nongnu] elpa/magit-section updated (ee0b557a94 -> c316ca034e)
elpasync pushed a change to branch elpa/magit-section. from ee0b557a94 Remove text properties when copying from magit buffers adds 986515d93f Deal with enabled long lines shortcuts adds 48ebba0a16 magit-commit-assert: Tweak behavior for merge commits adds 17d2bf5cee magit-diff{,-refresh}: Rearrange arguments adds c316ca034e Use setq-local instead of set and make-local-variable No new revisions were added by this update. Summary of changes: lisp/git-rebase.el| 2 +- lisp/magit-commit.el | 11 --- lisp/magit-diff.el| 18 +- lisp/magit-section.el | 40 ++-- 4 files changed, 52 insertions(+), 19 deletions(-)
[nongnu] branch elpa-admin created (now 85baef2281)
skangas pushed a change to branch elpa-admin. at 85baef2281 Add *BSD and macOS build support This branch includes the following new commits: new ce02925d98 Initial revision new 20cbb20270 * sml-mode.texi: somewhat updated the doc. * release 3.9.3 new da5ff0a8c5 Added to CVS (formerly not under RCS). new 015e981bd2 # Added comment about loading supplied classes separately. new d8ee81571c # Updated stuff. new 26ce87823f # Updated for SourceForge new b584cdfb65 # Updated. new d9cdf2a795 Added comment about installing with multiple emacsen. new 6ee3dad0d7 Added script and documentation for installing from CVS new 938c532f2d add README file. new 3ca74c1d31 preparing for new rst format document new c2674b7052 exclude html files from svn new 102fabb560 Start the Grand Unified Debugger Rewrite. new ab46aeb4bb Relative loads for Emacs Lisp files. Adds functions __FILE__ and load-relative. new bd19e1fe1a Start to use load-relative. dbgr-core.el: fix bug in dbgr-term-sentinal new 5bb59724bb load-relative.el: Add provide-me and make GPL v3. README: expand and turn into red-cloth markup. new 6de639575f See if changing the name from README to README.markup gives github a clue new 22e83324fd Nope changing the name made things worse. new 3f66070265 Turn README back into text. Add special redcloth version. new d656221fa5 Track original positions in the face of possible edits. Intended use in debugging where one might edit the file but continue editing. new 50fc47cae5 Update email addresses. (dist): Fix up update to use Svn rather than CVS. new 487ee796aa Update README to note dependencies and what debugger's we've got. new a53e0097c1 Merge branch 'master' of github.com:rocky/emacs-dbgr new 1329950078 Administrivia. Add COPYING, update README and .gitignore, bump version number. new a703bf2fc8 Merge branch 'master' of github.com:rocky/emacs-load-relative new 370423c1ef * COPYING, ChangeLog, README, admin/org-synch.el, admin/org-synch.sh, admin/package-update.sh: Initial import. new 8b07a20cf3 * README: Explain how to run the repo build script. new 03e28d1917 README: Document usage of this repository in detail. new 3b5fe95c8c * admin/archive-contents.el: New file. * packages/rainbow-mode-readme.txt: * packages/js2-mode-readme.txt: Auto-update from the commentary. * packages/js2-mode-20090814.el: Capitalize the description. * packages/debbugs-0.1/debbugs.el: Require cl since it uses `case'. (debbugs-get-bugs): Fix up typo. * packages/company-0.5/company-gtags.el (company-gtags-gnu-global-program-name): Pass the "when" argument. * packages/auctex-11.86/auctex-pkg.el: Capitalize the descrip [...] new 5bbab915bb * packages/all-1.0.el: Change version. Address byte-compiler warnings. Rename the `marker' property to `all-marker'. (all-mode-map): Move initialization into declaration. (all-buffer): Mark buffer-local. (all-mode): Use define-derived-mode. Setup the change-functions buffer-locally. (all): Use read-string. Let-bind all-initialization-p. (all-insert): Use a `match' face text property rather then a `highlight' face overlay for the match highlight. * admin/archive-c [...] new 1761424cbc Use archive-contents.el script. Remove archive-contents and readme files from pacakges/ subdir. new f8051b408a Fixes to archive-contents.el and package-update.sh. new 07ef2ff6b4 Add README file new ae7a3dfa52 Copy Emacs wiki page's content to new README file new dbbb145ec4 Clearer reference to the license text new f545af1a58 Rephrase some parts of README new 3c6d0e1350 Copy examples from wcheck-language-data doc to README new 7b9d56bf62 README: Move copyright and license text to the end new b25e1bf105 Rephrase documentation and comments new 14ac0efc73 Merge branch 'action' new 051b643b38 README: Add a section about source code repository new 33a578210d Ensure case-fold-search=t in the example email detect function new 06a86aaae3 Add an explicit OPERATION-MODE "nil" in README's examples new e5ad0fab76 Rephrase examples new cff4ab888c Add a note for programmers about wcheck-marked-text-at new 0c236524a0 Revert "Add an explicit OPERATION-MODE "nil" in README's examples" new b82444020b Minor rephrasing in README new 5fefd44fa2 Update archive-contents to add package versions from contents. new 285d815919 Fix last change. new d6dfeed0ca Fix last change. new 45792fe237 Remove version numbers from filenames in packages/ dir. new e148a063e2 Put quotes `...' around the example function add-word-to-dictionary new dfa5808890 Rework archive-contents.el to handle new packages/ structure.
[nongnu] main 7b74826211: * elpa-packages (golden-ratio): New package.
branch: main commit 7b74826211bf676588bc726bcb5a90a96d9a1b13 Author: Stefan Kangas Commit: Stefan Kangas * elpa-packages (golden-ratio): New package. --- elpa-packages | 4 1 file changed, 4 insertions(+) diff --git a/elpa-packages b/elpa-packages index f8ba4ee5c1..1a732e185e 100644 --- a/elpa-packages +++ b/elpa-packages @@ -284,6 +284,10 @@ (go-mode :url "https://github.com/dominikh/go-mode.el"; :ignored-files ("generate_authors.sh")) + (golden-ratio :url "https://github.com/roman/golden-ratio.el.git"; + :readme "README.md" + :ignored-files ("LICENSE")) + (gotham-theme :url "https://depp.brause.cc/gotham-theme.git"; :readme "README.md" :ignored-files ("img" "LICENSE"))
[elpa] externals/system-packages 781f8d40ed 2/2: Bump version to 1.0.13
branch: externals/system-packages commit 781f8d40ed35a86a65dda3123506dc810adc10e3 Author: Stefan Kangas Commit: Stefan Kangas Bump version to 1.0.13 --- system-packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-packages.el b/system-packages.el index f865926955..1e34038cb0 100644 --- a/system-packages.el +++ b/system-packages.el @@ -6,7 +6,7 @@ ;; Maintainer: J. Alexander Branham ;; URL: https://gitlab.com/jabranham/system-packages ;; Package-Requires: ((emacs "24.3")) -;; Version: 1.0.12 +;; Version: 1.0.13 ;; This file is part of GNU Emacs.
[elpa] externals/system-packages ae31edd1ed 1/2: Avoid conflicts with the pacman package manager
branch: externals/system-packages commit ae31edd1ed8521d89e0f2b126ac8fd79254d7729 Author: Stefan Kangas Commit: Stefan Kangas Avoid conflicts with the pacman package manager * system-packages.el (system-packages-supported-package-managers): Move pacman to the end of the list to avoid conflicts. Ref: https://github.com/jwiegley/use-package/issues/1060 --- system-packages.el | 46 +++--- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/system-packages.el b/system-packages.el index e89fcd792a..f865926955 100644 --- a/system-packages.el +++ b/system-packages.el @@ -123,28 +123,6 @@ (list-installed-packages-all . "port installed") (list-dependencies-of . "port deps") (noconfirm . nil))) -;; Arch-based systems -(pacman . -((default-sudo . t) - (install . "pacman -S") - (search . "pacman -Ss") - (uninstall . "pacman -Rns") - (update . "pacman -Syu") - (clean-cache . "pacman -Sc") - (change-log . "pacman -Qc") - (log . "cat /var/log/pacman.log") - (get-info . "pacman -Qi") - (get-info-remote . "pacman -Si") - (list-files-provided-by . "pacman -qQl") - (owning-file . "pacman -Qo") - (owning-file-remote . "pacman -F") - (verify-all-packages . "pacman -Qkk") - (verify-all-dependencies . "pacman -Dk") - (remove-orphaned . "pacman -Rns $(pacman -Qtdq)") - (list-installed-packages . "pacman -Qe") - (list-installed-packages-all . "pacman -Q") - (list-dependencies-of . "pacman -Qi") - (noconfirm . "--noconfirm"))) ;; Debian (and Ubuntu) based systems (apt . ((default-sudo . t) @@ -297,7 +275,29 @@ (list-installed-packages . "xbps-query -l ") (list-installed-packages-all . "xbps-query -l ") (list-dependencies-of . "xbps-query -x") - (noconfirm . nil + (noconfirm . nil))) +;; Arch-based systems +(pacman . +((default-sudo . t) + (install . "pacman -S") + (search . "pacman -Ss") + (uninstall . "pacman -Rns") + (update . "pacman -Syu") + (clean-cache . "pacman -Sc") + (change-log . "pacman -Qc") + (log . "cat /var/log/pacman.log") + (get-info . "pacman -Qi") + (get-info-remote . "pacman -Si") + (list-files-provided-by . "pacman -qQl") + (owning-file . "pacman -Qo") + (owning-file-remote . "pacman -F") + (verify-all-packages . "pacman -Qkk") + (verify-all-dependencies . "pacman -Dk") + (remove-orphaned . "pacman -Rns $(pacman -Qtdq)") + (list-installed-packages . "pacman -Qe") + (list-installed-packages-all . "pacman -Q") + (list-dependencies-of . "pacman -Qi") + (noconfirm . "--noconfirm" "An alist of package manager commands. The key is the package manager and value (usually) the shell command to run. Any occurrences of ~%p~ in the command will be replaced with the package
[elpa] externals/system-packages updated (14b2cc3d54 -> 781f8d40ed)
skangas pushed a change to branch externals/system-packages. from 14b2cc3d54 Bump version to 1.0.12 new ae31edd1ed Avoid conflicts with the pacman package manager new 781f8d40ed Bump version to 1.0.13 Summary of changes: system-packages.el | 48 1 file changed, 24 insertions(+), 24 deletions(-)
[nongnu] main 7be7879e3e: ; Remove outdated comment about haskell-mode
branch: main commit 7be7879e3ea01401ff51a515da882e79148392ea Author: Stefan Kangas Commit: Stefan Kangas ; Remove outdated comment about haskell-mode --- elpa-packages | 6 -- 1 file changed, 6 deletions(-) diff --git a/elpa-packages b/elpa-packages index 1a732e185e..d8dac1e55e 100644 --- a/elpa-packages +++ b/elpa-packages @@ -313,12 +313,6 @@ ;; manually set the latest commit to a proper version number: :version-map (("0" "3.1.10" "bf5b6c11b1206759d2b28af48765e04882dd1fc4"))) - ;; FIXME: haskell-mode was removed from here, following a request (see - ;; https://github.com/haskell/haskell-mode/issues/1755#issuecomment-896127958 - ;; but it stayed in NonGNU ELPA because the `elpa-admin.el` scripts did - ;; not know how to remove packages. - ;; In the mean time, the `hcel` GNU ELPA package was added, which uses - ;; `haskell-mode`, so we re-instated the packege here. (haskell-mode :url "https://github.com/haskell/haskell-mode"; :doc "doc/haskell-mode.texi" :ignored-files ("images" "test" "logo.svg"))
[elpa] externals/pyim 81459f21a1 1/2: Add pyim-candidates-xingma-words-function custom, see #449
branch: externals/pyim commit 81459f21a13a420426b0b32ae8271938bf480efb Author: Feng Shu Commit: Feng Shu Add pyim-candidates-xingma-words-function custom, see #449 --- README.org | 6 ++ pyim-candidates.el | 18 +++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/README.org b/README.org index e355227bc5..8cb6648acd 100644 --- a/README.org +++ b/README.org @@ -440,6 +440,12 @@ Emacs启动后 "M-x toggle-input-method" 或按 "C-\\" 打开输入法。 (setq pyim-enable-shortcode nil) #+end_example +** 形码输入法如何微调候选词序 + +#+begin_example +(setq pyim-candidates-xingma-words-function #'my-func) +#+end_example + ** 如何将个人词条相关信息导入和导出? 1. 导入使用命令: pyim-dcache-import diff --git a/pyim-candidates.el b/pyim-candidates.el index aa8192754a..f945617e79 100644 --- a/pyim-candidates.el +++ b/pyim-candidates.el @@ -49,6 +49,13 @@ 这个功能很好用,但偶尔会导致 pyim 卡顿。" :type 'boolean) +(defcustom pyim-candidates-xingma-words-function + #'pyim-candidates-xingma-words-default + "形码输入法候选词列表生成函数。 + +如果形码输入法用户需要微调候选词词频,可以自定义这个函数。" + :type 'function) + ;; ** 获取备选词列表 (defun pyim-candidates--sort (candidates) "对 CANDIDATES 进行排序。" @@ -97,20 +104,25 @@ (when other-codes (setq prefix (mapconcat (lambda (code) - (car (pyim-candidates--xingma-words code))) + (car (pyim-candidates-xingma-words code))) other-codes ""))) ;; 5. output => 工子又 工子叕 (setq output (mapcar (lambda (word) (concat prefix word)) - (pyim-candidates--xingma-words last-code))) + (pyim-candidates-xingma-words last-code))) (setq output (remove "" (or output (list prefix (setq result (append result output (when (car result) (delete-dups result -(defun pyim-candidates--xingma-words (code) +(defun pyim-candidates-xingma-words (code) + "搜索形码 CODE, 得到相应的词条列表。" + (and (functionp pyim-candidates-xingma-words-function) + (funcall pyim-candidates-xingma-words-function code))) + +(defun pyim-candidates-xingma-words-default (code) "搜索形码 CODE, 得到相应的词条列表。 当前的词条的构建规则是:
[elpa] externals/pyim updated (41c1766341 -> 64067b20ce)
elpasync pushed a change to branch externals/pyim. from 41c1766341 Update .github/workflows/test.yml new 81459f21a1 Add pyim-candidates-xingma-words-function custom, see #449 new 64067b20ce v5.3.3 Summary of changes: README.org | 6 ++ pyim-candidates.el | 18 +++--- pyim.el| 2 +- 3 files changed, 22 insertions(+), 4 deletions(-)
[elpa] externals/pyim 64067b20ce 2/2: v5.3.3
branch: externals/pyim commit 64067b20ce0e964b1342b378180f24a1d4503797 Author: Feng Shu Commit: Feng Shu v5.3.3 --- pyim.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyim.el b/pyim.el index 7765a647a7..a16127b9cb 100644 --- a/pyim.el +++ b/pyim.el @@ -7,7 +7,7 @@ ;; Feng Shu ;; Maintainer: Feng Shu ;; URL: https://github.com/tumashu/pyim -;; Version: 5.3.2 +;; Version: 5.3.3 ;; Keywords: convenience, Chinese, pinyin, input-method ;; Package-Requires: ((emacs "27.1") (async "1.6") (xr "1.13"))
[nongnu] elpa/golden-ratio 44565934da 10/95: Merge branch 'arcanis'
branch: elpa/golden-ratio commit 44565934dae0037bd6c5402200f681d4ebef66db Merge: bb4afe59b2 55bc7ccb67 Author: Roman Gonzalez Commit: Roman Gonzalez Merge branch 'arcanis' Conflicts: golden-ratio.el --- golden-ratio.el | 1 + 1 file changed, 1 insertion(+) diff --git a/golden-ratio.el b/golden-ratio.el index 3511a213f7..4c0ccfb0f2 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -13,6 +13,7 @@ ;; This file is free software (MIT License) ;;; Code: +(eval-when-compile (require 'cl)) (defconst -golden-ratio-value 1.618 "The golden ratio value itself.")
[nongnu] branch elpa/golden-ratio created (now bf0035fd6a)
elpasync pushed a change to branch elpa/golden-ratio. at bf0035fd6a Merge pull request #89 from skangas/nongnu-elpa-fixes This branch includes the following new commits: new e0f783dfa7 First commit of golden-ratio.el new 9f9c0e3008 Removing heavy gif from master branch new 972eb4d7d6 Updating gif url on README new 8a1214c453 Adding extra condition for golden-ratio new 0f42738fb9 Adding "emacs package standards" to golden-ratio.el new 65db8b88aa Added a constant to hold the golden ratio value. new 38305ca407 Adds dependency on cl new bb4afe59b2 Merge pull request #3 from dsevilla/master new 55bc7ccb67 Wraps cl requirement in an eval-when-compile clause new 44565934da Merge branch 'arcanis' new 0517fc134a Replacing `window-absolute-pixel-edges` in favor of `window-pixel-edges` new 351fe5f8f1 Removing error messages on minibuffer and full height/width windows new cb8ff0bdb0 Bumping to version 0.0.3 new ed24985e10 Fix MELPA footer. new 0508acbd20 Merge pull request #12 from zane/melpa new 6af760274b Fixing several bugs at once new f5b3602b5d Merge branch '0.0.4' new 650121be18 Support exclusions based on buffer name or major mode new ff8ade7d35 Merge branch 'release/with-exemption-support' new 9843ca2239 Merge pull request #15 from hickinbottoms/feature/add-exemptions new feddcbe68b Merge remote-tracking branch 'upstream/master' new ef6f8ce72d Support exclusions based on inhabit function new 7504957a7a Merge pull request #19 from deftsp/inhabit-func new af7c754985 Added advice on `delete-window` new 2d1553431c Merge pull request #22 from Fuco1/master new c028a68645 Initial cleanup. new d7c433c655 (golden-ratio--resize-window): Fix, it is not a cond but when twice. new b2eb54a74c Remove unuseful advices and create new minor mode. new 239eb4d9cb (golden-ratio): scroll left. new d877ceec2c Remove commented line. new f547dee6ad (golden-ratio-mode): fix lighter. new 550fb22580 * golden-ratio.el (window-width-after-balance, window-height-after-balance): new (golden-ratio--resize-window): use them and check with `window-resizable-p'. new 0d7e18325d Merge pull request #1 from thierryvolpiatto/exp new 7646627bbf * golden-ratio.el: Add group. new 07fc7d7f7b Merge branch 'master' of github.com:thierryvolpiatto/golden-ratio.el new 4871294c94 * golden-ratio.el (pop-to-buffer): Advice also pop-to-buffer. new 6e58cc5871 Merge branch 'origin-exp' new 8f1cd6c9fd * golden-ratio.el: make golden-ratio-mode global and recenter window. new a19b9b0a3b * golden-ratio.el: Fix window-resizable-p compatibility with 24.2. new 19bacbeaee * golden-ratio.el (golden-ratio--resize-window): Remove unuseful nil arg. new e66acd10ae * golden-ratio.el (window-height-after-balance, window-width-after-balance): Prefix with golden-ratio. new 134156bbff * golden-ratio.el: Allow running golden-ratio when switching with other commands than other-window. new 95a0633733 * golden-ratio.el: Finally allow reusing balance-windows safely. Most issues fixed now. (golden-ratio): Allow reuse of balance-windows by disabling golden-ratio-mode. (golden-ratio--window-height-after-balance, golden-ratio--window-width-after-balance): Get rid of them, removed. new 549f94c2db * golden-ratio.el: Clean up, add some commands. Ready to merge. new 5411fb2798 Merge pull request #23 from thierryvolpiatto/master new 807c441682 Add one extra advice to golden-ratio for window-numbering.el support new ac6ca479cc (golden-ratio): use thereis in golden-ratio-inhibit-functions. new 38948457fd Merge remote-tracking branch 'refs/remotes/upstream/master' new 25e95f7833 Merge pull request #27 from thierryvolpiatto/master new ef1fba5902 * README.md: Update new 1df894012e Merge pull request #28 from thierryvolpiatto/master new f4c0dbb164 Revert "Add one extra advice to golden-ratio for window-numbering.el support" new 12b57a3904 * golden-ratio.el: Fix Issue #29, a typo. new 86ffa26952 Merge pull request #31 from thierryvolpiatto/master new 892e668685 * golden-ratio.el (golden-ratio): Fix Issue #32 don't recenter and scroll-right. new 33aa083b66 Merge pull request #33 from thierryvolpiatto/master new 73e9bd7f94 Merge remote-tracking branch 'upstream/master' new cb9ccd04bb Also resize windows when using mouse new 0b90ffbf02 Delay window reconfig to fix autofollow new 7da7dd7d53 * golden-ratio.el (golden-ratio-recenter): New user var, allow recentering and scrolling right as before when non--nil. new 79ead1cba6 Merge pull request #35 from thierryvolpiatto/master new cbd076aa
[nongnu] elpa/golden-ratio ef1fba5902 50/95: * README.md: Update
branch: elpa/golden-ratio commit ef1fba59025dd3352bd1ee2544208594015cda54 Author: Thierry Volpiatto Commit: Thierry Volpiatto * README.md: Update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30f47b6db2..65eb80020f 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,13 @@ To enable automatic resizing, put on your .emacs.d/init.el ```elisp (require 'golden-ratio) -(golden-ratio-enable) +(golden-ratio-mode 1) ``` *** If you want to disable automatic resizing done by golden-ratio, just invoke -`(golden-ratio-disable)` +`M-x golden-ratio-mode` To call golden ratio manually just `M-x golden-ratio`
[nongnu] elpa/golden-ratio 0ea8c89807 90/95: Add license header
branch: elpa/golden-ratio commit 0ea8c89807c86ad78262a3a7ffcad09121c6f9d5 Author: Stefan Kangas Commit: Stefan Kangas Add license header --- golden-ratio.el | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 28a637d939..bf2b4ddc2b 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -12,7 +12,24 @@ ;; This file is not part of GNU Emacs. -;; This file is free software (MIT License) +;; Permission is hereby granted, free of charge, to any person obtaining +;; a copy of this software and associated documentation files (the +;; "Software"), to deal in the Software without restriction, including +;; without limitation the rights to use, copy, modify, merge, publish, +;; distribute, sublicense, and/or sell copies of the Software, and to +;; permit persons to whom the Software is furnished to do so, subject to +;; the following conditions: +;; +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. +;; +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +;; LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +;; WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ;;; Code: (eval-when-compile (require 'cl))
[nongnu] elpa/golden-ratio c5e916d238 86/95: Add fixed width feature
branch: elpa/golden-ratio commit c5e916d238bbb95cb43f83b9604c7bd96c2baf08 Author: Wictor Lund Commit: Wictor Lund Add fixed width feature --- README.md | 15 +++ golden-ratio.el | 12 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9a7b913bfb..1276fdba87 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,21 @@ screens with a width ~100 columns wide. golden-ratio-wide-adjust-factor .8) ``` +## Fixed width + +When working with files that are required to have a maximum line width or when writing text it's +sometimes good to have a fixed width on the window you are typing in. For example when editing this +files it's nice to set: +```elisp +(setq golden-ratio-max-width 100) +``` + +When I write I like to have two empty buffers on the side and set +```elisp +(setq golden-ratio-max-width 72) +``` +to get a distraction free experience. + ## Credits Code inspired by ideas from [Tatsuhiro Ujihisa](http://twitter.com/ujm) diff --git a/golden-ratio.el b/golden-ratio.el index b16441a8c4..580a3f4145 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -80,6 +80,11 @@ will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'boolean) +(defcustom golden-ratio-max-width nil + "Set a maximum column width on the active window." + :group 'golden-ratio + :type 'integer) + (defcustom golden-ratio-exclude-buffer-regexp nil "A list of regexp's used to match buffer names. Switching to a buffer whose name matches one of these regexps @@ -114,8 +119,11 @@ will prevent the window to be resized to the golden ratio." (defun golden-ratio--dimensions () (list (floor (/ (frame-height) golden-ratio--value)) -(floor (* (/ (frame-width) golden-ratio--value) - (golden-ratio--scale-factor) +(let ((width (floor (* (/ (frame-width) golden-ratio--value) +(golden-ratio--scale-factor) + (if golden-ratio-max-width + (min golden-ratio-max-width width) +width (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window))
[nongnu] elpa/golden-ratio 55bc7ccb67 09/95: Wraps cl requirement in an eval-when-compile clause
branch: elpa/golden-ratio commit 55bc7ccb670f5dc2eb16d663da4271a1cd7a2f9a Author: Maël Nison Commit: Maël Nison Wraps cl requirement in an eval-when-compile clause --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 93c8dbb090..94c8914447 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -14,7 +14,7 @@ ;;; Code: -(require 'cl) +(eval-when-compile (require 'cl)) (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) 1.618)))
[nongnu] elpa/golden-ratio c506ddc04a 66/95: Added explanation of golden-ratio-adjust.
branch: elpa/golden-ratio commit c506ddc04a66e0e28e33b174399a96e77bc9e2b4 Author: EricGebhart Commit: EricGebhart Added explanation of golden-ratio-adjust. --- README.md | 6 ++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 65eb80020f..52799772e4 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,12 @@ If you want to disable automatic resizing done by golden-ratio, just invoke To call golden ratio manually just `M-x golden-ratio` +If you use a large screen and have very wide frames, setting the golden-ratio-adjust-width +variable to something less than 1 will cause the windows to be less wide. +The golden-ratio-adjust function allows for experimentation with this value. + +`M-x golden-ratio-adjust` + ## Credits Code inspired by ideas from [Tatsuhiro Ujihisa](http://twitter.com/ujm)
[nongnu] elpa/golden-ratio 9f9c0e3008 02/95: Removing heavy gif from master branch
branch: elpa/golden-ratio commit 9f9c0e300838ca449eafbc9667726aedd77d61fb Author: Roman Gonzalez Commit: Roman Gonzalez Removing heavy gif from master branch --- golden_ratio_el.gif | Bin 1208151 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/golden_ratio_el.gif b/golden_ratio_el.gif deleted file mode 100644 index 4cb0215627..00 Binary files a/golden_ratio_el.gif and /dev/null differ
[nongnu] elpa/golden-ratio 79b1743fc1 73/95: Merge pull request #45 from vkazanov/master
branch: elpa/golden-ratio commit 79b1743fc1a2f3462445e9ddd0a869f30065bb6d Merge: 76f5307ad0 e2cbe68277 Author: Thierry Volpiatto Commit: Thierry Volpiatto Merge pull request #45 from vkazanov/master Use a common way to avoid recursion --- golden-ratio.el | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 2fd65814a6..d5a6b58d9c 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -124,7 +124,8 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio () "Resizes current window to the golden-ratio's size specs." (interactive) - (unless (or (window-minibuffer-p) + (unless (or (not golden-ratio-mode) + (window-minibuffer-p) (one-window-p) (member (symbol-name major-mode) golden-ratio-exclude-modes) @@ -134,15 +135,13 @@ will not cause the window to be resized to the golden ratio." (loop for fun in golden-ratio-inhibit-functions thereis (funcall fun (let ((dims (golden-ratio--dimensions)) - (golden-p (if golden-ratio-mode 1 -1))) + (golden-ratio-mode nil)) ;; Always disable `golden-ratio-mode' to avoid ;; infinite loop in `balance-windows'. - (golden-ratio-mode -1) (balance-windows) (golden-ratio--resize-window dims) (when golden-ratio-recenter -(scroll-right) (recenter)) - (golden-ratio-mode golden-p +(scroll-right) (recenter) ;; Should return nil (defadvice other-window
[nongnu] elpa/golden-ratio 95a0633733 43/95: * golden-ratio.el: Finally allow reusing balance-windows safely. Most issues fixed now.
branch: elpa/golden-ratio commit 95a06337338010378461655174c9fa30629ba350 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Finally allow reusing balance-windows safely. Most issues fixed now. (golden-ratio): Allow reuse of balance-windows by disabling golden-ratio-mode. (golden-ratio--window-height-after-balance, golden-ratio--window-width-after-balance): Get rid of them, removed. --- golden-ratio.el | 32 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 825d4d2043..6cbdb5f059 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -68,32 +68,13 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window)) -(let ((nrow (floor (- (first dimensions) - (golden-ratio--window-height-after-balance - (ncol (floor (- (second dimensions) - (golden-ratio--window-width-after-balance) +(let ((nrow (floor (- (first dimensions) (window-height + (ncol (floor (- (second dimensions) (window-width) (when (window-resizable-p (selected-window) nrow) (enlarge-window nrow)) (when (window-resizable-p (selected-window) ncol t) (enlarge-window ncol t) -(defun golden-ratio--window-width-after-balance () - (let* ((size-ls (loop for i in (window-list) -unless (window-full-width-p i) -collect (window-width i))) - (len (length size-ls)) - (width (and size-ls (floor (/ (apply #'+ size-ls) len) -(if width (min (window-width) width) (window-width - -(defun golden-ratio--window-height-after-balance () - (let* ((size-ls (loop for i in (window-list) -unless (or (window-full-height-p i) - (not (window-full-width-p i))) -collect (window-height i))) - (len (length size-ls)) - (height (and size-ls (floor (/ (apply #'+ size-ls) len) -(if height (min (window-height) height) (window-height - ;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs." @@ -107,10 +88,13 @@ will not cause the window to be resized to the golden ratio." (and golden-ratio-inhibit-functions (loop for fun in golden-ratio-inhibit-functions always (funcall fun -(let ((dims (golden-ratio--dimensions))) +(let ((dims (golden-ratio--dimensions)) + (golden-p golden-ratio-mode)) + (and golden-p (golden-ratio-mode -1)) + (balance-windows) (golden-ratio--resize-window dims) - (scroll-left) - (recenter + (scroll-right) (recenter) + (and golden-p (golden-ratio-mode 1) ;; Should return nil (defadvice other-window
[nongnu] elpa/golden-ratio 0f42738fb9 05/95: Adding "emacs package standards" to golden-ratio.el
branch: elpa/golden-ratio commit 0f42738fb967f71790705424c6db36cb52b88207 Author: Roman Gonzalez Commit: Roman Gonzalez Adding "emacs package standards" to golden-ratio.el --- golden-ratio.el | 26 ++ 1 file changed, 26 insertions(+) diff --git a/golden-ratio.el b/golden-ratio.el index d483496923..639fc9faa9 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -1,9 +1,26 @@ +;;; golden-ratio.el --- Automatic resizing of Emacs windows to the golden ratio + +;; Copyright (C) 2012 Roman Gonzalez + +;; Author: Roman Gonzalez +;; Mantainer: Roman Gonzalez +;; Created: 13 Oct 2012 +;; Keywords: Window Resizing +;; Version: 0.0.2 + +;; This file is not part of GNU Emacs. + +;; This file is free software (MIT License) + +;;; Code: + (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) 1.618))) (main-columns (floor (/ (frame-width) 1.618 (list main-rows main-columns))) + (defun -golden-ratio-resize-window (dimensions window) (let* ((edges (window-absolute-pixel-edges window)) (nrow(floor @@ -18,6 +35,7 @@ (defun golden-ratio () + "Resizes current window to the golden-ratio's size specs" (interactive) (if (and (not (window-minibuffer-p)) (not (one-window-p))) @@ -26,16 +44,24 @@ (-golden-ratio-resize-window (-golden-ratio-dimensions) (selected-window) + (defadvice select-window (after golden-ratio-resize-window) (golden-ratio)) + (defun golden-ratio-enable () + "Enables golden-ratio's automatic window resizing" (interactive) (ad-activate 'select-window)) + (defun golden-ratio-disable () + "Disables golden-ratio's automatic window resizing" (interactive) (ad-deactivate 'select-window)) + (provide 'golden-ratio) + +;;; filename ends here
[nongnu] elpa/golden-ratio ff8ade7d35 19/95: Merge branch 'release/with-exemption-support'
branch: elpa/golden-ratio commit ff8ade7d359bfc6888942533515bed2c5d327f34 Merge: f5b3602b5d 650121be18 Author: Stuart Hickinbottom Commit: Stuart Hickinbottom Merge branch 'release/with-exemption-support' --- golden-ratio.el | 26 +- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index d012f976b7..afcffaab8d 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -20,6 +20,26 @@ (defconst -golden-ratio-value 1.618 "The golden ratio value itself.") +;; Major modes that are exempt from being resized. An example of this +;; for users of Org-mode might be: +;; ("calendar-mode") +(defcustom golden-ratio-exclude-modes nil + "An array of strings naming major modes. Switching to a buffer +whose major mode is a member of this list will not cause the +window to be resized to the golden ratio." + :type '(repeat string) + :group 'golden-ratio) + +;; Buffer names that are exempt from being resized. An example of this +;; for users of Org-mode might be (note the leading spaces): +;; (" *Org tags*" " *Org todo*") +(defcustom golden-ratio-exclude-buffer-names nil + "An array of strings containing buffer names. Switching to a +buffer whose name is a member of this list will not cause the +window to be resized to the golden ratio." + :type '(repeat string) + :group 'golden-ratio) + (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) (main-columns (floor (/ (frame-width) -golden-ratio-value @@ -47,7 +67,11 @@ "Resizes current window to the golden-ratio's size specs" (interactive) (if (and (not (window-minibuffer-p)) - (not (one-window-p))) + (not (one-window-p)) + (not (member (symbol-name major-mode) + golden-ratio-exclude-modes)) + (not (member (buffer-name) + golden-ratio-exclude-buffer-names))) (progn (balance-windows) (-golden-ratio-resize-window (-golden-ratio-dimensions)
[nongnu] elpa/golden-ratio bb4afe59b2 08/95: Merge pull request #3 from dsevilla/master
branch: elpa/golden-ratio commit bb4afe59b2914a950e38ba36b1d208153b4db346 Merge: 0f42738fb9 65db8b88aa Author: Roman Gonzalez Commit: Roman Gonzalez Merge pull request #3 from dsevilla/master Added a constant to hold the golden ratio value --- golden-ratio.el | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 639fc9faa9..3511a213f7 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -14,9 +14,12 @@ ;;; Code: +(defconst -golden-ratio-value 1.618 + "The golden ratio value itself.") + (defun -golden-ratio-dimensions () - (let* ((main-rows (floor (/ (frame-height) 1.618))) - (main-columns (floor (/ (frame-width) 1.618 + (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) + (main-columns (floor (/ (frame-width) -golden-ratio-value (list main-rows main-columns)))
[nongnu] elpa/golden-ratio e47c29f87e 78/95: Trigger after split-window as well
branch: elpa/golden-ratio commit e47c29f87e519f8b8e614a5c0ab7f6429c220a14 Author: Oleh Krehel Commit: Oleh Krehel Trigger after split-window as well * golden-ratio.el (split-window): New advice. (golden-ratio): Fixup. --- golden-ratio.el | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 8d9dc9c5e1..67970fe91e 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -143,8 +143,7 @@ will not cause the window to be resized to the golden ratio." (let ((golden-ratio-in-progress t)) (unless (or (window-minibuffer-p) (one-window-p) - (member (symbol-name major-mode) - golden-ratio-exclude-modes) + (golden-ratio-exclude-major-mode-p) (member (buffer-name) golden-ratio-exclude-buffer-names) (and golden-ratio-inhibit-functions @@ -159,6 +158,10 @@ will not cause the window to be resized to the golden ratio." (when golden-ratio-mode (golden-ratio))) +(defadvice split-window (after golden-ratio-select-window activate) + (when golden-ratio-mode +(golden-ratio))) + ;;;###autoload (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio."
[nongnu] elpa/golden-ratio 351fe5f8f1 12/95: Removing error messages on minibuffer and full height/width windows
branch: elpa/golden-ratio commit 351fe5f8f1008b15e516c64070bdfdbfa850e0ad Author: Roman Gonzalez Commit: Roman Gonzalez Removing error messages on minibuffer and full height/width windows It seems emacs 23 throws an error on windowc when trying to resize width/height of window that has full width/height size. --- golden-ratio.el | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index a43f76e10d..03f7cb8da9 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -34,8 +34,10 @@ (- (second dimensions) (window-width window) (progn - (enlarge-window nrow nil) - (enlarge-window ncol t + (if (not (window-full-height-p)) + (enlarge-window nrow nil)) + (if (not (window-full-width-p)) + (enlarge-window ncol t) (defun golden-ratio ()
[nongnu] elpa/golden-ratio cb9ccd04bb 58/95: Also resize windows when using mouse
branch: elpa/golden-ratio commit cb9ccd04bb190f2434a41692f1ee05034ce4c9c4 Author: Stuart Hickinbottom Commit: Stuart Hickinbottom Also resize windows when using mouse I found that clicking in windows to change focus didn't result in window resize; this fixes that problem. --- golden-ratio.el | 1 + 1 file changed, 1 insertion(+) diff --git a/golden-ratio.el b/golden-ratio.el index c28b3d4f28..037290c187 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -124,6 +124,7 @@ will not cause the window to be resized to the golden ratio." (progn (add-hook 'window-configuration-change-hook 'golden-ratio) (add-hook 'post-command-hook 'golden-ratio--post-command-hook) +(add-hook 'mouse-leave-buffer-hook 'golden-ratio) (ad-activate 'other-window) (ad-activate 'pop-to-buffer)) (remove-hook 'window-configuration-change-hook 'golden-ratio)
[nongnu] elpa/golden-ratio 0508acbd20 15/95: Merge pull request #12 from zane/melpa
branch: elpa/golden-ratio commit 0508acbd20fb46c9c5ac33495180302674f743fd Merge: cb8ff0bdb0 ed24985e10 Author: Roman Gonzalez Commit: Roman Gonzalez Merge pull request #12 from zane/melpa Fix MELPA footer --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 608d7d75b2..c55634f76c 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -72,4 +72,4 @@ (provide 'golden-ratio) -;;; filename ends here +;;; golden-ratio.el ends here
[nongnu] elpa/golden-ratio f547dee6ad 31/95: (golden-ratio-mode): fix lighter.
branch: elpa/golden-ratio commit f547dee6ad1577b9a8c9eabe99bacaa8871d0987 Author: Thierry Volpiatto Commit: Thierry Volpiatto (golden-ratio-mode): fix lighter. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 2275ec6cee..7da7b7935c 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -85,7 +85,7 @@ will not cause the window to be resized to the golden ratio." ;;;###autoload (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio." - :lighter "Golden" + :lighter " Golden" (if golden-ratio-mode (progn (add-hook 'window-configuration-change-hook 'golden-ratio)
[nongnu] elpa/golden-ratio 64ceb4f0c8 68/95: Added widescreens header to readme.
branch: elpa/golden-ratio commit 64ceb4f0c81f4d2deca2e9244b036a26767829ac Author: EricGebhart Commit: EricGebhart Added widescreens header to readme. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d295fb648..f8406f5040 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ If you want to disable automatic resizing done by golden-ratio, just invoke To call golden ratio manually just `M-x golden-ratio` -*** +## Wide Screens If you use a large screen and have very wide frames, setting the _golden-ratio-adjust-factor_ variable to something less than 1 will cause the windows to be less wide.
[nongnu] elpa/golden-ratio 8a1214c453 04/95: Adding extra condition for golden-ratio
branch: elpa/golden-ratio commit 8a1214c4538fb1e7c9c22ddcdfad46302cd8cad9 Author: Roman Gonzalez Commit: Roman Gonzalez Adding extra condition for golden-ratio Resizes only if there is more than one window --- golden-ratio.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index b13bb4a7b5..d483496923 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -19,7 +19,8 @@ (defun golden-ratio () (interactive) - (if (not (window-minibuffer-p)) + (if (and (not (window-minibuffer-p)) + (not (one-window-p))) (progn (balance-windows) (-golden-ratio-resize-window (-golden-ratio-dimensions)
[nongnu] elpa/golden-ratio 0517fc134a 11/95: Replacing `window-absolute-pixel-edges` in favor of `window-pixel-edges`
branch: elpa/golden-ratio commit 0517fc134a49e71057c2e9cda7e9b49e3364897f Author: Roman Gonzalez Commit: Roman Gonzalez Replacing `window-absolute-pixel-edges` in favor of `window-pixel-edges` This in order to support emacs 23, it seems the absolute version is not in it. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 4c0ccfb0f2..a43f76e10d 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -26,7 +26,7 @@ (defun -golden-ratio-resize-window (dimensions window) - (let* ((edges (window-absolute-pixel-edges window)) + (let* ((edges (window-pixel-edges window)) (nrow(floor (- (first dimensions) (window-height window
[nongnu] elpa/golden-ratio 807c441682 46/95: Add one extra advice to golden-ratio for window-numbering.el support
branch: elpa/golden-ratio commit 807c441682c8d398fc83de6b4023b2d251502f63 Author: Roman Gonzalez Commit: Roman Gonzalez Add one extra advice to golden-ratio for window-numbering.el support --- golden-ratio.el | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index dfe6baf6e9..fd64c5cc73 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -56,7 +56,7 @@ will not cause the window to be resized to the golden ratio." "List of extra commands used to jump to other window." :group 'golden-ratio :type '(repeat symbol)) - + ;;; Compatibility ;; (unless (fboundp 'window-resizable-p) @@ -108,6 +108,11 @@ will not cause the window to be resized to the golden ratio." (around golden-ratio-resize-window) (prog1 ad-do-it (golden-ratio))) +(when (fboundp 'select-window-by-number) + (defadvice select-window-by-number +(after golden-ratio-resize-window) +(golden-ratio) nil)) + (defun golden-ratio--post-command-hook () (when (or (memq this-command golden-ratio-extra-commands) (and (consp this-command) ; A lambda form. @@ -126,11 +131,15 @@ will not cause the window to be resized to the golden ratio." (add-hook 'window-configuration-change-hook 'golden-ratio) (add-hook 'post-command-hook 'golden-ratio--post-command-hook) (ad-activate 'other-window) -(ad-activate 'pop-to-buffer)) +(ad-activate 'pop-to-buffer) +(when (fboundp 'select-window-by-number) + (ad-activate 'select-window-by-number))) (remove-hook 'window-configuration-change-hook 'golden-ratio) (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) (ad-deactivate 'other-window) - (ad-activate 'pop-to-buffer))) + (ad-deactivate 'pop-to-buffer) + (when (fboundp 'select-window-by-number) + (ad-deactivate 'select-window-by-number (provide 'golden-ratio)
[nongnu] elpa/golden-ratio bf0035fd6a 95/95: Merge pull request #89 from skangas/nongnu-elpa-fixes
branch: elpa/golden-ratio commit bf0035fd6a1b2c1d9554909c795de1fcca5f3927 Merge: 3d93baf3c0 362ab0ede7 Author: Roman Gonzalez Commit: GitHub Merge pull request #89 from skangas/nongnu-elpa-fixes NonGNU ELPA fixes: Bump version + License header --- golden-ratio.el | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 75572f0384..de90a429fc 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -6,13 +6,30 @@ ;; Mantainer: Roman Gonzalez ;; Created: 13 Oct 2012 ;; Keywords: Window Resizing -;; Version: 0.0.4 +;; Version: 1.0.1 ;; Code inspired by ideas from Tatsuhiro Ujihisa ;; This file is not part of GNU Emacs. -;; This file is free software (MIT License) +;; Permission is hereby granted, free of charge, to any person obtaining +;; a copy of this software and associated documentation files (the +;; "Software"), to deal in the Software without restriction, including +;; without limitation the rights to use, copy, modify, merge, publish, +;; distribute, sublicense, and/or sell copies of the Software, and to +;; permit persons to whom the Software is furnished to do so, subject to +;; the following conditions: +;; +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. +;; +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +;; LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +;; WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ;;; Code: (eval-when-compile (require 'cl))
[nongnu] elpa/golden-ratio cbd076aa12 62/95: Merge pull request #34 from hickinbottoms/fix-mouse-window-select
branch: elpa/golden-ratio commit cbd076aa120d1ec287f5406a9a12e6b5930f518e Merge: 79ead1cba6 0b90ffbf02 Author: Thierry Volpiatto Commit: Thierry Volpiatto Merge pull request #34 from hickinbottoms/fix-mouse-window-select Fix mouse window select --- golden-ratio.el | 5 + 1 file changed, 5 insertions(+) diff --git a/golden-ratio.el b/golden-ratio.el index d6e8c6a49a..c5bd4ba36f 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -122,6 +122,10 @@ will not cause the window to be resized to the golden ratio." (memq (car-safe com) this-command) (golden-ratio))) +(defun golden-ratio--mouse-leave-buffer-hook () + (run-at-time 0.1 nil (lambda () +(golden-ratio + ;;;###autoload (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio." @@ -131,6 +135,7 @@ will not cause the window to be resized to the golden ratio." (progn (add-hook 'window-configuration-change-hook 'golden-ratio) (add-hook 'post-command-hook 'golden-ratio--post-command-hook) +(add-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) (ad-activate 'other-window) (ad-activate 'pop-to-buffer)) (remove-hook 'window-configuration-change-hook 'golden-ratio)
[nongnu] elpa/golden-ratio d5413c832b 75/95: Fix types in golden-ratio-exclude-modes.
branch: elpa/golden-ratio commit d5413c832b51f428ea499237c1dde963d5d9b296 Author: Thierry Volpiatto Commit: Thierry Volpiatto Fix types in golden-ratio-exclude-modes. * golden-ratio.el (golden-ratio-exclude-modes): Fix types. (golden-ratio-exclude-major-mode-p): Check first symbols. --- golden-ratio.el | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 48e6e428c5..d32d73de92 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -31,7 +31,7 @@ "A list of symbols or strings naming major modes. Switching to a buffer whose major mode is a member of this list will not cause the window to be resized to the golden ratio." - :type '(repeat string) + :type '(repeat (choice symbol string)) :group 'golden-ratio) ;; Buffer names that are exempt from being resized. An example of this @@ -122,9 +122,9 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio-exclude-major-mode-p () "Returns non-nil if `major-mode' should not use golden-ratio." - (or (member (symbol-name major-mode) - golden-ratio-exclude-modes) - (memq major-mode golden-ratio-exclude-modes))) + (or (memq major-mode golden-ratio-exclude-modes) + (member (symbol-name major-mode) + golden-ratio-exclude-modes))) ;;;###autoload (defun golden-ratio ()
[nongnu] elpa/golden-ratio f7bee8e221 65/95: Added width adjustment to adjust for very wide frames.
branch: elpa/golden-ratio commit f7bee8e221542424a1a532ad02a8e3f61ac35c81 Author: EricGebhart Commit: EricGebhart Added width adjustment to adjust for very wide frames. --- golden-ratio.el | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index b28e88bb75..1b9f6438f1 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -62,14 +62,28 @@ will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'boolean) +(defcustom golden-ratio-adjust-width 1.0 + "Adjust the width sizing by some factor. 1 is no adjustment. + For very wide screens/frames .4 may work well." + :group 'golden-ratio + :type 'integer) + ;;; Compatibility ;; (unless (fboundp 'window-resizable-p) (defalias 'window-resizable-p 'window--resizable-p)) +(defun golden-ratio-adjust (a) + "set the adjustment of window widths." + (interactive + (list +(read-number "Adjust: " golden-ratio-adjust-width))) + (setq golden-ratio-adjust-width a)) + (defun golden-ratio--dimensions () (list (floor (/ (frame-height) golden-ratio--value)) -(floor (/ (frame-width) golden-ratio--value +(floor (* (/ (frame-width) golden-ratio--value) + golden-ratio-adjust-width (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window))
[nongnu] elpa/golden-ratio e0f783dfa7 01/95: First commit of golden-ratio.el
branch: elpa/golden-ratio commit e0f783dfa7776b0aa6951f55b408e37752e5b6dd Author: Roman Gonzalez Commit: Roman Gonzalez First commit of golden-ratio.el --- .gitignore | 1 + LICENSE | 20 README.md | 37 + golden-ratio.el | 40 golden_ratio_el.gif | Bin 0 -> 1208151 bytes 5 files changed, 98 insertions(+) diff --git a/.gitignore b/.gitignore new file mode 100644 index 00..016d3b1692 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.elc \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00..de6968fe2c --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2012 Roman Gonzalez + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00..197385932d --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# golden-ratio.el + +When working with many windows at the same time, each window has a size +that is not convenient for editing. + +golden-ratio helps on this issue by resizing automatically the windows you are +working on to the size specified in the "Golden Ratio". The window that has the +main focus will have the perfect size for editing, while the ones that are +not being actively edited will be re-sized to a smaller size that doesn't get +in the way, but at the same time will be readable enough to know it's content. + + + +For more info about the golden ratio check out + +http://en.wikipedia.org/wiki/Golden_ratio + +## Install + +Use [el-get](https://github.com/dimitri/el-get) to install. + +## Usage + +To enable automatic resizing, put on your .emacs.d/init.el + +```elisp +(require 'golden-ratio) + +(golden-ratio-enable) +``` + +*** + +If you want to disable automatic resizing done by golden-ratio, just invoke +`(golden-ratio-disable)` + +To call golden ratio manually just `M-x golden-ratio` diff --git a/golden-ratio.el b/golden-ratio.el new file mode 100644 index 00..b13bb4a7b5 --- /dev/null +++ b/golden-ratio.el @@ -0,0 +1,40 @@ +(defun -golden-ratio-dimensions () + (let* ((main-rows (floor (/ (frame-height) 1.618))) + (main-columns (floor (/ (frame-width) 1.618 +(list main-rows + main-columns))) + +(defun -golden-ratio-resize-window (dimensions window) + (let* ((edges (window-absolute-pixel-edges window)) + (nrow(floor + (- (first dimensions) + (window-height window + (ncol(floor + (- (second dimensions) + (window-width window) +(progn + (enlarge-window nrow nil) + (enlarge-window ncol t + + +(defun golden-ratio () + (interactive) + (if (not (window-minibuffer-p)) + (progn +(balance-windows) +(-golden-ratio-resize-window (-golden-ratio-dimensions) + (selected-window) + +(defadvice select-window + (after golden-ratio-resize-window) + (golden-ratio)) + +(defun golden-ratio-enable () + (interactive) + (ad-activate 'select-window)) + +(defun golden-ratio-disable () + (interactive) + (ad-deactivate 'select-window)) + +(provide 'golden-ratio) diff --git a/golden_ratio_el.gif b/golden_ratio_el.gif new file mode 100644 index 00..4cb0215627 Binary files /dev/null and b/golden_ratio_el.gif differ
[nongnu] elpa/golden-ratio ed24985e10 14/95: Fix MELPA footer.
branch: elpa/golden-ratio commit ed24985e100b0a6810a794fe669691d81a4f6464 Author: Zane Shelby Commit: Zane Shelby Fix MELPA footer. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 608d7d75b2..c55634f76c 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -72,4 +72,4 @@ (provide 'golden-ratio) -;;; filename ends here +;;; golden-ratio.el ends here
[nongnu] elpa/golden-ratio 7646627bbf 34/95: * golden-ratio.el: Add group.
branch: elpa/golden-ratio commit 7646627bbfd9eeef1da967b197d3fb06c35d6a8a Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Add group. --- golden-ratio.el | 4 1 file changed, 4 insertions(+) diff --git a/golden-ratio.el b/golden-ratio.el index f75e630d51..32974cace6 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -20,6 +20,10 @@ (defconst golden-ratio--value 1.618 "The golden ratio value itself.") +(defgroup golden-ratio nil + "Resize windows to golden ratio." + :group 'windows) + ;; Major modes that are exempt from being resized. An example of this ;; for users of Org-mode might be: ;; ("calendar-mode")
[nongnu] elpa/golden-ratio 65db8b88aa 06/95: Added a constant to hold the golden ratio value.
branch: elpa/golden-ratio commit 65db8b88aaeb2df5f58f45432be5ed42a8aa421b Author: Diego Sevilla Ruiz Commit: Diego Sevilla Ruiz Added a constant to hold the golden ratio value. And changed the code to use it. --- golden-ratio.el | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 639fc9faa9..3511a213f7 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -14,9 +14,12 @@ ;;; Code: +(defconst -golden-ratio-value 1.618 + "The golden ratio value itself.") + (defun -golden-ratio-dimensions () - (let* ((main-rows (floor (/ (frame-height) 1.618))) - (main-columns (floor (/ (frame-width) 1.618 + (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) + (main-columns (floor (/ (frame-width) -golden-ratio-value (list main-rows main-columns)))
[nongnu] elpa/golden-ratio a19b9b0a3b 39/95: * golden-ratio.el: Fix window-resizable-p compatibility with 24.2.
branch: elpa/golden-ratio commit a19b9b0a3b96a3534539febc39112e3f8e6a6b4c Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Fix window-resizable-p compatibility with 24.2. --- golden-ratio.el | 5 + 1 file changed, 5 insertions(+) diff --git a/golden-ratio.el b/golden-ratio.el index 468103ebe0..c6607f5d61 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -51,6 +51,11 @@ will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'hook) +;;; Compatibility +;; +(unless (fboundp 'window-resizable-p) + (defalias 'window-resizable-p 'window--resizable-p)) + (defun golden-ratio--dimensions () (list (floor (/ (frame-height) golden-ratio--value)) (floor (/ (frame-width) golden-ratio--value
[nongnu] elpa/golden-ratio 12b57a3904 53/95: * golden-ratio.el: Fix Issue #29, a typo.
branch: elpa/golden-ratio commit 12b57a39042b7b68f32dbab488e134d989abaced Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Fix Issue #29, a typo. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index eb3601c58e..eb37ceb96a 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -130,7 +130,7 @@ will not cause the window to be resized to the golden ratio." (remove-hook 'window-configuration-change-hook 'golden-ratio) (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) (ad-deactivate 'other-window) - (ad-activate 'pop-to-buffer))) + (ad-deactivate 'pop-to-buffer))) (provide 'golden-ratio)
[nongnu] elpa/golden-ratio cb8ff0bdb0 13/95: Bumping to version 0.0.3
branch: elpa/golden-ratio commit cb8ff0bdb07d7d8eea11fc468922bdf4c512b832 Author: Roman Gonzalez Commit: Roman Gonzalez Bumping to version 0.0.3 Also adding credits for Tatsuhiro Ujihisa :-) --- README.md | 4 golden-ratio.el | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e19beba433..30f47b6db2 100644 --- a/README.md +++ b/README.md @@ -35,3 +35,7 @@ If you want to disable automatic resizing done by golden-ratio, just invoke `(golden-ratio-disable)` To call golden ratio manually just `M-x golden-ratio` + +## Credits + +Code inspired by ideas from [Tatsuhiro Ujihisa](http://twitter.com/ujm) diff --git a/golden-ratio.el b/golden-ratio.el index 03f7cb8da9..608d7d75b2 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -6,7 +6,9 @@ ;; Mantainer: Roman Gonzalez ;; Created: 13 Oct 2012 ;; Keywords: Window Resizing -;; Version: 0.0.2 +;; Version: 0.0.3 + +;; Code inspired by ideas from Tatsuhiro Ujihisa ;; This file is not part of GNU Emacs.
[nongnu] elpa/golden-ratio 38305ca407 07/95: Adds dependency on cl
branch: elpa/golden-ratio commit 38305ca407095964da617ac754fb3f1c1c3c2946 Author: Maël Nison Commit: Maël Nison Adds dependency on cl --- golden-ratio.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/golden-ratio.el b/golden-ratio.el index 639fc9faa9..93c8dbb090 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -14,6 +14,8 @@ ;;; Code: +(require 'cl) + (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) 1.618))) (main-columns (floor (/ (frame-width) 1.618
[nongnu] elpa/golden-ratio 550fb22580 32/95: * golden-ratio.el (window-width-after-balance, window-height-after-balance): new
branch: elpa/golden-ratio commit 550fb225802c6accd047757e66b9105a37e82a90 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el (window-width-after-balance, window-height-after-balance): new (golden-ratio--resize-window): use them and check with `window-resizable-p'. --- golden-ratio.el | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 7da7b7935c..f75e630d51 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -53,13 +53,30 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window)) -(let ((nrow (floor (- (first dimensions) (window-height - (ncol (floor (- (second dimensions) (window-width) - (when (not (window-full-height-p)) +(let ((nrow (floor (- (first dimensions) (window-height-after-balance + (ncol (floor (- (second dimensions) (window-width-after-balance) + (when (window-resizable-p (selected-window) nrow) (enlarge-window nrow nil)) - (when (not (window-full-width-p)) + (when (window-resizable-p (selected-window) ncol t) (enlarge-window ncol t) +(defun window-width-after-balance () + (let* ((size-ls (loop for i in (window-list) +unless (window-full-width-p i) +collect (window-width i))) + (len (length size-ls)) + (width (and size-ls (floor (/ (apply #'+ size-ls) len) +(if width (min (window-width) width) (window-width + +(defun window-height-after-balance () + (let* ((size-ls (loop for i in (window-list) +unless (or (window-full-height-p i) + (not (window-full-width-p i))) +collect (window-height i))) + (len (length size-ls)) + (height (and size-ls (floor (/ (apply #'+ size-ls) len) +(if height (min (window-height) height) (window-height + ;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs."
[nongnu] elpa/golden-ratio d877ceec2c 30/95: Remove commented line.
branch: elpa/golden-ratio commit d877ceec2c6bc894482226c3622e82a34c3a5ee0 Author: Thierry Volpiatto Commit: Thierry Volpiatto Remove commented line. --- golden-ratio.el | 1 - 1 file changed, 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 5b7d497abc..2275ec6cee 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -74,7 +74,6 @@ will not cause the window to be resized to the golden ratio." (loop for fun in golden-ratio-inhibit-functions always (funcall fun (let ((dims (golden-ratio--dimensions))) - ;(balance-windows-area) (golden-ratio--resize-window dims) (scroll-left
[nongnu] elpa/golden-ratio 0d7e18325d 33/95: Merge pull request #1 from thierryvolpiatto/exp
branch: elpa/golden-ratio commit 0d7e18325d0f2019adb81fad9132b47ce2870a06 Merge: 2d1553431c 550fb22580 Author: Thierry Volpiatto Commit: Thierry Volpiatto Merge pull request #1 from thierryvolpiatto/exp Fix crashes and make it working with helm --- golden-ratio.el | 140 ++-- 1 file changed, 64 insertions(+), 76 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 31334cd897..f75e630d51 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -17,16 +17,16 @@ ;;; Code: (eval-when-compile (require 'cl)) -(defconst -golden-ratio-value 1.618 +(defconst golden-ratio--value 1.618 "The golden ratio value itself.") ;; Major modes that are exempt from being resized. An example of this ;; for users of Org-mode might be: ;; ("calendar-mode") (defcustom golden-ratio-exclude-modes nil - "An array of strings naming major modes. Switching to a buffer -whose major mode is a member of this list will not cause the -window to be resized to the golden ratio." + "An array of strings naming major modes. +Switching to a buffer whose major mode is a member of this list +will not cause the window to be resized to the golden ratio." :type '(repeat string) :group 'golden-ratio) @@ -34,93 +34,81 @@ window to be resized to the golden ratio." ;; for users of Org-mode might be (note the leading spaces): ;; (" *Org tags*" " *Org todo*") (defcustom golden-ratio-exclude-buffer-names nil - "An array of strings containing buffer names. Switching to a -buffer whose name is a member of this list will not cause the -window to be resized to the golden ratio." + "An array of strings containing buffer names. +Switching to a buffer whose name is a member of this list +will not cause the window to be resized to the golden ratio." :type '(repeat string) :group 'golden-ratio) (defcustom golden-ratio-inhibit-functions nil - "List of functions to call with no arguments. Switching to a -buffer, if any of these functions returns non-nil will not cause -the window to be resized to the golden ratio." + "List of functions to call with no arguments. +Switching to a buffer, if any of these functions returns non-nil +will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'hook) -(defun -golden-ratio-dimensions () - (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) - (main-columns (floor (/ (frame-width) -golden-ratio-value -(list main-rows - main-columns))) - - -(defun -golden-ratio-resize-window (dimensions window) - (let* ((edges (window-pixel-edges window)) - (nrow(floor - (- (first dimensions) - (window-height window - (ncol(floor - (- (second dimensions) - (window-width window) -(progn - (if (not (window-full-height-p)) - (enlarge-window nrow nil)) - (if (not (window-full-width-p)) - (enlarge-window ncol t) - +(defun golden-ratio--dimensions () + (list (floor (/ (frame-height) golden-ratio--value)) +(floor (/ (frame-width) golden-ratio--value + +(defun golden-ratio--resize-window (dimensions &optional window) + (with-selected-window (or window (selected-window)) +(let ((nrow (floor (- (first dimensions) (window-height-after-balance + (ncol (floor (- (second dimensions) (window-width-after-balance) + (when (window-resizable-p (selected-window) nrow) +(enlarge-window nrow nil)) + (when (window-resizable-p (selected-window) ncol t) +(enlarge-window ncol t) + +(defun window-width-after-balance () + (let* ((size-ls (loop for i in (window-list) +unless (window-full-width-p i) +collect (window-width i))) + (len (length size-ls)) + (width (and size-ls (floor (/ (apply #'+ size-ls) len) +(if width (min (window-width) width) (window-width + +(defun window-height-after-balance () + (let* ((size-ls (loop for i in (window-list) +unless (or (window-full-height-p i) + (not (window-full-width-p i))) +collect (window-height i))) + (len (length size-ls)) + (height (and size-ls (floor (/ (apply #'+ size-ls) len) +(if height (min (window-height) height) (window-height ;;;###autoload (defun golden-ratio () - "Resizes current window to the golden-ratio's size specs" + "Resizes current window to the golden-ratio's size specs." (interactive) - (if (and (not (window-minibuffer-p)) - (not (one-window-p)) - (not (member (symbol-name major-mode) -golden-ratio-exclude-modes)) - (not (member (buffer-name) -golden-ratio-exclude-buffer-name
[nongnu] elpa/golden-ratio 007911d8a4 89/95: Merge pull request #62 from arbelt/persp-fix
branch: elpa/golden-ratio commit 007911d8a431b72670f5fe5f0e5b4380c2777a31 Merge: f5807212d3 d06170e2b7 Author: Roman Gonzalez Commit: GitHub Merge pull request #62 from arbelt/persp-fix fix for persp-switch-quick --- golden-ratio.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 0b6103e62b..28a637d939 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -181,8 +181,8 @@ will prevent the window to be resized to the golden ratio." (when (or (memq this-command golden-ratio-extra-commands) (and (consp this-command) ; A lambda form. (loop for com in golden-ratio-extra-commands - thereis (or (memq com this-command) - (memq (car-safe com) this-command) + thereis (or (member com this-command) + (member (car-safe com) this-command) ;; This is needed in emacs-25 to avoid this error from `recenter': ;; `recenter'ing a window that does not display current-buffer. ;; This doesn't happen in emacs-24.4 and previous versions.
[nongnu] elpa/golden-ratio 33aa083b66 56/95: Merge pull request #33 from thierryvolpiatto/master
branch: elpa/golden-ratio commit 33aa083b66638663f6d53128c6b99c8d8c60d916 Merge: 86ffa26952 892e668685 Author: Thierry Volpiatto Commit: Thierry Volpiatto Merge pull request #33 from thierryvolpiatto/master * golden-ratio.el (golden-ratio): Fix Issue #32 don't recenter and scrol... --- golden-ratio.el | 1 - 1 file changed, 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index eb37ceb96a..c28b3d4f28 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -95,7 +95,6 @@ will not cause the window to be resized to the golden ratio." (golden-ratio-mode -1) (balance-windows) (golden-ratio--resize-window dims) - (scroll-right) (recenter) (golden-ratio-mode golden-p ;; Should return nil
[nongnu] elpa/golden-ratio 549f94c2db 44/95: * golden-ratio.el: Clean up, add some commands. Ready to merge.
branch: elpa/golden-ratio commit 549f94c2dbadb414cc3f734452ef5d24a5263474 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Clean up, add some commands. Ready to merge. --- golden-ratio.el | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 6cbdb5f059..dfe6baf6e9 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -89,12 +89,14 @@ will not cause the window to be resized to the golden ratio." (loop for fun in golden-ratio-inhibit-functions always (funcall fun (let ((dims (golden-ratio--dimensions)) - (golden-p golden-ratio-mode)) - (and golden-p (golden-ratio-mode -1)) + (golden-p (if golden-ratio-mode 1 -1))) + ;; Always disable `golden-ratio-mode' to avoid + ;; infinite loop in `balance-windows'. + (golden-ratio-mode -1) (balance-windows) (golden-ratio--resize-window dims) (scroll-right) (recenter) - (and golden-p (golden-ratio-mode 1) + (golden-ratio-mode golden-p ;; Should return nil (defadvice other-window @@ -108,7 +110,7 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio--post-command-hook () (when (or (memq this-command golden-ratio-extra-commands) -(and (consp this-command) +(and (consp this-command) ; A lambda form. (loop for com in golden-ratio-extra-commands thereis (or (memq com this-command) (memq (car-safe com) this-command)
[nongnu] elpa/golden-ratio 6173b7c416 64/95: Prevent recenter error in post-command-hook for emacs-25.
branch: elpa/golden-ratio commit 6173b7c4165b056edbbd948d890dd3498f78138b Author: Thierry Volpiatto Commit: Thierry Volpiatto Prevent recenter error in post-command-hook for emacs-25. * golden-ratio.el (golden-ratio--post-command-hook): Delay call to golden-ratio until window to resize get its current-buffer. This error happen only in emacs-25. --- golden-ratio.el | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 495c961ea8..b28e88bb75 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -120,7 +120,10 @@ will not cause the window to be resized to the golden ratio." (loop for com in golden-ratio-extra-commands thereis (or (memq com this-command) (memq (car-safe com) this-command) -(golden-ratio))) +;; This is needed in emacs-25 to avoid this error from `recenter': +;; `recenter'ing a window that does not display current-buffer. +;; This doesn't happen in emacs-24.4 and previous versions. +(run-with-idle-timer 0.01 nil (lambda () (golden-ratio) (defun golden-ratio--mouse-leave-buffer-hook () (run-at-time 0.1 nil (lambda ()
[nongnu] elpa/golden-ratio 25e95f7833 49/95: Merge pull request #27 from thierryvolpiatto/master
branch: elpa/golden-ratio commit 25e95f783340b7e6e537138f02da17b6161d6658 Merge: 807c441682 38948457fd Author: Thierry Volpiatto Commit: Thierry Volpiatto Merge pull request #27 from thierryvolpiatto/master Merge last changes from my fork --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index fd64c5cc73..1ef0ca9f7c 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -87,7 +87,7 @@ will not cause the window to be resized to the golden ratio." golden-ratio-exclude-buffer-names) (and golden-ratio-inhibit-functions (loop for fun in golden-ratio-inhibit-functions - always (funcall fun + thereis (funcall fun (let ((dims (golden-ratio--dimensions)) (golden-p (if golden-ratio-mode 1 -1))) ;; Always disable `golden-ratio-mode' to avoid
[nongnu] elpa/golden-ratio 8f1cd6c9fd 38/95: * golden-ratio.el: make golden-ratio-mode global and recenter window.
branch: elpa/golden-ratio commit 8f1cd6c9fd74f9d811f97cbbcbb9bbf16cd4ec49 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: make golden-ratio-mode global and recenter window. --- golden-ratio.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index 5782b77a34..468103ebe0 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -96,7 +96,8 @@ will not cause the window to be resized to the golden ratio." always (funcall fun (let ((dims (golden-ratio--dimensions))) (golden-ratio--resize-window dims) - (scroll-left + (scroll-left) + (recenter ;; Should return nil (defadvice other-window @@ -112,6 +113,7 @@ will not cause the window to be resized to the golden ratio." (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio." :lighter " Golden" + :global t (if golden-ratio-mode (progn (add-hook 'window-configuration-change-hook 'golden-ratio)
[nongnu] elpa/golden-ratio 4f24b707da 82/95: Allow using golden-ration command when golden-ratio-mode is disabled (#51).
branch: elpa/golden-ratio commit 4f24b707da43ace4a20cc84d2fff31fb8ecace1c Author: Thierry Volpiatto Commit: Thierry Volpiatto Allow using golden-ration command when golden-ratio-mode is disabled (#51). * golden-ratio.el (golden-ratio): Check if golden-ration is called interactively. --- golden-ratio.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index d32d73de92..58190b7f83 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -127,10 +127,10 @@ will not cause the window to be resized to the golden ratio." golden-ratio-exclude-modes))) ;;;###autoload -(defun golden-ratio () +(defun golden-ratio (&optional arg) "Resizes current window to the golden-ratio's size specs." - (interactive) - (unless (or (not golden-ratio-mode) + (interactive "p") + (unless (or (and (not golden-ratio-mode) (null arg)) (window-minibuffer-p) (one-window-p) (golden-ratio-exclude-major-mode-p)
[nongnu] elpa/golden-ratio f5b3602b5d 17/95: Merge branch '0.0.4'
branch: elpa/golden-ratio commit f5b3602b5d76952b65cf570537b3ab5ae09c649d Merge: 0508acbd20 6af760274b Author: Roman Gonzalez Commit: Roman Gonzalez Merge branch '0.0.4' --- golden-ratio.el | 21 ++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index c55634f76c..d012f976b7 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -6,7 +6,7 @@ ;; Mantainer: Roman Gonzalez ;; Created: 13 Oct 2012 ;; Keywords: Window Resizing -;; Version: 0.0.3 +;; Version: 0.0.4 ;; Code inspired by ideas from Tatsuhiro Ujihisa @@ -42,6 +42,7 @@ (enlarge-window ncol t) +;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs" (interactive) @@ -57,17 +58,31 @@ (after golden-ratio-resize-window) (golden-ratio)) +(defadvice other-window + (after golden-ratio-resize-window) + (golden-ratio)) + +(defadvice split-window + (after golden-ratio-resize-window) + (golden-ratio)) + +;;;###autoload (defun golden-ratio-enable () "Enables golden-ratio's automatic window resizing" (interactive) - (ad-activate 'select-window)) + (ad-activate 'select-window) + (ad-activate 'other-window) + (ad-activate 'split-window)) +;;;###autoload (defun golden-ratio-disable () "Disables golden-ratio's automatic window resizing" (interactive) - (ad-deactivate 'select-window)) + (ad-deactivate 'select-window) + (ad-deactivate 'other-window) + (ad-deactivate 'split-window)) (provide 'golden-ratio)
[nongnu] elpa/golden-ratio 656117e490 93/95: change default minimal change to 1
branch: elpa/golden-ratio commit 656117e49074cd0c86f2322c1c20951b84c36505 Author: Shou Ya Commit: Shou Ya change default minimal change to 1 --- golden-ratio.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 201cf0f270..75572f0384 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -92,12 +92,12 @@ will prevent the window to be resized to the golden ratio." :type '(repeat string) :group 'golden-ratio) -(defcustom golden-ratio-minimal-width-change 0 +(defcustom golden-ratio-minimal-width-change 1 "Minimal width change needed to trigger actual window resizing." :group 'golden-ratio :type 'integer) -(defcustom golden-ratio-minimal-height-change 0 +(defcustom golden-ratio-minimal-height-change 1 "Minimal height change needed to trigger actual window resizing." :group 'golden-ratio :type 'integer)
[nongnu] elpa/golden-ratio d4a2dd0aeb 63/95: * golden-ratio.el (golden-ratio-mode): Issue #34 remove mouse-leave-buffer-hook when mode is off.
branch: elpa/golden-ratio commit d4a2dd0aeb650b70312183cb8056d993aa067dd8 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el (golden-ratio-mode): Issue #34 remove mouse-leave-buffer-hook when mode is off. --- golden-ratio.el | 1 + 1 file changed, 1 insertion(+) diff --git a/golden-ratio.el b/golden-ratio.el index c5bd4ba36f..495c961ea8 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -140,6 +140,7 @@ will not cause the window to be resized to the golden ratio." (ad-activate 'pop-to-buffer)) (remove-hook 'window-configuration-change-hook 'golden-ratio) (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) + (remove-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) (ad-deactivate 'other-window) (ad-deactivate 'pop-to-buffer)))
[nongnu] elpa/golden-ratio ac6ca479cc 47/95: (golden-ratio): use thereis in golden-ratio-inhibit-functions.
branch: elpa/golden-ratio commit ac6ca479cce95afbadd3ef5fd88cace198e6d87b Author: Thierry Volpiatto Commit: Thierry Volpiatto (golden-ratio): use thereis in golden-ratio-inhibit-functions. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index dfe6baf6e9..eb3601c58e 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -87,7 +87,7 @@ will not cause the window to be resized to the golden ratio." golden-ratio-exclude-buffer-names) (and golden-ratio-inhibit-functions (loop for fun in golden-ratio-inhibit-functions - always (funcall fun + thereis (funcall fun (let ((dims (golden-ratio--dimensions)) (golden-p (if golden-ratio-mode 1 -1))) ;; Always disable `golden-ratio-mode' to avoid
[nongnu] elpa/golden-ratio ac9bcedc63 81/95: Reenable improvements removed by error when reverting last PR.
branch: elpa/golden-ratio commit ac9bcedc63d44433315f2726d6f1b66125d5a3e2 Author: Thierry Volpiatto Commit: Thierry Volpiatto Reenable improvements removed by error when reverting last PR. * golden-ratio.el: Reenable improvements to golden-ratio-exclude-modes. --- golden-ratio.el | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index d5a6b58d9c..d32d73de92 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -26,12 +26,12 @@ ;; Major modes that are exempt from being resized. An example of this ;; for users of Org-mode might be: -;; ("calendar-mode") +;; ("calendar-mode") or (calendar-mode) (defcustom golden-ratio-exclude-modes nil - "An array of strings naming major modes. + "A list of symbols or strings naming major modes. Switching to a buffer whose major mode is a member of this list will not cause the window to be resized to the golden ratio." - :type '(repeat string) + :type '(repeat (choice symbol string)) :group 'golden-ratio) ;; Buffer names that are exempt from being resized. An example of this @@ -120,6 +120,12 @@ will not cause the window to be resized to the golden ratio." (when (window-resizable-p (selected-window) ncol t) (enlarge-window ncol t) +(defun golden-ratio-exclude-major-mode-p () + "Returns non-nil if `major-mode' should not use golden-ratio." + (or (memq major-mode golden-ratio-exclude-modes) + (member (symbol-name major-mode) + golden-ratio-exclude-modes))) + ;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs." @@ -127,8 +133,7 @@ will not cause the window to be resized to the golden ratio." (unless (or (not golden-ratio-mode) (window-minibuffer-p) (one-window-p) - (member (symbol-name major-mode) - golden-ratio-exclude-modes) + (golden-ratio-exclude-major-mode-p) (member (buffer-name) golden-ratio-exclude-buffer-names) (and golden-ratio-inhibit-functions
[nongnu] elpa/golden-ratio 134156bbff 42/95: * golden-ratio.el: Allow running golden-ratio when switching with other commands than other-window.
branch: elpa/golden-ratio commit 134156bbff0f76b1b29b5889c4830e0981d1e3c1 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el: Allow running golden-ratio when switching with other commands than other-window. --- golden-ratio.el | 24 +--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index 77e31fa51d..825d4d2043 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -49,8 +49,14 @@ will not cause the window to be resized to the golden ratio." Switching to a buffer, if any of these functions returns non-nil will not cause the window to be resized to the golden ratio." :group 'golden-ratio - :type 'hook) + :type '(repeat symbol)) +(defcustom golden-ratio-extra-commands + '(windmove-left windmove-right windmove-down windmove-up) + "List of extra commands used to jump to other window." + :group 'golden-ratio + :type '(repeat symbol)) + ;;; Compatibility ;; (unless (fboundp 'window-resizable-p) @@ -62,8 +68,10 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window)) -(let ((nrow (floor (- (first dimensions) (golden-ratio--window-height-after-balance - (ncol (floor (- (second dimensions) (golden-ratio--window-width-after-balance) +(let ((nrow (floor (- (first dimensions) + (golden-ratio--window-height-after-balance + (ncol (floor (- (second dimensions) + (golden-ratio--window-width-after-balance) (when (window-resizable-p (selected-window) nrow) (enlarge-window nrow)) (when (window-resizable-p (selected-window) ncol t) @@ -114,6 +122,14 @@ will not cause the window to be resized to the golden ratio." (around golden-ratio-resize-window) (prog1 ad-do-it (golden-ratio))) +(defun golden-ratio--post-command-hook () + (when (or (memq this-command golden-ratio-extra-commands) +(and (consp this-command) + (loop for com in golden-ratio-extra-commands + thereis (or (memq com this-command) + (memq (car-safe com) this-command) +(golden-ratio))) + ;;;###autoload (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio." @@ -122,9 +138,11 @@ will not cause the window to be resized to the golden ratio." (if golden-ratio-mode (progn (add-hook 'window-configuration-change-hook 'golden-ratio) +(add-hook 'post-command-hook 'golden-ratio--post-command-hook) (ad-activate 'other-window) (ad-activate 'pop-to-buffer)) (remove-hook 'window-configuration-change-hook 'golden-ratio) + (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) (ad-deactivate 'other-window) (ad-activate 'pop-to-buffer)))
[nongnu] elpa/golden-ratio d7c433c655 27/95: (golden-ratio--resize-window): Fix, it is not a cond but when twice.
branch: elpa/golden-ratio commit d7c433c655e9facaf0f977e30858b17671bd05e3 Author: Thierry Volpiatto Commit: Thierry Volpiatto (golden-ratio--resize-window): Fix, it is not a cond but when twice. --- golden-ratio.el | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index e2eae88102..0506309103 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -53,13 +53,12 @@ will not cause the window to be resized to the golden ratio." (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window)) -(let ( ;(edges (window-pixel-edges window)) - (nrow (floor (- (first dimensions) (window-height - (ncol (floor (- (second dimensions) (window-width) - (cond ((not (window-full-height-p)) - (enlarge-window nrow nil)) -((not (window-full-width-p)) - (enlarge-window ncol t)) +(let ((nrow (floor (- (first dimensions) (window-height + (ncol (floor (- (second dimensions) (window-width) + (when (not (window-full-height-p)) +(enlarge-window nrow nil)) + (when (not (window-full-width-p)) +(enlarge-window ncol t) ;;;###autoload (defun golden-ratio () @@ -75,9 +74,10 @@ will not cause the window to be resized to the golden ratio." (loop for fun in golden-ratio-inhibit-functions always (funcall fun (let ((dims (golden-ratio--dimensions))) - (balance-windows) + ;(balance-windows-area) (golden-ratio--resize-window dims +;(add-hook 'window-configuration-change-hook 'golden-ratio) ;; Should return window (defadvice select-window (around golden-ratio-resize-window)
[nongnu] elpa/golden-ratio 0287ac76fd 76/95: Simplify `golden-ratio-mode'
branch: elpa/golden-ratio commit 0287ac76fdf87b50af1c9b3504a503847f97b745 Author: Oleh Krehel Commit: Oleh Krehel Simplify `golden-ratio-mode' * golden-ratio.el (golden-ratio-in-progress): New defvar. (golden-ratio): Use `golden-ratio-in-progress' instead of turning off the mode. (select-window): New defadvice; remove all other stuff. (golden-ratio-mode): Remove all hooks, the only entry point is `select-window'. This change will greatly simplify the life of package writers that have to work around `golden-ratio-mode'. Re abo-abo/hydra#64. --- golden-ratio.el | 79 ++--- 1 file changed, 24 insertions(+), 55 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index d32d73de92..f75184b185 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -126,70 +126,39 @@ will not cause the window to be resized to the golden ratio." (member (symbol-name major-mode) golden-ratio-exclude-modes))) +(defvar golden-ratio-in-progress nil + "Avoid recursive adjustment.") + ;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs." (interactive) - (unless (or (not golden-ratio-mode) - (window-minibuffer-p) - (one-window-p) - (golden-ratio-exclude-major-mode-p) - (member (buffer-name) - golden-ratio-exclude-buffer-names) - (and golden-ratio-inhibit-functions - (loop for fun in golden-ratio-inhibit-functions - thereis (funcall fun -(let ((dims (golden-ratio--dimensions)) - (golden-ratio-mode nil)) - ;; Always disable `golden-ratio-mode' to avoid - ;; infinite loop in `balance-windows'. - (balance-windows) - (golden-ratio--resize-window dims) - (when golden-ratio-recenter -(scroll-right) (recenter) - -;; Should return nil -(defadvice other-window -(after golden-ratio-resize-window) - (golden-ratio) nil) - -;; Should return the buffer -(defadvice pop-to-buffer -(around golden-ratio-resize-window) - (prog1 ad-do-it (golden-ratio))) - -(defun golden-ratio--post-command-hook () - (when (or (memq this-command golden-ratio-extra-commands) -(and (consp this-command) ; A lambda form. - (loop for com in golden-ratio-extra-commands - thereis (or (memq com this-command) - (memq (car-safe com) this-command) -;; This is needed in emacs-25 to avoid this error from `recenter': -;; `recenter'ing a window that does not display current-buffer. -;; This doesn't happen in emacs-24.4 and previous versions. -(run-with-idle-timer 0.01 nil (lambda () (golden-ratio) - -(defun golden-ratio--mouse-leave-buffer-hook () - (run-at-time 0.1 nil (lambda () -(golden-ratio + (when (and golden-ratio-mode + (not golden-ratio-in-progress)) +(let ((golden-ratio-in-progress t)) + (unless (or (window-minibuffer-p) + (one-window-p) + (member (symbol-name major-mode) + golden-ratio-exclude-modes) + (member (buffer-name) + golden-ratio-exclude-buffer-names) + (and golden-ratio-inhibit-functions + (loop for fun in golden-ratio-inhibit-functions + thereis (funcall fun +(balance-windows) +(golden-ratio--resize-window (golden-ratio--dimensions)) +(when golden-ratio-recenter + (scroll-right) (recenter)) + +(defadvice select-window (after golden-ratio-select-window activate) + (when golden-ratio-mode +(golden-ratio))) ;;;###autoload (define-minor-mode golden-ratio-mode "Enable automatic window resizing with golden ratio." :lighter " Golden" - :global t - (if golden-ratio-mode - (progn -(add-hook 'window-configuration-change-hook 'golden-ratio) -(add-hook 'post-command-hook 'golden-ratio--post-command-hook) -(add-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) -(ad-activate 'other-window) -(ad-activate 'pop-to-buffer)) - (remove-hook 'window-configuration-change-hook 'golden-ratio) - (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) - (remove-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) - (ad-deactivate 'other-window) - (ad-deactivate 'pop-to-buffer))) + :global t) (provide 'golden-ratio)
[nongnu] elpa/golden-ratio 6af760274b 16/95: Fixing several bugs at once
branch: elpa/golden-ratio commit 6af760274b01c837032fb82d21beac3fe2135bc2 Author: Roman Gonzalez Commit: Roman Gonzalez Fixing several bugs at once * issue #13: Adding autoload cookies * issue #11: Ctrl-x-o not resizing correctly * issue #6: Resize to golden-ratio when splitting windows --- golden-ratio.el | 21 ++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index c55634f76c..d012f976b7 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -6,7 +6,7 @@ ;; Mantainer: Roman Gonzalez ;; Created: 13 Oct 2012 ;; Keywords: Window Resizing -;; Version: 0.0.3 +;; Version: 0.0.4 ;; Code inspired by ideas from Tatsuhiro Ujihisa @@ -42,6 +42,7 @@ (enlarge-window ncol t) +;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs" (interactive) @@ -57,17 +58,31 @@ (after golden-ratio-resize-window) (golden-ratio)) +(defadvice other-window + (after golden-ratio-resize-window) + (golden-ratio)) + +(defadvice split-window + (after golden-ratio-resize-window) + (golden-ratio)) + +;;;###autoload (defun golden-ratio-enable () "Enables golden-ratio's automatic window resizing" (interactive) - (ad-activate 'select-window)) + (ad-activate 'select-window) + (ad-activate 'other-window) + (ad-activate 'split-window)) +;;;###autoload (defun golden-ratio-disable () "Disables golden-ratio's automatic window resizing" (interactive) - (ad-deactivate 'select-window)) + (ad-deactivate 'select-window) + (ad-deactivate 'other-window) + (ad-deactivate 'split-window)) (provide 'golden-ratio)
[nongnu] elpa/golden-ratio 972eb4d7d6 03/95: Updating gif url on README
branch: elpa/golden-ratio commit 972eb4d7d66b60c15005a9d7457ab454cb7c7b61 Author: Roman Gonzalez Commit: Roman Gonzalez Updating gif url on README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 197385932d..e19beba433 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ main focus will have the perfect size for editing, while the ones that are not being actively edited will be re-sized to a smaller size that doesn't get in the way, but at the same time will be readable enough to know it's content. - + For more info about the golden ratio check out
[nongnu] elpa/golden-ratio b343baac28 69/95: Added automatic scaling of width according to frame size.
branch: elpa/golden-ratio commit b343baac288db0cb2ea5094b597414a7c754b8bc Author: EricGebhart Commit: EricGebhart Added automatic scaling of width according to frame size. --- README.md | 14 -- golden-ratio.el | 14 +- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f8406f5040..9a7b913bfb 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,18 @@ To call golden ratio manually just `M-x golden-ratio` ## Wide Screens -If you use a large screen and have very wide frames, setting the _golden-ratio-adjust-factor_ -variable to something less than 1 will cause the windows to be less wide. +If you use a large screen and have very wide frames golden-ratio makes very +wide windows. This can be handled automatically by setting _golden-ratio-auto-scale_ +to true. This does a good job of keeping windows at a reasonable width regardless of +how wide or narrow your frame size is. This works well on my laptop regardless of +which monitor or LCD I happen to be using. + +`(setq golden-ratio-auto-scale t)` + +For those who wish for manual control, +If _golden-ratio-auto-scale_ is false, manual control can be exercised +through the _golden-ratio-adjust-factor_ variable. +setting it to something less than 1 will cause the windows to be less wide. The golden-ratio-adjust function allows for experimentation with this value. `M-x golden-ratio-adjust` diff --git a/golden-ratio.el b/golden-ratio.el index 6cd24c2f9d..fb7fb4f70d 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -74,6 +74,13 @@ will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'float) +(defcustom golden-ratio-auto-scale f + "Automatic width adjustment factoring. Scales the width + of the screens to be smaller as the frame gets bigger." + :group 'golden-ratio + :type 'boolean) + + ;;; Compatibility ;; (unless (fboundp 'window-resizable-p) @@ -94,10 +101,15 @@ will not cause the window to be resized to the golden ratio." (setq golden-ratio-adjust-factor a) (golden-ratio)) +(defun golden-ratio--scale-factor () + (if golden-ratio-auto-scale + (- 1.0 (* (/ (- (frame-width) 100.0) 1000.0) 1.8)) +golden-ratio-adjust-factor)) + (defun golden-ratio--dimensions () (list (floor (/ (frame-height) golden-ratio--value)) (floor (* (/ (frame-width) golden-ratio--value) - golden-ratio-adjust-factor + (golden-ratio--scale-factor) (defun golden-ratio--resize-window (dimensions &optional window) (with-selected-window (or window (selected-window))
[nongnu] elpa/golden-ratio 9843ca2239 20/95: Merge pull request #15 from hickinbottoms/feature/add-exemptions
branch: elpa/golden-ratio commit 9843ca2239d2c1b0a3c7a1e3b9106e8d13fbcdc6 Merge: f5b3602b5d 650121be18 Author: Roman Gonzalez Commit: Roman Gonzalez Merge pull request #15 from hickinbottoms/feature/add-exemptions Support exclusions based on buffer name or major mode --- golden-ratio.el | 26 +- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index d012f976b7..afcffaab8d 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -20,6 +20,26 @@ (defconst -golden-ratio-value 1.618 "The golden ratio value itself.") +;; Major modes that are exempt from being resized. An example of this +;; for users of Org-mode might be: +;; ("calendar-mode") +(defcustom golden-ratio-exclude-modes nil + "An array of strings naming major modes. Switching to a buffer +whose major mode is a member of this list will not cause the +window to be resized to the golden ratio." + :type '(repeat string) + :group 'golden-ratio) + +;; Buffer names that are exempt from being resized. An example of this +;; for users of Org-mode might be (note the leading spaces): +;; (" *Org tags*" " *Org todo*") +(defcustom golden-ratio-exclude-buffer-names nil + "An array of strings containing buffer names. Switching to a +buffer whose name is a member of this list will not cause the +window to be resized to the golden ratio." + :type '(repeat string) + :group 'golden-ratio) + (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) (main-columns (floor (/ (frame-width) -golden-ratio-value @@ -47,7 +67,11 @@ "Resizes current window to the golden-ratio's size specs" (interactive) (if (and (not (window-minibuffer-p)) - (not (one-window-p))) + (not (one-window-p)) + (not (member (symbol-name major-mode) + golden-ratio-exclude-modes)) + (not (member (buffer-name) + golden-ratio-exclude-buffer-names))) (progn (balance-windows) (-golden-ratio-resize-window (-golden-ratio-dimensions)
[nongnu] elpa/golden-ratio 7504957a7a 23/95: Merge pull request #19 from deftsp/inhabit-func
branch: elpa/golden-ratio commit 7504957a7a9d37ec8c5be380c206b1e64731e928 Merge: 9843ca2239 ef6f8ce72d Author: Roman Gonzalez Commit: Roman Gonzalez Merge pull request #19 from deftsp/inhabit-func Support exclusions based on inhabit function --- golden-ratio.el | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index afcffaab8d..deb99053e6 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -40,6 +40,13 @@ window to be resized to the golden ratio." :type '(repeat string) :group 'golden-ratio) +(defcustom golden-ratio-inhibit-functions nil + "List of functions to call with no arguments. Switching to a +buffer, if any of these functions returns non-nil will not cause +the window to be resized to the golden ratio." + :group 'golden-ratio + :type 'hook) + (defun -golden-ratio-dimensions () (let* ((main-rows (floor (/ (frame-height) -golden-ratio-value))) (main-columns (floor (/ (frame-width) -golden-ratio-value @@ -68,10 +75,12 @@ window to be resized to the golden ratio." (interactive) (if (and (not (window-minibuffer-p)) (not (one-window-p)) - (not (member (symbol-name major-mode) - golden-ratio-exclude-modes)) - (not (member (buffer-name) - golden-ratio-exclude-buffer-names))) + (not (member (symbol-name major-mode) +golden-ratio-exclude-modes)) + (not (member (buffer-name) +golden-ratio-exclude-buffer-names)) + (not (run-hook-with-args-until-success + 'golden-ratio-inhibit-functions))) (progn (balance-windows) (-golden-ratio-resize-window (-golden-ratio-dimensions)
[nongnu] elpa/golden-ratio 362ab0ede7 91/95: Bump version to 1.0.1
branch: elpa/golden-ratio commit 362ab0ede7ee2bb9fd11aea119b9c22248649c0d Author: Stefan Kangas Commit: Stefan Kangas Bump version to 1.0.1 --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index bf2b4ddc2b..1a0582c169 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -6,7 +6,7 @@ ;; Mantainer: Roman Gonzalez ;; Created: 13 Oct 2012 ;; Keywords: Window Resizing -;; Version: 0.0.4 +;; Version: 1.0.1 ;; Code inspired by ideas from Tatsuhiro Ujihisa
[nongnu] elpa/golden-ratio 26f616f658 70/95: set auto-scale to nil by default.
branch: elpa/golden-ratio commit 26f616f65830624c2892f2d25349b54bea7933a3 Author: EricGebhart Commit: EricGebhart set auto-scale to nil by default. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index fb7fb4f70d..2fd65814a6 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -74,7 +74,7 @@ will not cause the window to be resized to the golden ratio." :group 'golden-ratio :type 'float) -(defcustom golden-ratio-auto-scale f +(defcustom golden-ratio-auto-scale nil "Automatic width adjustment factoring. Scales the width of the screens to be smaller as the frame gets bigger." :group 'golden-ratio
[nongnu] elpa/golden-ratio b78f921f56 74/95: Allow using symbols in golden-ratio-exclude-modes.
branch: elpa/golden-ratio commit b78f921f56fa2129a6059330aed4437bd84238d1 Author: Thierry Volpiatto Commit: Thierry Volpiatto Allow using symbols in golden-ratio-exclude-modes. * golden-ratio.el (golden-ratio-exclude-modes): Fix docstring. (golden-ratio-exclude-major-mode-p): New. (golden-ratio): Use it. --- golden-ratio.el | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/golden-ratio.el b/golden-ratio.el index d5a6b58d9c..48e6e428c5 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -26,9 +26,9 @@ ;; Major modes that are exempt from being resized. An example of this ;; for users of Org-mode might be: -;; ("calendar-mode") +;; ("calendar-mode") or (calendar-mode) (defcustom golden-ratio-exclude-modes nil - "An array of strings naming major modes. + "A list of symbols or strings naming major modes. Switching to a buffer whose major mode is a member of this list will not cause the window to be resized to the golden ratio." :type '(repeat string) @@ -120,6 +120,12 @@ will not cause the window to be resized to the golden ratio." (when (window-resizable-p (selected-window) ncol t) (enlarge-window ncol t) +(defun golden-ratio-exclude-major-mode-p () + "Returns non-nil if `major-mode' should not use golden-ratio." + (or (member (symbol-name major-mode) + golden-ratio-exclude-modes) + (memq major-mode golden-ratio-exclude-modes))) + ;;;###autoload (defun golden-ratio () "Resizes current window to the golden-ratio's size specs." @@ -127,8 +133,7 @@ will not cause the window to be resized to the golden ratio." (unless (or (not golden-ratio-mode) (window-minibuffer-p) (one-window-p) - (member (symbol-name major-mode) - golden-ratio-exclude-modes) + (golden-ratio-exclude-major-mode-p) (member (buffer-name) golden-ratio-exclude-buffer-names) (and golden-ratio-inhibit-functions
[nongnu] elpa/golden-ratio 19bacbeaee 40/95: * golden-ratio.el (golden-ratio--resize-window): Remove unuseful nil arg.
branch: elpa/golden-ratio commit 19bacbeaeeb472557d9b5ef3d76ba918ae2d73b6 Author: Thierry Volpiatto Commit: Thierry Volpiatto * golden-ratio.el (golden-ratio--resize-window): Remove unuseful nil arg. --- golden-ratio.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golden-ratio.el b/golden-ratio.el index c6607f5d61..d2611bb1b9 100644 --- a/golden-ratio.el +++ b/golden-ratio.el @@ -65,7 +65,7 @@ will not cause the window to be resized to the golden ratio." (let ((nrow (floor (- (first dimensions) (window-height-after-balance (ncol (floor (- (second dimensions) (window-width-after-balance) (when (window-resizable-p (selected-window) nrow) -(enlarge-window nrow nil)) +(enlarge-window nrow)) (when (window-resizable-p (selected-window) ncol t) (enlarge-window ncol t)