Search Results

Search found 15 results on 1 pages for 'wmctrl'.

Page 1/1 | 1 

  • How do I use command line and wmctrl to make a window larger than the screen to get a huge screenshot?

    - by Mnebuerquo
    I use a program which makes a large image which I have to scroll to view. The program has no way to save the image, and I have no access to the source to modify it. The only way I have to get the image from the program is by screenshot. My goal is to save the full size image without having to piece together individual screenshots. I'm using this script to try taking a screenshot: #!/bin/bash window=$(wmctrl -l | grep "Program$" | awk '{print $1}') wmctrl -v -i -r $window -e '0,0,0,6030,5828' wmctrl -i -a $window import -window $window ~/Desktop/screenshot.png This uses wmctrl to get the window id ($window) for a window named "Program". It then tries to resize the window to the desired dimensions. It uses imagemagick (import) to save a screenshot.png on the user's Desktop. All of this works except the resize step. I can resize the window using wmctrl -r -e, but sizes greater than the screen size don't work. I'm using Ubuntu 10.04 and the Gnome Desktop. I run two monitors, but I've tried this with one of them disabled. Is there a way to resize the window larger than my screen to get a huge screenshot?

    Read the article

  • Get the desktop/viewport of a window in enlightenment?

    - by Zorf
    Okay, so, given a XID of a window I need to get its desktop or viewport as well as the currently active one. Enlightenment does not seem to properly respond to wmctrl which leads to: ***@note:~ > wmctrl -lG 0x01e00002 -1 21 395 310 146 note Conky (note) # it places conkey wndows on -1 for some reason? 0x01c00002 -1 65 655 230 158 note Conky (note) 0x01a00002 -1 25 215 230 182 note Conky (note) 0x01800002 -1 25 550 310 110 note Conky (note) 0x01600002 -1 685 145 230 120 note Conky (note) 0x01400002 -1 1120 245 280 206 note Conky (note) 0x01200002 -1 1095 35 230 186 note Conky (note) 0x01000002 -1 1145 470 250 266 note Conky (note) 0x00c00002 -1 40 34 230 182 note Conky (note) 0x00e00029 0 0 0 1440 900 note ~ : bash – Konsole # desktop 2, fullscreen 0x03a00060 0 505 231 899 642 note Downloads – 'Dolphin' # destkop 0 0x0480001a 0 206 222 958 526 note Lifelover - Kärlek - becksvart melankoli #desk 2 0x034000e6 0 116 32 984 767 note clemctrl – Kate #desk 0 0x02c01b78 0 309 314 549 520 note ************* # desk 1 0x04e00062 0 104 31 990 619 note XChat: *** @ Free / #*** (+Ccnt) #desk 1 0x05c00112 0 22 35 1396 834 note StarCraft on Reddit - Chromium #desk 3 0x02c0f292 0 453 356 549 520 note *** #desk 1 0x02c000c0 0 860 216 557 645 note Buddy List # desk 1 As can be seen, all windows are on desk 0 in wmctrl except conky windows. Furthermore the geometry-viewport trick also doesn't seem to work that works in some wm's, are there any other tricks to get on which viewport/desktop a window is? There has to be some way to get it right?

    Read the article

  • execute script after desktop loaded?

    - by Andre
    I want to execute bash script on startup that opens several terminals in different workspaces. Script works just fine if I call it from terminal, but it doesn't work if executed from crontab using @reboot: #!/usr/bin/env bash #1 make sure we have enough workspaces gconftool-2 --set -t int /apps/metacity/general/num_workspaces 7 #2. Launch programs in these terminals wmctrl -s 6 gnome-terminal --full-screen --execute bash -c "tmux attach; bash" wmctrl -s 5 gnome-terminal --full-screen --execute bash -c "weechat-curses; bash" wmctrl -s 4 gnome-terminal --full-screen --execute bash -c "export TERM=xterm-256color; mutt; bash" wmctrl -s 3 gnome-terminal --full-screen wmctrl -s 2 gnome-terminal --full-screen wmctrl -s 1 gnome-terminal --full-screen wmctrl -s 0 google-chrome --start-maximized I think it's because crontab job triggers before desktop environment is loaded...maybe...? How can I execute this script after desktop environment is loaded? thanks:) Update 1: i've started it from crontab initially like this: @reboot $HOME/andreiscripts/startup.sh >> $HOME/andreiscripts/testlog.txt 2>&1 and was getting these errors: Cannot open display. Failed to parse arguments: Cannot open display: Cannot open display. Failed to parse arguments: Cannot open display: Cannot open display. ..... Update 2 I've tried to launch script from System Preferences Startup Applications /home/andrei/andreiscripts/startup.sh >> /home/andrei/Desktop/out.txt 2>&1 but script only opened first gnome-terminal in workspace 6... and wouldn't continue executing the rest of the script until I close that gnome-terminal and so on....

    Read the article

  • How can I activate a Panel-icon via a script (or get its screen co-ordinates; to click it)?

    - by fred.bear
    This question is in the context of Lucid 10.04 desktop (ie. no Unity). I do most screen navigation via the keyboard (not the mouse), so I'm looking for a script solution to re-activating an app which has been "minimized" to the Panel's Notification Area. I'll use Skype as an example. wmctrl allows me enough access to normally-minimized windows, but when Skype is "minimized" to the Notification Area, it simply goes "off the radar" as far as wmctrl is concerned. Bearing in mind that icon positions in the Notification Area can vary, is there some way to determine the screen co-ordinates of Skype's Panel icon, so I can "click" it using xdotool (or a similar utility)? ...or maybe there is a more direct way to activate the "dormant" Skype? ... (and I don't mean the mouse ;) Here is the script, so far. Hopefully it will make clear what I'm trying to do: #!/bin/bash procname="skype-wrapper" windmask="Skype™" if [[ $(pgrep -x -n -c "$procname") == 1 ]] ; then wintitle="$(wmctrl -l |grep "$windmask" |head -n 1 |sed -n "s/^.\+${HOSTNAME} \(.*\)/\1/p")" if [ "$wintitle" = "" ] ; then echo "Click on Skype's Panel-icon to show the main window" ############################################################### # How can I find the screen co-ordinates of Skype's Panel Icon ############################################################### else # Skype is running, and has (at least) one visible window which matches $windmask. Activate it. wmctrl -a "$wintitle" fi else # The process is not currently running. Start it. ("$procname" &) fi

    Read the article

  • Compiz command plugin won't register keyboard shortcuts

    - by David Moles
    Per this discussion I've enabled the Compiz commands plugin in order to try to bind some keyboard shortcuts to wmctrl actions. CCSM captures my keystrokes just fine, but no matter what keystroke I try or what command I bind it to (everything from my original intention of binding Super-1, Super-2 etc. to wmctrl -o 0,0, wmctrl -o 2560,0, etc., to binding Ctrl-Alt-Shift-L to gnome-terminal). Basic compiz shortcuts for window switching and so on -- even custom ones -- seem to work fine, but the command plugin doesn't seem to be working at all. I also notice the following symptom: when I open the keyboard shortcut tab in CCSM, the keyboard shortcuts often at first appear blank, though if you click on the blank button, the correct value is still there. Also possibly related, I've noticed that gnome-terminal doesn't seem to notice the Super key, though other apps (e.g. CCSM, Emacs) register it fine. Anyway, it seems like something's eating my keystrokes. Any ideas?

    Read the article

  • Compiz command plugin won't register keyboard shortcuts

    - by David Moles
    Per this discussion I've enabled the Compiz commands plugin in order to try to bind some keyboard shortcuts to wmctrl actions. CCSM captures my keystrokes just fine, but no matter what keystroke I try or what command I bind it to (everything from my original intention of binding Super-1, Super-2 etc. to wmctrl -o 0,0, wmctrl -o 2560,0, etc., to binding Ctrl-Alt-Shift-L to gnome-terminal). Basic compiz shortcuts for window switching and so on -- even custom ones -- seem to work fine, but the command plugin doesn't seem to be working at all. I also notice the following symptom: when I open the keyboard shortcut tab in CCSM, the keyboard shortcuts often at first appear blank, though if you click on the blank button, the correct value is still there. Also possibly related, I've noticed that gnome-terminal doesn't seem to notice the Super key, though other apps (e.g. CCSM, Emacs) register it fine. Anyway, it seems like something's eating my keystrokes. Any ideas?

    Read the article

  • Window management shortcuts?

    - by pwnguin
    I've got a single massive monitor at home, and I've decided to mimic the Windows 7 window tiling shortcuts. I found a few guides online using wmctrl, and it's going well, save one thing: maximized windows don't respond to it. gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_1 "wmctrl -r :ACTIVE: -e 0, 0,0, `xwininfo -root | grep Width | awk '{ print ($2/2)}'`, `xwininfo -root | grep Height | awk '{ print $2 }'`" (I've added line returns to make an otherwise massive one-liner readable.) I've bound this to a hotkey and it works, unless the window is maximized. Any ideas on how to fix this up?

    Read the article

  • Aquireing the entire string sent to the shell for execution

    - by user294567
    I have a bash script that looks like this (called job_result.sh): #!/bin/bash $* && zenity --title "Job result" --info --text "SUCSESS: Job '$*'completed" && while pidof zenity > /dev/null; do /usr/bin/wmctrl -a "Job Result" && sleep 2; done When i execute it with: $ ./job_result.sh echo "arf" && sleep 10 I want the following to happen: $ echo "arf" && sleep 10 && zenity --title "Job result" --info --text "SUCSESS: Job '$*'completed" && while pidof zenity > /dev/null; do /usr/bin/wmctrl -a "Job Result" && sleep 2; done But it seems the following is happening: $ echo "arf" && zenity --title "Job result" --info --text "SUCSESS: Job '$*'completed" && while pidof zenity > /dev/null; do /usr/bin/wmctrl -a "Job Result" && sleep 2; done Question: How do i get hold of the entire shell argument? And not just the part until &&?

    Read the article

  • Is it possible to set the name of the current virtual desktop via commandline?

    - by Dave Vogt
    The utility wmctrl has the possiblity to list the names of all virtual desktops: % wmctrl -d 0 - DG: 3360x1200 VP: 0,0 WA: 0,0 3360x1199 Mail / Comm 1 * DG: 3360x1200 VP: 0,0 WA: 0,0 3360x1199 Web / Docs 2 - DG: 3360x1200 VP: 0,0 WA: 0,0 3360x1199 A 3 - DG: 3360x1200 VP: 0,0 WA: 0,0 3360x1199 B I would like to be able to change, from the commandline, the name of the current desktop to something else. This is possible by using some pagers, for example, but I couldn't find out how to do it from the command line. Update: the xprop utility seems to be able to set the desktop names, but I could not figure out the exact format to do so, yet: % xprop -root -f _NET_DESKTOP_NAMES 8s -set _NET_DESKTOP_NAMES asdf % xprop -root _NET_DESKTOP_NAMES _NET_DESKTOP_NAMES(UTF8_STRING) = "asdf", "Web / Docs", "A"

    Read the article

  • Using Xlib via JNA to move a window

    - by rob
    I'm using JNA to manipulate application windows on Linux by sending Xlib messages but can't seem to move a window. My original implementation executed wmctrl on the shell to move the windows and that successfully moved the windows. Unfortunately, there's a noticeable amount of overhead associated with calling shell programs from Java, so now I'm trying to make direct API calls using JNA. I'm using the X11 example available from the JNA website and can successfully do a few tricks, such as enumerating the window IDs and reading window properties, so I know JNA+Xlib is at least partially working. First I tried moving the windows directly using XMoveWindow() but the window manager was apparently blocking those calls. I ran across a thread that suggested I needed to send a client message using XSendMessage(), so I've done that below, but apparently XSendMessage() is failing because the window doesn't move and I get a return value of 0. I'm guessing I omitted something obvious, but can't quite figure it out. Any suggestions? Note that, for the purposes of this example, the main method has a window ID hard-coded. This is the window ID of the window I'm trying to move (obtained using wmctrl -l on the console). import com.sun.jna.NativeLong; import com.sun.jna.Pointer; import com.sun.jna.examples.unix.X11; import com.sun.jna.examples.unix.X11.Atom; import com.sun.jna.examples.unix.X11.AtomByReference; import com.sun.jna.examples.unix.X11.Display; import com.sun.jna.examples.unix.X11.Window; import com.sun.jna.examples.unix.X11.WindowByReference; import com.sun.jna.examples.unix.X11.XEvent; import com.sun.jna.examples.unix.X11.XTextProperty; import com.sun.jna.examples.unix.X11.XWindowAttributes; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.NativeLongByReference; import com.sun.jna.ptr.PointerByReference; private static final int FALSE = 0; /** C-style boolean "false" */ private static final int TRUE = 1; /** C-style boolean "true" */ public static void main(String[] args) { setWindowPos(new Window(0x01300007), 100, 100, 600, 400); // update the Window constructor with the appropriate ID given by wmctrl -l } public static boolean setWindowPos(Window window, int x, int y, int w, int h) { final X11 x11 = X11.INSTANCE; Display display = x11.XOpenDisplay(null); NativeLong mask = new NativeLong(X11.SubstructureRedirectMask | X11.SubstructureNotifyMask | X11.ResizeRedirectMask); XEvent event = new XEvent(); String msg = "_NET_MOVERESIZE_WINDOW"; //$NON-NLS-1$ long grflags = 0l; // use the default gravity of the window if (x != -1) grflags |= (1 << 8); if (y != -1) grflags |= (1 << 9); if (w != -1) grflags |= (1 << 10); if (h != -1) grflags |= (1 << 11); event.xclient.type = X11.ClientMessage; event.xclient.serial = new NativeLong(0l); event.xclient.send_event = TRUE; event.xclient.message_type = x11.XInternAtom(display, msg, false); event.xclient.window = window; event.xclient.format = 32; event.xclient.data.l[0] = new NativeLong(grflags); // gravity flags event.xclient.data.l[1] = new NativeLong(x); event.xclient.data.l[2] = new NativeLong(y); event.xclient.data.l[3] = new NativeLong(w); event.xclient.data.l[4] = new NativeLong(h); int status = x11.XSendEvent(display, x11.XDefaultRootWindow(display), FALSE, mask, event); x11.XFlush(display); // need to XFlush if we're not reading X events if (status == 0) { // 0 indicates XSendEvent failed logger.error("setWindowPos: XSendEvent failed (" + msg + ")"); //$NON-NLS-1$ return false; } return true; }

    Read the article

  • How to get accurate window information (dimensions, etc.) in Linux (X)?

    - by mellort
    How can I get accurate window information in Linux? I know that I can use wmctrl to get a window's size, but the actual size of the window can vary due to window decorations. I need the following information and methods: * precise window dimensions * precise available screen space (excluding panels like gnome-panel) * the ability to set a window to be a certain size, including decorations What would be the best way to do this? Thanks in advance!

    Read the article

  • Closer Aero-snap in ubuntu

    - by Andrew Redd
    Before I get screamed at for duplicating a question. Ive read windows 7-like snap window maximize and vertical feature and http://www.omgubuntu.co.uk/2009/11/get-aero-snap-in-ubuntu/ There are two problems with this solution that I am trying to get around. It's not sensitive to dragging a window It's not intelligent for Twin-view monitors. The first problem is the more pressing. I have the compiz settings with wmctrl, but this is not sensitive to dragging windows if I have a window with the focus and place my mouse in the panel I get the window maximized, even though I'm not dragging the window. A good solution would be sensitive to the state of the mouse, clicked, right clicked, middle clicked. An ideal solution would be sensitive to dragging a window or not. Second is a minor annoyance to me at least. With the commands as they are listed are equivalent to maximizing the windows since I have a Twinview monitors setup. Is there any way to add these sensitivities to the commands?

    Read the article

  • Compiz not drawing window controls in ubuntu 11.10

    - by Siva Prasad Varma
    I have recently installed driver for my ATI graphic card in my Dell Studio laptop. I have also read this somewhere on the web that Ubuntu enables compiz window manager by default if your hardware can run it. Is it true ? In my case before Installing graphic card driver the window manager was Metacity, but now I have compiz as my Window manager. I found this out uisng Displex Indicator applet also confirmed by wmctrl -m. From the time I have installed graphic card drivers, the window manager(Compiz) is not drawing window control buttons for some of the windows. For example if I open a terminal I have to close it using key board shortcuts or use the File - Quit option in app-menu. Also I am not able to move the window because of this. From then when-ever I find a window without window control buttons I am restarting the window manager using Displex Indicator applet. But this is very annoying and also consumes a lot of time(when I am doing my work). Can any one suggest any solution for this. What are up's and down's of using Compiz Vs Metacity.

    Read the article

  • Graceful logout in dwm

    - by Riateche
    I want dwm to close all windows gracefully when I press quit hotkey. I like Unity behaviour: it displays list of windows denying logout (for example, editors with unsaved changes) and do not logout before all issues are resolved and applications are closed. By default, dwm just end X session and all running applications are killed. I was thinking about writing a script that will retrieve list of all windows, gracefully close them and wait for their processes to finish. But I even don't know how to close windows. The only way I know is using wmctrl, and this utility doesn't work with dwm.

    Read the article

  • Can I use standard tools to get the full name of a process, when its name has embedded spaces?

    - by fred.bear
    I understand that it may be a rare situation for an executable to have spaces in it, but it could happen. An example may be the best explanation.. Using standard tools, I want to determine the location (on the file system) of the executable which owns(?) the current window... get the current window ID ...(xdotool getactivewindow ) use the ID to get the PID ...(wmctrl -p -l | sed ... ID .... use the PID to get the executable's name ... (ps -A ... here is where I run into problems ! Whith ps, when listing only the executable's name (-o ucmd), it truncates the name to 15 characters, so this rules out this option for any name which is longer. Widening the column (-o ucmd:99 ) makes no difference.. If pgrep is anything to go by, its matching is limited to 15 because of stat (see: info pgrep).. Listings in variants of "full" mode (eg -A w w) are not useful when the name concerned has spaces in it, because this name is separated from its args by another space!.. Also, in "full" mode, if the process was started by a link, the name of the link is shown, rather than the executable's name. Is there some way to do this (using standard tools)? ...or are spaces a show stopper here?

    Read the article

1