Skip to content

Named tags and icons for Linux connections #3653

Open

Description

@datlechin

Problem

On Linux a connection has one colour, from libadwaita's 9 accent colours, and one group (linux/crates/storage/src/connections.rs:43 and :51, linux/crates/storage/src/connection_color.rs). The connection row shows the colour as a dot, then the name and a subtitle (linux/crates/app/src/ui/picker/connection_row.rs:44). There are no tags and no per-connection icon.

So a connection can sit in only one place: grouping by client puts acme-prod and globex-prod in different sections, and nothing marks both as production. In a long list, the colour dot is the only thing that tells them apart at a glance.

The macOS and iOS apps have named tags, several per connection, each with its own colour, that the connection list can filter by, and an icon that replaces the database logo (connections/index.mdx; ios/index.mdx, The connection list). The Linux roadmap does not list this.

Proposed solution

  • Tags: several per connection, each a name and a colour from the same accent palette, added from the connection row's menu and the connect dialog. The row shows them after the name, and the picker's search matches a tag's name.
  • A Manage Tags dialog to rename, recolour and delete tags.
  • Icon: an optional symbolic icon per connection, picked from a fixed set the icon theme resolves (the app already checks every icon it uses in linux/crates/app/src/ui/icons.rs), shown in the row's prefix beside the colour dot and in the window's title area.
  • The JSON import and export carry tags and the icon, with ids, so an import of the same file twice does not duplicate tags.
  • Screen readers hear the tags as part of the row's description.

Done means: a connection with the tags production and acme shows both, a search for production lists every connection that has it, and both survive an export and an import.

Alternatives considered

Put the environment in the connection's name, such as acme (prod), and use the colour for one of the two.

Platform

Linux

Related database type

N/A / General

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions