web-dev-qa-db-ja.com

画面の隅にショーのデスクトップアイコンを作成する方法は?

ランチャーにShow Desktopアイコンを配置する方法は知っていますが、角にアイコンを配置したいと思います。

この理由は、ランチャーでは「慎重に」クリックする必要があるためです。一方、コーナーにある場合は、より「攻撃的」になります。

編集:答えのいくつかのソリューションをテストしましたが、おそらく正確に言っていなかったために、私の目標を達成するものはありません:コーナーにデスクトップアイコンを表示したい(または、気にしない代わりに、ポインタをコーナーに移動する必要がある場合)、選択するとデスクトップが表示され、デスクトップで動作可能になります。たとえば、そこにファイルをコピーして、ターミナルを開きます。等そして、同じアイコンで最小化されたすべてのウィンドウに戻るを実行できます。

@Sergのソリューションには2つの問題があります。1)アイコンは修正されていますが、隅にありません。 2)最小化したウィンドウに戻ることができません。

@Heynnemaのソリューションには、アイコンがデスクトップを「表示」するという大きな問題がありますが、実際には作業できません。端末を開くために空のスペースを右クリックすると、そのスペースは実際には「空」という意味で、開いているウィンドウがある場合、表示される右クリックオプションは最小化される前のウィンドウのオプションです。

@GautamVashishtのソリューションはHeynnemaと同じようです。CCSMでアクティブにするとHot Cornersがアクティブになります。

3
Diego

免責事項:私はこの指標の著者であり、この特定の質問のために書かれています

前書き

Ubuntuにはデフォルトで「デスクトップを表示」アイコンを移動するオプションがありません-ランチャー上に存在する必要があります。 Alt + Tabメニューに表示させることもできます。ただし、トップパネルに表示される小さなインジケータアプレットを作成することもできます。これは、画面の隅にアイコンを配置するという要件にかなり近いものです。この答えはまさにそれを提供します

使用法

使い方はとても簡単です。コードを~/binフォルダーに保存します。たとえば、私にとっては/home/serg/bin/show_desktop_indicatorです。 Ubuntuにログインするたびに開くようにするには、Dashで「スタートアップアプリケーション」を検索し、そのアプリを開き、新しいコマンドとしてインジケーターへのフルパスを追加します。

プロジェクトのGithubページのインジケーターを含むZipフォルダー をダウンロードすることもできます

基本的に、開いているすべてのウィンドウが最小化されます。それを行うには2つの方法があります。 1つは、インジケータアイコンをクリックして、[デスクトップを表示]メニューエントリをクリックするか、アイコン自体を中マウスクリックする方法です。

コード

Github でも利用可能

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

#
# Author: Serg Kolo , contact: [email protected]
# Date: November 5th, 2016
# Purpose: appindicator for minimizing all windows
# Written for: http://askubuntu.com/q/846067/295286
# Tested on: Ubuntu 16.04 LTS
#
#
# Licensed under The MIT License (MIT).
# See included LICENSE file or the notice below.
#
# Copyright © 2016 Sergiy Kolodyazhnyy
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import gi
gi.require_version('AppIndicator3', '0.1')
gi.require_version('Notify', '0.7')
from gi.repository import GLib as glib
from gi.repository import AppIndicator3 as appindicator
from gi.repository import Gtk as gtk
from gi.repository import Gdk

class ShowDesktop(object):

    def __init__(self):
        self.app = appindicator.Indicator.new(
            'files-indicator', "user-desktop",
            appindicator.IndicatorCategory.OTHER
        )
        self.app.set_status(appindicator.IndicatorStatus.ACTIVE)
        self.make_menu()

    def add_menu_item(self, menu_obj, item_type, image, label, action, args):
        """ dynamic function that can add menu items depending on
            the item type and other arguments"""
        menu_item, icon = None, None
        if item_type is gtk.ImageMenuItem and label:
            menu_item = gtk.ImageMenuItem.new_with_label(label)
            menu_item.set_always_show_image(True)
            if '/' in image:
                icon = gtk.Image.new_from_file(image)
            else:
                icon = gtk.Image.new_from_icon_name(image, 48)
            menu_item.set_image(icon)
        Elif item_type is gtk.ImageMenuItem and not label:
            menu_item = gtk.ImageMenuItem()
            menu_item.set_always_show_image(True)
            if '/' in image:
                icon = gtk.Image.new_from_file(image)
            else:
                icon = gtk.Image.new_from_icon_name(image, 16)
            menu_item.set_image(icon)
        Elif item_type is gtk.MenuItem:
            menu_item = gtk.MenuItem(label)
        Elif item_type is gtk.SeparatorMenuItem:
            menu_item = gtk.SeparatorMenuItem()
        if action:
            menu_item.connect('activate', action, *args)

        menu_obj.append(menu_item)
        menu_item.show()



    def make_menu(self):
        self.app_menu = gtk.Menu()
        content = [self.app_menu,gtk.MenuItem,
                   None,'Show Desktop',
                   self.show_desktop,[None]
        ]
        self.add_menu_item(*content)
        last = None
        for i in self.app_menu.get_children():
             last = i
        self.app.set_secondary_activate_target(last)

        content = [self.app_menu,gtk.ImageMenuItem,
                   'exit','Quit',
                   self.quit,[None]
        ]
        self.add_menu_item(*content)
        self.app.set_menu(self.app_menu)

    def show_desktop(self,*args):
        screen = Gdk.Screen.get_default()
        for w in screen.get_window_stack():
            w.iconify()
            w.process_all_updates()

    def run(self):
        """ Launches the indicator """
        try:
            gtk.main()
        except KeyboardInterrupt:
            pass

    def quit(self, *args):
        """ closes indicator """
        gtk.main_quit()


def main():
    """ defines program entry point """
    indicator = ShowDesktop()
    indicator.run()

if __== '__main__':
  try:
    main()
  except  KeyboardInterrupt:
    gtk.main_quit()

アクションのインジケーター:

KylinアイコンをテーマにしたUbuntu:

enter image description here

4

さらに良い...

Compiz configuration settings manager(Synapticまたはターミナルのcompizconfig-settings-manager)をインストールします。

Unity DashからCompizConfig Settings Managerを起動し、Expoプラグインを選択します。

enter image description here

次に、Expo Corner/Edgeを[なし]から、アクティブにするコーナーまたはサイドに変更します。 TopRightコーナーを選択しました。次に、CCSMを終了します。

enter image description here

これで、TopRightコーナーまでマウスを移動し、目的のデスクトップ/ビューポートを1回クリックするだけで、デスクトップアイコンも不要になりました。

1
heynnema

これまで、UbuntuにはランチャーのShow Desktopアイコンを隅に移動する特定の方法はありません。ただし、デスクトップ画面にアクセスするために使用できる代替方法(回避策)はほとんどありません!それらのいくつかを以下にリストします:-

1.)Alt + Tabショートカットキー

Alt + Tabショートカットキーを使用します。主にアプリケーションの切り替えに使用されます。 Alt + Tabキーを押すと、左側に表示される最初のアイコンはShow Desktopアイコンです。 Tabこのアイコンに移動して、デスクトップ画面にアクセスできます。

2.)Super + DまたはCtrl + Alt + Dショートカットキー

Unityデスクトップでは、デフォルトのSuper + DまたはCtrl + Alt + Dデスクトップ画面にアクセスするためのショートカットキー。

3.)Hotcornersを使用してデスクトップ画面にアクセスする

これを行うには、まずUbuntu Software Centerによって、またはターミナルでSudo apt-get install unity-Tweak-toolと入力して、Unity Tweak Toolをインストールします。次に、Unity Tweak Toolを開いて起動し、Windows Managerの下のHotcornersをクリックします。次に、GeneralセクションでHotcornersをオンにし、Behaviourセクションで選択します使用するホットコーナーに隣接するボックスでデスクトップを切り替えます。その後、その角にカーソルを置くと、デスクトップ画面が表示されます。

参考資料: buntuのデスクトップ表示アイコンへのアクセス

0
Gautam Vashisht