Second transaction in the background in an EJB3 application?

Hi!
Is there any way (preferrably with container-managed persistence, but even manually) to implement 2 transactions in EJB3 that fullfil the following criteria:
a)
pseudo-code:
T1 {
doSomething1
start T2 in background
doSomething2
commit
T2 {
doSomething
commit
b)
conditions: T2 "depends" on T1 in the sense that
1. T2 starts during T1
2. if T1 is rolled back ==> T2 must be rolled back, too
(==> this implies: T2 ends after T1 OR T2 waits for T1 to finish before committing)
3. if T2 is rolled back ==> doesn't cause T1 to rollback
c)
graphically: (intended for viewing with a fixed-width font)
("_" = "commit", "." = waiting)
T1
[ ]---> T2
OR
T1
[ ]---> T2
[_]      _The hardest part seems to me to make T2 wait until T1 finishes (in the otherwise unlikely but possible case that T1 finishes first). You can safely presume that the two transactions run on the same JVM, but of course a solution that doesn't rely on this presumption would be even better.
I have tried to find ways for T2 to somehow monitor T1, but on my first half-hearted try I couldn't find anything.
Any ideas?
Thanks,
Agoston
Edited by: 994954 on Mar 19, 2013 11:36 PM

2. if T1 is rolled back ==> T2 must be rolled back, tooI don't think that's possible, the nested transaction is going to be isolated. Otherwise what would be the point of creating it!
The hardest part seems to me to make T2 wait until T1 finishesImplying that T2 is created in a different thread, otherwise T1 would be suspended until T2 finishes in a normal container managed transaction environment. Why thread them when it matters in which order they finish?
I have tried to find ways for T2 to somehow monitor T1, but on my first half-hearted try I couldn't find anythingPerhaps because you've been looking in the context of EJB technology, while you should have been researching 'java concurrency'.

