ср, 19 мар. 2025 г., 01:37 Darrell Anderson via tde-users <users@xxxxxxxxxxxxxxxxxx>:
On 3/18/25 2:44 PM, WraithGlade via tde-users wrote:
> Anyway though, today seems like a wonderful spring day (at least where I am) and I intend to enjoy it. The sunlight is good for the body and the mind. And, on that note, I am wishing you all (the TDE community) all the best today/tonight!
I too spend some hours outside this afternoon. The forecast is calling
for snow tomorrow though. :(
I found some helpful clues about the Konqueror embedded viewing behavior.
One side note is the user's profilerc has nothing to do with the
embedding issue. That file is used only to organize the user's external
app preferences. For example, KWrite is the default text editor rather
than Kate. If the user changes that order then profilerc gets created.
The profilerc does not exist if the user accepts all default preferences.
The easiest embedded viewer change is modifying image viewing behavior.
In KControl->TDE Components->File Associations, all parent groups
default to 'Show file in separate viewer' except the Image group that
defaults to 'Show file in embedded viewer'. To avoid embedded viewing,
toggle the parent setting to 'Show file in separate viewer'. Thereafter
double-clicking on image files launch the user's preferred image viewer.
Toggling that option creates an entry in the user's
$TDEHOME/config/konquerorrc file:
[EmbedSettings]
embed-image=false
Toggling other parent groups will create similar konquerorrc entries of
false|true. There is a comment in the tdebase code that inode mimetypes
should always be embedded. Probably best to leave those associations as is.
I don't know where the Image group embedded viewer default behavior is
configured in the code or desktop files. I think this is a hard-coded
presumption.
The archive mimetypes are more complicated.
In tdebase/libkonq/konq_settings.cpp:158 is a comment:
// Embedding is false by default except for image/* and for zip, tar etc.
In tdebase/kcontrol/filetypes/typeslistitem.cpp:116 is another comment:
// embed by default for zip, tar etc.
The associated code looks for the 'X-TDE-LocalProtocol' property in the
*.desktop file. Several archive related desktop files have this
property. So all of them are viewed embedded.
On my system (not a full install), there are 11 archive related desktop
files containing the 'X-TDE-LocalProtocol' property:
$TDEDIR/share/mimelnk/application/x-mimearchive.desktop
$TDEDIR/share/mimelnk/application/x-tar.desktop
$TDEDIR/share/mimelnk/application/x-tarz.desktop
$TDEDIR/share/mimelnk/application/x-tbz.desktop
$TDEDIR/share/mimelnk/application/x-tgz.desktop
$TDEDIR/share/mimelnk/application/x-tlz.desktop
$TDEDIR/share/mimelnk/application/x-tlzma.desktop
$TDEDIR/share/mimelnk/application/x-txz.desktop
$TDEDIR/share/mimelnk/application/x-webarchive.desktop
$TDEDIR/share/mimelnk/application/x-zip.desktop
$TDEDIR/share/mimelnk/fonts/package.desktop
On my system there are 22 more archive mimetypes that do not use the
'X-TDE-LocalProtocol' property:
$TDEDIR/share/mimelnk/application/x-7z.desktop
$TDEDIR/share/mimelnk/application/x-ace.desktop
$TDEDIR/share/mimelnk/application/x-arc.desktop
$TDEDIR/share/mimelnk/application/x-archive.desktop
$TDEDIR/share/mimelnk/application/x-arj.desktop
$TDEDIR/share/mimelnk/application/x-bz2dvi.desktop
$TDEDIR/share/mimelnk/application/x-bzip.desktop
$TDEDIR/share/mimelnk/application/x-bzip2.desktop
$TDEDIR/share/mimelnk/application/x-compress.desktop
$TDEDIR/share/mimelnk/application/x-cpio.desktop
$TDEDIR/share/mimelnk/application/x-gzdvi.desktop
$TDEDIR/share/mimelnk/application/x-gzip.desktop
$TDEDIR/share/mimelnk/application/x-gzpostscript.desktop
$TDEDIR/share/mimelnk/application/x-lha.desktop
$TDEDIR/share/mimelnk/application/x-lzip.desktop
$TDEDIR/share/mimelnk/application/x-lzma.desktop
$TDEDIR/share/mimelnk/application/x-lzop.desktop
$TDEDIR/share/mimelnk/application/x-pak.desktop
$TDEDIR/share/mimelnk/application/x-rar.desktop
$TDEDIR/share/mimelnk/application/x-tzo.desktop
$TDEDIR/share/mimelnk/application/x-xz.desktop
$TDEDIR/share/mimelnk/application/x-zoo.desktop
Those 22 mimetypes can be identified together using the desktop file key
'Icon=application-x-tarz'. I notice in the File Association dialog for
these individual archive mimetypes the option 'Use settings for
application group' is disabled/ghosted. The only option is to manually
toggle to 'Show file in separate viewer'. I don't know where this is
configured but I suspect hard-coded.
I do not have a full TDE install, but on my system I found 75 desktop
files explicitly using 'X-TDE-AutoEmbed=true' that are not image or
archive mimetypes. Likely there are more files with a full install. This
individual option overrides the parent group rule. Those related to my
personal inconvenience include:
$TDEDIR/share/mimelnk/application/postscript.desktop
$TDEDIR/share/mimelnk/application/pdf.desktop
$TDEDIR/share/mimelnk/application/x-jar.desktop
$TDEDIR/share/mimelnk/application/x-rpm.desktop
Excluding options such the Konqueror "right-click" context menu, in my
usage that is more than three dozen mimetypes that have to be modified
manually to avoid embedded viewing when I double-click on a respective
file. That is a lot of dialog walking and mouse button clicking. That
number might explain why I have been frustrated with the default
embedded behavior. :)
I understand some of the decisions from days of lore. Ark and image
viewers are not installed as part of tdebase. Theoretically users could
have a minimal install leaving them with no external viewers. So
embedded viewing makes some sense.
Any time the user modifies a mimetype embedded/separate viewer defaults,
there will be respective xyz.desktop group file created in
$TDEHOME/share/mimelnk. Those files will contain 'X-TDE-AutoEmbed=false'.
On a single user basis, resolving the embedded image file viewing is a
one-click fix.
Short of editing all related system archive desktop files with
explicitly adding 'X-TDE-AutoEmbed=false', seems the only way to use Ark
for archive mimetypes is manually change the behavior in the File
Associations dialog. Likewise with some of the hard-coded embedded
viewing mimetypes such as pdf.
I did not see a way to change default behavior other than walking
through the file association dialog tree to toggle the default embedding
behavior. Time consuming. From an admin perspective I wrote myself a
shell script to create the required mimelnk desktop files and avoid
manually walking through the dialog. The script works nicely. In about 5
seconds I save much time and avoid frustration.
If using external viewers for these mimetype files is desired to be a
global behavior for all user accounts, then the mimelnk desktop files
should be copied to a common $TDEDIRS directory. That environment
variable is not active by default and requires an admin to expend some
energy. The starttde script also needs attention because that variable
is ignored.
Being an old school grumpy old man means I am unlikely to quash my
dislike of embedded viewing. I now know that somebody long ago decided
image, archive, and a handful of other mimetype files should be viewed
embedded. My shell script quickly overrides that presumption. So for me,
finally, some peace of mind. :)
May be at some point in future there will be button named "switch all mime types from built-in to external", if of course there is space in gui for that.
Thanks for sharing both problem and solution, it was interesting read even if right now I use Fluxbox/MATE /KDE4 hybrid on NetBSD (not ready for all this fun from trying TDE here .. not yet, at least).
____________________________________________________
tde-users mailing list -- users@xxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxx
Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/users@xxxxxxxxxxxxxxxxxx
____________________________________________________ tde-users mailing list -- users@xxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxx Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/users@xxxxxxxxxxxxxxxxxx