Skip to content

Commit aaf79aa

Browse files
Merge pull request #84 from BenjaVR/master
Added close button + setting to close to tray or close the app
2 parents 4338991 + bb1ba3f commit aaf79aa

File tree

7 files changed

+37
-6
lines changed

7 files changed

+37
-6
lines changed

Lyricfier.ts

+4
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ export class Lyricfier {
8282
const iconPath = this.getTrayIcon();
8383
this.appIcon = new electron.Tray(iconPath);
8484
this.appIcon.setContextMenu(this.createTrayMenu());
85+
86+
this.appIcon.on('click', () => {
87+
this.window.show();
88+
});
8589
}
8690

8791
subscribeSettingsEvents() {

Settings.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export interface SettingsValues {
88
theme: 'dark'|'light';
99
fontSize: 'eight-pt'|'ten-pt'|'twelve-pt'|'fourteen-pt'|'sixteen-pt';
1010
refreshInterval: number;
11+
closeToTray: boolean;
1112
}
1213

1314
export const defaultSettings: SettingsValues = {
@@ -16,7 +17,8 @@ export const defaultSettings: SettingsValues = {
1617
autoScroll: false,
1718
theme: 'light',
1819
fontSize: 'twelve-pt',
19-
refreshInterval: 5000
20+
refreshInterval: 5000,
21+
closeToTray: false
2022
};
2123

2224
export class Settings {

render/LyricfierRender.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Component from 'vue-class-component';
2-
import {ipcRenderer, shell} from 'electron';
2+
import {ipcRenderer, shell, remote} from 'electron';
33
import {SettingsRender} from './SettingsRender';
44
import {SongRender} from './SongRender';
55
import {template} from './template';
@@ -93,6 +93,14 @@ class LyricfierRender {
9393
isView(page) {
9494
return this.currentView === page;
9595
}
96+
97+
closeApp() {
98+
if (this.settings.closeToTray){
99+
remote.getCurrentWindow().hide();
100+
} else {
101+
remote.getCurrentWindow().close();
102+
}
103+
}
96104
}
97105

98106
export = LyricfierRender;

render/less/components/app-drag-bar.less

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
flex: 0 0 auto;
88
display: flex;
99
border-bottom: 1px solid rgba(0, 0, 0, .125);
10-
width: ~"calc(100% - 2rem)";
10+
width: ~"calc(100% - 4rem)";
1111
-webkit-app-region: drag;
12-
-webkit-mask-image: linear-gradient(to right, white 50%, transparent);
12+
-webkit-mask-image: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 20%,rgba(255,255,255,0.99) 49%,rgba(255,255,255,1) 50%,rgba(255,255,255,0.8) 80%,rgba(255,255,255,0) 100%);
13+
position: relative;
14+
left: 2rem;
1315

1416
h1 {
1517
flex: 1;

render/less/views/lyric.less

+8-1
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,19 @@
3939
.iconbutton;
4040
position: fixed;
4141
top: .2rem;
42-
right: .25rem;
4342
cursor: pointer;
4443

4544
.material-icons {
4645
font-size: 1rem;
4746
}
47+
48+
&.settings-btn {
49+
right: .25rem;
50+
}
51+
52+
&.close-btn {
53+
left: .25rem;
54+
}
4855
}
4956

5057
.full-vertical-flex {

render/views/Lyricfier.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22
<script src="http://localhost:35729/livereload.js"></script>
33
</div>
44
<div class="main-view" v-bind:class="settings.theme">
5-
<a href="#" v-if="!settings.hideLyrics" v-if="isView('SongRender')" @click="changeView('SettingsRender')" title="Switch View" class="view-switcher">
5+
<a href="#" @click="closeApp()" title="Close app" class="view-switcher close-btn">
6+
<i class="material-icons">close</i>
7+
</a>
8+
<a href="#" v-if="!settings.hideLyrics" v-if="isView('SongRender')" @click="changeView('SettingsRender')" title="Switch View" class="view-switcher settings-btn">
69
<i class="material-icons">settings</i>
710
</a>
811
<song-render

render/views/Settings.html

+5
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ <h1>
2323
</select>
2424
</label>
2525
</li>
26+
<li>
27+
<label>
28+
<input type="checkbox" v-model="settings.closeToTray" @change="onChangeSettings()"> Close button minimizes to tray
29+
</label>
30+
</li>
2631
</ol>
2732
</fieldset>
2833
<fieldset>

0 commit comments

Comments
 (0)