Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1----------------------------------------------------------------------------
2--- A notification popup widget.
3--
4-- This is the legacy notification widget. It was the default until Awesome
5-- v4.3 but is now being deprecated in favor of a more flexible widget.
6--
7-- The reason for this is/was that this widget is inflexible and mutate the
8-- state of the notification object in a way that hinder other notification
…lines 9–605 unchanged (597 lines)

After

1----------------------------------------------------------------------------
2--- A notification popup widget (deprecated implementation).
3--
4-- This is the legacy notification widget. It was the default until Awesome
5-- v4.3 but is now being deprecated in favor of a more flexible widget.
6--
7-- The reason for this is/was that this widget is inflexible and mutate the
8-- state of the notification object in a way that hinder other notification
…lines 9–605 unchanged (597 lines)

Before

chunk
comment
-- "--"
comment_content "------------------------------------------------------------"...
comment
-- "--"
comment_content "- A notification popup widget."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " This is the legacy notification widget. It was the default "...
comment
-- "--"
comment_content " v4.3 but is now being deprecated in favor of a more flexibl"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " The reason for this is/was that this widget is inflexible a"...
comment
-- "--"
comment_content " state of the notification object in a way that hinder other"...
comment
-- "--"
comment_content " widgets."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " If no other notification widget is specified, Awesome fallb"...
comment
-- "--"
comment_content " widget."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content "@DOC_naughty_actions_EXAMPLE@"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " Use the `naughty.notification.position` property to control"...
comment
-- "--"
comment_content " is located."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content "@DOC_awful_notification_corner_EXAMPLE@"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @author koniu <gkusnierz@gmail.com>"
comment
-- "--"
comment_content " @author Emmanuel Lepage Vallee <elv1313@gmail.com>"
comment
-- "--"
comment_content " @copyright 2008 koniu"
comment
-- "--"
comment_content " @copyright 2017 Emmanuel Lepage Vallee"
comment
-- "--"
comment_content " @popupmod naughty.layout.legacy"
comment
-- "--"
comment_content "------------------------------------------------------------"...
variable_declaration
local "local"
assignment_statement
variable_list
identifier "capi"
= "="
expression_list
table_constructor
{ "{"
field
identifier "screen"
= "="
identifier "screen"
, ","
field
identifier "awesome"
= "="
identifier "awesome"
} "}"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "naughty"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "naughty.core"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "screen"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.screen"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "button"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.button"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "beautiful"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "beautiful"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "surface"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.surface"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "wibox"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "wibox"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "gfs"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.filesystem"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "timer"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.timer"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "gmath"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.math"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "cairo"
= "="
expression_list
dot_index_expression
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "lgi"
" "\""
) ")"
. "."
identifier "cairo"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "util"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.util"
" "\""
) ")"
function_declaration (+24 nodes collapsed)
comment
-- "--"
comment_content " This is a copy of the table found in `naughty.core`. The re"...
comment
-- "--"
comment_content " exists is to make sure there is only unidirectional couplin"...
comment
-- "--"
comment_content " legacy widget (this class) and `naughty.core`. Exposing the"...
comment
-- "--"
comment_content " notification list is also a bad design and might cause indi"...
comment
-- "--"
comment_content " corruption. While it cannot be removed from the public API "...
comment
-- "--"
comment_content " least be blacklisted internally."
variable_declaration (+26 nodes collapsed)
function_call (+77 nodes collapsed)
function_call (+49 nodes collapsed)
comment
-- "--"
comment_content "- Sum heights of notifications at position"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @param s Screen to use"
comment
-- "--"
comment_content " @param position top_right | top_left | bottom_right | botto"...
comment
-- "--"
comment_content " | top_middle | bottom_middle | middle"
comment
-- "--"
comment_content " @param[opt] idx Index of last notification"
comment
-- "--"
comment_content " @return Height of notification stack with spacing"
function_declaration (+108 nodes collapsed)
comment
-- "--"
comment_content "- Evaluate desired position of the notification by index - i"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @param s Screen to use"
comment
-- "--"
comment_content " @param position top_right | top_left | bottom_right | botto"...
comment
-- "--"
comment_content " | top_middle | bottom_middle | middle"
comment
-- "--"
comment_content " @param idx Index of the notification"
comment
-- "--"
comment_content " @param[opt] width Popup width."
comment
-- "--"
comment_content " @param height Popup height"
comment
-- "--"
comment_content " @return Absolute position and index in { x = X, y = Y, idx "...
function_declaration (+588 nodes collapsed)
comment
-- "--"
comment_content "- Re-arrange notifications according to their position and i"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @return None"
function_declaration (+120 nodes collapsed)
function_declaration (+614 nodes collapsed)
variable_declaration
local "local"
assignment_statement
variable_list
identifier "escape_pattern"
= "="
expression_list
string
" "\""
string_content "[<>&]"
" "\""
variable_declaration (+48 nodes collapsed)
comment
-- "--"
comment_content " Cache the markup"
function_declaration (+393 nodes collapsed)
function_declaration (+86 nodes collapsed)
function_declaration (+91 nodes collapsed)
function_call
dot_index_expression
identifier "naughty"
. "."
identifier "connect_signal"
arguments
( "("
string
" "\""
string_content "destroyed"
" "\""
, ","
identifier "cleanup"
) ")"
comment
-- "--"
comment_content " Don't copy paste the list of fallback, it is hard to spot m"...
function_declaration (+63 nodes collapsed)
function_declaration (+2616 nodes collapsed)
function_call
dot_index_expression
identifier "naughty"
. "."
identifier "connect_signal"
arguments
( "("
string
" "\""
string_content "request::fallback"
" "\""
, ","
dot_index_expression
identifier "naughty"
. "."
identifier "default_notification_handler"
) ")"

