介绍活动感知Firefox

2021-06-05 14:34:19

我是KDE和Mozilla软件的一个忠实粉丝 - 当然,没有软件是完美的,当然,这两个我喜欢和信任我的桌面和Web浏览最多。为了说明,当它仍然被称为K(OOL)桌面环境1.x和Mozilla以来,我一直在使用KDE,并且自Netscape和Phoenix天。

但作为KDE的等离子体桌面和Mozilla的Firefox浏览器,每个都变得越来越强大,利用他们的个人优势开始产生一些冲突。

等离子体最强大的特征之一 - 以及我做出广泛使用的一种 - 是它的活动1.我用它们在不同的环境中保持不同的任务,并如此删除不必要的分心。

例如,只需列出几个,我有一个“通信”活动,在那里我保留所有通信渠道和通用网页,并尽量花费尽可能小的时间;一个“组织自己”; “博客”的actvity;我需要专注的每个项目的几个短暂的,最近的例子是我正在研究的“Fri”的“介绍”,写道并提出;我正在编码和测试脚本的“活动感知Firefox”我今天正在博客。

和一个使活动强大的功能是您可以停止/暂停您现在不需要活动的功能,并且它停止了它发生的所有情况。使用此,您可以节省大量处理器和内存资源。然后后来再次启动活动时,它会以与停止的相同状态显示。超实际!

在这份写作时,我有3个活跃的活动和10个暂停/停止的活动。

现在,正如您可以想象,经常在这些活动中,您想要打开一些Web选项卡。这是事情开始酸的地方。比我想要的事情更频繁发生:

在一个活动中打开的链接可以在不同的活动中在Firefox窗口中打开(有时甚至开始额外的活动,如果停止)

在与Firefox中恢复停止的活动时,有时会产生与该活动无关的其他Firefox Windows

一般来说,Firefox Windows往往会在您不希望他们成为的活动中移动

在某些阶段,这变成了巨大的痛苦,特别是每次Firefox开始,我永远不会知道在哪个活动中突然出现,然后将在其适当的活动中移动每个浏览器窗口并暂停我想要的活动开始。这是如此糟糕,我实际上每次都需要关闭Firefox或从等离子体注销时,知道当Firefox再次开始时等待着等待。

与大多数问题一样,这种痒是在我面前的其他人。我将列出我发现并获得灵感的人:

Yuen Hoe“Jason Moofang”为Firefox写了一个C ++包装器,我出于某种原因无法在我的笔记本电脑上运行 - 但显然它仍然有效,并且可能比我的小脚本更强大(但是C ++在我的舒适区之外的方式)

IvanČukić博客关于他的Soluton,但我找不到代码

然后我在Arch论坛上发现了这个帖子,我有点理解,所以我基于我的解决方案;特别是“Adrian15”的改进版本

现在,自从上面提到的帖子被编写以来,Firefox继续开发,所以我可以进一步简化脚本中的一些东西。此时,我必须感谢Mozilla在他们的官方的美妙社区#General:Mozilla.org矩阵频道。

#!/ bin / bash ## firefox和kde等离子体活动的兼容性##spdx-license-identifier:cc0-1.0#spdx-filecopyrighttext:©2021matijaŠuklje< [email protected]& gt; Activity = $(QDBus org.kde.ActivityManager / ActivityManager / FunctionActivity)FF_Folder = $" $ home /.mozilla/firefox" def_prof = $" $ ff_folder /???????.default-release" new_prof = $" $ ff_folder / ????????。 $活动"如果[-d $ ff_folder / ???????? $活动];然后exec / usr / lib / firefox / firefox -p $活动" $ @" &回声">>>开始现有的个人资料:$活动" else / usr / lib / firefox / firefox --createprofile $活动回声">>创建了一个新的个人资料:$活动" cp -a $ def_prof / chrome $ new_prof /#复制任何自定义用户chrome,例如需要隐藏顶部标签栏回波">>从默认配置文件和#34复制用户Chrome; exec / usr / lib / firefox / firefox -p $活动" $ @" &回声">>>开始新的个人资料:$活动"退出

基本上,脚本所做的是它为每个血浆活动创建一个新的Firefox配置文件,它它已启动(与其ID匹配),然后始终在该活动中开始该配置文件。

脚本,一些附加文件(例如它的.desktop)以及与特定附加组等的指令和交互等,可在Gitlab上获得作为“活动感知Firefox”。

“活动感知Firefox”如果按照README文件中的指示设置,请为我工作。但还有一些扭结。

基本上所有上述疼痛点都消失了。这对我来说是最重要的。

现在我可以在任何等离子体活动中开始“活动感知Firefox”,并确切地知道我将得到什么。这是一个巨大的胜利!

一个意外的缺点是,由于某种原因,Firefox在收到后一段时间内睡觉时杀死自己。 sigstop,如果恢复停止活动,Firefox将从默认配置文件开始。如果发生这种情况,我需要关闭该窗口并只需启动“活动感知Firefox”,它将按预期返回。令人讨厌,当然,但由于我的默认配置文件现在没有任何标签,因此不需要花费大量时间。如果有人对此有一个很好的解决方案,很想听到它!

在编写脚本时是一个有意识的选择的东西是它不会将默认配置文件复制到新的活动中。这意味着它首次启动时,它将开始使用空白配置文件。同步加载项,设置,书签等我依靠Firefox同步,当然需要一些时间完成。但是,关于它定期为我节省了多少时间而不是搞砸了错位的窗户,这是值得的。

这是一个有意识的决定的原因是,并非一切都在〜/ .mozilla / firefox /可以简单地在曲线之间移动而不破坏事物。所以而不是试用,我决定谨慎犯罪。

而不是在Windows之间移动选项卡,您现在必须在使用Firefox同步与Firefox Sync之间的“设备”/配置文件之间移动,因为每个Firefox配置文件都与另一个Firefox配置文件分开处理。

这种分离的积极方面是,如果你在一个等离子体活动中暂停或杀死“活动感知Firefox”,那么它不会有其他人:)

有几个步骤必须采取“活动感知Firefox”,所以我怀疑它不是我期望更加仔细的新人复制的东西。理想情况下,这就是Firefox和血浆如何在盒子外(而没有扭结!),但我正在玩弄一个有利于至少将脚本和.desktop文件包装成可安装的包。

我也没有实现任何方法来清理不再使用的Firefox配置文件,但一个很好的起点是Adrian15的博客文章。 作为我不明白的原因(尚未)和恐惧,我会删除太多。 另一个明显的下一步是弄清楚如何确保在再次启动活动时,Firefox它会自动启动使用正确的配置文件。 挂断→好吧,现在我需要将我的工作笔记本电脑迁移到活动感知Firefox ... 如果您不知道等离子体中的活动或如何使用它们,NiccoloVé在他的视频中解释了一个很好的工作。 ↩