@@ -88,25 +88,28 @@ export class WakaTime {
8888 public initializeDependencies ( ) : void {
8989 this . logger . debug ( `Initializing WakaTime v${ this . extension . version } ` ) ;
9090
91+ const align = this . getStatusBarAlignment ( ) ;
92+ const priority = this . getStatusBarPriority ( ) ;
93+
9194 this . statusBar = vscode . window . createStatusBarItem (
9295 'com.wakatime.statusbar' ,
93- vscode . StatusBarAlignment . Left ,
94- 3 ,
96+ align ,
97+ priority + 2 ,
9598 ) ;
9699 this . statusBar . name = 'WakaTime' ;
97100 this . statusBar . command = COMMAND_DASHBOARD ;
98101
99102 this . statusBarTeamYou = vscode . window . createStatusBarItem (
100103 'com.wakatime.teamyou' ,
101- vscode . StatusBarAlignment . Left ,
102- 2 ,
104+ align ,
105+ priority + 1 ,
103106 ) ;
104107 this . statusBarTeamYou . name = 'WakaTime Top dev' ;
105108
106109 this . statusBarTeamOther = vscode . window . createStatusBarItem (
107110 'com.wakatime.teamother' ,
108- vscode . StatusBarAlignment . Left ,
109- 1 ,
111+ align ,
112+ priority ,
110113 ) ;
111114 this . statusBarTeamOther . name = 'WakaTime Team Total' ;
112115
@@ -322,6 +325,23 @@ export class WakaTime {
322325 callback ( ! Utils . apiKeyInvalid ( apiKey ) ) ;
323326 }
324327
328+ private getStatusBarAlignment ( ) : vscode . StatusBarAlignment {
329+ const align : string = this . config . get ( 'wakatime.align' ) ?? '' ;
330+ switch ( align ) {
331+ case 'left' :
332+ return vscode . StatusBarAlignment . Left ;
333+ case 'right' :
334+ return vscode . StatusBarAlignment . Right ;
335+ default :
336+ return vscode . StatusBarAlignment . Left ;
337+ }
338+ }
339+
340+ private getStatusBarPriority ( ) : number {
341+ const priority = this . config . get ( 'wakatime.alignPriority' ) ;
342+ return typeof priority === 'number' ? priority : 1 ;
343+ }
344+
325345 private setStatusBarVisibility ( isVisible : boolean ) : void {
326346 if ( isVisible ) {
327347 this . statusBar ?. show ( ) ;
0 commit comments