Skip to content

Conversation

@luke-jr
Copy link
Member

@luke-jr luke-jr commented Dec 31, 2018

With #13809 (packaging split off), we lost the .desktop and .protocol files.

This PR restores them, and puts them in their proper places as part of make install. (Systems without XDG can be configured --without-xdg to avoid this, and the macOS/Windows gitian descriptors are updated to use it.)

Note that:

  • bitcoin128.svg needs to be named such because (for some reason) bitcoin128 has become the de facto standard XDG icon name for the generic Bitcoin icon.
  • org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to "bitcoin.org" for some reason. (Changing that is out of scope for this PR)

@maflcko
Copy link
Member

maflcko commented Dec 31, 2018

Build fails with

make[1]: *** No rule to make target 'src/qt/res/src/bitcoin128.svg', needed by 'all-am'.  Stop.

@hebasto
Copy link
Member

hebasto commented Dec 31, 2018

Could the Comment field in the .desktop file be updated with more languages?

@luke-jr
Copy link
Member Author

luke-jr commented Dec 31, 2018

@MarcoFalke Why? It's part of the git branch...

@bitcoin bitcoin deleted a comment from sharidz313 Jan 1, 2019
@laanwj
Copy link
Member

laanwj commented Jan 2, 2019

Concept ACK, this the better way to do it IMO than installing it with the packaging.

@luke-jr
Copy link
Member Author

luke-jr commented Jan 3, 2019

@hebasto After this PR, I don't see why not.

@hebasto
Copy link
Member

hebasto commented Jan 3, 2019

Concept ACK.

@laanwj
Copy link
Member

laanwj commented Jan 8, 2019

Regarding the build system issue, it looks like the icon is not part of make dist? Likely it needs to be added to another makefile variable.

@jonasschnelli
Copy link
Contributor

Concept ACK

bitcoin128.svg needs to be named such because (for some reason) bitcoin128 has become the de facto standard XDG icon name for the generic Bitcoin icon

Do we want to set the standard Bitcoin icon? IMO Bitcoin Core is a specific application and not sure if that icon should be the default "Bitcoin Icon".

@luke-jr
Copy link
Member Author

luke-jr commented Jan 8, 2019

There we go, Travis is happy now. Shall I squash?

@luke-jr
Copy link
Member Author

luke-jr commented Jan 8, 2019

@jonasschnelli Bitcoin Core doesn't have its own icon at this time - we've always used the generic Bitcoin icon. When/if it does, then the PR adding it can change to use that instead...

@hebasto
Copy link
Member

hebasto commented Jan 9, 2019

The file name org.bitcoin.bitcoin-qt.desktop does not follow Desktop Entry Specification:

The name of the desktop entry should follow the "reverse DNS" convention: it should start with a reversed DNS domain name controlled by the author of the application, in lower case. The domain name should be followed by the name of the application, which is conventionally written with words run together and initial capital letters (CamelCase). For example, if the owner of example.org writes "Foo Viewer", they might choose the name org.example.FooViewer, resulting in a file named org.example.FooViewer.desktop.

Well-known names containing the dash are allowed but not recommended, because the dash is not allowed in some related uses of reversed DNS names, such as D-Bus object paths and interface names, and Flatpak app IDs. If the author's domain name contains a dash, replacing it with an underscore is recommended: this cannot cause ambiguity, because underscores are not allowed in DNS domain names.

Encoding=UTF-8
Version=1.0
Name=@PACKAGE_NAME@
GenericName=Bitcoin full node@AND_WALLET@
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Localized [Comment] strings imply localized [GenericName] strings as well :)

Type=Application
Icon=bitcoin128
MimeType=x-scheme-handler/bitcoin;
Categories=Office;Finance;P2P;Network;Qt;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Office a relevant category?

Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair
Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi
TryExec=bitcoin-qt
Exec=bitcoin-qt %u
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

%u will not be recognized by bitcoin-qt:

%u - A single URL. Local files may either be passed as file: URLs or as file path.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not? We expect URIs.

@@ -0,0 +1,17 @@
[Desktop Entry]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use the same key order as described in Desktop Entry Specification?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file predates the PR. It's just being restored at this time.

@@ -0,0 +1,17 @@
[Desktop Entry]
Encoding=UTF-8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Desktop Entry Specification:

The Encoding key is deprecated.

@luke-jr
Copy link
Member Author

luke-jr commented Jan 10, 2019

@hebasto

  • org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to "bitcoin.org" for some reason. (Changing that is out of scope for this PR)

@laanwj
Copy link
Member

laanwj commented Jan 16, 2019

org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to "bitcoin.org" for some reason.

I think what he means is the second part, suggesting replacing - with _

@luke-jr
Copy link
Member Author

luke-jr commented Feb 11, 2019

Ok, renamed it

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 4, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@A6GibKm
Copy link

A6GibKm commented Aug 15, 2019

@hebasto
Copy link
Member

hebasto commented Aug 4, 2020

The alternative approach is bitcoin-core/gui#38 that does not require make install, and works with downloaded official binaries.

@luke-jr
Copy link
Member Author

luke-jr commented Aug 20, 2020

@luke-jr
Copy link
Member Author

luke-jr commented Aug 20, 2020

Rebased

@A6GibKm
Copy link

A6GibKm commented Aug 20, 2020

Sorry about that, here is the working link. Which I just realized needs the 0.20.1 release.

@luke-jr
Copy link
Member Author

luke-jr commented Aug 20, 2020

Which XDG standard defines this?

@A6GibKm
Copy link

A6GibKm commented Aug 20, 2020

This one.

@A6GibKm
Copy link

A6GibKm commented Sep 13, 2020

  • The Desktop file fails desktop-file-validate
$ desktop-file-validate org.bitcoin.bitcoin_qt.desktop.in
org.bitcoin.bitcoin_qt.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
org.bitcoin.bitcoin_qt.desktop: hint: value "Office;Finance;P2P;Network;Qt;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu

@DrahtBot
Copy link
Contributor

🐙 This pull request conflicts with the target branch and needs rebase.

Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

@DrahtBot
Copy link
Contributor

There hasn't been much activity lately and the patch still needs rebase. What is the status here?
  • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
  • Is it no longer relevant? ➡️ Please close.
  • Did the author lose interest or time to work on this? ➡️ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

1 similar comment
@DrahtBot
Copy link
Contributor

There hasn't been much activity lately and the patch still needs rebase. What is the status here?
  • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
  • Is it no longer relevant? ➡️ Please close.
  • Did the author lose interest or time to work on this? ➡️ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

@maflcko
Copy link
Member

maflcko commented Mar 22, 2022

This has been needing rebase for about 2 years, so I am closing for now. Can be reopened any time, just let us know when.

@maflcko maflcko closed this Mar 22, 2022
@bitcoin bitcoin locked and limited conversation to collaborators Mar 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants