2016-12-16 10 views
0

装飾を避けるために、Imagemagickのdisplayコマンドのオプションが見つかりません。画像を表示するだけで、これを実現する方法はありますか、それを行うことができる他の「コア」コマンドですか?装飾なしで画像を表示する方法

答えて

2

私はウィンドウの装飾なしでイメージを表示することを意味しています。これを達成する多くの方法がありますが、あなたのOS /デスクトップマネージャーにはおそらくあなたが利用できるものがあることを指摘したいと思います。

たとえば、私のMacでは、最小装飾で画像を表示するのに、open & qlmanageを使用できます。

# Use OS defaults 
open wizard.png 
# or Quicklook 
qlmanage -p wizard.png 

qlmanage

YMMV。偉大な選択肢はto this questionと記載されています。

のImageMagickのdisplayユーティリティはオプション-immutable-backdrop、& -window X11表示システムと対話するためのオプションがあります。 X11のタイル・バーを気にしない場合は、-immutableは追加の表示ウィジェットを非表示にします。

display -immutable -resize 40% wizard.png 

immutable

あなたは絶対に任意のウィンドウの装飾をしたくない場合は、あなたは役割に独自のソリューションが必要な場合があります。 -windowオプションは、イメージを実行中のウィンドウの背景として設定します。これを知っているだけで、境界レスウィンドウを作成する必要があります& identifyに渡すIDを取得します。装飾なしのウィンドウを作成するには、this answerを参照してください。

// simple_window (compile with `gcc -L/usr/X11R6/lib -lX11 -o simple_window simple_window.c') 
#include <stdio.h> 
#include <X11/Xlib.h> 

int main(int argc, const char * argv[]) { 
    Display * root; 
    Window win; 
    int screen; 
    root = XOpenDisplay(NULL); 
    screen = DefaultScreen(root); 
    win = XCreateSimpleWindow(root, 
           RootWindow(root, screen), 
           10, 10, 
           400, 600, 
           0, 
           BlackPixel(root, screen), 
           WhitePixel(root, screen)); 
    Atom win_type = XInternAtom(root, "_NET_WM_WINDOW_TYPE", False); 
    long value = XInternAtom(root, "_NET_WM_WINDOW_TYPE_DOCK", False); 
    XChangeProperty(root, 
        win, 
        win_type, 
        4, 32, 
        PropModeReplace, 
        (unsigned char *) &value, 1); 
    XMapWindow(root, win); 
    printf("Window created %lu\n", win); 
    XEvent e; 
    while(1) { 
     XNextEvent(root, &e); 
     if (e.type == KeyPress) { 
      break; 
     } 
    } 
    XCloseDisplay(root); 
    return 0; 
} 

上記のプログラムをコンパイルすると、現在実行中のウィンドウIDが出力されます(&)。これで、importユーティリティを渡してイメージをバックグラウンドとして書き込むことができます。

no decorations

ビットハックっぽいが、再び、メーリングリストへ。

+0

簡単に素晴らしい! – nightcod3r

+0

良い答え - うまくいきます。私はXQuartzを使って自分のiMacのコンパイルコマンドに '-I/opt/X11/include'を追加する必要がありました。 –

関連する問題