Handle double-click on custom title bar

This commit is contained in:
Zirro
2016-08-04 23:11:22 +02:00
parent a79ffa308a
commit 24befe2454
2 changed files with 22 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
_ = require 'underscore-plus'
{screen, ipcRenderer, remote, shell, webFrame} = require 'electron'
{screen, ipcRenderer, remote, shell, systemPreferences, webFrame} = require 'electron'
ipcHelpers = require './ipc-helpers'
{Disposable} = require 'event-kit'
{getWindowLoadSettings, setWindowLoadSettings} = require './window-load-settings-helpers'
@@ -57,12 +57,18 @@ class ApplicationDelegate
reloadWindow: ->
ipcRenderer.send("call-window-method", "reload")
minimizeWindow: ->
ipcRenderer.send("call-window-method", "minimize")
isWindowMaximized: ->
remote.getCurrentWindow().isMaximized()
maximizeWindow: ->
ipcRenderer.send("call-window-method", "maximize")
unmaximizeWindow: ->
ipcRenderer.send("call-window-method", "unmaximize")
isWindowFullScreen: ->
remote.getCurrentWindow().isFullScreen()
@@ -130,6 +136,9 @@ class ApplicationDelegate
getPrimaryDisplayWorkAreaSize: ->
remote.screen.getPrimaryDisplay().workAreaSize
getAppleActionOnDoubleClick: ->
remote.systemPreferences.getUserDefault("AppleActionOnDoubleClick", "string")
confirm: ({message, detailedMessage, buttons}) ->
buttons ?= {}
if _.isArray(buttons)

View File

@@ -8,12 +8,24 @@ class TitleBar
@titleElement.classList.add('title')
@element.appendChild(@titleElement)
@element.addEventListener 'dblclick', @dblclickHandler
@workspace.onDidChangeActivePaneItem => @updateTitle()
@themes.onDidChangeActiveThemes => @updateWindowSheetOffset()
@updateTitle()
@updateWindowSheetOffset()
dblclickHandler: =>
switch @applicationDelegate.getAppleActionOnDoubleClick()
when 'Minimize'
@applicationDelegate.minimizeWindow()
when 'Maximize'
if @applicationDelegate.isWindowMaximized()
@applicationDelegate.unmaximizeWindow()
else
@applicationDelegate.maximizeWindow()
updateTitle: ->
@titleElement.textContent = document.title