aboutsummaryrefslogtreecommitdiff
path: root/src/player-controller.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/player-controller.vala')
-rw-r--r--src/player-controller.vala34
1 files changed, 21 insertions, 13 deletions
diff --git a/src/player-controller.vala b/src/player-controller.vala
index f9cbe71..e2ae4d7 100644
--- a/src/player-controller.vala
+++ b/src/player-controller.vala
@@ -49,22 +49,26 @@ public class PlayerController : GLib.Object
public Mpris2Controller mpris_bridge;
public AppInfo? app_info { get; set;}
public int menu_offset { get; set;}
+ public string icon_name { get; set; }
public PlayerController(Dbusmenu.Menuitem root,
- string client_name,
+ GLib.AppInfo app,
string mpris_name,
+ string icon_name,
int offset,
state initial_state)
{
this.root_menu = root;
- this.name = format_client_name(client_name.strip());
+ this.app_info = app;
+ this.name = format_player_name(this.app_info.get_name());
this.mpris_name = mpris_name;
+ this.icon_name = icon_name;
this.custom_items = new ArrayList<PlayerItem>();
this.current_state = initial_state;
this.menu_offset = offset;
construct_widgets();
establish_mpris_connection();
- this.update_layout();
+ this.update_layout();
}
public void update_state(state new_state)
@@ -160,15 +164,19 @@ public class PlayerController : GLib.Object
}
}
- private static string format_client_name(string client_name)
- {
- string formatted = client_name;
- if(formatted.length > 1){
- formatted = client_name.up(1).concat(client_name.slice(1, client_name.length));
- debug("PlayerController->format_client_name - : %s", formatted);
+ private static string format_player_name(owned string app_info_name)
+ {
+ string result = app_info_name.down().strip();
+ var tokens = result.split(" ");
+ if(tokens.length > 1){
+ result = tokens[0];
+ }
+ if(result.length > 1){
+ result = result.up(1).concat(result.slice(1, result.length));
+ debug("PlayerController->format_player_name - : %s", result);
}
- return formatted;
- }
+ return result;
+ }
// Temporarily we will need to handle to different mpris implemenations
// Do it for now - a couple of weeks should see this messy carry on out of
@@ -184,5 +192,5 @@ public class PlayerController : GLib.Object
else{
this.update_state(state.DISCONNECTED);
}
- }
-} \ No newline at end of file
+ }
+}