emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Xiao-Yong Jin <jinxiaoyong@gmail.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: default face org-column
Date: Fri, 28 Jun 2013 13:55:24 +0900	[thread overview]
Message-ID: <99A2E7F8-6877-489D-A8C5-3CA51901B4F6@gmail.com> (raw)
In-Reply-To: <068396FB-493D-456B-922A-D4638EBE0FA3@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3043 bytes --]

On Jun 1, 2013, at 3:17 PM, Carsten Dominik <carsten.dominik@gmail.com> wrote:

> Hi Xiao,
> 
> I remember that I struggled with the problem that I had to make sure that column view used a fixed-width face - and this was the solution that worked - not a particular pretty one, admittedly.
> 
> Do you have an idea on how to change this code that it will always work?  I'd be very happy to accept a good patch.
> 
> - Carsten

Hi Carsten,

I wasn't sure what you were talking about until I tried out the theme, leuven... and that was really fanciful and totally screwed the column-view without your fixed-width face fix.

In order to make it more flexible, instead of just set it once when org-faces.el is loaded, I think enforcing it every time when column-view is called is a better choice.  Thus came the following little patch.

diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index a98deec..f3b8e42 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -169,8 +169,10 @@ This is the compiled version of the format.")
                            (get-text-property (point-at-bol) 'face))
                       'default))
         (color (list :foreground (face-attribute ref-face :foreground)))
-        (face (list color 'org-column ref-face))
-        (face1 (list color 'org-agenda-column-dateline ref-face))
+        (font (list :height (face-attribute 'default :height)
+                    :family (face-attribute 'default :family)))
+        (face (list color font 'org-column ref-face))
+        (face1 (list color font 'org-agenda-column-dateline ref-face))
         (cphr (get-text-property (point-at-bol) 'org-complex-heading-regexp))
         pom property ass width f string ov column val modval s2 title calc)
     ;; Check if the entry is in another buffer.
diff --git a/lisp/org-faces.el b/lisp/org-faces.el
index 5472964..e968657 100644
--- a/lisp/org-faces.el
+++ b/lisp/org-faces.el
@@ -217,12 +217,6 @@ column view defines special faces for each outline level.  See the file
   "Face for column display of entry properties."
   :group 'org-faces)
 
-(when (fboundp 'set-face-attribute)
-  ;; Make sure that a fixed-width face is used when we have a column table.
-  (set-face-attribute 'org-column nil
-                     :height (face-attribute 'default :height)
-                     :family (face-attribute 'default :family)))
-
 (defface org-agenda-column-dateline
   (org-compatible-face 'org-column
     '((t nil)))

In this way, the column-view face will not be bound only to the font family and size at the time of loading org-faces.el, but anytime column-view is called.  I'm not sure if I covered all the cases, but it seems to work well for me.  I hope the patch is not broken by the mail app, but I guess it is simple enough to read it in one sip of coffee, though I tracked the issue and wrote the patch with one cup.

Best,
Xiao-Yong

PS. I realized it was almost a month-old email.  Org-mode is really good at remembering it for me.

[-- Attachment #2: Type: text/html, Size: 5630 bytes --]

  reply	other threads:[~2013-06-28  4:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-30  2:43 default face org-column Xiao-Yong Jin
2013-06-01  6:17 ` Carsten Dominik
2013-06-28  4:55   ` Xiao-Yong Jin [this message]
2013-06-28 11:05     ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99A2E7F8-6877-489D-A8C5-3CA51901B4F6@gmail.com \
    --to=jinxiaoyong@gmail.com \
    --cc=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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