Le tiroir de details charge les capacites reelles de la file (lpoptions -l) et expose des menus deroulants PageSize, cupsPrintQuality et Duplex. Chaque selection est persistee comme defaut systeme de la file via lpadmin -o puis relue. Les options non supportees par un pilote sont masquees.
Interface: liste unique avec etat vide, details/actions/travaux dans un tiroir lateral au titre court (le nom long debordait sur le bouton Fermer). Backend: exclusion des destinations decouvertes dnssd (bit CUPS_PRINTER_DISCOVERED du printer-type) qui ne sont pas de vraies files, dedoublonnage des peripheriques par libelle avec preference dnssd, noms propres pour tous les schemas, suppression tolere une file deja disparue, page de test via lp (auto-detection du template PDF-BANNER).
La page de test est un template de banniere cups-filters (#PDF-BANNER), pas du PostScript: envoi en application/octet-stream pour laisser CUPS detecter le format. Le sanitiseur supprime crochets/parentheses et compacte les underscores (series [32C998] -> series_32C998). Les actions des details passent en flex_row pour eviter le debordement des boutons; bouton de confirmation du dialogue raccourci.
Nouvelle page Imprimantes: liste et etat des files CUPS, ajout (decouverte lpinfo, pilote driverless IPP Everywhere par defaut), suppression, imprimante par defaut, suspension/reprise, page de test et file des travaux avec annulation. Lectures via cups_rs (FFI libcups serialisee), mutations via lpadmin/cupsenable. i18n en/fr, sous-commande 'cosmic-settings printers'.
Reprend le contenu de 52ce463 (22 avril), present sur local/yoda-main
mais jamais reporte sur local/yoda-main-1.3.0. La branche 1.3.0 a ete
coupee sans ce commit, si bien que le paquet construit le 31 juillet ne
contenait plus l'option : `strings /usr/bin/cosmic-settings` ne trouvait
aucune occurrence de position-start.
Retablit dans Bureau > Gestion des fenetres > Controles des fenetres le
bouton « Placer les boutons a gauche (style macOS) », le variant de
message WindowControlsPositionStart qui ecrit Start ou End dans le
CosmicTk (com.system76.CosmicTk), et la cle fluent
window-controls.position-start en en et fr.
Le Cargo.toml de 52ce463 n'est volontairement pas repris : son override
[patch] vers libcosmic est obsolete depuis a44a022, qui resout la
dependance via libcosmic-yoda sous le nom externe `cosmic`. L'API cote
libcosmic est intacte (WindowControlsPosition exporte par widget,
config::window_controls_position()), cargo check passe.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The local libcosmic fork renamed its package to libcosmic-yoda, but this
workspace still asked for `libcosmic` by path, so the whole workspace
failed to resolve.
Naming the dependency key `libcosmic` with `package = "libcosmic-yoda"`
is not enough: a renamed dependency takes its key as the extern name, so
the 67 source files that `use cosmic::` would stop compiling. Key the
dependency `cosmic` instead, matching every other repo in the local
stack, and update the `libcosmic/*` feature strings accordingly.
Also carried in this commit, from earlier work in the tree: the sctk
workspace dependency pinned back to smithay-client-toolkit 0.20.0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Switch the networking pages to use nmrs 3.4.0 for NetworkManager
state, device lists, Wi-Fi operations, VPN imports/activation, and
secret-agent handling.
Remove the old cosmic-settings-network-manager-subscription crate,
drop the direct dbus-settings NetworkManager dependencies, and delete
the unused nmcli VPN helper. Keep nm-connection-editor for profile
creation/editing where the UI still depends on it.
Carry Wi-Fi security metadata through the password flow so SAE/WPA3
personal networks can be activated with SAE key management, and make
failed/cancelled auth attempts clear pending connection state
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
Updated to work with https://github.com/pop-os/cosmic-panel/pull/627 and
should be tested with that to ensure everything works and is backwards
compatible.
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
This should be merged last
This fixes a bug in the HwAddress struct that allowed invalid MAC addresses to pass validation.
---
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
So openvpn import called to_file_path().unwrap(), which panics when the
file picker hands back a non-file:// url (sandboxed portal, etc). the
wireguard branch right above already handles this gracefully, so do the
same: return a Message::Error with a new OpenVpnConfigPath kind instead
of crashing.
Fixes#1896
- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
Signed-off-by: James A DellaMorte <dellamorte.james@comcast.net>
Co-authored-by: James A DellaMorte <dellamorte.james@comcast.net>
Bluetooth keyboards require the host to display a passkey for the user
to type. Previously this was not supported because the agent capability
was set to DisplayYesNo and the DisplayPasskey/DisplayPinCode events
were not handled.
- Change agent capability to KeyboardDisplay
- Add DisplayPasskey dialog with typed-key progress indicator
- Add DisplayPinCode dialog for older keyboards
- Auto-dismiss display dialogs when device reports Paired=true
* update the cosmic-mime-apps crate with fixes to app association detection
* actually use cosmic-mime-apps for significantly faster association lookups
This ensures that the padding of a panel is taken into account when calculating corner_radius (except when Square), and also prevents various visual issues, like slightly round without gaps having a corner radius of 0.
Also extracts panel config fetching into a helper function.
- Introduced a new function `sort_entries_by_name` to encapsulate the sorting logic for desktop entries by name, improving code readability and maintainability.
- Updated existing sorting implementations to use the new function, ensuring consistent behavior across the application.
Adds case-insensitive alphabetical sorting to the VPN connections list.
The connections are now sorted by name when received and before display,
making it easier to find specific VPN profiles.
Fixes#1947