@@ -9,19 +9,19 @@ namespace Flow.Launcher.Plugin.ProcessKiller
9
9
{
10
10
public class Main : IPlugin , IPluginI18n , IContextMenu , ISettingProvider
11
11
{
12
- private readonly ProcessHelper processHelper = new ( ) ;
12
+ internal static PluginInitContext Context { get ; private set ; }
13
13
14
- private static PluginInitContext _context ;
14
+ private Settings _settings ;
15
15
16
- internal Settings Settings ;
16
+ private readonly ProcessHelper processHelper = new ( ) ;
17
17
18
18
private SettingsViewModel _viewModel ;
19
19
20
20
public void Init ( PluginInitContext context )
21
21
{
22
- _context = context ;
23
- Settings = context . API . LoadSettingJsonStorage < Settings > ( ) ;
24
- _viewModel = new SettingsViewModel ( Settings ) ;
22
+ Context = context ;
23
+ _settings = context . API . LoadSettingJsonStorage < Settings > ( ) ;
24
+ _viewModel = new SettingsViewModel ( _settings ) ;
25
25
}
26
26
27
27
public List < Result > Query ( Query query )
@@ -31,12 +31,12 @@ public List<Result> Query(Query query)
31
31
32
32
public string GetTranslatedPluginTitle ( )
33
33
{
34
- return _context . API . GetTranslation ( " flowlauncher_plugin_processkiller_plugin_name" ) ;
34
+ return Localize . flowlauncher_plugin_processkiller_plugin_name ( ) ;
35
35
}
36
36
37
37
public string GetTranslatedPluginDescription ( )
38
38
{
39
- return _context . API . GetTranslation ( " flowlauncher_plugin_processkiller_plugin_description" ) ;
39
+ return Localize . flowlauncher_plugin_processkiller_plugin_description ( ) ;
40
40
}
41
41
42
42
public List < Result > LoadContextMenus ( Result result )
@@ -51,13 +51,13 @@ public List<Result> LoadContextMenus(Result result)
51
51
{
52
52
menuOptions . Add ( new Result
53
53
{
54
- Title = _context . API . GetTranslation ( " flowlauncher_plugin_processkiller_kill_instances" ) ,
54
+ Title = Localize . flowlauncher_plugin_processkiller_kill_instances ( ) ,
55
55
SubTitle = processPath ,
56
56
Action = _ =>
57
57
{
58
58
foreach ( var p in similarProcesses )
59
59
{
60
- processHelper . TryKill ( _context , p ) ;
60
+ ProcessHelper . TryKill ( p ) ;
61
61
}
62
62
63
63
return true ;
@@ -72,8 +72,8 @@ public List<Result> LoadContextMenus(Result result)
72
72
private List < Result > CreateResultsFromQuery ( Query query )
73
73
{
74
74
// Get all non-system processes
75
- var allPocessList = processHelper . GetMatchingProcesses ( ) ;
76
- if ( ! allPocessList . Any ( ) )
75
+ var allProcessList = processHelper . GetMatchingProcesses ( ) ;
76
+ if ( allProcessList . Count == 0 )
77
77
{
78
78
return null ;
79
79
}
@@ -82,12 +82,12 @@ private List<Result> CreateResultsFromQuery(Query query)
82
82
var searchTerm = query . Search ;
83
83
var processlist = new List < ProcessResult > ( ) ;
84
84
var processWindowTitle =
85
- Settings . ShowWindowTitle || Settings . PutVisibleWindowProcessesTop ?
85
+ _settings . ShowWindowTitle || _settings . PutVisibleWindowProcessesTop ?
86
86
ProcessHelper . GetProcessesWithNonEmptyWindowTitle ( ) :
87
- new Dictionary < int , string > ( ) ;
87
+ [ ] ;
88
88
if ( string . IsNullOrWhiteSpace ( searchTerm ) )
89
89
{
90
- foreach ( var p in allPocessList )
90
+ foreach ( var p in allProcessList )
91
91
{
92
92
var progressNameIdTitle = ProcessHelper . GetProcessNameIdTitle ( p ) ;
93
93
@@ -97,8 +97,8 @@ private List<Result> CreateResultsFromQuery(Query query)
97
97
// Use window title for those processes if enabled
98
98
processlist . Add ( new ProcessResult (
99
99
p ,
100
- Settings . PutVisibleWindowProcessesTop ? 200 : 0 ,
101
- Settings . ShowWindowTitle ? windowTitle : progressNameIdTitle ,
100
+ _settings . PutVisibleWindowProcessesTop ? 200 : 0 ,
101
+ _settings . ShowWindowTitle ? windowTitle : progressNameIdTitle ,
102
102
null ,
103
103
progressNameIdTitle ) ) ;
104
104
}
@@ -115,35 +115,35 @@ private List<Result> CreateResultsFromQuery(Query query)
115
115
}
116
116
else
117
117
{
118
- foreach ( var p in allPocessList )
118
+ foreach ( var p in allProcessList )
119
119
{
120
120
var progressNameIdTitle = ProcessHelper . GetProcessNameIdTitle ( p ) ;
121
121
122
122
if ( processWindowTitle . TryGetValue ( p . Id , out var windowTitle ) )
123
123
{
124
124
// Get max score from searching process name, window title and process id
125
- var windowTitleMatch = _context . API . FuzzySearch ( searchTerm , windowTitle ) ;
126
- var processNameIdMatch = _context . API . FuzzySearch ( searchTerm , progressNameIdTitle ) ;
125
+ var windowTitleMatch = Context . API . FuzzySearch ( searchTerm , windowTitle ) ;
126
+ var processNameIdMatch = Context . API . FuzzySearch ( searchTerm , progressNameIdTitle ) ;
127
127
var score = Math . Max ( windowTitleMatch . Score , processNameIdMatch . Score ) ;
128
128
if ( score > 0 )
129
129
{
130
130
// Add score to prioritize processes with visible windows
131
131
// Use window title for those processes
132
- if ( Settings . PutVisibleWindowProcessesTop )
132
+ if ( _settings . PutVisibleWindowProcessesTop )
133
133
{
134
134
score += 200 ;
135
135
}
136
136
processlist . Add ( new ProcessResult (
137
137
p ,
138
138
score ,
139
- Settings . ShowWindowTitle ? windowTitle : progressNameIdTitle ,
139
+ _settings . ShowWindowTitle ? windowTitle : progressNameIdTitle ,
140
140
score == windowTitleMatch . Score ? windowTitleMatch : null ,
141
141
progressNameIdTitle ) ) ;
142
142
}
143
143
}
144
144
else
145
145
{
146
- var processNameIdMatch = _context . API . FuzzySearch ( searchTerm , progressNameIdTitle ) ;
146
+ var processNameIdMatch = Context . API . FuzzySearch ( searchTerm , progressNameIdTitle ) ;
147
147
var score = processNameIdMatch . Score ;
148
148
if ( score > 0 )
149
149
{
@@ -162,7 +162,7 @@ private List<Result> CreateResultsFromQuery(Query query)
162
162
foreach ( var pr in processlist )
163
163
{
164
164
var p = pr . Process ;
165
- var path = processHelper . TryGetProcessFilename ( p ) ;
165
+ var path = ProcessHelper . TryGetProcessFilename ( p ) ;
166
166
results . Add ( new Result ( )
167
167
{
168
168
IcoPath = path ,
@@ -172,12 +172,12 @@ private List<Result> CreateResultsFromQuery(Query query)
172
172
TitleHighlightData = pr . TitleMatch ? . MatchData ,
173
173
Score = pr . Score ,
174
174
ContextData = p . ProcessName ,
175
- AutoCompleteText = $ "{ _context . CurrentPluginMetadata . ActionKeyword } { Plugin . Query . TermSeparator } { p . ProcessName } ",
175
+ AutoCompleteText = $ "{ Context . CurrentPluginMetadata . ActionKeyword } { Plugin . Query . TermSeparator } { p . ProcessName } ",
176
176
Action = ( c ) =>
177
177
{
178
- processHelper . TryKill ( _context , p ) ;
178
+ ProcessHelper . TryKill ( p ) ;
179
179
// Re-query to refresh process list
180
- _context . API . ReQuery ( ) ;
180
+ Context . API . ReQuery ( ) ;
181
181
return true ;
182
182
}
183
183
} ) ;
@@ -194,17 +194,17 @@ private List<Result> CreateResultsFromQuery(Query query)
194
194
sortedResults . Insert ( 1 , new Result ( )
195
195
{
196
196
IcoPath = firstResult ? . IcoPath ,
197
- Title = string . Format ( _context . API . GetTranslation ( " flowlauncher_plugin_processkiller_kill_all" ) , firstResult ? . ContextData ) ,
198
- SubTitle = string . Format ( _context . API . GetTranslation ( " flowlauncher_plugin_processkiller_kill_all_count" ) , processlist . Count ) ,
197
+ Title = Localize . flowlauncher_plugin_processkiller_kill_all ( firstResult ? . ContextData ) ,
198
+ SubTitle = Localize . flowlauncher_plugin_processkiller_kill_all_count ( processlist . Count ) ,
199
199
Score = 200 ,
200
200
Action = ( c ) =>
201
201
{
202
202
foreach ( var p in processlist )
203
203
{
204
- processHelper . TryKill ( _context , p . Process ) ;
204
+ ProcessHelper . TryKill ( p . Process ) ;
205
205
}
206
206
// Re-query to refresh process list
207
- _context . API . ReQuery ( ) ;
207
+ Context . API . ReQuery ( ) ;
208
208
return true ;
209
209
}
210
210
} ) ;
0 commit comments