Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
6a4f9be6
Commit
6a4f9be6
authored
Jun 04, 2011
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
XCB SD: cosmetic changes
parent
195f14da
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
18 deletions
+20
-18
modules/services_discovery/xcb_apps.c
modules/services_discovery/xcb_apps.c
+20
-18
No files found.
modules/services_discovery/xcb_apps.c
View file @
6a4f9be6
...
...
@@ -64,13 +64,13 @@ struct services_discovery_sys_t
xcb_atom_t
net_client_list
;
xcb_atom_t
net_wm_name
;
xcb_window_t
root_window
;
void
*
node
s
;
void
*
app
s
;
};
static
void
*
Run
(
void
*
);
static
void
Update
(
services_discovery_t
*
);
static
void
Del
Item
(
void
*
);
static
void
AddDesktop
Item
(
services_discovery_t
*
);
static
void
Update
Apps
(
services_discovery_t
*
);
static
void
Del
App
(
void
*
);
static
void
AddDesktop
(
services_discovery_t
*
);
static
int
vlc_sd_probe_Open
(
vlc_object_t
*
obj
)
{
...
...
@@ -130,7 +130,7 @@ static int Open (vlc_object_t *obj)
}
/* Add a permanent item for the entire desktop */
AddDesktop
Item
(
sd
);
AddDesktop
(
sd
);
p_sys
->
root_window
=
scr
->
root
;
xcb_change_window_attributes
(
conn
,
scr
->
root
,
XCB_CW_EVENT_MASK
,
...
...
@@ -161,8 +161,8 @@ static int Open (vlc_object_t *obj)
free
(
r
);
}
p_sys
->
node
s
=
NULL
;
Update
(
sd
);
p_sys
->
app
s
=
NULL
;
Update
Apps
(
sd
);
if
(
vlc_clone
(
&
p_sys
->
thread
,
Run
,
sd
,
VLC_THREAD_PRIORITY_LOW
))
goto
error
;
...
...
@@ -186,7 +186,7 @@ static void Close (vlc_object_t *obj)
vlc_cancel
(
p_sys
->
thread
);
vlc_join
(
p_sys
->
thread
,
NULL
);
xcb_disconnect
(
p_sys
->
conn
);
tdestroy
(
p_sys
->
nodes
,
DelItem
);
tdestroy
(
p_sys
->
apps
,
DelApp
);
free
(
p_sys
);
}
...
...
@@ -214,7 +214,7 @@ static void *Run (void *data)
const
xcb_property_notify_event_t
*
pn
=
(
xcb_property_notify_event_t
*
)
ev
;
if
(
pn
->
atom
==
p_sys
->
net_client_list
)
Update
(
sd
);
Update
Apps
(
sd
);
}
free
(
ev
);
}
...
...
@@ -223,6 +223,7 @@ static void *Run (void *data)
return
NULL
;
}
/*** Application windows ***/
struct
app
{
xcb_window_t
xid
;
/* must be first for cmpapp */
...
...
@@ -230,7 +231,7 @@ struct app
services_discovery_t
*
owner
;
};
static
struct
app
*
Add
Item
(
services_discovery_t
*
sd
,
xcb_window_t
xid
)
static
struct
app
*
Add
App
(
services_discovery_t
*
sd
,
xcb_window_t
xid
)
{
services_discovery_sys_t
*
p_sys
=
sd
->
p_sys
;
char
*
mrl
,
*
name
;
...
...
@@ -276,7 +277,7 @@ static struct app *AddItem (services_discovery_t *sd, xcb_window_t xid)
return
app
;
}
static
void
Del
Item
(
void
*
data
)
static
void
Del
App
(
void
*
data
)
{
struct
app
*
app
=
data
;
...
...
@@ -297,7 +298,7 @@ static int cmpapp (const void *a, const void *b)
return
0
;
}
static
void
Update
(
services_discovery_t
*
sd
)
static
void
Update
Apps
(
services_discovery_t
*
sd
)
{
services_discovery_sys_t
*
p_sys
=
sd
->
p_sys
;
xcb_connection_t
*
conn
=
p_sys
->
conn
;
...
...
@@ -312,7 +313,7 @@ static void Update (services_discovery_t *sd)
xcb_window_t
*
ent
=
xcb_get_property_value
(
r
);
int
n
=
xcb_get_property_value_length
(
r
)
/
4
;
void
*
newnodes
=
NULL
,
*
oldnodes
=
p_sys
->
node
s
;
void
*
newnodes
=
NULL
,
*
oldnodes
=
p_sys
->
app
s
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
...
...
@@ -327,23 +328,24 @@ static void Update (services_discovery_t *sd)
}
else
/* new entry */
{
app
=
Add
Item
(
sd
,
id
);
app
=
Add
App
(
sd
,
id
);
if
(
app
==
NULL
)
continue
;
}
pa
=
tsearch
(
app
,
&
newnodes
,
cmpapp
);
if
(
pa
==
NULL
/* OOM */
||
*
pa
!=
app
/* buggy window manager */
)
Del
Item
(
app
);
Del
App
(
app
);
}
free
(
r
);
/* Remove old nodes */
tdestroy
(
oldnodes
,
Del
Item
);
p_sys
->
node
s
=
newnodes
;
tdestroy
(
oldnodes
,
Del
App
);
p_sys
->
app
s
=
newnodes
;
}
static
void
AddDesktopItem
(
services_discovery_t
*
sd
)
/*** Whole desktop ***/
static
void
AddDesktop
(
services_discovery_t
*
sd
)
{
input_item_t
*
item
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment