截图时重用己存在的 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).