tela cheia no linux

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

jwbraga
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 21 Ago 2017 19:21
Localização: caraguatatuba/sp

tela cheia no linux

Mensagem por jwbraga »

bom dia!

primeiro peço desculpas se estou postando a menssagem no lugar errado.
instalei o Harbour no linux e não sei colocar o aplicativo que eu escrevi em tela cheia.
peço, se possível, alguém me ajudar.

obrigado,
jose
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
Poste o exemplo.

Código: Selecionar todos

// Exemplo de função para alternar
FUNCTION SetFullScreen( lFull )
   IF lFull
      HB_GtInfo( HB_GTI_MAXIMIZED, .F. )           
      HB_GtInfo( HB_GTI_ISFULLSCREEN, .F. )
      HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )        // Ativa fullscreen real
      // Opcional: força redraw
      DispBox(0,0,MAXROW(),MAXCOL(),"         ",1)
   ELSE
      HB_GtInfo( HB_GTI_ISFULLSCREEN, .F. )
   ENDIF
   
Saudações,
Itamar M. Lins Jr.
jwbraga
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 21 Ago 2017 19:21
Localização: caraguatatuba/sp

Re: tela cheia no linux

Mensagem por jwbraga »

boa tarde,sr. Itamar!
obrigado pela resposta. eu já uso as suas informações para deixar aplicativo windows em tela cheia.
no linux eu não estou conseguindo. por favor, veja abaixo os dados tanto do terminal, como do código de teste.
Nota: aplicativo Harbour (win) roda em tela cheia no wine; porém, no meu entender, não é confiável.

este são os dados da tela do terminal:

