mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
Handle double-click on custom title bar
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user