git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: .gitk should created hidden in windows

From
Pat Thoyts <patthoyts@users.sourceforge.net>
Date
Mar 24, 2009, 00:04 UTC
Message-ID
<49C82377.40101@users.sourceforge.net>
In-Reply-To
<18887.26239.115820.450313@cargo.ozlabs.ibm.com>
Paul Mackerras wrote:
> Please try this patch and let me know if it does what you want.
> 
[snip]

This patch works fine on my Vista installation. The .gitk file is now hidden.

An alternative that was discussed was to move it rather than hide it so that it ends up in the Application Data folder along with settings for other applications. The following patch does this but hits rather more lines of code and ends up needing to check the original location as well.

diff --git a/gitk b/gitk
index a7294a1..5ec6e7b 100755
--- a/gitk
+++ b/gitk
@@ -2509,12 +2509,13 @@ proc savestuff {w} {
     global viewname viewfiles viewargs viewargscmd viewperm nextviewnum
     global cmitmode wrapcomment datetimeformat limitdiffs
     global colors bgcolor fgcolor diffcolors diffcontext selectbgcolor
-    global autoselect extdifftool perfile_attrs markbgcolor
+    global autoselect extdifftool perfile_attrs markbgcolor rcfile

     if {$stuffsaved} return
     if {![winfo viewable .]} return
-    catch {
-	set f [open "~/.gitk-new" w]
+    set tmpfile "${rcfile}-new"
+    if {[catch {
+	set f [open $tmpfile {CREAT WRONLY}]
 	puts $f [list set mainfont $mainfont]
 	puts $f [list set textfont $textfont]
 	puts $f [list set uifont $uifont]
@@ -2555,7 +2556,10 @@ proc savestuff {w} {
 	}
 	puts $f "}"
 	close $f
-	file rename -force "~/.gitk-new" "~/.gitk"
+	file rename -force $tmpfile $rcfile
+    } err]} {
+        tk_messageBox -icon error -message $err \
+            -title "Failed to save preferences"
     }
     set stuffsaved 1
 }
@@ -10790,7 +10794,13 @@ namespace import ::msgcat::mc
 ## And eventually load the actual message catalog
 ::msgcat::mcload $gitk_msgsdir

-catch {source ~/.gitk}
+set rcfile ~/.gitk
+if {$::tcl_platform(platform) eq "windows"} {
+    # Load old settings file if present
+    if {[file exists ~/.gitk]} {catch {source ~/.gitk}}
+    set rcfile [file join $env(APPDATA) gitk.settings]
+}
+catch {source $rcfile}

 font create optionfont -family sans-serif -size -12
Previous: Steve WagnerNext: Johannes Schindelin
Message 4 of 8 in “.gitk should created hidden in windows”
  1. Steve WagnerMar 17, 2009
  2. Paul MackerrasMar 23, 2009
  3. Steve WagnerMar 23, 2009
  4. Pat ThoytsMar 24, 2009
  5. Johannes SchindelinMar 24, 2009
  6. Paul MackerrasApr 17, 2009
  7. John TapsellMar 24, 2009
  8. Johannes SchindelinMar 24, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.