截图时重用己存在的 KSnapshot

legnaleurc | 2011/07/30

在 Debian 或 Kubuntu 的预设设定, 按下 PrintScreen 键会运行 KSnapshot, 若再按下一次 PrintScreen, 则会再唤起一个 KSnapshot. 但这不是我想要的行为, 当我按下PrintScreen 时就代表我想抓图了, 不停地运行新的 KSnapshot 有点蠢. 幸好 KSnapshot 有提供足够的 D-Bus 介面, 这让我们可以写一个 script 操作已存在的 KSnapshot.

#! /bin/sh

PID=pidof -s ksnapshot

if [ -z ${PID} ] ; then which ksnapshot -caption KSnapshot & exit 0 fi

DBUS_SERVICENAME="org.kde.ksnapshot-${PID}" DBUS_PATH='/KSnapshot' DBUS_METHOD='slotGrab'

qdbus ${DBUS_SERVICENAME} ${DBUS_PATH} ${DBUS_METHOD}

接着修改 System Settings 里的 Input Action, 把 PrintScreen 对应的命令改成上面那个 script 的路径即可.

System Settings

System Settings

原文链结: Reuse existing KSnapshot on press PrintScreen

    Tags: ,

    10 FEEDBACKS

    1. ark12211

      一直搞不懂KDE的快捷键怎样设置,之前用chakra的时候安装了ksnapshot是没有printscreen快捷键的,折腾了很久才设置好……

    2. 其实,我使唤用QQ截图的快捷键 + 区域截图的方式。请看这里 http://www.ikde.org/tips-of-the-day/#comment-2005

    3. 心之所在

      用繁体写也没事的……

    4. CA

      @ark12211:

      System Settings -> Shortcuts and Gestures 可以调整各式热键与手势

      若是在 Chrome 上爱用手势又不想装 plugins, KDE 有全局的手势可设定

      @心之所在:

      在多数人惯用简体字的站台, 我个人是选择尊重多数人的习惯

      就如同 konqi 在 Ubuntu-TW forum 上的发文一般

      但是用词可能就无法那么地符合当地用法了

    5. @CA 话说我一直很好奇konqi是谁…… 其实繁体没关系,本站有利用google translate的转换。(话说我本来以为google translate会转换用语的……难道竟然不会吗……)

    6. CA

      hmm, 启动它似乎就不会帮我转成激活 比起 google translate 我还比较希望知道如何使用 syntax highlighter 😛

    7. @CA 其实本来这里没有装那个插件…… 不过我自己的blog有用到一个,于是这里也装一下好了。 在pre标签里面加一个lang属性就可以用了,我刚刚帮你改了下,你可以看看原始档以作用法参考。 现在写的是lang=”bash”

    8. 心之所在

      @CA 向来懒的管别人,随意打简体/繁体的人泪目……

      @csslayer google translate比ms office的转换差多了

    9. @CA 我有时候在想,如果长期见不到繁体(我不太喜欢“正体”这个词,好像简体是山寨一样)的话,内地人是不是都不认识繁体了……我有的同学就几乎不认识繁体字。

      我认识的繁体字绝大部分都是来自某卫视电影台的港产电影……不过以后大中华区彼此交流增多,这个现象会改观吧……

    10. CA

      因为 Google Translate 会被使用者”恶意训练”, 其结果还是需要润饰

      @csslayer 感谢, 下次有机会再利用

      @右京样一 怎么称呼其实是很政治化的事情, 这些事情我不懂 但简体字在某些层面上确实是太简化了, 比方说干妹妹就很尴尬 虽然外国人比较倾向学习笔划少的简体字, 我个人还是希望繁体字能够保留下来

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

    This site uses Akismet to reduce spam. Learn how your comment data is processed.