Similar Messages

  • Run the SOST transaction in the Background with, or without, a BDC

    Hello all,
    I was trying to write a Z-Program that would create a BDC that executed Transaction SOST to resend fax messages.  It turned out that I could not record the ALV Grid that contains most of the selection/filter criteria functions because those functions exist in the ALV Grid.  Some fields exist above the ALV Grid and could be recorded. I record them and used them in my BDC to filter for the faxes I wished sent.  I also used a saved layout for the filtering I would have applied if I cold have recorded the ALV Grid.
    All seemed well in testing until I attempted to run my Z-Program in the Background.  The Z-Program creates the BDC which in tern executes the resending of faxes.  I did not realize that the SOST transaction had a completely different screen layout in the Background.  That was something pointed out to me when I was instructed to Record the BDC in "Simulate Background Mode".  It doesn't seem like I can enter selection criteria in the Background version of the screen at all.
    Has anyone been able to run the SOST transaction in the Background with, or without, a BDC?  If not has anyone ever automated the SOST functionality in a Z-Program?  Can SOST run in the background at all?
    Thanks

    Hi,
    try to resend it using program RSCONN01.
    Regards,
    Adrian

  • How can I make my Logo appear after 10 seconds of loading the background?

    Hi,
    I have an animation Logo flash movie which I want to appear after 10 seconds of loading the background image (Panel_mc)?
    I am using Actionscript 3 to load the Logo.swf movie. The following is the whole code that I have on my action script page:
    stop();
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    var PanelTween:Tween = new Tween(Panel_mc, "y", Elastic.easeOut, -400, 20, 5, true);
    var l:Loader=new Loader();
    addChild(l);
    l.load(new URLRequest("Logo.swf"));
    l.x = -20;
    l.y = -20;
    l.contentLoaderInfo.addEventListener(Event.INIT, growLoader);
    function growLoader(evt:Event):void {
         l.width = 320;
         l.height = 185;
    Note: I need it because first the background will animate so no one can pay attention to my Logo. Once the background stops animation, My logo needs to be start (animation)?
    How can I do it using Actionscript 3.
    Hope somebody will help me.
    Thanks.

    If you look into the few code elements I mentioned, either in the help documentation or using Google, you will find examples that you can use/modify for your current project.  You'll learn more by doing some work yourself rather than having solutions handed to you. We are all learners... yes, it can be hard, but it gets easier when you work at it.

  • Inserting Images in the Background of My Webdynpro Application

    Hi Experts,
    I need your Help. I am a novice to Webdynpro-ABAP and have a requirement  to embed
    Image in the background of my dynpro Application.Kindly suggest me the solution for the same .
    Thanks In advance for your help.

    Hi,
    Please read this [documentation|http://help.sap.com/saphelp_nw70/helpdata/en/46/89af7fbe4d429ee10000000a1553f7/frameset.htm]
    grtz,
    Koen
    Edited by: Koen Labie on Mar 12, 2008 10:30 AM

  • Execute CALL TRANSACTION in the background....

    Hi,
    I want to use CALL TRANSACTION in a report program and execute this report in the background.
    There is not GUI_UPLOAD / GUI_DOWNLOAD used anywhere.
    Can someone suggest me what precaution I need to take in my code for CALL TRANSACTION?
    Is there any additional code for background processing?
    Thanks.

    hi,
    this is the sample code:
    Precations need to take :
    1. see that u r transfer tha data in correct field, on correct screen, and of correct format.
    2. capture the error logs in bdcmsgcoll - error logs have to be handle.
    3. ensure correct recording.
    in selection screen you can mention in which mode u want :
    A     Display all screens
    E     Display errors
    N     Background processing
    P     Background processing; debugging possible
    This is the sample code:
    & Report  ZKO01_BDC                                                       &
    & Object Id       :                                                       &
    & Object Name     : ZKO01_BDC                                             &
    & Program Name    : ZKO01_BDC                                             &
    & Transaction Code: ZKO01_BDC                                             &
    & Module Name     : FI / CO                                               &
    & Program Type    : BDC Program      Create Date     : 23.06.2008         &
    & SAP Release     : 6.0              Transport No    :                    &
    & Description     : BDC to upload internal order with indernal assignment &
    & Version         : 1.0.                                                  &
    & Changed on      :                                                       &
    report zko01_bdc
           no standard page heading line-size 255.
    types: begin of record,
            auart_001(004),
            ktext_002(040),
            bukrs_003(004),
            werks_004(004),      " ADDED NEW - RAHUL SHINDE
            scope_005(010),
            prctr_006(004),      " ADDED NEW - RAHUL SHINDE
            waers_007(005),
            astkz_008(001),
            plint_009(001),
          end of record.
    types: begin of ty_stats,
           mess(72) type c,
           auart_001(004),
           text(18) type c,
           end of ty_stats.
    data : it_record type table of record,
            wa_record like line of it_record.
    data: bdcdata type table of bdcdata,
          mestab type table of bdcmsgcoll.
    data : stats type table of ty_stats.
    data: opt type ctu_params.
    data: m(72) type c.
    data : fl_name type string.
    data :  wa_bdcdata like line of bdcdata,
            wa_mestab like line of mestab.
    data :  wa_stats like line of stats.
    data:   ctumode like ctu_params-dismode.
    data:   cupdate like ctu_params-updmode.
    data: file type  rlgrap-filename.
    data: xcel type table of alsmex_tabline with header line.
    data: mod1(1) type c.
    initialization.
    opt-dismode = 'A'.
    opt-updmode = 'S'.
    opt-nobinpt = 'X'.   "No batch input mode
                        Selection Screen
    selection-screen begin of block bk1 with frame.
    selection-screen skip 1.
    parameters p_file type localfile. " default 'D:\Common\PWC\Asset BDC\Book2.xls'.
    parameters p_mode like ctu_params-dismode obligatory.
    selection-screen skip 1.
    selection-screen end of block bk1.
    file = p_file.
    mod1 = p_mode.
    at selection-screen on value-request for p_file.
      call function 'KD_GET_FILENAME_ON_F4'
           exporting
                static    = 'X'
           changing
                file_name = p_file.
                        Selection Screen
    start-of-selection.
    file = p_file.
    ctumode = mod1.
    cupdate = 'L'.
      call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
           exporting
                filename                = file
                i_begin_col             = '1'
                i_begin_row             = '1'
                i_end_col               = '100'
                i_end_row               = '5000'
           tables
                intern                  = xcel
           exceptions
                inconsistent_parameters = 1
                upload_ole              = 2
                others                  = 3.
    loop at xcel.
      case xcel-col.
        when '0001'.
            wa_record-auart_001 = xcel-value.      "ok
        when '0002'.
            wa_record-ktext_002 = xcel-value.      "ok
        when '0003'.
            wa_record-bukrs_003 = xcel-value.      "ok
        when '0004'.
            wa_record-werks_004 = xcel-value.      "ok
        when '0005'.
            wa_record-scope_005 = xcel-value.      "ok
       when '0005'.
           wa_record-KTEXT_005 = xcel-value.    "ok
        when '0006'.
            wa_record-prctr_006 = xcel-value.      "ok
        when '0007'.
            wa_record-waers_007 = xcel-value.      "ok
        when '0008'.
            wa_record-astkz_008 = xcel-value.      "ok
        when '0009'.
            wa_record-plint_009 = xcel-value.      "ok
      endcase.
      at end of row.
        append wa_record to it_record.
        clear wa_record.
      endat.
    endloop.
    loop at it_record into wa_record.
    perform bdc_dynpro      using 'SAPMKAUF' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-AUART'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'COAS-AUART'
                                  wa_record-auart_001.
    perform bdc_dynpro      using 'SAPMKAUF' '0600'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BUT2'.
    perform bdc_field       using 'COAS-KTEXT'
                                  wa_record-ktext_002.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-SCOPE'.
    perform bdc_field       using 'COAS-BUKRS'
                                  wa_record-bukrs_003.
    perform bdc_field       using 'COAS-WERKS'
                                  wa_record-werks_004.
    perform bdc_field       using 'COAS-SCOPE'
                                  wa_record-scope_005.
    perform bdc_field       using 'COAS-PRCTR'
                                  wa_record-prctr_006.
    perform bdc_dynpro      using 'SAPMKAUF' '0600'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SICH'.
    *perform bdc_field       using 'COAS-KTEXT'
                                 wa_record-KTEXT_005.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-PLINT'.
    perform bdc_field       using 'COAS-WAERS'
                                  wa_record-waers_007.
    perform bdc_field       using 'COAS-ASTKZ'
                                  wa_record-astkz_008.
    perform bdc_field       using 'COAS-PLINT'
                                  wa_record-plint_009.
    call transaction 'KO01' using bdcdata
                            options from opt
                            messages into mestab.
    *PERFORM loggs.
    clear wa_record.
    refresh bdcdata.
    endloop.
    end-of-selection.
    clear : wa_stats.
    if stats is initial.
        write :/ text-001.
    else.
      loop at stats into wa_stats.                         "displays runtime messages
        write:/ 'MESSAGE  :',wa_stats-auart_001.
        if wa_stats-auart_001 is not initial.
        write:/ wa_stats-auart_001,  wa_stats-text.
        endif.
        skip 1.
      endloop.
    endif.
    *&  FORMS BDC_DYNPRO
    form bdc_dynpro using program dynpro.
      clear wa_bdcdata.
      wa_bdcdata-program  = program.
      wa_bdcdata-dynpro   = dynpro.
      wa_bdcdata-dynbegin = 'X'.
      append wa_bdcdata to bdcdata..
    endform.
      FORM BDC_FIELD                                                 *
    form bdc_field using fnam fval.
        clear wa_bdcdata.
        wa_bdcdata-fnam = fnam.
        wa_bdcdata-fval = fval.
        append wa_bdcdata to bdcdata..
    endform.
    *&      Form  loggs
          text
    -->  p1        text
    <--  p2        text
    form loggs .
    loop at mestab into wa_mestab.
        if wa_mestab-msgtyp = 'E'.
          call function 'FORMAT_MESSAGE'
            exporting
              id        = wa_mestab-msgid
              lang      = 'E'
              no        = wa_mestab-msgnr
              v1        = wa_mestab-msgv1
              v2        = wa_mestab-msgv2
              v3        = wa_mestab-msgv3
              v4        = wa_mestab-msgv4
            importing
              msg       = m
            exceptions
              not_found = 1
              others    = 2.
          wa_stats-mess = m.
          wa_stats-text = text-001.            "'Not Created'.
          wa_stats-auart_001 = wa_record-auart_001.
          "wa_stats-sernr = wa_flat-sernr.
          append wa_stats to stats.
        elseif wa_mestab-msgtyp = 'S'.
          call function 'FORMAT_MESSAGE'
            exporting
              id        = wa_mestab-msgid
              lang      = 'E'
              no        = wa_mestab-msgnr
              v1        = wa_mestab-msgv1
              v2        = wa_mestab-msgv2
              v3        = wa_mestab-msgv3
              v4        = wa_mestab-msgv4
            importing
              msg       = m
            exceptions
              not_found = 1
              others    = 2.
          if wa_mestab-dyname = 'SAPMIEQ0'
                                    and wa_mestab-dynumb = '0101'
                                    and wa_mestab-msgspra = 'E'
                                    and wa_mestab-msgid = 'IS'
                                    and wa_mestab-msgnr = '144'.
            loop at stats into wa_stats where auart_001 = wa_record-auart_001.
                                          "and sernr = wa_flat-sernr.
                 delete stats.
            endloop.
                clear : wa_stats.
                wa_stats-mess = m.
                append wa_stats to stats.
          endif.
        endif.
        clear : wa_stats.
      endloop.
    endform.                    " loggs
    Edited by: Naseeruddin on Nov 26, 2008 8:57 AM

  • Second monitor "hide" the programs behind the screen background.

    Hi!
    Updated my system a couple of days ago. When I rebooted, my second screen comes up as normal, except I can't get anything to show on that screen.
    The primary screen works as normal. The second screen shows the background and conky, but when I try to open anything on the screen, it opens, kind of behind the background. I can use the program, and drag it to the first screen. Then I see it. It's almost like the screen background covers it.
    Have a nvidia GPU and using Awesome as VM.
    Anyone have an idea what the problem might be?
    My rc.lua, 10-monitor.conf and pacman.log
    -- Standard awesome library
    local gears = require("gears")
    local awful = require("awful")
    awful.rules = require("awful.rules")
    require("awful.autofocus")
    -- Widget and layout library
    local wibox = require("wibox")
    -- Theme handling library
    local beautiful = require("beautiful")
    -- Notification library
    local naughty = require("naughty")
    local menubar = require("menubar")
    -- Menu
    require("myplacesmenu")
    -- {{{ Error handling
    -- Check if awesome encountered an error during startup and fell back to
    -- another config (This code will only ever execute for the fallback config)
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    -- Handle runtime errors after startup
    do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
    -- Make sure we don't go into an endless error loop
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    beautiful.init("/usr/share/awesome/themes/default/theme.lua")
    -- This is used later as the default terminal and editor to run.
    terminal = "urxvt"
    editor = os.getenv("EDITOR") or "nano"
    editor_cmd = terminal .. " -e " .. editor
    -- Default modkey.
    -- Usually, Mod4 is the key with a logo between Control and Alt.
    -- If you do not like this or do not have such a key,
    -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
    -- However, you can use another modifier like Mod1, but it may interact with others.
    modkey = "Mod4"
    -- Table of layouts to cover with awful.layout.inc, order matters.
    local layouts =
    awful.layout.suit.floating,
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    awful.layout.suit.fair.horizontal,
    awful.layout.suit.spiral,
    awful.layout.suit.spiral.dwindle,
    awful.layout.suit.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier
    -- {{{ Wallpaper
    if beautiful.wallpaper then
    for s = 1, screen.count() do
    gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
    end
    -- {{{ Tags
    -- Define a tag table which hold all screen tags.
    tags = {}
    for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
    end
    -- {{{ Menu
    -- Create a laucher widget and a main menu
    myawesomemenu = {
    { "files", myplacesmenu.myplacesmenu()},
    { "manual", terminal .. " -e man awesome" },
    { "edit config", editor_cmd .. " " .. awesome.conffile },
    { "restart", awesome.restart },
    { "quit", awesome.quit }
    mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
    { "open terminal", terminal }
    mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
    menu = mymainmenu })
    -- Menubar configuration
    menubar.utils.terminal = terminal -- Set the terminal for applications that require it
    -- {{{ Wibox
    -- Create a "Change keyboard layout switcher"
    kbdcfg = {}
    kbdcfg.cmd = "setxkbmap"
    kbdcfg.lang = { "us", "no" }
    kbdcfg.lang_caps = { " US ", " NO " }
    kbdcfg.current = 1 -- us is our default layout
    kbdcfg.widget = wibox.widget.textbox()
    kbdcfg.widget:set_text(" " .. kbdcfg.lang_caps[kbdcfg.current] .. " ")
    kbdcfg.switch = function ()
    kbdcfg.current = kbdcfg.current % #(kbdcfg.lang) + 1
    kbdcfg.widget:set_text(" " .. kbdcfg.lang_caps[kbdcfg.current] .. " ")
    local t = " " .. kbdcfg.lang[kbdcfg.current] .. " "
    os.execute( kbdcfg.cmd .. t )
    end
    -- Create a textclock widget
    mytextclock = awful.widget.textclock()
    -- Create a wibox for each screen and add it
    mywibox = {}
    mypromptbox = {}
    mylayoutbox = {}
    mytaglist = {}
    mytaglist.buttons = awful.util.table.join(
    awful.button({ }, 1, awful.tag.viewonly),
    awful.button({ modkey }, 1, awful.client.movetotag),
    awful.button({ }, 3, awful.tag.viewtoggle),
    awful.button({ modkey }, 3, awful.client.toggletag),
    awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
    awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(
    awful.button({ }, 1, function (c)
    if c == client.focus then
    c.minimized = true
    else
    -- Without this, the following
    -- :isvisible() makes no sense
    c.minimized = false
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    -- This will also un-minimize
    -- the client, if needed
    client.focus = c
    c:raise()
    end
    end),
    awful.button({ }, 3, function ()
    if instance then
    instance:hide()
    instance = nil
    else
    instance = awful.menu.clients({ width=250 })
    end
    end),
    awful.button({ }, 4, function ()
    awful.client.focus.byidx(1)
    if client.focus then client.focus:raise() end
    end),
    awful.button({ }, 5, function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end))
    for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt()
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
    awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mylauncher)
    left_layout:add(mytaglist[s])
    left_layout:add(mypromptbox[s])
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    if s == 1 then right_layout:add(wibox.widget.systray()) end
    right_layout:add(kbdcfg.widget)
    right_layout:add(mytextclock)
    right_layout:add(mylayoutbox[s])
    -- Now bring it all together (with the tasklist in the middle)
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_middle(mytasklist[s])
    layout:set_right(right_layout)
    mywibox[s]:set_widget(layout)
    end
    -- {{{ Mouse bindings
    root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
    -- Keyboard switcher mouse bindings
    kbdcfg.widget:buttons(awful.util.table.join(
    awful.button({ }, 1, function () kbdcfg.switch() end)
    -- {{{ Key bindings
    globalkeys = awful.util.table.join(
    awful.key({ modkey, }, "Left", awful.tag.viewprev ),
    awful.key({ modkey, }, "Right", awful.tag.viewnext ),
    awful.key({ modkey, }, "Escape", awful.tag.history.restore),
    awful.key({ modkey, }, "j",
    function ()
    awful.client.focus.byidx( 1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "k",
    function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "w", function () mymainmenu:show() end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
    awful.key({ modkey, }, "Tab",
    function ()
    awful.client.focus.history.previous()
    if client.focus then
    client.focus:raise()
    end
    end),
    -- Standard program
    awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift" }, "q", awesome.quit),
    awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
    awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
    awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
    awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
    awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
    awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
    awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
    awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
    awful.key({ modkey, "Control" }, "n", awful.client.restore),
    -- Prompt
    awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
    -- Keyboard switcher
    awful.key({ modkey, "Shift" }, "a", function () kbdcfg.switch() end),
    -- Start stuff
    awful.key({ modkey, "Shift" }, "s", function () awful.util.spawn("thunar") end),
    awful.key({ }, "#180", function () awful.util.spawn("chromium") end),
    awful.key({ }, "#163", function () awful.util.spawn("thunderbird") end),
    awful.key({ modkey }, "x",
    function ()
    awful.prompt.run({ prompt = "Run Lua code: " },
    mypromptbox[mouse.screen].widget,
    awful.util.eval, nil,
    awful.util.getdir("cache") .. "/history_eval")
    end),
    -- Menubar
    awful.key({ modkey }, "p", function() menubar.show() end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Compute the maximum number of digit we need, limited to 9
    keynumber = 0
    for s = 1, screen.count() do
    keynumber = math.min(9, math.max(#tags[s], keynumber))
    end
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewonly(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    if tags[screen][i] then
    awful.tag.viewtoggle(tags[screen][i])
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.movetotag(tags[client.focus.screen][i])
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    if client.focus and tags[client.focus.screen][i] then
    awful.client.toggletag(tags[client.focus.screen][i])
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = awful.client.focus.filter,
    keys = clientkeys,
    buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "pinentry" },
    properties = { floating = true } },
    { rule = { class = "gimp" },
    properties = { floating = true } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    -- { rule = { class = "Firefox" },
    -- properties = { tag = tags[1][2] } },
    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)
    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then
    awful.placement.no_overlap(c)
    awful.placement.no_offscreen(c)
    end
    end
    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(awful.titlebar.widget.iconwidget(c))
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(awful.titlebar.widget.floatingbutton(c))
    right_layout:add(awful.titlebar.widget.maximizedbutton(c))
    right_layout:add(awful.titlebar.widget.stickybutton(c))
    right_layout:add(awful.titlebar.widget.ontopbutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    -- The title goes in the middle
    local title = awful.titlebar.widget.titlewidget(c)
    title:buttons(awful.util.table.join(
    awful.button({ }, 1, function()
    client.focus = c
    c:raise()
    awful.mouse.client.move(c)
    end),
    awful.button({ }, 3, function()
    client.focus = c
    c:raise()
    awful.mouse.client.resize(c)
    end)
    -- Now bring it all together
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_right(right_layout)
    layout:set_middle(title)
    awful.titlebar(c):set_widget(layout)
    end
    end)
    client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
    client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
    Section "ServerLayout"
    Identifier "DualSreen"
    Screen 0 "Screen0"
    Screen 1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
    Option "Xinerama" "1" #To move windows between screens
    EndSection
    Section "Monitor"
    Identifier "Monitor0"
    Option "Enable" "true"
    EndSection
    Section "Monitor"
    Identifier "Monitor1"
    Option "Enable" "true"
    EndSection
    Section "Device"
    Identifier "Device0"
    Driver "nvidia"
    Screen 0
    EndSection
    Section "Device"
    Identifier "Device1"
    Driver "nvidia"
    Screen 1
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "TwinView" "0"
    SubSection "Display"
    Depth 24
    Modes "1920x1080_75.00"
    EndSubSection
    EndSection
    Section "Screen"
    Identifier "Screen1"
    Device "Device1"
    Monitor "Monitor1"
    DefaultDepth 24
    Option "TwinView" "0"
    SubSection "Display"
    Depth 24
    Modes "1280x1024_60.00"
    EndSubSection
    EndSection
    [2014-02-03 17:44] [PACMAN] upgraded archlinux-keyring (20131027-1 -> 20140124-1)
    [2014-02-03 17:44] [PACMAN] upgraded blas (3.4.2-2 -> 3.5.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded nss (3.15.3.1-1 -> 3.15.4-1)
    [2014-02-03 17:44] [PACMAN] upgraded xdg-utils (1.1.0.git20130520-1 -> 1.1.0.git20140109-1)
    [2014-02-03 17:44] [PACMAN] upgraded libgcrypt (1.5.3-1 -> 1.6.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded glibc (2.18-11 -> 2.18-12)
    [2014-02-03 17:44] [PACMAN] upgraded libdbus (1.6.18-3 -> 1.8.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded dbus (1.6.18-3 -> 1.8.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded libcap (2.23-2 -> 2.24-1)
    [2014-02-03 17:44] [PACMAN] upgraded util-linux (2.24-2 -> 2.24.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded systemd (208-3 -> 208-10)
    [2014-02-03 17:44] [PACMAN] upgraded pciutils (3.2.0-4 -> 3.2.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded chromium (31.0.1650.63-1 -> 32.0.1700.102-1)
    [2014-02-03 17:44] [PACMAN] upgraded libdrm (2.4.50-1 -> 2.4.52-1)
    [2014-02-03 17:44] [PACMAN] upgraded wayland (1.3.0-1 -> 1.4.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded llvm-libs (3.3-1 -> 3.4-1)
    [2014-02-03 17:44] [PACMAN] upgraded mesa (10.0.1-2 -> 10.0.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded libpng (1.6.7-1 -> 1.6.8-1)
    [2014-02-03 17:44] [PACMAN] upgraded gdk-pixbuf2 (2.30.2-1 -> 2.30.3-1)
    [2014-02-03 17:44] [PACMAN] upgraded cogl (1.16.0-2 -> 1.16.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded xkeyboard-config (2.10.1-1 -> 2.11-1)
    [2014-02-03 17:44] [PACMAN] upgraded libxkbcommon (0.3.2-1 -> 0.4.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded libevdev (0.4-2 -> 0.6-1)
    [2014-02-03 17:44] [PACMAN] upgraded clutter (1.16.2-1 -> 1.16.4-1)
    [2014-02-03 17:44] [PACMAN] upgraded colord (1.0.4-1 -> 1.0.6-1)
    [2014-02-03 17:44] [PACMAN] upgraded cppunit (1.13.1-1 -> 1.13.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded device-mapper (2.02.104-1 -> 2.02.105-1)
    [2014-02-03 17:44] [PACMAN] upgraded cryptsetup (1.6.3-1 -> 1.6.3-2)
    [2014-02-03 17:44] [PACMAN] upgraded e2fsprogs (1.42.8-2 -> 1.42.9-1)
    [2014-02-03 17:44] [PACMAN] upgraded libldap (2.4.38-1 -> 2.4.39-1)
    [2014-02-03 17:44] [PACMAN] upgraded krb5 (1.11.4-1 -> 1.12.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded curl (7.34.0-2 -> 7.35.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded dialog (1:1.2_20130928-1 -> 1:1.2_20140112-1)
    [2014-02-03 17:44] [PACMAN] upgraded pth (2.0.7-4 -> 2.0.7-5)
    [2014-02-03 17:44] [PACMAN] upgraded dirmngr (1.1.1-1 -> 1.1.1-2)
    [2014-02-03 17:44] [PACMAN] upgraded epdfview (0.1.8-4 -> 0.1.8-5)
    [2014-02-03 17:44] [PACMAN] upgraded exiv2 (0.23-2 -> 0.24-1)
    [2014-02-03 17:44] [PACMAN] upgraded gnutls (3.2.8-1 -> 3.2.10-1)
    [2014-02-03 17:44] [PACMAN] upgraded libvorbis (1.3.3-1 -> 1.3.4-1)
    [2014-02-03 17:44] [PACMAN] upgraded v4l-utils (1.0.0-2 -> 1.0.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded ffmpeg (1:2.1.1-3 -> 1:2.1.3-1)
    [2014-02-03 17:44] [PACMAN] upgraded fribidi (0.19.5-1 -> 0.19.6-1)
    [2014-02-03 17:44] [PACMAN] installed libatomic_ops (7.2.e-1)
    [2014-02-03 17:44] [PACMAN] upgraded gc (7.2.d-2 -> 7.4.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded gdbm (1.10-3 -> 1.11-1)
    [2014-02-03 17:44] [PACMAN] upgraded geeqie (1.1-2 -> 1.1-3)
    [2014-02-03 17:44] [PACMAN] upgraded geoip-database (20131106-1 -> 20140108-1)
    [2014-02-03 17:44] [PACMAN] upgraded gettext (0.18.3.1-2 -> 0.18.3.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded perl (5.18.1-1 -> 5.18.2-2)
    [2014-02-03 17:44] [PACMAN] upgraded pcre (8.34-1 -> 8.34-2)
    [2014-02-03 17:44] [PACMAN] upgraded git (1.8.5.2-1 -> 1.8.5.3-1)
    [2014-02-03 17:44] [PACMAN] upgraded glproto (1.4.16-1 -> 1.4.17-1)
    [2014-02-03 17:44] [PACMAN] upgraded gnupg (2.0.22-1 -> 2.0.22-2)
    [2014-02-03 17:44] [PACMAN] upgraded gparted (0.17.0-1 -> 0.17.0-2)
    [2014-02-03 17:44] [PACMAN] upgraded grub (1:2.00.1282.g5ae5c54-1 -> 1:2.02.beta2-1)
    [2014-02-03 17:44] [PACMAN] upgraded gstreamer (1.2.1-1 -> 1.2.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded gst-plugins-base-libs (1.2.1-1 -> 1.2.2-1)
    [2014-02-03 17:44] [PACMAN] upgraded librsvg (1:2.40.1-1 -> 1:2.40.1-3)
    [2014-02-03 17:44] [PACMAN] upgraded libwebp (0.3.1-3 -> 0.4.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded libsecret (0.16-1 -> 0.16-2)
    [2014-02-03 17:44] [PACMAN] upgraded libxslt (1.1.28-2 -> 1.1.28-3)
    [2014-02-03 17:44] [PACMAN] upgraded libxfont (1.4.6-1 -> 1.4.7-1)
    [2014-02-03 17:44] [PACMAN] upgraded xorg-server-common (1.14.5-2 -> 1.15.0-5)
    [2014-02-03 17:44] [PACMAN] upgraded xf86-input-evdev (2.8.2-1 -> 2.8.2-2)
    [2014-02-03 17:44] [PACMAN] installed libxshmfence (1.1-1)
    [2014-02-03 17:44] [PACMAN] upgraded xorg-server (1.14.5-2 -> 1.15.0-5)
    [2014-02-03 17:44] [PACMAN] upgraded nvidia-utils (331.20-1 -> 331.38-1)
    [2014-02-03 17:44] [PACMAN] upgraded nvidia-libgl (331.20-1 -> 331.38-1)
    [2014-02-03 17:44] [PACMAN] upgraded libcups (1.7.0-2 -> 1.7.1-3)
    [2014-02-03 17:44] [PACMAN] upgraded gtk3 (3.10.6-1 -> 3.10.7-1)
    [2014-02-03 17:44] [PACMAN] upgraded webkitgtk (2.2.3-1 -> 2.2.4-2)
    [2014-02-03 17:44] [PACMAN] upgraded gthumb (3.2.6-1 -> 3.2.6-3)
    [2014-02-03 17:44] [PACMAN] upgraded libcdio (0.90-2 -> 0.92-1)
    [2014-02-03 17:44] [PACMAN] upgraded libcdio-paranoia (10.2+0.90+1-1 -> 10.2+0.90+1-2)
    [2014-02-03 17:44] [PACMAN] upgraded gvfs (1.18.3-1 -> 1.18.3-3)
    [2014-02-03 17:44] [PACMAN] upgraded vim-runtime (7.4.86-1 -> 7.4.135-2)
    [2014-02-03 17:44] [PACMAN] upgraded ruby (2.0.0_p353-1 -> 2.1.0-2)
    [2014-02-03 17:44] [PACMAN] upgraded gvim (7.4.86-1 -> 7.4.135-2)
    [2014-02-03 17:44] [PACMAN] upgraded hdf5 (1.8.11-1 -> 1.8.12-1)
    [2014-02-03 17:44] [PACMAN] upgraded wxgtk (2.8.12.1-5 -> 3.0.0-2)
    [2014-02-03 17:44] [PACMAN] upgraded lapack (3.4.2-2 -> 3.5.0-1)
    [2014-02-03 17:44] [PACMAN] upgraded perl-image-exiftool (9.27-1 -> 9.46-1)
    [2014-02-03 17:45] [PACMAN] upgraded hugin (2013.0.0-3 -> 2013.0.0-6)
    [2014-02-03 17:45] [PACMAN] upgraded imagemagick (6.8.8.1-1 -> 6.8.8.4-2)
    [2014-02-03 17:45] [PACMAN] upgraded imlib2 (1.4.5-6 -> 1.4.6-1)
    [2014-02-03 17:45] [PACMAN] upgraded inetutils (1.9.1.341-2 -> 1.9.2-1)
    [2014-02-03 17:45] [PACMAN] upgraded isl (0.12.1-2 -> 0.12.2-1)
    [2014-02-03 17:45] [PACMAN] upgraded jack (0.121.3-7 -> 0.124.1-1)
    [2014-02-03 17:45] [PACMAN] upgraded jre7-openjdk-headless (7.u45_2.4.3-1 -> 7.u51_2.4.5-1)
    [2014-02-03 17:45] [PACMAN] upgraded jre7-openjdk (7.u45_2.4.3-1 -> 7.u51_2.4.5-1)
    [2014-02-03 17:45] [PACMAN] upgraded jdk7-openjdk (7.u45_2.4.3-1 -> 7.u51_2.4.5-1)
    [2014-02-03 17:45] [PACMAN] upgraded strigi (0.7.8-4 -> 0.7.8-5)
    [2014-02-03 17:46] [PACMAN] upgraded kdelibs (4.12.0-1 -> 4.12.1-1)
    [2014-02-03 17:46] [PACMAN] upgraded ldns (1.6.16-1 -> 1.6.17-1)
    [2014-02-03 17:46] [PACMAN] upgraded lib32-glibc (2.18-11 -> 2.18-12)
    [2014-02-03 17:46] [PACMAN] upgraded libdvdread (4.2.0-1 -> 4.2.1-1)
    [2014-02-03 17:46] [PACMAN] upgraded libdvdnav (4.2.0-2 -> 4.2.1-1)
    [2014-02-03 17:46] [PACMAN] upgraded libgnome-keyring (3.10.1-1 -> 3.10.1-2)
    [2014-02-03 17:46] [PACMAN] upgraded libgphoto2 (2.5.2-2 -> 2.5.3.1-1)
    [2014-02-03 17:46] [PACMAN] upgraded libmpc (1.0.1-2 -> 1.0.2-2)
    [2014-02-03 17:46] [PACMAN] upgraded libpcap (1.5.1-1 -> 1.5.3-1)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-en-US (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded rasqal (1:0.9.30-3 -> 1:0.9.30-4)
    [2014-02-03 17:46] [PACMAN] upgraded redland (1:1.0.16-2 -> 1:1.0.17-1)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-common (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-base (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-calc (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-draw (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-gnome (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-impress (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-kde4 (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-math (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-postgresql-connector (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-sdk (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-sdk-doc (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libreoffice-writer (4.1.4-1 -> 4.1.4-3)
    [2014-02-03 17:46] [PACMAN] upgraded libvncserver (0.9.9-2 -> 0.9.9-3)
    [2014-02-03 17:46] [PACMAN] upgraded libwbclient (4.1.3-1 -> 4.1.4-1)
    [2014-02-03 17:46] [PACMAN] upgraded libxnvctrl (331.20-1 -> 331.38-2)
    [2014-02-03 17:47] [PACMAN] upgraded linux-firmware (20131013.7d0c7a8-1 -> 20140123.418320b-1)
    [2014-02-03 17:47] [ALPM-SCRIPTLET] >>> Updating module dependencies. Please wait ...
    [2014-02-03 17:47] [ALPM-SCRIPTLET] >>> Generating initial ramdisk, using mkinitcpio. Please wait...
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Starting build: 3.12.9-2-ARCH
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [base]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [udev]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [autodetect]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [modconf]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [block]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [filesystems]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [keyboard]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [fsck]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Generating module dependencies
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Creating gzip initcpio image: /boot/initramfs-linux.img
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Image generation successful
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Starting build: 3.12.9-2-ARCH
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [base]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [udev]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [modconf]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [block]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: aic94xx
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: smsmdtv
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [filesystems]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [keyboard]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] -> Running build hook: [fsck]
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Generating module dependencies
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
    [2014-02-03 17:47] [ALPM-SCRIPTLET] ==> Image generation successful
    [2014-02-03 17:47] [PACMAN] upgraded linux (3.12.6-1 -> 3.12.9-2)
    [2014-02-03 17:47] [PACMAN] upgraded linux-headers (3.12.6-1 -> 3.12.9-2)
    [2014-02-03 17:47] [PACMAN] upgraded lirc-utils (1:0.9.0-67 -> 1:0.9.0-69)
    [2014-02-03 17:47] [PACMAN] upgraded lm_sensors (3.3.4-1 -> 3.3.5-1)
    [2014-02-03 17:47] [PACMAN] upgraded lvm2 (2.02.104-1 -> 2.02.105-1)
    [2014-02-03 17:47] [PACMAN] upgraded lxappearance (0.5.4-1 -> 0.5.5-1)
    [2014-02-03 17:47] [PACMAN] upgraded man-db (2.6.5-1 -> 2.6.6-1)
    [2014-02-03 17:47] [PACMAN] upgraded man-pages (3.55-1 -> 3.57-1)
    [2014-02-03 17:47] [PACMAN] upgraded mpg123 (1.17.0-1 -> 1.18.0-1)
    [2014-02-03 17:47] [PACMAN] upgraded smbclient (4.1.3-1 -> 4.1.4-1)
    [2014-02-03 17:47] [PACMAN] upgraded mplayer (36498-4 -> 36498-5)
    [2014-02-03 17:47] [PACMAN] upgraded ntp (4.2.6.p5-17 -> 4.2.6.p5-18)
    [2014-02-03 17:47] [PACMAN] upgraded nvidia (331.20-3 -> 331.38-2)
    [2014-02-03 17:47] [ALPM] warning: /etc/ssh/sshd_config installed as /etc/ssh/sshd_config.pacnew
    [2014-02-03 17:47] [PACMAN] upgraded openssh (6.4p1-1 -> 6.5p1-1)
    [2014-02-03 17:48] [PACMAN] upgraded opera (12.16.1860-1 -> 12.16.1860-2)
    [2014-02-03 17:48] [ALPM] warning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew
    [2014-02-03 17:48] [PACMAN] upgraded pacman-mirrorlist (20130830-1 -> 20140107-1)
    [2014-02-03 17:48] [PACMAN] upgraded procps-ng (3.3.9-1 -> 3.3.9-2)
    [2014-02-03 17:48] [PACMAN] upgraded python2-mako (0.9.0-1 -> 0.9.1-1)
    [2014-02-03 17:48] [PACMAN] upgraded python2-pillow (2.2.2-1 -> 2.3.0-3)
    [2014-02-03 17:48] [PACMAN] upgraded python2-setuptools (2.0.2-1 -> 2.1-1)
    [2014-02-03 17:48] [PACMAN] upgraded redland-storage-virtuoso (1:1.0.16-2 -> 1:1.0.17-1)
    [2014-02-03 17:48] [PACMAN] upgraded s-nail (14.5.1-1 -> 14.5.2-2)
    [2014-02-03 17:48] [PACMAN] upgraded sudo (1.8.8-1 -> 1.8.9.p4-1)
    [2014-02-03 17:48] [PACMAN] upgraded syslog-ng (3.5.2-1 -> 3.5.3-1)
    [2014-02-03 17:48] [PACMAN] upgraded systemd-sysvcompat (208-3 -> 208-10)
    [2014-02-03 17:48] [ALPM-SCRIPTLET] In order to use the new version, reload all virtualbox modules manually.
    [2014-02-03 17:48] [PACMAN] upgraded virtualbox-host-modules (4.3.6-2 -> 4.3.6-4)
    [2014-02-03 17:48] [PACMAN] upgraded virtualbox (4.3.6-2 -> 4.3.6-3)
    [2014-02-03 17:48] [PACMAN] upgraded virtualbox-guest-modules (4.3.6-2 -> 4.3.6-4)
    [2014-02-03 17:48] [PACMAN] upgraded vlc (2.1.2-1 -> 2.1.2-3)
    [2014-02-03 17:48] [PACMAN] upgraded wget (1.14-3 -> 1.15-1)
    [2014-02-03 17:48] [PACMAN] upgraded xcb-util-wm (0.3.9-1 -> 0.4.0-1)
    [2014-02-03 17:48] [PACMAN] upgraded xextproto (7.2.1-1 -> 7.3.0-1)
    [2014-02-03 17:48] [PACMAN] upgraded xine-lib (1.2.4-1 -> 1.2.4-3)
    [2014-02-03 17:48] [PACMAN] upgraded xorg-server-xephyr (1.14.5-2 -> 1.15.0-5)
    Last edited by orjanp (2014-02-06 14:43:51)

    orjanp wrote:Thanks, not sure what a compositor is, so I don't know. I guess, then I dont run one.
    https://wiki.archlinux.org/index.php/Compton
    https://wiki.archlinux.org/index.php/Xcompmgr
    https://wiki.archlinux.org/index.php/Cairo_Compmgr

  • In the background process field tcode is clean

    Executing a transaction in the background field tcode is clean.
    For example the transaction mir11 run in the background does not fill the field BKPG-TCODE as it happens running online.
    there 'a solution?
    thanks

    Hi Prashant,
    I know that the value is empty.
    I need for example, because there are rules that check the TCODE to control (user exit), replacements and / or validation.
    These work online while in the background is not.
    Moreover, in the transaction MR11, sap record documents setting the transaction who created (BKPF-TCODE) and there is a check for the transfer (MR11SHOW) which controls the TCODE to do other things.
    However I would also like to know if there is a rule or SAP note clarifying that the TCODE is never set in the background and that can not be used so as to seek other solutions.
    thanks and excuse my English!
    Caterina

  • Running something in the background?

    Is there away to invoke a method call as background low priority w/o waiting for return?  sort of like a fork?   i'm needing to have a viewstack draw its second child in the background while the user interacts with the first child.  by the time the user is done with the first child, the second child should be ready to display.
    i'm sort of wanting to apply video page flipping methodology to this.
    thanks in advance!
    yuliang

    creationPolicy="all" will work if you have only two children and their content never change.
    But if you have many more children or your children content change, you need to use what is called deffered instantiation.
    In that case, you use creationPolicy="none" and you explicitly tell the viewstack children to create their component by a call to
    container.createComponentsFromDescriptors(recurse:Boolean):Boolean

  • Splitting a background job over different application servers

    I am running my program in the background and its taking long to complete. I have done some optimizations and it has greatly improved but still not running as fast as I want because its processing large amounts of data and the amount of time that I want all the data to be processed is little compared to the runtime of the program so now I want to split the background job over different application servers. Can someone tell me how do I go about doing that and example ABAP code will be greatly appreciated.
    Many thanks

    Hello, If you are interested in BANK_PP_JOBCTRL, here are some of the inputs. Its work very efficeintly, though you will have to investigate a little bit froom your end.
    With in package bank_pp_jobctrl , you will find these FM. I have mentioned the use of it as well.
    RBANK_PP_DEMO_GENERATE_DATA: To create the Business data for Parallel Processing.
    RBANK_PP_DEMO_CREATE_PACKMAN: To create Packages out of the business data.
    RBANK_PP_DEMO_START : To process data in parallel.
    RBANK_PP_DEMO_RESTART: To re-process failed records during parallel Processing.
    You will need to call above in your report program in the same sequence as shown above based on you requirement. I did used only first three.
    TO generate events you will need to execute SE38: RBANK_PP_GENERATE_APPL to create application this will create the FM with numbers as shown below.
    Events: This PPF automatically triggers various events during the execution of theStart Program. Each of this event is associated with a custom function module which contains the business logic.
    For implementing this framework, at least the below mentioned methods should be implemented .
    0205 – Create Package Templates  : This method is used to write the logic for creating packages which in turn decides the data to be processed in parallel. This function module is called in loop at the loop ends only when the exporting parameter E_FLG_NO_PACKAGE has a value ‘X’ passed back to the Parallel processing framework.
    1000 – Initialize Package :This method is the first step in processing a package. It fetches all the parameters required for the parallel processing to start. All the parameters are passed to this FM as importing parameters and it is the responsibility of this FM to save it in global parameters so that it can be utilized by Parallel processing framework.
    1100 – Selection per Range : This method is used to read data for a package. The objects selected must be buffered in global data areas of the application for later processing. The package information is stored as interval in global parameters and this information is used to select the package specific data.
    1200 – Selection for Known Object List: This method is used instead of method 1100 if it is a restart run. The objects to be processed are known already.
    1300 – Edit Objects: The processing logic to be implemented using parallel processing for the selected objects is written in this method. This function module is used to implement the business logic and
    Also, obiviously you would like to log your messages , so the framwrok provides macros to do it.
    Let me know if you need some further help as I know there is very little information provided on this.
    Regards/Ajay

  • How to set the BDC Call transaction Program in Background

    Hi All,
            I have a requirement. If i execute a BDC Call Transaction Program in Background it is showing 0 seconds means it is not executing. Normally it is working properly. If execute in background it is not executing. But my client wnats to execute in background. How can i overcome this could you please suggest me?
    Thanks in Advance

    hi
    To schedule the processing of session in backgroud you can use report RSBDCSUB.
    You can do in two ways -
    Ist Method
    Define a batch job in SM36 with two steps -
    First Step - Your Custom Program ( with a variant )
    Second Step - RSBDCSUB ( With a variant having
    the session name ).
    2nd Method
    In your program after BDC_CLOSE_GROUP add a line.
    SUBMIT RSBDCSUB WITH MAPPE EQ <SESSION_NAME>.
    Scedule you program as a batch job in SM36 ( Single Step ). ( You can also test the program by running in online mode . After your programs executes , go and see in SM35. You will see that your session created in being processed or has been processed in background).
    In Both ways the session created by BDC_OPEN_GROUP will be processed in background
    You would have to create a job on the fly to do this. This example shows how to kick off a background job via an ABAP program.
    report zrich_0004 .
    data:   sdate type sy-datum,
            stime type sy-uzeit,
            l_valid,
            ls_params like pri_params,
            l_jobcount like tbtcjob-jobcount,
            l_jobname  like tbtcjob-jobname.
    start-of-selection.
    Get Print Parameters
      call function 'GET_PRINT_PARAMETERS'
           exporting
                no_dialog      = 'X'
           importing
                valid          = l_valid
                out_parameters = ls_params.
    Open Job
      l_jobname = 'ZRICH_0005'.
      call function 'JOB_OPEN'
           exporting
                jobname  = l_jobname
           importing
                jobcount = l_jobcount.
    Submit report to job
      submit zrich_0005   
           via job     l_jobname
               number  l_jobcount
           to sap-spool without spool dynpro
               spool parameters ls_params
                  and return.
    Schedule and close job.
      call function 'JOB_CLOSE'
           exporting
                jobcount  = l_jobcount
                jobname   = l_jobname
                strtimmed = 'X.
    regards
    Satish

  • The background job "SM:EXEC SERVICES" is ending Green in Just 0 seconds

    Solution Manager 4.0
    In our customer system the background job "SM:EXEC SERVICES" is ending Green in Just 0 seconds or just 1 second.
    Here is the log:
    Job log overview for job:    SM:EXEC SERVICES 000000046740000 / 12193100
    Date       Time     Message text                                                                               Message class Message no. Message type
    28.04.2009 12:19:31 Job started                                                                                00           516          S
    28.04.2009 12:19:31 Step 001 started (program RDSMOPBACK_AUTOSESSIONS, variant &0000000001054, user ID BJ8099)      00           550          S
    28.04.2009 12:19:32 RDSMOPBACK_AUTOSESSIONS : MemSize Begin = 1374064                                              DSWP          000          I
    28.04.2009 12:19:32 Solution Enterprice Portal(GGP) is being edited (Operations)                                   DSWP          438          I
    28.04.2009 12:19:32 RDSMOPBACK_AUTOSESSIONS : MemSize End = 20902480                                               DSWP          000          I
    28.04.2009 12:19:32 Job finished                                                                                00           517          S
    Due to this EWA reports are not being generated.
    What could be the reason that the Job ends immediately with no significant warnings or error in the log?
    Many thanks in advance,
    Manoj

    Hi Manoj
    Following Notes will be helpful to you to analyze the problem
    Note 894279 - Background processing in SAP Solution Manager
    Note 1246329 - RDSMOPBACK_AUTOSESSIONS: Additional displays
    Note 1163920 - SM:Scheduler: Improved display in job log
    Note 946607 - Automatic diagnosis in SAP Solution Manager
    SAP Note 727998 "Complete Replacement of Service Definitions for SDCC/SDCCN"
    Note 986973 - How to analyze problems with EarlyWatch Alerts in SolMan
    however, is this problem occurring for sessions of ALL the systems today, if yes, then something wrong only in solman, last note of the above shows you to manually run the job interactively, may be will help in analyzing and i hope SDCCN settings in Solman are already fine..
    thanks
    Bhudev

  • My screen freezes after a few seconds on my iphone 5c and the display fades slightly so you can see faint lines in the background. I'm not sure whether this is easily fixable or a major problem. Have reset the device, but this has worked. Any ideas?

    My screen freezes after a few seconds on my iphone 5c and the display fades slightly so you can see faint lines in the background. I'm not sure whether this is easily fixable or a major problem. Have reset the device, but this has worked. Any ideas?

    To make sure that this is not software related, set it up as new device, explained in this article:
    How to erase your iOS device and then set it up as a new device or restore it from backups

  • When playing ituens music on my windows computer - every few seconds there is a ctrang horn beep in the background - like there is an error message worning.  whats up

    when using ituens to playback music - there is a strange horn like beep sound in the background every 1 or less.  what to do to get rid of it

    Yes...It is very annoying. I spent all day trying to get this worked out and after a lot of trial and error and a lot of restarts I got iTunes to work.
    I deduced that I had a conflict of some sort and ruled it down to my temorary files that windows doesn't delete after it is finished with them. I cleaned out my temporary file by using this webpage http://personal-computer-tutor.com/deletingtempfiles.htm . After I did this my computer worked like it did when it was new!!
    This seemed to work for me and it might for you if you are having problems.

  • Bluetooth Problems when running other programes in the background

    I have been experiening problems with the bluthooth conenctivity on my 2012 Macbook Air.
    It is the 2.0GHZ i7 8GB RAm with 256Gb flash storage model released June 2012.
    I use it in clamsehll mode hoked up to an external HD monitor using the Mini display port to HDMI adaptor and then link it to an external LG soundbar using bluetooht for audio.
    No other device has any issue linking ot the LG soundbar but when i am using my Macbook air and downloading something, even a tiny file that might only be goign at a speed of a few kb/s ( I have very slow internet speed ) it casues the bluetooth to cut out every 5-10 seconds and then some times it will work for an hour uninterupted.
    The only other bluthooth device I have connected is my Magic Trackpad and I have tried it without this with the same results occuring.
    Has anyone else experienced this and if so has nayone found a soltuion so that i can run a basic video file and hear the sound clearly and uninteruopted while using my Macbook to to run some other vey basic tasks in the background?
    Any help is greatly appreciated.

    I believe the process to do this is to:
    1)  Go to transaction SM36 to create a batch job. 
    2)  Enter a job name
    3)  Select "Step", specify the ABAP program name (for ME2M, this is RM06EM00), then type in the variant you wish to use
    4)  Save, then go to Start Condition and specify when you want this batch job to run, along with the frequency
    Edit - nevermind, I misunderstood the issue.  I am unsure of how to have the layout automatically populated.
    Edited by: Andy Slania on Jan 26, 2011 10:28 PM

  • Running a cycle count job in the background

    I am trying to set up a job to run in the background to create the inventory documents for the warehouse for a week.  The program is RLINV050 and I have a variant for the settings (this is a program that calls transaction LX26).  The problem is when I run this program it only performs the first screen of the transaction.  I need to know how to create a step that  will perform and execute so it will go to the second screen of the transaction and then another step that will perform a save.  This will then create documents.  I have seen this done at companies I have been at in the past but I don't know how they set it up!  If anyone can help me I would really appreciate it!  Thanks

    Create a script that call the script and passes the parameters.
    i.e.
    vi wrapper_master_tts_transfer.ksh
    #!/bin/ksh
    export RUN_DIR=<path to script>
    $RUN_DIR/master_tts_transfer -e 10.87.90.204
    Then run
    nohup ./wrapper_master_tts_transfer.ksh &

Maybe you are looking for

  • IPhone Users Email Account Settings Change Somehow and Reply to All CC's themselves

    I have an odd one here for sure.   I am an exchange administrator for a organization and we believe that since getting iPhone 6's two of my execs have had an issue where their iphone AND their ipad have issues.  It is reported that a reply to all wil

  • Regarding Logical systems

    Hi all,           when i was trying to create new logical systems in trnsaction code BD54. It is said that you are not authorization to create logical systems. To get authorize what should i required? venkat

  • How can I get VoiceOver to read two languages correctly?

    How can I get VoiceOver to read two languages correctly? in a dual-language book (English and Spanish)? I've used the <lang> tag, but VoiceOver doesn't switch from reading in English to Spanish. Both languages are selected in Settings. Does VoiceOver

  • InDesign CS5 Crashes when exporting PDF.  10.7.4

    We are rolling out a fresh install of Lion and a fresh install of CS5 to all our users.  So far it has been uneventful.  However a user who got his new computer/image last week cannot export any InDesign doc to PDF without it crashing.  I've removed

  • Hp Pavilion dv7 no sound

    My hp pavilion dv7's sound driver is not working