mac 버전 TwitterDeck의 메뉴 바를 느낌으로 만듭니다.
소개
macOS판 Twitter 앱이 폐지된다는 넷의 기사를 받아, 클라이언트로서 TwitterDeck를 대신 도입했지만 타이틀 바의 외형이 디자인적으로 통합되어 있지 않고, Twitter 앱이 보다 본 목적에 뛰어나다 처럼 느꼈다.
그래서 아래와 같은 외형으로 바꿀 방법이 없는지 조사한 결과, TwitterDeck는 온라인으로 제공되고 있어 동일한 UI를 간단하게 이용할 수 있었기 때문에, TweetDeck의 타이틀 바를 보다 현대적인 외형에 접근하기 위해 에, 어플리화(?)를 행했다.
방법
Electron에서
https://tweetdeck.twitter.com/
를 표시하고 제목 표시 줄의 모양을 변경합니다.Electron 설치
electron 시작. 환경 구축 ~ Hello World까지
이 기사를 참고로 환경 구축
코드 작성
웹페이지를 표시하는 것만이므로 어렵지 않다.
조금 CSS를 조정할 필요가 있었지만, 기본적으로는 표시하는 것만으로 끝났다.
const { app, Menu, BrowserWindow } = require('electron')
let mainWindow
function createMenu() {
const menuTemplate = [
{
label: 'TweetDeck',
submenu: [
{
label: 'Quit',
accelerator: 'Cmd+Q',
click() {
app.quit()
}
}
]
},
{
label: 'Edit',
submenu: [
{ label: 'Undo', accelerator: 'CmdOrCtrl+Z', selector: 'undo:' },
{ label: 'Redo', accelerator: 'Shift+CmdOrCtrl+Z', selector: 'redo:' },
{ type: 'separator' },
{ label: 'Cut', accelerator: 'CmdOrCtrl+X', selector: 'cut:' },
{ label: 'Copy', accelerator: 'CmdOrCtrl+C', selector: 'copy:' },
{ label: 'Paste', accelerator: 'CmdOrCtrl+V', selector: 'paste:' },
{
label: 'Select All',
accelerator: 'CmdOrCtrl+A',
selector: 'selectAll:'
}
]
},
{
label: 'View',
submenu: [
{
label: 'Reload',
accelerator: 'CmdOrCtrl+R',
click(item, focusedWindow) {
if (focusedWindow) focusedWindow.reload()
}
},
{
label: 'Toggle Developer Tools',
accelerator:
process.platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
click(item, focusWindow) {
if (focusWindow) {
focusWindow.webContents.toggleDevTools()
}
}
},
{ type: 'separator' },
{ role: 'resetzoom' },
{ role: 'zoomin' },
{ role: 'zoomout' }
]
}
]
const menu = Menu.buildFromTemplate(menuTemplate)
Menu.setApplicationMenu(menu)
}
app.on('ready', function() {
mainWindow = new BrowserWindow({
width: 1100,
height: 800,
useContentSize: true,
title: 'TweetDeck',
titleBarStyle: 'hiddenInset',
icon: __dirname + '/icon/icon.png',
webPreferences: {
nodeIntegration: false,
sandbox: true
}
})
mainWindow.loadURL('https://tweetdeck.twitter.com/')
mainWindow.webContents.on('dom-ready', function() {
mainWindow.webContents.insertCSS(
`
.is-condensed .attach-compose-buttons .tweet-button {
width: 57px;
}
.is-condensed .app-content {
left: 78px;
}
.column-navigator {
top: 155px;
}
.app-header.is-condensed .app-header-inner {
width: 50px;
padding: 36px 7px 3px 7px;
box-sizing: border-box;
margin: 0 14px;
}
.is-condensed .app-header {
width: 78px;
}
`.replace(/;/g, '!important;')
)
})
mainWindow.on('closed', function() {
mainWindow = null
})
createMenu()
})
요세미티 스타일 아이콘을 쓰는 사람
김에 아이콘도 만든다.
Yosemite 스타일의 아이콘을 쉽게 만들 수있는 도구를 만들었습니다. 로 만든 이것을 사용하면서
Electron을 찾는 일상 에서 수행한 방식으로 아이콘을 생성합니다.
Twitter Brand Resources
$ mkdir -p icon icon/app.iconset
$ curl ls8h.com/yosemite-icon/api -F "[email protected]" -F "base_color=#243447" > icon/icon.png
$ sips -Z 16 icon/icon.png --out icon/app.iconset/icon_16x16.png
$ sips -Z 32 icon/icon.png --out icon/app.iconset/[email protected]
$ sips -Z 32 icon/icon.png --out icon/app.iconset/icon_32x32.png
$ sips -Z 64 icon/icon.png --out icon/app.iconset/[email protected]
$ sips -Z 128 icon/icon.png --out icon/app.iconset/icon_128x128.png
$ sips -Z 256 icon/icon.png --out icon/app.iconset/[email protected]
$ sips -Z 256 icon/icon.png --out icon/app.iconset/icon_256x256.png
$ sips -Z 512 icon/icon.png --out icon/app.iconset/[email protected]
$ sips -Z 512 icon/icon.png --out icon/app.iconset/icon_512x512.png
$ sips -Z 1024 icon/icon.png --out icon/app.iconset/[email protected]
$ iconutil -c icns icon/app.iconset
패키징
electron-packager로 Electron 앱을 생성합니다.
$ electron-packager . TweetDeck --platform=darwin --arch=x64 --version=1 --icon=build/icon/app.icns
고통 없이 완성했다.
결과
이것이
이렇게 되었다
만조쿠! !
Reference
이 문제에 관하여(mac 버전 TwitterDeck의 메뉴 바를 느낌으로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/trkbt10/items/c99109b0ae9f1a975e7f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)