mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-07 15:37:14 +02:00
Make Sparkle updater an optional component of MacVim
MacVim by default uses Sparkle to update itself. It checks a URL that tells it whether there's a new binary release, and if one exists, it will download it and patches MacVim. However, there are certain situations where this is not wanted (e.g. when MacVim is bundled as part of a package management system), and previously there was no way to disable Sparkle. Make Sparkle optional by implementing a new configure argument: `./configure --disable-sparkle`, which will set a compile-time ifdef. Instead of instantiating the updater in MainMenu.nib as suggested by Sparkle's documentation, just instantiate it manually in code, and also disable the "Check for updates" menu item and updater-related preference pane items to make sure these settings don't confuse users when they are running a Sparkle-disabled build. Sparkle.framework is currently still bundled when it's disabled, because there doesn't seem to be an easy way to configure the copy build phase. It could be manually removed in a script after the build though, as it's now optionally linked to instead of mandatory. Fix #849.
This commit is contained in:
+1
-2
@@ -26,7 +26,7 @@
|
||||
</menuItem>
|
||||
<menuItem title="Check for Updates…" id="255">
|
||||
<connections>
|
||||
<action selector="checkForUpdates:" target="Jqk-qh-n0J" id="Wau-rL-cbn"/>
|
||||
<action selector="checkForUpdates:" target="235" id="Vif-VP-y50"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="196">
|
||||
@@ -208,6 +208,5 @@
|
||||
</items>
|
||||
<point key="canvasLocation" x="139" y="67"/>
|
||||
</menu>
|
||||
<customObject id="Jqk-qh-n0J" customClass="SUUpdater"/>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
Binary file not shown.
+199
-173
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment version="1050" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -12,6 +12,7 @@
|
||||
<outlet property="autoInstallUpdateButton" destination="UYM-W0-Kgl" id="cX5-tk-9WJ"/>
|
||||
<outlet property="generalPreferences" destination="115" id="143"/>
|
||||
<outlet property="layoutPopUpButton" destination="427" id="596"/>
|
||||
<outlet property="sparkleUpdaterPane" destination="0hT-y8-Hge" id="e0L-sv-OCW"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
@@ -21,182 +22,206 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="314"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<popUpButton verticalHuggingPriority="750" id="957">
|
||||
<rect key="frame" x="206" y="19" width="197" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Keep MacVim Running" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="960" id="979">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="959">
|
||||
<items>
|
||||
<menuItem title="Keep MacVim Running" state="on" id="960"/>
|
||||
<menuItem title="Hide MacVim" id="961"/>
|
||||
<menuItem title="Quit MacVim" id="962"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedIndex" keyPath="values.MMLastWindowClosedBehavior" id="968"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" id="126">
|
||||
<rect key="frame" x="17" y="25" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="After last window closes:" id="977">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" id="427">
|
||||
<rect key="frame" x="218" y="112" width="229" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="and set the arglist" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="436" id="978">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="429">
|
||||
<items>
|
||||
<menuItem title="with a tab for each file" tag="3" id="430"/>
|
||||
<menuItem title="with a window for each file" tag="4" id="544">
|
||||
<connections>
|
||||
<binding destination="58" name="enabled" keyPath="values.MMOpenInCurrentWindow" id="546">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="with a split for each file" tag="1" id="431"/>
|
||||
<menuItem title="and set the arglist" state="on" id="436"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMOpenLayout" id="441"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" id="124">
|
||||
<rect key="frame" x="17" y="209" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="When MacVim launches:" id="976">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="122">
|
||||
<rect key="frame" x="207" y="208" width="258" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<string key="toolTip">Checks for updates and presents a dialog box showing the release notes and prompt for whether you want to install the new version.</string>
|
||||
<buttonCell key="cell" type="check" title="Check for updates" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="975">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="checkForUpdatesChanged:" target="-2" id="YjS-ig-M1j"/>
|
||||
<binding destination="58" name="value" keyPath="values.SUCheckAtStartup" id="169"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="121">
|
||||
<rect key="frame" x="209" y="50" width="243" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="974">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">This applies to files opened from the Finder (e.g. by double-clicking on a file or by dragging a file onto the MacVim dock icon) or from external programs such as Xcode. </string>
|
||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<matrix verticalHuggingPriority="750" allowsEmptySelection="NO" id="120">
|
||||
<rect key="frame" x="209" y="144" width="243" height="38"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="243" height="18"/>
|
||||
<size key="intercellSpacing" width="4" height="2"/>
|
||||
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="997">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<cells>
|
||||
<column>
|
||||
<buttonCell type="radio" title="in a new window" imagePosition="left" alignment="left" inset="2" id="135">
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5x5-P0-afk" userLabel="Open untitled window">
|
||||
<rect key="frame" x="19" y="234" width="433" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="117">
|
||||
<rect key="frame" x="-2" y="41" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Open untitled window:" id="973">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" autosizesCells="NO" translatesAutoresizingMaskIntoConstraints="NO" id="119">
|
||||
<rect key="frame" x="190" y="0.0" width="243" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="243" height="18"/>
|
||||
<size key="intercellSpacing" width="4" height="2"/>
|
||||
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="996">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="in the current window" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="134">
|
||||
<cells>
|
||||
<column>
|
||||
<buttonCell type="radio" title="on launch and re-activation" imagePosition="left" alignment="left" state="on" tag="3" inset="2" id="139">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="only when MacVim launches" imagePosition="left" alignment="left" tag="1" inset="2" id="138">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="never" imagePosition="left" alignment="left" inset="2" id="137">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</column>
|
||||
</cells>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMUntitledWindow" id="171"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="p6o-fo-STi" userLabel="Open files from applications">
|
||||
<rect key="frame" x="19" y="94" width="433" height="132"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="116">
|
||||
<rect key="frame" x="-2" y="115" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Open files from applications:" id="972">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" translatesAutoresizingMaskIntoConstraints="NO" id="120">
|
||||
<rect key="frame" x="190" y="94" width="243" height="38"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="243" height="18"/>
|
||||
<size key="intercellSpacing" width="4" height="2"/>
|
||||
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="997">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</column>
|
||||
</cells>
|
||||
<connections>
|
||||
<action selector="openInCurrentWindowSelectionChanged:" target="-2" id="572"/>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMOpenInCurrentWindow" id="520"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
<matrix verticalHuggingPriority="750" allowsEmptySelection="NO" autosizesCells="NO" id="119">
|
||||
<rect key="frame" x="209" y="234" width="243" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="243" height="18"/>
|
||||
<size key="intercellSpacing" width="4" height="2"/>
|
||||
<buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="996">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<cells>
|
||||
<column>
|
||||
<buttonCell type="radio" title="on launch and re-activation" imagePosition="left" alignment="left" state="on" tag="3" inset="2" id="139">
|
||||
<cells>
|
||||
<column>
|
||||
<buttonCell type="radio" title="in a new window" imagePosition="left" alignment="left" inset="2" id="135">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="in the current window" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="134">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</column>
|
||||
</cells>
|
||||
<connections>
|
||||
<action selector="openInCurrentWindowSelectionChanged:" target="-2" id="572"/>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMOpenInCurrentWindow" id="520"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="427">
|
||||
<rect key="frame" x="199" y="62" width="229" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="and set the arglist" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="436" id="978">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="429">
|
||||
<items>
|
||||
<menuItem title="with a tab for each file" tag="3" id="430"/>
|
||||
<menuItem title="with a window for each file" tag="4" id="544">
|
||||
<connections>
|
||||
<binding destination="58" name="enabled" keyPath="values.MMOpenInCurrentWindow" id="546">
|
||||
<dictionary key="options">
|
||||
<string key="NSValueTransformerName">NSNegateBoolean</string>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="with a split for each file" tag="1" id="431"/>
|
||||
<menuItem title="and set the arglist" state="on" id="436"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMOpenLayout" id="441"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="121">
|
||||
<rect key="frame" x="190" y="0.0" width="243" height="58"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="974">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">This applies to files opened from the Finder (e.g. by double-clicking on a file or by dragging a file onto the MacVim dock icon) or from external programs such as Xcode. </string>
|
||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dlz-JQ-U4e" userLabel="After last window closes">
|
||||
<rect key="frame" x="19" y="66" width="381" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="126">
|
||||
<rect key="frame" x="-2" y="3" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="After last window closes:" id="977">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="957">
|
||||
<rect key="frame" x="187" y="-3" width="197" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Keep MacVim Running" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="960" id="979">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="959">
|
||||
<items>
|
||||
<menuItem title="Keep MacVim Running" state="on" id="960"/>
|
||||
<menuItem title="Hide MacVim" id="961"/>
|
||||
<menuItem title="Quit MacVim" id="962"/>
|
||||
</items>
|
||||
</menu>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedIndex" keyPath="values.MMLastWindowClosedBehavior" id="968"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="0hT-y8-Hge" userLabel="Updater">
|
||||
<rect key="frame" x="19" y="22" width="444" height="36"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="122">
|
||||
<rect key="frame" x="188" y="18" width="258" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<string key="toolTip">Checks for updates and presents a dialog box showing the release notes and prompt for whether you want to install the new version.</string>
|
||||
<buttonCell key="cell" type="check" title="Check for updates" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="975">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="only when MacVim launches" imagePosition="left" alignment="left" tag="1" inset="2" id="138">
|
||||
<connections>
|
||||
<action selector="checkForUpdatesChanged:" target="-2" id="YjS-ig-M1j"/>
|
||||
<binding destination="58" name="value" keyPath="values.SUCheckAtStartup" id="169"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="UYM-W0-Kgl" userLabel="Auto-install updates">
|
||||
<rect key="frame" x="202" y="-2" width="244" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<string key="toolTip">MacVim will automatically download and install updates without prompting. The updated version will be used the next time MacVim starts.</string>
|
||||
<buttonCell key="cell" type="check" title="Automatically install updates" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="GfP-vg-mec">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<connections>
|
||||
<binding destination="58" name="enabled" keyPath="values.SUCheckAtStartup" id="5oY-Gf-XJN"/>
|
||||
</connections>
|
||||
</buttonCell>
|
||||
<buttonCell type="radio" title="never" imagePosition="left" alignment="left" inset="2" id="137">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<connections>
|
||||
<binding destination="58" name="value" keyPath="values.SUAutomaticallyUpdate" id="kyZ-ah-zKf"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="124">
|
||||
<rect key="frame" x="-2" y="19" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="When MacVim launches:" id="976">
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</column>
|
||||
</cells>
|
||||
<connections>
|
||||
<binding destination="58" name="selectedTag" keyPath="values.MMUntitledWindow" id="171"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
<textField verticalHuggingPriority="750" id="117">
|
||||
<rect key="frame" x="17" y="275" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Open untitled window:" id="973">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" id="116">
|
||||
<rect key="frame" x="17" y="165" width="187" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Open files from applications:" id="972">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="UYM-W0-Kgl" userLabel="Auto-install updates">
|
||||
<rect key="frame" x="221" y="188" width="244" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinY="YES"/>
|
||||
<string key="toolTip">MacVim will automatically download and install updates without prompting. The updated version will be used the next time MacVim starts.</string>
|
||||
<buttonCell key="cell" type="check" title="Automatically install updates" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="GfP-vg-mec">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<connections>
|
||||
<binding destination="58" name="enabled" keyPath="values.SUCheckAtStartup" id="5oY-Gf-XJN"/>
|
||||
</connections>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="value" keyPath="values.SUAutomaticallyUpdate" id="kyZ-ah-zKf"/>
|
||||
</connections>
|
||||
</button>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
</customView>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="137.5" y="382"/>
|
||||
</customView>
|
||||
@@ -204,7 +229,7 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="318"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" id="826">
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="826">
|
||||
<rect key="frame" x="17" y="170" width="449" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="993">
|
||||
@@ -214,7 +239,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="817">
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="817">
|
||||
<rect key="frame" x="18" y="228" width="133" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Quickstart" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="992">
|
||||
@@ -226,7 +251,7 @@
|
||||
<binding destination="58" name="value" keyPath="values.MMPreloadCacheSize" id="828"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="815">
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="815">
|
||||
<rect key="frame" x="17" y="252" width="449" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="991">
|
||||
@@ -236,7 +261,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="782">
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="782">
|
||||
<rect key="frame" x="18" y="282" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Use Core Text renderer" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="990">
|
||||
@@ -248,7 +273,7 @@
|
||||
<binding destination="58" name="value" keyPath="values.MMRenderer" id="1000"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="1001">
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1001">
|
||||
<rect key="frame" x="17" y="74" width="444" height="70"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1004">
|
||||
@@ -258,7 +283,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="1013">
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1013">
|
||||
<rect key="frame" x="18" y="146" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Draw marked text inline" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1014">
|
||||
@@ -269,7 +294,7 @@
|
||||
<binding destination="58" name="value" keyPath="values.MMUseInlineIm" id="1016"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="1017">
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1017">
|
||||
<rect key="frame" x="17" y="20" width="415" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1020">
|
||||
@@ -279,7 +304,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="1028">
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1028">
|
||||
<rect key="frame" x="18" y="50" width="388" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Prefer native full-screen support (requires Mac OS X 10.7)" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="1029">
|
||||
@@ -291,6 +316,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="139" y="385"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
Binary file not shown.
@@ -14,6 +14,7 @@
|
||||
|
||||
@class MMWindowController;
|
||||
@class MMVimController;
|
||||
@class SUUpdater;
|
||||
|
||||
|
||||
@interface MMAppController : NSObject <MMAppProtocol> {
|
||||
@@ -30,6 +31,8 @@
|
||||
int numChildProcesses;
|
||||
NSMutableDictionary *inputQueues;
|
||||
int processingFlag;
|
||||
|
||||
SUUpdater *updater;
|
||||
|
||||
FSEventStreamRef fsEventStream;
|
||||
}
|
||||
@@ -52,6 +55,7 @@
|
||||
- (IBAction)orderFrontPreferencePanel:(id)sender;
|
||||
- (IBAction)openWebsite:(id)sender;
|
||||
- (IBAction)showVimHelp:(id)sender;
|
||||
- (IBAction)checkForUpdates:(id)sender;
|
||||
- (IBAction)zoomAll:(id)sender;
|
||||
- (IBAction)stayInFront:(id)sender;
|
||||
- (IBAction)stayInBack:(id)sender;
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#import "MMWindowController.h"
|
||||
#import "MMTextView.h"
|
||||
#import "Miscellaneous.h"
|
||||
#import "Sparkle.framework/Headers/Sparkle.h"
|
||||
#import <unistd.h>
|
||||
#import <CoreServices/CoreServices.h>
|
||||
// Need Carbon for TIS...() functions
|
||||
@@ -298,6 +299,12 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
ASLogCrit(@"Failed to register connection with name '%@'", name);
|
||||
[connection release]; connection = nil;
|
||||
}
|
||||
|
||||
#if !DISABLE_SPARKLE
|
||||
// Sparkle is enabled (this is the default). Initialize it. It will
|
||||
// automatically check for update.
|
||||
updater = [[SUUpdater alloc] init];
|
||||
#endif
|
||||
|
||||
return self;
|
||||
}
|
||||
@@ -315,6 +322,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
[recentFilesMenuItem release]; recentFilesMenuItem = nil;
|
||||
[defaultMainMenu release]; defaultMainMenu = nil;
|
||||
[appMenuItemTemplate release]; appMenuItemTemplate = nil;
|
||||
[updater release]; updater = nil;
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
@@ -892,6 +900,14 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
// private so this will have to be considered a bit of a hack!)
|
||||
NSMenu *appMenu = [mainMenu findApplicationMenu];
|
||||
[NSApp performSelector:@selector(setAppleMenu:) withObject:appMenu];
|
||||
|
||||
#if DISABLE_SPARKLE
|
||||
// If Sparkle is disabled, we want to remove the "Check for Updates" menu
|
||||
// item since it's no longer useful.
|
||||
NSMenuItem *checkForUpdatesItem = [appMenu itemAtIndex:
|
||||
[appMenu indexOfItemWithAction:@selector(checkForUpdates:)]];
|
||||
checkForUpdatesItem.hidden = true;
|
||||
#endif
|
||||
|
||||
NSMenu *servicesMenu = [mainMenu findServicesMenu];
|
||||
[NSApp setServicesMenu:servicesMenu];
|
||||
@@ -1195,6 +1211,15 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
@"-c", @":h gui_mac", @"-c", @":res", nil]
|
||||
workingDirectory:nil];
|
||||
}
|
||||
|
||||
- (IBAction)checkForUpdates:(id)sender
|
||||
{
|
||||
#if !DISABLE_SPARKLE
|
||||
// Check for updates for new versions manually.
|
||||
ASLogDebug(@"Check for software updates");
|
||||
[updater checkForUpdates:sender];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (IBAction)zoomAll:(id)sender
|
||||
{
|
||||
|
||||
@@ -18,9 +18,11 @@
|
||||
// General pane
|
||||
IBOutlet NSPopUpButton *layoutPopUpButton;
|
||||
IBOutlet NSButton *autoInstallUpdateButton;
|
||||
IBOutlet NSView *sparkleUpdaterPane;
|
||||
}
|
||||
|
||||
// General pane
|
||||
- (IBAction)showWindow:(id)sender;
|
||||
- (IBAction)openInCurrentWindowSelectionChanged:(id)sender;
|
||||
- (IBAction)checkForUpdatesChanged:(id)sender;
|
||||
|
||||
|
||||
@@ -43,6 +43,16 @@ static void loadSymbols()
|
||||
|
||||
@implementation MMPreferenceController
|
||||
|
||||
- (IBAction)showWindow:(id)sender
|
||||
{
|
||||
[super showWindow:sender];
|
||||
#if DISABLE_SPARKLE
|
||||
// If Sparkle is disabled in config, we don't want to show the preference pane
|
||||
// which could be confusing as it won't do anything.
|
||||
[sparkleUpdaterPane setHidden:YES];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)setupToolbar
|
||||
{
|
||||
loadSymbols();
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
1DFE25A50C527BC4003000F7 /* PSMTabBarControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; };
|
||||
52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */ = {isa = PBXBuildFile; fileRef = 52818AFF1C1C075300F59085 /* QLStephen.qlgenerator */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
528DA66A1426D4F9003380F1 /* macvim-askpass in Copy Scripts */ = {isa = PBXBuildFile; fileRef = 528DA6691426D4EB003380F1 /* macvim-askpass */; };
|
||||
52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; };
|
||||
52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
52A364761C4A57C1005757EC /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
52B7ED9B1C4A4D6900AFFF15 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 52B7ED9A1C4A4D6900AFFF15 /* dsa_pub.pem */; };
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
|
||||
@@ -162,6 +162,16 @@ be in when executing these commands):
|
||||
1. Configure Vim (call "./configure --help" to see a list of flags)
|
||||
src/$ ./configure
|
||||
|
||||
MacVim-specific flags that `./configure` supports:
|
||||
--disable-sparkle: Disable Sparkle auto-update. This is useful if you want
|
||||
to manually sync or building this as part of a package
|
||||
manager.
|
||||
--with-macsdk: Build MacVim against specific SDK versions.
|
||||
|
||||
You can also use environment variable `MACOSX_DEPLOYMENT_TARGET` to specify
|
||||
minimum target macOS version to deploy (e.g. '10.14'), and `XCODEFLAGS` for
|
||||
additional command-line arguments to pass to `xcodebuild`.
|
||||
|
||||
2. Build
|
||||
src/$ make
|
||||
|
||||
|
||||
Vendored
+20
@@ -782,6 +782,7 @@ ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_fail_if_missing
|
||||
enable_darwin
|
||||
enable_sparkle
|
||||
with_developer_dir
|
||||
with_macsdk
|
||||
with_macarchs
|
||||
@@ -1476,6 +1477,7 @@ Optional Features:
|
||||
--enable-fail-if-missing Fail if dependencies on additional features
|
||||
specified on the command line are missing.
|
||||
--disable-darwin Disable Darwin (Mac OS X) support.
|
||||
--disable-sparkle Disable Sparkle updater (MacVim).
|
||||
--disable-smack Do not check for Smack support.
|
||||
--disable-selinux Do not check for SELinux support.
|
||||
--disable-xsmp Disable XSMP session management
|
||||
@@ -4591,6 +4593,24 @@ $as_echo "no, Darwin support disabled" >&6; }
|
||||
$as_echo "yes, Darwin support excluded" >&6; }
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-sparkle argument" >&5
|
||||
$as_echo_n "checking --disable-sparkle argument... " >&6; }
|
||||
# Check whether --enable-sparkle was given.
|
||||
if test "${enable_sparkle+set}" = set; then :
|
||||
enableval=$enable_sparkle;
|
||||
else
|
||||
enable_sparkle="yes"
|
||||
fi
|
||||
|
||||
if test "$enable_sparkle" == "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
XCODEFLAGS="$XCODEFLAGS GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS DISABLE_SPARKLE=1'"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-developer-dir argument" >&5
|
||||
$as_echo_n "checking --with-developer-dir argument... " >&6; }
|
||||
|
||||
|
||||
@@ -190,6 +190,17 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
|
||||
AC_MSG_RESULT([yes, Darwin support excluded])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--disable-sparkle argument)
|
||||
AC_ARG_ENABLE(sparkle,
|
||||
[ --disable-sparkle Disable Sparkle updater (MacVim).],
|
||||
, [enable_sparkle="yes"])
|
||||
if test "$enable_sparkle" == "yes"; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
XCODEFLAGS="$XCODEFLAGS GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS DISABLE_SPARKLE=1'"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--with-developer-dir argument)
|
||||
AC_ARG_WITH(developer-dir, [ --with-developer-dir=PATH use PATH as location for Xcode developer tools],
|
||||
DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR),
|
||||
|
||||
Reference in New Issue
Block a user