After

chunk
comment
-- "--"
comment_content "------------------------------------------------------------"...
comment
-- "--"
comment_content "- A notification popup widget (deprecated implementation)."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " This is the legacy notification widget. It was the default "...
comment
-- "--"
comment_content " v4.3 but is now being deprecated in favor of a more flexibl"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " The reason for this is/was that this widget is inflexible a"...
comment
-- "--"
comment_content " state of the notification object in a way that hinder other"...
comment
-- "--"
comment_content " widgets."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " If no other notification widget is specified, Awesome fallb"...
comment
-- "--"
comment_content " widget."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content "@DOC_naughty_actions_EXAMPLE@"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " Use the `naughty.notification.position` property to control"...
comment
-- "--"
comment_content " is located."
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content "@DOC_awful_notification_corner_EXAMPLE@"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @author koniu &lt;gkusnierz@gmail.com&gt;"
comment
-- "--"
comment_content " @author Emmanuel Lepage Vallee &lt;elv1313@gmail.com&gt;"
comment
-- "--"
comment_content " @copyright 2008 koniu"
comment
-- "--"
comment_content " @copyright 2017 Emmanuel Lepage Vallee"
comment
-- "--"
comment_content " @popupmod naughty.layout.legacy"
comment
-- "--"
comment_content "------------------------------------------------------------"...
variable_declaration
local "local"
assignment_statement
variable_list
identifier "capi"
= "="
expression_list
table_constructor
{ "{"
field
identifier "screen"
= "="
identifier "screen"
, ","
field
identifier "awesome"
= "="
identifier "awesome"
} "}"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "naughty"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "naughty.core"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "screen"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.screen"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "button"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.button"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "beautiful"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "beautiful"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "surface"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.surface"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "wibox"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "wibox"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "gfs"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.filesystem"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "timer"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.timer"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "gmath"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "gears.math"
" "\""
) ")"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "cairo"
= "="
expression_list
dot_index_expression
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "lgi"
" "\""
) ")"
. "."
identifier "cairo"
variable_declaration
local "local"
assignment_statement
variable_list
identifier "util"
= "="
expression_list
function_call
identifier "require"
arguments
( "("
string
" "\""
string_content "awful.util"
" "\""
) ")"
function_declaration (+24 nodes collapsed)
comment
-- "--"
comment_content " This is a copy of the table found in `naughty.core`. The re"...
comment
-- "--"
comment_content " exists is to make sure there is only unidirectional couplin"...
comment
-- "--"
comment_content " legacy widget (this class) and `naughty.core`. Exposing the"...
comment
-- "--"
comment_content " notification list is also a bad design and might cause indi"...
comment
-- "--"
comment_content " corruption. While it cannot be removed from the public API "...
comment
-- "--"
comment_content " least be blacklisted internally."
variable_declaration (+26 nodes collapsed)
function_call (+77 nodes collapsed)
function_call (+49 nodes collapsed)
comment
-- "--"
comment_content "- Sum heights of notifications at position"
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @param s Screen to use"
comment
-- "--"
comment_content " @param position top_right | top_left | bottom_right | botto"...
comment
-- "--"
comment_content " | top_middle | bottom_middle | middle"
comment
-- "--"
comment_content " @param[opt] idx Index of last notification"
comment
-- "--"
comment_content " @return Height of notification stack with spacing"
function_declaration (+108 nodes collapsed)
comment
-- "--"
comment_content "- Evaluate desired position of the notification by index - i"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @param s Screen to use"
comment
-- "--"
comment_content " @param position top_right | top_left | bottom_right | botto"...
comment
-- "--"
comment_content " | top_middle | bottom_middle | middle"
comment
-- "--"
comment_content " @param idx Index of the notification"
comment
-- "--"
comment_content " @param[opt] width Popup width."
comment
-- "--"
comment_content " @param height Popup height"
comment
-- "--"
comment_content " @return Absolute position and index in { x = X, y = Y, idx "...
function_declaration (+588 nodes collapsed)
comment
-- "--"
comment_content "- Re-arrange notifications according to their position and i"...
comment
-- "--"
comment_content ""
comment
-- "--"
comment_content " @return None"
function_declaration (+120 nodes collapsed)
function_declaration (+614 nodes collapsed)
variable_declaration
local "local"
assignment_statement
variable_list
identifier "escape_pattern"
= "="
expression_list
string
" "\""
string_content "[<>&]"
" "\""
variable_declaration (+48 nodes collapsed)
comment
-- "--"
comment_content " Cache the markup"
function_declaration (+393 nodes collapsed)
function_declaration (+86 nodes collapsed)
function_declaration (+91 nodes collapsed)
function_call
dot_index_expression
identifier "naughty"
. "."
identifier "connect_signal"
arguments
( "("
string
" "\""
string_content "destroyed"
" "\""
, ","
identifier "cleanup"
) ")"
comment
-- "--"
comment_content " Don't copy paste the list of fallback, it is hard to spot m"...
function_declaration (+63 nodes collapsed)
function_declaration (+2616 nodes collapsed)
function_call
dot_index_expression
identifier "naughty"
. "."
identifier "connect_signal"
arguments
( "("
string
" "\""
string_content "request::fallback"
" "\""
, ","
dot_index_expression
identifier "naughty"
. "."
identifier "default_notification_handler"
) ")"