Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » TopWindow&PopUp, TrayIcon » Linux dual monitor: Not showing a TopWindow on the task bar
Linux dual monitor: Not showing a TopWindow on the task bar [message #47922] Mon, 24 April 2017 17:39 Go to next message
Alboni is currently offline  Alboni
Messages: 214
Registered: January 2012
Location: Deventer, Netherlands
Experienced Member
My point of sale software Kassa uses a second monitor to display a client receipt screen.
I am using two main screens for that. The client screen is full screen.
(linux Mint 17.3 64 bit KDE flavour)
void DoMain()
{
	KassaAppWindow app(&session);
	One<KassaClientScreen> clientscreen;
#ifdef PLATFORM_LINUX
	app.OpenMain();
#endif
	if (KassaSettings::UseClientScreen())
	{
		clientscreen.Create();
#ifdef PLATFORM_LINUX
		clientscreen->OpenMain();
#endif
	}
	Ctrl::EventLoop();
}

The above works both on Linux and Windows, however on Linux the client screen also shows on the task bar. That creates confusion and not useful for a full screen display. Is there a way to not show it on the task bar? Note that on Linux I need to Call OpenMain() on the client screen or it won't show at all. On Windows calling OpenMain will freeze the program.
Re: Linux dual monitor: Not showing a TopWindow on the task bar [message #50450 is a reply to message #47922] Wed, 31 October 2018 14:53 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Alboni wrote on Mon, 24 April 2017 17:39
My point of sale software Kassa uses a second monitor to display a client receipt screen.
I am using two main screens for that. The client screen is full screen.
(linux Mint 17.3 64 bit KDE flavour)
void DoMain()
{
	KassaAppWindow app(&session);
	One<KassaClientScreen> clientscreen;
#ifdef PLATFORM_LINUX
	app.OpenMain();
#endif
	if (KassaSettings::UseClientScreen())
	{
		clientscreen.Create();
#ifdef PLATFORM_LINUX
		clientscreen->OpenMain();
#endif
	}
	Ctrl::EventLoop();
}

The above works both on Linux and Windows, however on Linux the client screen also shows on the task bar. That creates confusion and not useful for a full screen display. Is there a way to not show it on the task bar? Note that on Linux I need to Call OpenMain() on the client screen or it won't show at all. On Windows calling OpenMain will freeze the program.


Is this related to the other taskbar issue?
Re: Linux dual monitor: Not showing a TopWindow on the task bar [message #50461 is a reply to message #50450] Fri, 02 November 2018 15:14 Go to previous messageGo to next message
Alboni is currently offline  Alboni
Messages: 214
Registered: January 2012
Location: Deventer, Netherlands
Experienced Member
Yes, same project, but not exactly the same. This is about an application with 2 main windows of which I don't want one of them on the task bar. The other is about popups that make dialog windows appear on the task bar.
Alternatively I've been thinking of making the second monitor window a separate program, but that one shouldn't appear on the taskbar at all. Maybe only as tray icon with a fullscreen display on the second monitor.

[Updated on: Fri, 02 November 2018 15:25]

Report message to a moderator

Re: Linux dual monitor: Not showing a TopWindow on the task bar [message #50463 is a reply to message #47922] Sat, 03 November 2018 17:17 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Alboni wrote on Mon, 24 April 2017 17:39
My point of sale software Kassa uses a second monitor to display a client receipt screen.
I am using two main screens for that. The client screen is full screen.
(linux Mint 17.3 64 bit KDE flavour)
void DoMain()
{
	KassaAppWindow app(&session);
	One<KassaClientScreen> clientscreen;
#ifdef PLATFORM_LINUX
	app.OpenMain();
#endif
	if (KassaSettings::UseClientScreen())
	{
		clientscreen.Create();
#ifdef PLATFORM_LINUX
		clientscreen->OpenMain();
#endif
	}
	Ctrl::EventLoop();
}

The above works both on Linux and Windows, however on Linux the client screen also shows on the task bar. That creates confusion and not useful for a full screen display. Is there a way to not show it on the task bar? Note that on Linux I need to Call OpenMain() on the client screen or it won't show at all. On Windows calling OpenMain will freeze the program.


What about clientscreen->Open(&app) ?
Previous Topic: Dialog windows showing semi randomly on the task bar on Linux
Next Topic: Transparent popup (or top window)
Goto Forum:
  


Current Time: Thu Apr 18 14:09:07 CEST 2024

Total time taken to generate the page: 0.02768 seconds