jwbraga@jwbraga-X551MA:~/core-master/teste$ hbmk2 t.prg -fullstatic
Harbour 3.2.0dev (r2602162230)
Copyright (c) 1999-2025, https://harbour.github.io/
Compiling 't.prg'...
Lines 229, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_4wziap.dir/t.c'... Done.
/usr/bin/ld: /tmp/hbmk_4wziap.dir/t.o:(.data.rel+0xf0): undefined reference to `HB_FUN_HB_GT_WVT_DEFAULT'
collect2: error: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc '/tmp/hbmk_4wziap.dir/t.o' '/tmp/hbmk_4wziap.dir/hbmk_23of1w.o' -Wl,--start-group -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgttrm -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lm -ldl -lrt -lz -lhbpcre -Wl,--end-group -static -ot -L/usr/local/lib/harbour

hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s):
HB_GT_WVT_DEFAULT()

jwbraga@jwbraga-X551MA:~/core-master/teste$

-----

este é o bloco de código que estou tentando linkar em tela cheia:

#include "hbgtinfo.ch"
*---
REQUEST HB_GT_WVT_DEFAULT
//REQUEST HB_CODEPAGE_ITISB

PROCEDURE main()

cls
hb_gtInfo( HB_GTI_WINTITLE, "CENTRO DE CUSTO - Calcula Custo dos Produtos!" )
//hb_gtInfo(HB_GTI_ISFULLSCREEN, .T.)
hb_gtInfo( HB_GTI_MAXIMIZED, .F. ) // maximiza a Tela

//SetMode(25,80)

@ 10,10 say "ALO MUNDO, VELHO MUNDO!"

inkey(0)

return
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20433
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por JoséQuintas »

Não é linux direto, é via wine, o que acredito seja considerado windows.
Talvez hbmk2 .... -gtwvt
ou pra assumir o default -gui
ou alternativamente gtwvg.hbc

Pra tela gráfica no linux sem wine talvez mais complicado, porque depende da interface gráfica instalada.
O default acho que é algo com gtk, e não sei se esse continua sendo o default pra qualquer instalação.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
GTWVT é EXCLUSIVO para windows.
Use alguns dos GTs que existem no Linux.
Se usa algum ambiente gráfico então pode usar GTXWC.
Se gosta do nCurses GTCRS.
E se quer usar apenas o mínimo GTTRM

Código: Selecionar todos

hbmk2 -gttrm your_program.prg
hbmk2 -gtxwc your_program.prg //Precisa do X11 devel instalado!
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
Não é linux direto, é via wine, o que acredito seja considerado windows.
É Linux direto. A confusão de sempre, que nós fazemos quando iniciamos no Linux.
Windows tem GTWVG, GTWVT, GTWIN
Linux tem GTTRM, GTXWC... e mais uns 3, inclusive GTQT
Ele pegou o programa compilado no windows e rodou sem problema no Linux via Wine.
Mas conforme o erro não vai compilar no Linux por conta do GTWVT que não tem no Linux.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
oda em tela cheia no wine; porém, no meu entender, não é confiável.
Pode rodar pelo wine sem trauma nenhum.
Meu programa em 64bits HWGUI(GTK) roda de boa.
Fica um pouco mais lento(dizem), mas não se percebe.
O bom é rodar nativamente e aproveitar o que tem de melhor nos dois ambientes.
Saudações,
Itamar M. Lins Jr.
jwbraga
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 21 Ago 2017 19:21
Localização: caraguatatuba/sp

Re: tela cheia no linux

Mensagem por jwbraga »

fico muito agradecido pela ajuda, mas não estou conseguindo ter progresso; o melhor é parar e reescrever o programa em object pascal.
uso muito pouco o windows, no mes não chega a uma hora. uso linux.
esse aplicativo (quase trinta mil linhas escritas) roda em tela pequena do terminal. no wine roda em tela cheia, mas já tive alguns problemas com esse "emulador".
mais uma vez muitissimo obrigado e pode dar por encerrado o post (topico).
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
Pois é! Uma coisa tão simples.
Nem erro nem nada vc postou, só o primeiro.
Exemplo GT(Linux) na pasta /tests/gt* do Harbour tem ensinando como compilar no Linux.
Boa sorte!

Código: Selecionar todos

/*
 * demonstration/test code for changing font in X-Window GTs
 *
 * Copyright 2009 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
 *
 */

#include "hbgtinfo.ch"

#if ! defined( __HBSCRIPT__HBSHELL )
   #if defined( __PLATFORM__UNIX )
      REQUEST HB_GT_XWC_DEFAULT
   #endif
#endif

proc main()
   local cChars, i, j, n

#if defined( __HBSCRIPT__HBSHELL )
   #if defined( __PLATFORM__UNIX )
      hbshell_gtSelect( "GTXWC" )
   #endif
#endif

   cChars := ""
   for i := 0 to 7
      cChars += ";"
      for j := 0 to 31
         n := i * 32 + j
         cChars += iif( n == Asc( ";" ), ",", ;
                   iif( n == 10, " ", Chr( n ) ) )
      next
   next

   n := 2
   ? "GT" + hb_gtVersion(), hb_gtVersion( 1 )
   hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_FIXMETRIC + ;
              HB_GTI_FONTA_CLRBKG + HB_GTI_FONTA_DRAWBOX )
   while n == 2
      ? hb_gtInfo( HB_GTI_FONTSEL )
      hb_gtInfo( HB_GTI_FONTSEL, xFontSel() )
      n := Alert( "What do you think about this font;;" + ;
                  hb_gtInfo( HB_GTI_FONTSEL ) + ";" + cChars, ;
                  { "FINE", "CHANGE" } )
   enddo
   ? "current font:"
   ? hb_gtInfo( HB_GTI_FONTSEL )
   OutStd( hb_gtInfo( HB_GTI_FONTSEL ) )
   wait
return

function xfontsel()
   local cStdOut
   hb_processRun( "xfontsel -print",, @cStdOut )
return cStdOut

Código: Selecionar todos

/*
 * demonstration/test code for GT keyboard input
 *
 * Copyright 2007 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
 *
 */

#include "inkey.ch"
#ifdef __HARBOUR__
#include "hbgtinfo.ch"

REQUEST HB_CODEPAGE_PLMAZ
REQUEST HB_CODEPAGE_PLISO
REQUEST HB_CODEPAGE_PL852
REQUEST HB_CODEPAGE_PLWIN
REQUEST HB_CODEPAGE_UTF8EX
#else
#xtranslate hb_keyStd( <n> )  => ( <n> )
#xtranslate hb_keyCode( <n> ) => Asc( <n> )
#xtranslate hb_keyChar( <c> ) => iif( <c> >= 32 .AND. <c> <= 255 .AND. <c> != 127, Chr( <c> ), "" )
#xtranslate hb_ntos( <n> )    => LTrim( Str( <n> ) )
#endif
#ifndef HB_K_RESIZE
#define HB_K_RESIZE 1101
#endif

PROCEDURE Main( cTermCP, cHostCP, lBoxChar, lRawKey )

   LOCAL k, kX, i, s
   LOCAL aKeys := { ;
      { "K_UP",               5, "Up arrow, Ctrl-E"                }, ;
      { "K_DOWN",            24, "Down arrow, Ctrl-X"              }, ;
      { "K_LEFT",            19, "Left arrow, Ctrl-S"              }, ;
      { "K_RIGHT",            4, "Right arrow, Ctrl-D"             }, ;
      { "K_HOME",             1, "Home, Ctrl-A"                    }, ;
      { "K_END",              6, "End, Ctrl-F"                     }, ;
      { "K_PGUP",            18, "PgUp, Ctrl-R"                    }, ;
      { "K_PGDN",             3, "PgDn, Ctrl-C"                    }, ;
      { "K_CTRL_UP",        397, "Ctrl-Up arrow"                   }, ;
      { "K_CTRL_DOWN",      401, "Ctrl-Down arrow"                 }, ;
      { "K_CTRL_LEFT",       26, "Ctrl-Left arrow, Ctrl-Z"         }, ;
      { "K_CTRL_RIGHT",       2, "Ctrl-Right arrow, Ctrl-B"        }, ;
      { "K_CTRL_HOME",       29, "Ctrl-Home, Ctrl-]"               }, ;
      { "K_CTRL_END",        23, "Ctrl-End, Ctrl-W"                }, ;
      { "K_CTRL_PGUP",       31, "Ctrl-PgUp, Ctrl-Hyphen"          }, ;
      { "K_CTRL_PGDN",       30, "Ctrl-PgDn, Ctrl-^"               }, ;
      { "K_ALT_UP",         408, "Alt-Up arrow"                    }, ;
      { "K_ALT_DOWN",       416, "Alt-Down arrow"                  }, ;
      { "K_ALT_LEFT",       411, "Alt-Left arrow"                  }, ;
      { "K_ALT_RIGHT",      413, "Alt-Right arrow"                 }, ;
      { "K_ALT_HOME",       407, "Alt-Home"                        }, ;
      { "K_ALT_END",        415, "Alt-End"                         }, ;
      { "K_ALT_PGUP",       409, "Alt-PgUp"                        }, ;
      { "K_ALT_PGDN",       417, "Alt-PgDn"                        }, ;
      { "K_ENTER",           13, "Enter, Ctrl-M"                   }, ;
      { "K_RETURN",          13, "Return, Ctrl-M"                  }, ;
      { "K_SPACE",           32, "Space bar"                       }, ;
      { "K_ESC",             27, "Esc, Ctrl-["                     }, ;
      { "K_CTRL_ENTER",      10, "Ctrl-Enter, Ctrl-J"              }, ;
      { "K_CTRL_RETURN",     10, "Ctrl-Return, Ctrl-J"             }, ;
      { "K_CTRL_RET",        10, "Ctrl-Return (Compat.)"           }, ;
      { "K_CTRL_PRTSCR",    379, "Ctrl-Print Screen, Alt-4"        }, ;
      { "K_ALT_COMMA",      307, "Alt-,"                           }, ;
      { "K_ALT_PERIOD",     308, "Alt-."                           }, ;
      { "K_CTRL_QUESTION",  309, "Ctrl-?, Alt-Slash"               }, ;
      { "K_ALT_SLASH",      309, "Alt-Slash"                       }, ;
      { "K_ALT_BACKSLASH",  299, "Alt-Backslash"                   }, ;
      { "K_ALT_ENTER",      284, "Alt-Enter"                       }, ;
      { "K_ALT_RETURN",     284, "Alt-Return"                      }, ;
      { "K_ALT_MINUS",      386, "Alt-Minus"                       }, ;
      { "K_ALT_EQUALS",     387, "Alt-Equals"                      }, ;
      { "K_ALT_ESC",        257, "Alt-Esc"                         }, ;
      { "K_ALT_BACKQUOTE",  297, "Alt-backquote"                   }, ;
      { "K_ALT_OSB",        282, "Alt-["                           }, ;
      { "K_ALT_CSB",        283, "Alt-]"                           }, ;
      { "K_ALT_SC",         295, "Alt-;"                           }, ;
      { "K_ALT_QUOTE",      296, "Alt-'"                           }, ;
      { "KP_CENTER",        332, "Keypad CENTER (5)"               }, ;
      { "KP_ALT_ENTER",     422, "Keypad Alt-Enter"                }, ;
      { "KP_CTRL_5",        399, "Keypad Ctrl-5"                   }, ;
      { "KP_CTRL_SLASH",    405, "Keypad Ctrl-/"                   }, ;
      { "KP_CTRL_ASTERISK", 406, "Keypad Ctrl-*"                   }, ;
      { "KP_CTRL_MINUS",    398, "Keypad Ctrl--"                   }, ;
      { "KP_CTRL_PLUS",     400, "Keypad Ctrl-+"                   }, ;
      { "KP_ALT_5",           5, "Keypad Alt-5"                    }, ;
      { "KP_ALT_SLASH",     420, "Keypad Alt-/"                    }, ;
      { "KP_ALT_ASTERISK",  311, "Keypad Alt-*"                    }, ;
      { "KP_ALT_MINUS",     330, "Keypad Alt--"                    }, ;
      { "KP_ALT_PLUS",      334, "Keypad Alt-+"                    }, ;
      { "K_INS",             22, "Ins, Ctrl-V"                     }, ;
      { "K_DEL",              7, "Del, Ctrl-G"                     }, ;
      { "K_BS",               8, "Backspace, Ctrl-H"               }, ;
      { "K_SH_BS",          423, "Shift-Backspace, Ctrl-Shift-Tab" }, ;
      { "K_CTRL_SH_TAB",    423, "Ctrl-Shift-Tab"                  }, ;
      { "K_TAB",              9, "Tab, Ctrl-I"                     }, ;
      { "K_SH_TAB",         271, "Shift-Tab"                       }, ;
      { "K_CTRL_INS",       402, "Ctrl-Ins"                        }, ;
      { "K_CTRL_DEL",       403, "Ctrl-Del"                        }, ;
      { "K_CTRL_BS",        127, "Ctrl-Backspace"                  }, ;
      { "K_CTRL_TAB",       404, "Ctrl-Tab"                        }, ;
      { "K_ALT_INS",        418, "Alt-Ins"                         }, ;
      { "K_ALT_DEL",        419, "Alt-Del"                         }, ;
      { "K_ALT_BS",         270, "Alt-Backspace"                   }, ;
      { "K_ALT_TAB",        421, "Alt-Tab"                         } }

   AAdd( aKeys, { "K_CTRL_A",           1, "Ctrl-A, Home"                    } )
   AAdd( aKeys, { "K_CTRL_B",           2, "Ctrl-B, Ctrl-Right arrow"        } )
   AAdd( aKeys, { "K_CTRL_C",           3, "Ctrl-C, PgDn, Ctrl-ScrollLock"   } )
   AAdd( aKeys, { "K_CTRL_D",           4, "Ctrl-D, Right arrow"             } )
   AAdd( aKeys, { "K_CTRL_E",           5, "Ctrl-E, Up arrow"                } )
   AAdd( aKeys, { "K_CTRL_F",           6, "Ctrl-F, End"                     } )
   AAdd( aKeys, { "K_CTRL_G",           7, "Ctrl-G, Del"                     } )
   AAdd( aKeys, { "K_CTRL_H",           8, "Ctrl-H, Backspace"               } )
   AAdd( aKeys, { "K_CTRL_I",           9, "Ctrl-I, Tab"                     } )
   AAdd( aKeys, { "K_CTRL_J",          10, "Ctrl-J"                          } )
   AAdd( aKeys, { "K_CTRL_K",          11, "Ctrl-K"                          } )
   AAdd( aKeys, { "K_CTRL_L",          12, "Ctrl-L"                          } )
   AAdd( aKeys, { "K_CTRL_M",          13, "Ctrl-M, Return"                  } )
   AAdd( aKeys, { "K_CTRL_N",          14, "Ctrl-N"                          } )
   AAdd( aKeys, { "K_CTRL_O",          15, "Ctrl-O"                          } )
   AAdd( aKeys, { "K_CTRL_P",          16, "Ctrl-P"                          } )
   AAdd( aKeys, { "K_CTRL_Q",          17, "Ctrl-Q"                          } )
   AAdd( aKeys, { "K_CTRL_R",          18, "Ctrl-R, PgUp"                    } )
   AAdd( aKeys, { "K_CTRL_S",          19, "Ctrl-S, Left arrow"              } )
   AAdd( aKeys, { "K_CTRL_T",          20, "Ctrl-T"                          } )
   AAdd( aKeys, { "K_CTRL_U",          21, "Ctrl-U"                          } )
   AAdd( aKeys, { "K_CTRL_V",          22, "Ctrl-V, Ins"                     } )
   AAdd( aKeys, { "K_CTRL_W",          23, "Ctrl-W, Ctrl-End"                } )
   AAdd( aKeys, { "K_CTRL_X",          24, "Ctrl-X, Down arrow"              } )
   AAdd( aKeys, { "K_CTRL_Y",          25, "Ctrl-Y"                          } )
   AAdd( aKeys, { "K_CTRL_Z",          26, "Ctrl-Z, Ctrl-Left arrow"         } )

   AAdd( aKeys, { "K_ALT_A",          286, "Alt-A"                           } )
   AAdd( aKeys, { "K_ALT_B",          304, "Alt-B"                           } )
   AAdd( aKeys, { "K_ALT_C",          302, "Alt-C"                           } )
   AAdd( aKeys, { "K_ALT_D",          288, "Alt-D"                           } )
   AAdd( aKeys, { "K_ALT_E",          274, "Alt-E"                           } )
   AAdd( aKeys, { "K_ALT_F",          289, "Alt-F"                           } )
   AAdd( aKeys, { "K_ALT_G",          290, "Alt-G"                           } )
   AAdd( aKeys, { "K_ALT_H",          291, "Alt-H"                           } )
   AAdd( aKeys, { "K_ALT_I",          279, "Alt-I"                           } )
   AAdd( aKeys, { "K_ALT_J",          292, "Alt-J"                           } )
   AAdd( aKeys, { "K_ALT_K",          293, "Alt-K"                           } )
   AAdd( aKeys, { "K_ALT_L",          294, "Alt-L"                           } )
   AAdd( aKeys, { "K_ALT_M",          306, "Alt-M"                           } )
   AAdd( aKeys, { "K_ALT_N",          305, "Alt-N"                           } )
   AAdd( aKeys, { "K_ALT_O",          280, "Alt-O"                           } )
   AAdd( aKeys, { "K_ALT_P",          281, "Alt-P"                           } )
   AAdd( aKeys, { "K_ALT_Q",          272, "Alt-Q"                           } )
   AAdd( aKeys, { "K_ALT_R",          275, "Alt-R"                           } )
   AAdd( aKeys, { "K_ALT_S",          287, "Alt-S"                           } )
   AAdd( aKeys, { "K_ALT_T",          276, "Alt-T"                           } )
   AAdd( aKeys, { "K_ALT_U",          278, "Alt-U"                           } )
   AAdd( aKeys, { "K_ALT_V",          303, "Alt-V"                           } )
   AAdd( aKeys, { "K_ALT_W",          273, "Alt-W"                           } )
   AAdd( aKeys, { "K_ALT_X",          301, "Alt-X"                           } )
   AAdd( aKeys, { "K_ALT_Y",          277, "Alt-Y"                           } )
   AAdd( aKeys, { "K_ALT_Z",          300, "Alt-Z"                           } )
   AAdd( aKeys, { "K_ALT_1",          376, "Alt-1"                           } )
   AAdd( aKeys, { "K_ALT_2",          377, "Alt-2"                           } )
   AAdd( aKeys, { "K_ALT_3",          378, "Alt-3"                           } )
   AAdd( aKeys, { "K_ALT_4",          379, "Alt-4"                           } )
   AAdd( aKeys, { "K_ALT_5",          380, "Alt-5"                           } )
   AAdd( aKeys, { "K_ALT_6",          381, "Alt-6"                           } )
   AAdd( aKeys, { "K_ALT_7",          382, "Alt-7"                           } )
   AAdd( aKeys, { "K_ALT_8",          383, "Alt-8"                           } )
   AAdd( aKeys, { "K_ALT_9",          384, "Alt-9"                           } )
   AAdd( aKeys, { "K_ALT_0",          385, "Alt-0"                           } )

   AAdd( aKeys, { "K_F1",              28, "F1, Ctrl-Backslash"              } )
   AAdd( aKeys, { "K_F2",              -1, "F2"                              } )
   AAdd( aKeys, { "K_F3",              -2, "F3"                              } )
   AAdd( aKeys, { "K_F4",              -3, "F4"                              } )
   AAdd( aKeys, { "K_F5",              -4, "F5"                              } )
   AAdd( aKeys, { "K_F6",              -5, "F6"                              } )
   AAdd( aKeys, { "K_F7",              -6, "F7"                              } )
   AAdd( aKeys, { "K_F8",              -7, "F8"                              } )
   AAdd( aKeys, { "K_F9",              -8, "F9"                              } )
   AAdd( aKeys, { "K_F10",             -9, "F10"                             } )
   AAdd( aKeys, { "K_F11",            -40, "F11"                             } )
   AAdd( aKeys, { "K_F12",            -41, "F12"                             } )
   AAdd( aKeys, { "K_CTRL_F1",        -20, "Ctrl-F1"                         } )
   AAdd( aKeys, { "K_CTRL_F2",        -21, "Ctrl-F2"                         } )
   AAdd( aKeys, { "K_CTRL_F3",        -22, "Ctrl-F4"                         } )
   AAdd( aKeys, { "K_CTRL_F4",        -23, "Ctrl-F3"                         } )
   AAdd( aKeys, { "K_CTRL_F5",        -24, "Ctrl-F5"                         } )
   AAdd( aKeys, { "K_CTRL_F6",        -25, "Ctrl-F6"                         } )
   AAdd( aKeys, { "K_CTRL_F7",        -26, "Ctrl-F7"                         } )
   AAdd( aKeys, { "K_CTRL_F8",        -27, "Ctrl-F8"                         } )
   AAdd( aKeys, { "K_CTRL_F9",        -28, "Ctrl-F9"                         } )
   AAdd( aKeys, { "K_CTRL_F10",       -29, "Ctrl-F10"                        } )
   AAdd( aKeys, { "K_CTRL_F11",       -44, "Ctrl-F11"                        } )
   AAdd( aKeys, { "K_CTRL_F12",       -45, "Ctrl-F12"                        } )
   AAdd( aKeys, { "K_ALT_F1",         -30, "Alt-F1"                          } )
   AAdd( aKeys, { "K_ALT_F2",         -31, "Alt-F2"                          } )
   AAdd( aKeys, { "K_ALT_F3",         -32, "Alt-F3"                          } )
   AAdd( aKeys, { "K_ALT_F4",         -33, "Alt-F4"                          } )
   AAdd( aKeys, { "K_ALT_F5",         -34, "Alt-F5"                          } )
   AAdd( aKeys, { "K_ALT_F6",         -35, "Alt-F6"                          } )
   AAdd( aKeys, { "K_ALT_F7",         -36, "Alt-F7"                          } )
   AAdd( aKeys, { "K_ALT_F8",         -37, "Alt-F8"                          } )
   AAdd( aKeys, { "K_ALT_F9",         -38, "Alt-F9"                          } )
   AAdd( aKeys, { "K_ALT_F10",        -39, "Alt-F10"                         } )
   AAdd( aKeys, { "K_ALT_F11",        -46, "Alt-F11"                         } )
   AAdd( aKeys, { "K_ALT_F12",        -47, "Alt-F12"                         } )
   AAdd( aKeys, { "K_SH_F1",          -10, "Shift-F1"                        } )
   AAdd( aKeys, { "K_SH_F2",          -11, "Shift-F2"                        } )
   AAdd( aKeys, { "K_SH_F3",          -12, "Shift-F3"                        } )
   AAdd( aKeys, { "K_SH_F4",          -13, "Shift-F4"                        } )
   AAdd( aKeys, { "K_SH_F5",          -14, "Shift-F5"                        } )
   AAdd( aKeys, { "K_SH_F6",          -15, "Shift-F6"                        } )
   AAdd( aKeys, { "K_SH_F7",          -16, "Shift-F7"                        } )
   AAdd( aKeys, { "K_SH_F8",          -17, "Shift-F8"                        } )
   AAdd( aKeys, { "K_SH_F9",          -18, "Shift-F9"                        } )
   AAdd( aKeys, { "K_SH_F10",         -19, "Shift-F10"                       } )
   AAdd( aKeys, { "K_SH_F11",         -42, "Shift-F11"                       } )
   AAdd( aKeys, { "K_SH_F12",         -43, "Shift-F12"                       } )

   AAdd( aKeys, { "K_MOUSEMOVE",     1001, "mouse move"                      } )
   AAdd( aKeys, { "K_LBUTTONDOWN",   1002, "mouse left button down"          } )
   AAdd( aKeys, { "K_LBUTTONUP",     1003, "mouse left button up"            } )
   AAdd( aKeys, { "K_RBUTTONDOWN",   1004, "mouse right button down"         } )
   AAdd( aKeys, { "K_RBUTTONUP",     1005, "mouse right button up"           } )
   AAdd( aKeys, { "K_LDBLCLK",       1006, "mouse left button double click"  } )
   AAdd( aKeys, { "K_RDBLCLK",       1007, "mouse right button double click" } )
   AAdd( aKeys, { "K_MBUTTONDOWN",   1008, "mouse middle button down"        } )
   AAdd( aKeys, { "K_MBUTTONUP",     1009, "mouse middle button up"          } )
   AAdd( aKeys, { "K_MDBLCLK",       1010, "mouse middle button double click" } )
   AAdd( aKeys, { "K_MMLEFTDOWN",    1011, "Mouse Move Left Down"            } )
   AAdd( aKeys, { "K_MMRIGHTDOWN",   1012, "Mouse Move Right Down"           } )
   AAdd( aKeys, { "K_MMMIDDLEDOWN",  1013, "Mouse Move Middle Down"          } )
   AAdd( aKeys, { "K_MWFORWARD",     1014, "Mouse Wheel Forward"             } )
   AAdd( aKeys, { "K_MWBACKWARD",    1015, "Mouse Wheel Backward"            } )
   AAdd( aKeys, { "K_NCMOUSEMOVE",   1016, "Non-Client Area Mouse Movement"  } )

   AAdd( aKeys, { "HB_K_RESIZE",     1101, "screen dimension changed"        } )
   AAdd( aKeys, { "HB_K_CLOSE",      1102, "close button hit"                } )
   AAdd( aKeys, { "HB_K_GOTFOCUS",   1103, "focus restored"                  } )
   AAdd( aKeys, { "HB_K_LOSTFOCUS",  1104, "focus lost"                      } )
   AAdd( aKeys, { "HB_K_CONNECT",    1105, "remote terminal connected"       } )
   AAdd( aKeys, { "HB_K_DISCONNECT", 1106, "remote terminal disconnected"    } )
   AAdd( aKeys, { "HB_K_TERMINATE",  1107, "terminate signal from system"    } )
   AAdd( aKeys, { "HB_K_MENU",       1108, "MENU key pressed"                } )


#ifdef __HARBOUR__
   Set( _SET_EVENTMASK, HB_INKEY_ALL + HB_INKEY_EXT )
   hb_gtInfo( HB_GTI_CURSORBLINKRATE, 1000 )
   hb_gtInfo( HB_GTI_ESCDELAY, 50 )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, 0 )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, hb_bitOr( HB_GTI_FONTA_DRAWBOX, hb_gtInfo( HB_GTI_FONTATTRIBUTE ) ) )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, hb_bitOr( HB_GTI_FONTA_CTRLCHARS, hb_gtInfo( HB_GTI_FONTATTRIBUTE ) ) )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, hb_bitOr( HB_GTI_FONTA_FIXMETRIC, hb_gtInfo( HB_GTI_FONTATTRIBUTE ) ) )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, hb_bitOr( HB_GTI_FONTA_CLRBKG, hb_gtInfo( HB_GTI_FONTATTRIBUTE ) ) )
   // hb_gtInfo( HB_GTI_FONTATTRIBUTE, hb_bitOr( HB_GTI_FONTA_NOSTRETCH, hb_gtInfo( HB_GTI_FONTATTRIBUTE ) ) )
   // hb_gtInfo( HB_GTI_FONTNAME, "Monospace" )
   // hb_gtInfo( HB_GTI_RESIZABLE, .F. )
   // hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS )
   // hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT )
   // hb_gtInfo( HB_GTI_MAXIMIZED, .T. )
   // hb_gtInfo( HB_GTI_ISFULLSCREEN, .T. )
   // hb_gtInfo( HB_GTI_ALTENTER, .T. )
   hb_gtInfo( HB_GTI_CLOSABLE, .F. )
   hb_gtInfo( HB_GTI_SELECTCOPY, .T. )
   IF PCount() >= 4
      lRawKey := !Empty( lRawKey )
   ELSEIF ! Empty( cTermCP ) .AND. Upper( cTermCP ) = "X"
      lRawKey := .T.
      cTermCP := NIL
   ELSE
      lRawKey := .F.
   ENDIF
   IF Empty( cTermCP )
      cTermCP := "UTF8"
   ELSE
      cTermCP := Upper( cTermCP )
   ENDIF
   IF Empty( cHostCP )
      cHostCP := "UTF8"
   ELSE
      cHostCP := Upper( cHostCP )
   ENDIF
   lBoxChar := ! Empty( lBoxChar )
   hb_cdpSelect( cHostCP )
   hb_SetTermCP( cTermCP, cHostCP, lBoxChar )
#else
#ifdef _SET_EVENTMASK
   Set( _SET_EVENTMASK, INKEY_ALL )
#endif
   lRawKey := .f.
#endif

   MDblClk( 250 )
   SetCancel( .F. )
   // AltD(0)

   ? OS(), Version(), Date(), Time()
#ifdef __HARBOUR__
   ? hb_gtVersion( 1 ), "GT" + hb_gtVersion()
   ? "Host codpage: " + hb_cdpSelect() + ", terminal codepage: " + cTermCP
#endif
   ? "@ - interrupt, keycodes checking: "
   ?

   WHILE .T.
      kX := Inkey( 0 )
      k := hb_keyStd( kX )
      IF ( i := AScan( aKeys, {| x | x[ 2 ] == k } ) ) != 0
         ? " key:" + Str( aKeys[ i, 2 ], 7 ) + "  " + PadR( aKeys[ i, 1 ], 18 ) + aKeys[ i, 3 ]
#ifdef __HARBOUR__
         IF kX != k
            ?? " ext: 0x" + hb_numToHex( kX, 8 ) + " -> " + ;
               hb_numToHex( hb_keyMod( kX ), 2 ) + ":" + hb_numToHex( hb_keyVal( kX ), 8 ) + ;
               " [" + hb_keyChar( k ) + "]"
         ENDIF
#endif
      ELSEIF ( k >= 32 .AND. k <= 126 ) .OR. ( k >= 160 .AND. k <= 255 ) .OR. ;
             Len( hb_keyChar( k ) ) > 0
#ifdef __HARBOUR__
         ? "char:" + iif( k > 256, " U+" + hb_numToHex( hb_keyVal( k ), 4 ), Str( k, 7 ) ) + ;
           "  " + hb_keyChar( k )
         IF kX != k .or. k > 256
            ?? " ext: 0x" + hb_numToHex( kX, 8 ) + " -> " + ;
               hb_numToHex( hb_keyMod( kX ), 2 ) + ":" + hb_numToHex( hb_keyVal( kX ), 8 ) + ;
               " [" + hb_keyChar( k ) + "]"
         ENDIF
#else
         ? "char:" + Str( k, 7 ) + "  " + hb_keyChar( k )
#endif
      ELSE
#ifdef __HARBOUR__
         ? " key:" + Str( k, 7 ) + " ext: 0x" + hb_numToHex( kX, 8 ) + " -> " + ;
           hb_numToHex( hb_keyMod( kX ), 2 ) + ":" + hb_numToHex( hb_keyVal( kX ), 8 ) + ;
           " [" + hb_keyChar( k ) + "]"
#else
         ? " key:" + Str( k, 7 )
#endif
      ENDIF
//    ?? "  (" + hb_ntos( MaxRow() ) + ":" + hb_ntos( MaxCol() ) + ")"

      IF k == hb_keyCode( "@" ) .AND. NextKey() == 0
         EXIT
      ELSEIF k == K_INS .AND. ! lRawKey
         Set( _SET_CURSOR, ( Set( _SET_CURSOR ) + 1 ) % 5 )
         ?? "  cursor:" + hb_ntos( Set( _SET_CURSOR ) )
      ELSEIF k == HB_K_RESIZE
         ?? "  (" + hb_ntos( MaxRow() + 1 ) + "," + hb_ntos( MaxCol() + 1 ) + ")"
      ELSEIF k >= 1000 .AND. k < 1100
         ?? "  mpos(" + hb_ntos( MRow() ) + "," + hb_ntos( MCol() ) + ")"
#ifdef __HARBOUR__
      ELSEIF k == K_CTRL_INS .AND. ! lRawKey
         IF Alert( "Would you like to show clipboard text?", { "YES", "NO" } ) == 1
            s := hb_gtInfo( HB_GTI_CLIPBOARDDATA )
            ? "Clipboard text: [" + s + "]"
         ENDIF
      ELSEIF k == K_CTRL_END .AND. ! lRawKey
         IF Alert( "Would you like to set clipboard text?", { "YES", "NO" } ) == 1
            s := hb_TSToStr( hb_DateTime() ) + hb_eol() + ;
               "Harbour GT" + hb_gtVersion() + " clipboard test" + hb_eol()
            ? "New clipboard text: [" + s + "]"
            hb_gtInfo( HB_GTI_CLIPBOARDDATA, s )
         ENDIF
#endif
      ENDIF
   ENDDO
   ?

   RETURN
   
Então o ambiente nativo(para os principais desenvolvedores) do Harbour é esse, o Linux, se vc não sabe.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
Vai vendo ai as alterações e correções, no Linux esse ano.

Código: Selecionar todos

2026-02-16 23:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/gtqtc/gtqtc.hbp
    ! give HB_WITH_QT higher priority then the general setting
      HB_BUILD_3RDEXT=no

2026-02-12 02:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * package/harbour.spec
    + addedhbbmp library

2026-02-08 04:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * try to find good monospace font at startup
    * changed default font weight from bold to normal

  * tests/gtkeys.prg
    + added commented reference to HB_GTI_FONTA_NOSTRETCH and
      HB_GTI_FONTNAME

2026-02-07 20:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/gtqtc/gtqtc1.cpp
    * set HighDpiScaleFactorRoundingPolicy to Round for new QT versions
      except Android builds.
      It fixes problem with proportional fonts in QT6 though in some
      environments it may not give the optimal results.
      This setting can be overwritten at runtime by
      QT_SCALE_FACTOR_ROUNDING_POLICY environment variable.

2026-02-06 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/gtqtc/gtqtc1.cpp
    * use default GT startup code (#include "hbgtreg.h")
    ! removed ChildRemoved event from list of events ending resize process,
      it should fix resizing problem with current WMs.
    + added small hack to easy detect QT version used to compile GTQTC
    + added compile time switch HB_QTC_NO_HIGHDPI_SCALING
      It's dirty hack to "fix" problem with font scaling in QT6 but it's
      nit real solution. The same effect can be achieved by setting an
      environment variable QT_ENABLE_HIGHDPI_SCALING=0 before application
      using GTQTC is started so it's rather a marker to signal the problem.

  * contrib/hbzebra/tests/pclqr.prg
    * removed trailing spaces
[code]
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
roda em tela pequena do terminal.
Vc não disse ainda como acessa seu sistema no caso da REDE.
É via PUTTY ? Que terminal é esse ?
Pq o Wine não vai permitir usar por outros terminais é só 1 maquina ?
A não ser que vc está compartilhando o servidor via xterm...etc.
Mais importante se roda em TERMINAL(pequeno) vc conseguiu compilar. :roll:
..
Agente explica ou tenta explicar, diz que não deu certo e depois faz um manual em outro site.
Não é a primeira pessoa que chega aqui e faz isso.
Não tem bixo de 7 cabeças nenhum.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8058
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por Itamar M. Lins Jr. »

Olá!
o melhor é parar e reescrever o programa em object pascal.
Pois, se vc usa Object Pascal vai precisar usar X11, vc mesmo se entrega nas coisas que escreve.
Pq é gráfico. E o Harbour no Linux, compatível com Lazarus(Object Pascal), só usando Hwgui ou FiveWin for Linux.
Não vai ter TERMINAL, se é que vc me entende, vai rodar NATIVO no X11.
Igual ao GTXWC, se deseja rodar em mais de 1 maquina, vai precisar configurar acesso via SSH... Com X11...Ai já são outros quinhentos.
Se vc compilou com GTXWC e tentou abrir via PUTTY, ou qualquer outro TERMINAL não vai rodar.
Por isso que quando vc compila usando GTTRM ou Slang ou nCurses, VT100... Fica PEQUENO. Pq não tem TRATAMENTO disso "no seu terminal" (ele é delimitado colunas e linhas pelo terminal). E rodando pelo WINE usando WVT fica bom. Mas ai vc não acessa por outras máquinas(windows) nem Linux.
Pq vc precisa compilar ele com GTXWC e acessar a base de dados, via TCP/IP em cada maquina com Linux.
Vai usar SAMBA para DBF(mapeado), LetoDbf ou UNIXODBC para bancos relacionais... E por ai vai.
No caso do Object Pascal a mesma coisa, não muda nada.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20433
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: tela cheia no linux

Mensagem por JoséQuintas »

Eu errei mas o Itamar me lembrou.
hbmk2 xxxx -gui
Isso no linux usa GTK, e depende do x11 pra usar em terminal.

Se for texto, é usar a configuração de texto do sistema operacional/ambiente/terminal.
E compila sem indicar nada adicional.

Usei por putty, a configuração de tamanho de fonte é no putty.
Já a configuração de linhas/colunas, pode ser via programa.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
jwbraga
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 21 Ago 2017 19:21
Localização: caraguatatuba/sp

Re: tela cheia no linux

Mensagem por jwbraga »

Sr. Itamar boa tarde!
peço desculpa pela confusão que causei, o Senhor tem razão.
o terminal a que me refiro, é o gnome-terminal.
o aplicativo é local, não roda em rede.
a princípio ele foi desenvolvido em clipper, depois atualizado para Harbour, onde foram acrescentadas novas funções.
quem usa esse aplicativo é uma Senhora que não quer trocá-lo por nada; só quer que fique em tela cheia.
vou estudar as informações que o Senhor passou e depois retorno.
Harbour, eu só tenho conta no PCTOLEDO, onde leio os textos e vejo a evolução xbase.
adoro Clipper.
Responder