Status Bar in ALV

Hi,
   We have created an object oriented ALV. This ALV output is used in ESS(web enabled). When the user presses the save button, we need to show the processing status on the status bar.We tries this usin the FM 'SAPGUI_PROGRESS_INDICATOR' but we are not able to see the status bar in the browser.Plz help.
With Regards,
Kiran I

hi Kiran,
You can use the ready code and test it.
It will surely give u the result which ur looking for:
TABLES BKPF.
CONSTANTS: C_STEP   TYPE I VALUE '4',     
           C_MSGLNS TYPE I VALUE 20.
DATA: BEGIN OF IBKPF OCCURS 0.
        INCLUDE STRUCTURE BKPF.
DATA: END OF IBKPF.
DATA: V_LNS      TYPE I,
      V_REST     TYPE I,
      V_LOOP(4)  TYPE C,
      V_MSG(30)  TYPE C,
      V_PER      TYPE I,
      V_LINES(4) TYPE C.
SELECT * FROM BKPF INTO TABLE IBKPF UP TO 50 ROWS.
DESCRIBE TABLE IBKPF LINES V_LNS.
V_LINES = V_LNS.
LOOP AT IBKPF.
  IF V_LNS GE C_MSGLNS.
    V_LOOP = SY-TABIX.
    V_REST = SY-TABIX MOD ( V_LNS / C_MSGLNS ).
      IF V_REST EQ 0.
       V_PER = SY-TABIX / ( V_LNS / C_MSGLNS ) * C_STEP.
       CLEAR V_MSG.
   CONCATENATE 'PROCESSING' V_LOOP 'OF' V_LINES INTO _MSG
    SEPARATED BY SPACE.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
                PERCENTAGE = V_PER
                TEXT       = V_MSG.
    ENDIF.
  ENDIF.
ENDLOOP.               "IBKPF
Just copy paste this code.it will wrk fine.
Cheers
Sunny
rewrd point , if found helpful

Similar Messages

  • How to show message on selection screen  status bar if alv is empty.

    Hi,
            Can anyone tell me how to show message on selection screen status bar when our final internal table or alv is empty .
           i am getting message on alv status bar, where no data is in alv but i want to stop it to selection screen and show message there only.
    Regards,
    Ranu

    Hi,
    After populating the final internal table do this check,
    if it_final [] is initial.
    message 'No data available' TYPE 'S' DISPLAY LIKE 'E'.
    exit.
    endif.
    This will be displayed in the selection screen itself
    Regards,
    Vikranth

  • ALV Report - Field Overflow message in status Bar

    Hi
    I am trying to display ALV report , ALV report is displaying fine but on execution of report , an message in status bar is coming as "Field copy Number can not be totalled because of field overflow."
    Can anyone tell why such messgae is comming?
    Thanks,
    Debadatta

    Just a wild guess, treat the below as an example.
    Eg:
    assuming one field in the output is of length 2 type i.
    values: 20, 30, 60, 45.
    Totalling the values result as 155. but due to the length of the field as 2. We can encounter the overflow message.
      Considering the above example, manually total the values of your numerical columns and see if any of the column is execeeding the specified length.
    Regards
    Eswar
    Note: Reward if you find the info useful.

  • Message in Status Bar while using ALV Objects

    Hi All,
    If we use ALV in objects (Build in class and methods for ALV),is it possible to display a error message using Message statement in Status bar.
    Thanks in advance.

    Hi,
    Yes, it is possible.  You can do it using the ALV Object Model (ALV OO methods) within an event handler method.  For example, the event "added_function of cl_salv_events" can be used and you can add code similar to the following code within the event handler method:
    CASE e_salv_function.
      WHEN 'XYZ'.
        MESSAGE w001(00) WITH 'Message text goes here...'.
    ENDCASE.
    The warning message will either show up as a popup or in the status bar depending on your user settings.  Of course, you can also use other message types (e.g. I, E, S) or other message techniques besides the message statement.
    Best Regards,
    Jamie

  • Adding menu bar in ALV report

    hi,
    I have written an ABAP report using ALV . We need to add a button to the menu bar of the screen that appears after the report is run, not on the selection screen. And when report is executed user will choose for example STOCK then it has to go to the transaction(QA03).
    thanks in advance.
    Anu.

    Hi,
    Goto SE41, create a pf-status for your alv report program.
    On the next screen, click menu EXTRAS --> click option ADJUST TEMPLATES and select radiobutton LIST VIEWER --> you will get all standard buttons of alv in the pf-status.
    Delete the unwanted buttons and also you can add new buttons if reqd.
    Activate pf-status --> and apply in alv program.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         i_callback_program                = v_rep_id       " report id
         i_callback_pf_status_set          = 'PF'           " for PF-STATUS
         i_callback_user_command           = 'USER_COMMAND' " for User-Command
         is_layout                         = wa_layout      " for layout
         it_fieldcat                       = it_field       " field catalog
         it_sort                           = it_sort        " sort info
        TABLES
          t_outtab                          = it_final      " internal table
       EXCEPTIONS
         program_error                     = 1
         OTHERS                            = 2.
    *&      Form  pf
    *       SUB-ROUTINE PF IS USED TO SET THE PF-STATUS OF THE SCREEN
    *       ON WHICH THE ALV GRID IS DISPLAYED
    *       -->RT_EXTAB
    FORM pf USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZTG_STAT'.
    ENDFORM.                    "pf
    *&      Form  USER_COMMAND
    *       SUB-ROUTINE USER_COMMAND IS USED TO HANDLE THE USER ACTION
    *       AND EXECUTE THE APPROPIATE CODE
    *      -->LV_OKCODE   used to capture the function code
    *                     of the user-defined push-buttons
    *      -->L_SELFIELD   text
    FORM user_command USING lv_okcode LIKE sy-ucomm l_selfield TYPE slis_selfield.
    * assign the function code to variable v_okcode
      lv_okcode = sy-ucomm.
    * handle the code execution based on the function code encountered
      CASE lv_okcode.
    * when the function code is STOCK
        WHEN 'STOCK'.
          SET PARAMETER ID '<param_id>' FIELD '<field_value>'.
          CALL TRANSACTION 'QA03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    Hope this helps you.
    Regards,
    Tarun

  • Tracing of message in Status Bar using Call Transaction for MRBR

    Hi
    As per the business requirement, I would like to automate the MRBR Transaction. I am achieving this by using Call Transaction. After aaplying certain company codes as an i/p; i receive the invoices as an o/p in a ALV Lay out. Say for example, 100 invoices are displayed in a AlV Lay-out after applying i/p. Now I select all these 100 invoices and release them.
    All these steps are recorded and supplied to Call Transaction via BDC table.
    Problem:
    The number of invoices released, appear in the status bar of that ALV Lay-out screen. This message appears on the ALV screen after I have released the invoices and clicked on "SAVE" button.I would like to use this information and display this number (No. of Invoices released) in my Job Log. But I do not know how to do it. Could any one help me out for this?
    Thanks in advance,
    Jigar Shah.

    Yes I have tried that option as well.
    But the thing is, the recording gets over as soon as I click on "SAVE" button.And that message apperas in status bar only after I click on "SAVE" button.So this way the message in the status bar never gets recorded.
    Thanks & Regards,
    Jigar Shah.

  • Creating buttons on title bar using alv

    hi all good morning,
    can any one help me in making a button on title bar of ALV report. Till now i have used only one function of ALV i,e REUSE_ALV_GRID_DISPLAY. it is showing proper out put but i want to make some action using my own button on the final ALV result displayed like save change etc.

    Hi,
    How to add button to ALV toolbar using REUSE_ALV_LIST_DISPLAY?
    In the program which calls ALV using REUSE_ALV_LIST_DISPLAY,
    I have to add a new button.
    I saw the demo program BCALV_GRID_08, which is written using ABAP-Controls.
    In that example, the button is added using TOOLBAR event of cl_gui_alv_grid.
    Could you help me to implement the same logic using REUSE_ALV_LIST_DISPLAY parameters.
    you should copy the 'STANDARD' GUI status from program SAPLKKBL using transaction SE90 >Programming SubObjects> Gui Status.
    Execute this transaction to get to next screen. select status using checkbox. click on GUI Status --> Copy.
    Enter your Z program name and the name you what for this status - you can keep it as 'STANDARD' to be simple.
    Then you can edit the new status to add or delete buttons. This will also bring in the standard SAP ALV functionality such as sorting/subtotaling etc...
    When you call 'REUSE_ALV_GRID_DISPLAY' make sure you pass it the new status name.
    an example of one of mine:
    call function 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = 'ZSDBOLST_REPORT'
    i_callback_pf_status_set = 'STANDARD' <----
    i_callback_user_command = 'USER_COMMAND'
    i_structure_name = 'I_BOLACT'
    i_grid_title = 'BOL Action Report'(031)
    is_layout = gs_layout
    it_fieldcat = gt_fieldcat[]
    i_save = 'A'
    is_variant = v_variant
    TABLES
    t_outtab = i_bolact
    EXCEPTIONS
    program_error = 1
    others = 2.
    I just tried the same procedure ,but my entire application toolbar disappeared and a lock icon appears next to the application toolbar in my copied pf-status.
    Could you advice what might have gone wrong ?
    As identified with the FM's help you can do the following.
    1). Using SE80 (I think) you can copy a GUI status from one program to another. It mentions which one in the FM's help.
    2). Create a form named like so:
    Code:
    Form Set_pf_status
    Notes: Called by FM REUSE_ALV_GRID_DISPLAY
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
    SET PF-STATUS 'ZSTANDARD'.
    ENDFORM. "Set_pf_status
    In the above case the GUI status copied was named ZSTANDARD and adjusted accordingly, adding and removing the desired buttons. A button was added called '%DELETE'.
    3). Create the following report:
    Code:
    Form User_command
    Notes: Called by FM REUSE_ALV_GRID_DISPLAY
    Detects whether the icon/button for
    'Return Tag Deletion' has been pressed. If it has then
    detect whether any rows have been highlighted and then
    set the delete flag.
    FORM user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield.
    DATA: li_count TYPE I.
    IF r_ucomm EQ '%DELETE'.
    LOOP AT %g00 WHERE mark EQ 'X'.
    ADD 1 TO li_count.
    ENDLOOP.
    IF li_count GT 0.
    gc_delete_flag = 'X'.
    r_ucomm = '&F03'. "Back arraow
    ELSE.
    MESSAGE W000 WITH 'Please highlight the rows to be deleted!'.
    ENDIF.
    ENDIF.
    ENDFORM. "User_command
    As I've added an extra button to indicate which records should be deleted I need to identify a form to be called to process when this button is chosen.
    Then when you call the ALV function you to specify the following extra details:
    Code:
    call function 'REUSE_ALV_GRID_DISPLAY'
    exporting i_callback_program = gc_repid
    I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
    I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    i_grid_title = lc_grid_title
    is_layout = lc_layout
    it_fieldcat = gt_fieldcat
    it_sort = sort
    i_save = l_save
    is_reprep_id = l_bbs_id
    is_variant = l_variant
    tables t_outtab = %g00
    exceptions program_error = 1
    others = 2.
    The parameters in capitals are the extra ones that need to be added.
    Regards,
    Satish

  • Puting buttons in the appl bar with alv reporting

    hai
    im trying to put buttons in alv in  applctn bar
    the coding i made is
    perform eventtab.
    form eventtab.
    wa_event-name='set_pf_status'.
    wa_event-form = 'status'.
    append wa_event to tab_event.
    endform.
    form status.
    set pf-status 'ystatus'.----
    >status havin buttons.
    endform.
    the result is
    program is geting run time error(shortdump)
    error is too many parameters in the perform.
    in coding itis pointing arroe mark like this
    >form status.
    plz help me how to add buttons in application bar
    tahnks in advance
    sindu.

    you should not populate FORM name of STATUS to EVENTS. instead you have to give the FORM name to the FUnction module.
    check this link,to know how to give our own GUI status.
    Re: own PF-Status for REUSE_ALV_GRID_DISPLAY
    FORM F_SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
      CLEAR : WA_EXTAB,
              IT_EXTAB.
    *--Set the Modified PF status for the ALV.
      SET PF-STATUS 'STATUS_01' EXCLUDING RT_EXTAB.
    you have to copy any ALV related GUI status (from SE41 transaction) to STATUS_01. standard alv programs starts with BCALV*. so check it in SE41
    copy it and add your own button to the Application tool bar.
    ENDFORM.                               " SET_PF_STATUS
    Regards
    Srikanth
    Message was edited by: Srikanth Kidambi

  • How to add a standard tool bar in alv

    H i
    i am developing a custom report  in Alv interactive report for to dispaly MRP information.
    Can you sejjest me how to add  a standard tool bar in alv.
      i displayed one final alv grid display there i have to add standard tool bar and application tool bar.
    Thanks,
    Rams
    Edited by: Ramsoft on Oct 27, 2010 12:09 PM

    Hi,
    Give the PF ststus name in  the PF status parameter of ALV FM
    I_CALLBACK_PF_STATUS_SET          = ' PF_STATUS'. " this parameter of ALV FM
    FORM pf_status USING pt_extab TYPE slis_t_extab.
      SET PF-STATUS 'MAIN' .
    ENDFORM.                    "pf_status
    Then create a main PF status by double clicking on it , after this goto EXTRA in menu
    EXTRA>ADJUST TEMPLATE> then give program - SAPLSLVC and status - STANDARD this will give u standard toolbar of ALV ,
    THen add what ever button you require in application toolbar
    Regards,
    Madhukar Shetty

  • How do I turn off and on the icon size slider bar at the lower right status bar of a folder window.

    I have been trying for days to help a friend with a new iMac to turn on the icon size slider bar that on my iMac appears at the bottom of ever folder when it is open when in the "view" > "icon" mode.  I cannot find anything that discusses this slider bar.  I can turn this status bar off and on on both my machine and my friends machine, but I cannot turn off or on the slider on either machine. 

    This did not help.  I am a Mac User since 1984 and generally I am never stymied buy the Mac OS, but this one has me.   I can open and close the lower status bar, as you described, and that works fine for me because I have the icon slider bar already there and it works fine; however when I open the lower status bar on my friends machine there is no icon size slider bar, and I can't seem to find out how to get it there, as it is on my machine or at all. The icon size can be controlled from the View menu, but as a photographer, it is really handy to have it at the bottom of the folder window.  Thanks for trying. 

  • The status bar is pushed up at about 3/4 of the screen, so I can view onlu firefox at about 1/4, good thing there is a scroll bar, but below the status bar is white display? can u please help me, I want to drag down the status bar so I can have a full vi

    The status bar is pushed up at about 3/4 of the screen, so I can view only Firefox at about 1/4, good thing there is a scroll bar, but below the status bar is white display? can u please help me, I want to drag down the status bar so I can have a full view
    == This happened ==
    Every time Firefox opened

    Your code is absolutely unreadable - even if someone was willing to
    help, it's simply impossible. I do give you a few tips, though: If you
    understand your code (i.e. if it really is YOUR code), you should be
    able to realize that your minimum and maximum never get set (thus they
    are both 0) and your exam 3 is set with the wrong value. SEE where
    those should get set and figure out why they're not. Chances are you
    are doing something to them that makes one 'if' fail or you just
    erroneously assign a wrong variable!

  • How can I create a status bar at the bottom of a window ?

    I would like to create a status bar at the bottom of my main window similiar to "Internet explorer" has. I thought of using a tool bar but I can't see how to keep it positioned at the bottom of the window when the window is resizable. Any other ideas on how to do this the bar only needs to contain a small amout of text and maybe an icon or two.

    CVI doesn't have a status bar control on UI element like the one available in Visual Studio++. The best way to replicate this is most like through a string control that is resized and positioned to remain at the bottom of the window and colored to look appropriately. I have also seen the combination of a decoration and a text message used.
    Best Regards,
    Chris Matthews
    Measurement Studio Support Manager

  • How can I implement a status bar at the bottom of a resizable application?

    Hello all,
    I am a JavaFx newbie and I am implementing an application (a Sokoban game), with a menu at the top of the frame and a gaming area covering the rest of the frame. To support the game, I have to load images at certain positions in the gaming area.
    The game also includes a level editor with another menubar and where images are set to other positions.
    I implemented this in another view, swiching from the game mode to the level editor mode and vice versa is just done by setting the other view visible. Up to now this works, here the important statements building these details:
    Group root = new Group();
    gameView = new Group(); // for gaming mode
    le_view = new Group()   // for level editor mode
    MenuBar gameMenubar = new MenuBar();
    Menu menuGame = new Menu(bundle.getString("MenuGame"));
    ... building the menu items and menues ...
    gameView.getChildren().add(gameMenubar);
    ImageView buildingView[][] = new ImageView[22][22];
    for (nCol = 0; nCol < 22; nCol++) {
        for (nRow = 0; nRow < 22; nRow++) {
            buildingView[nCol][nRow] = new ImageView();
            buildingView[nCol][nRow].setX(nCol * 26 + 5);
            buildingView[nCol][nRow].setY(nRow * 26 + 40);
            gameView.getChildren().add(buildingView[nCol][nRow]);
    gameView.setVisible(true);
    root.getChildren().add(gameView);
    ... same stuff to build the le_view ...
    le_View.setVisible(false);
    root.getChildren().add(le_View);
    Scene scene = new Scene(root, 800, 600, Color.CORNSILK); Now I want to introduce a status bar at the bottom of the frame, which of course has to follow the bottom of the frame, if it is resized. And of course the menu and the status bar should not grow vertically, if the height of the frame is increased.
    The implementation seems to be easy with StackPane for the frame and one BorderPane for each mode.
    For the first step I only tried implementing the game mode with only one BorderPane (just setting the menu, the gaming area and the status bar each into a HBox and setting these three HBoxes at the top, into the center and at the bottom). I also tried this via GridPane and via VBox; I always get any erroneous behaviour:
    Either the menubar is visible, but the menus do not pop up the menu items, or the anchor point of the menu and of gaming area are set 100 pixels left of the left frame border and move into the frame when the frame width is increased, or the menu is set 20 pixels below the top of the frame, or HBox with the menu grows when the frame height is increased, so that the anchor point of the gaming area moves down.
    Can you describe me a correct construction of such a frame? Thanks in advance.
    Best regards
    Gerhard

    Hello Gerhard,
    Glad the code helped, thanks for a fun layout exercise.
    For the draft code I just pulled an icon off the internet over a http connection.
    If you haven't done so already place any icons and graphics you need local to your project, so that resource lookups like:
    Image img = new Image("http://www.julepstudios.com/images/close-icon.png");become
    Image img = new Image("close-icon.png");then performance may improve.
    Another possible reason for your performance problem could be that when you use a vbox, the vbox content can overflow the area of the borderpane center and might be sitting on top of the menu pane, making you unable to click the menu (which is what happens to me when I try that with the draft program with the vbox wrapping mod, then resize the scene to make it smaller). This was a trick which caught me and the reason that I used a Group originally rather than a vbox. I found a vbox still works but you need to tweak things a bit. The trick I saw was that the order in which you add stuff to the borderpane is important. The borderpane acts like a stack where the last thing added floats over the top of everything else if you size the scene small enough. For your project you want the menu on top always, so it always needs to be the last thing added to the borderpane, but when you swap in the level pane for the game pane, then back out again, the game pane can end up on top of the menu which makes the menu seem like you can't click it (only when the scene is sized small enough). It was quite a subtle bug which took me a little while to work out what was happening. For me the solution was to add just one vbox to the center of the border, and then swap the game pane and the level editor in and out of the vbox, that way the center of the layout always stayed behind the menu bar and the status bar.
    I added some revisions to reflect the comments above and placed some comments in the code to note what was changed and why.
    public class SampleGameLayoutRevised extends Application {
      public static void main(String[] args) { Application.launch(args); }
      public void start(Stage stage) throws Exception {
        final BorderPane gameLayout = new BorderPane();
        final Group gameView = new Group();
        final MenuBar gameMenubar = new MenuBar();
        final Menu gameMenu = new Menu("Mode");
        final VBox centerView = new VBox();
        centerView.setStyle("-fx-background-color: darkgreen");  // we set a background color on the center view to check if it overwrites the game menu.
        MenuItem playGameMenu = new MenuItem("Play Game");
        MenuItem levelEditMenu = new MenuItem("Edit Levels");
        gameMenu.getItems().add(playGameMenu);
        gameMenu.getItems().add(levelEditMenu);
        gameMenubar.getMenus().add(gameMenu);
        final StackPane levelEditView = new StackPane();
        levelEditView.getChildren().add(new Text("Level Editor"));
        ImageView buildingView[][] = new ImageView[22][22];
        Image img = new Image("http://www.julepstudios.com/images/close-icon.png");  // use of http here is just for example, instead use an image resource from your project files.
        for (int nCol = 0; nCol < 22; nCol++) {
          for (int nRow = 0; nRow < 22; nRow++) {
            ImageView imgView = new ImageView(img);
            imgView.setScaleX(0.5);
            imgView.setScaleY(0.5);
            buildingView[nCol][nRow] = imgView;
            buildingView[nCol][nRow].setX(nCol * 20 + 5);
            buildingView[nCol][nRow].setY(nRow * 20 + 40);
            gameView.getChildren().add(buildingView[nCol][nRow]);
        final VBox statusBar = new VBox();
        final Text statusText = new Text("Playing Game");
        statusBar.getChildren().add(statusText);
        statusBar.setStyle("-fx-background-color: cornsilk"); // we set a background color on the status bar,
                                                              // because we can't rely on the scene background color
                                                              // because, if the scene is sized small, the status bar will start to overlay the game view
                                                              // and if we don't explicitly set the statusBar background the center view will start
                                                              // to bleed through the transparent background of the statusBar.
        gameLayout.setCenter(centerView); // we add the centerview first and we never change it, instead we put it's changeable contents in a vbox and change out the vbox content.
        gameLayout.setBottom(statusBar);
        gameLayout.setTop(gameMenubar);   // note the game layout is the last thing added to the borderpane so it will always stay on top if the border pane is resized.
        playGameMenu.setOnAction(new EventHandler<ActionEvent>() {
          public void handle(ActionEvent event) {
            centerView.getChildren().clear();  // here we perform a centerview vbox content swap.
            centerView.getChildren().add(gameView);
            statusText.setText("Playing Game");
        levelEditMenu.setOnAction(new EventHandler<ActionEvent>() {
          public void handle(ActionEvent event) {
            centerView.getChildren().clear();  // here we perform a centerview vbox content swap.
            centerView.getChildren().add(levelEditView);
            statusText.setText("Editing Level");
        playGameMenu.fire();
        Scene scene = new Scene(gameLayout, 800, 600, Color.CORNSILK);
        stage.setScene(scene);
        stage.show();
    }Other than that I am not sure of a reason for the slowdown you are seeing. In my experience JavaFX has been quick and responsive for the tasks I have been using it for. Admittedly, I just use if for a bunch of small trial projects, but I've never seen it unresponsive for a minute.
    - John

  • Error message in a BADI getting displayed in a popup instead of status bar

    Hello All,
    I have implemented a BADI in ECC6 to prevent the change of formula in ERP from transaction O3I8.
    The BADI gets called on clicking 'Save' from transaction o3I8.
    Within the  BADI i am giving an error message using the following command:
    Message e000(ZABC) .
    However , the message gets displayed in a pop up instead of the status bar .
    The same is for information and warning messages.
    Any suggestions on how to display them in the status bar ?
    TIA
    Regards,
    Vartika

    Hi Brad,
    The checkbox to display messages in pop-up  is already switched off.
    Still themessages are getting displayed in pop-up.
    Regards,
    Vartika

  • Why does the address/status bar not work?

    After updating to 9.0.1, my status bar will not work, or my address bar. If I try to type in anything and press enter into the address bar, nothing happens. Also, I cannot press forward or back as they always remain grayed out. The only way I can get to a website is by pressing home, which is thankfully google. I have to google the url to go to it.
    Remembering now actually, I copied all the folders from the main firefox folder and pasted them into a new install of firefox (I had this problem actually before firefox updated). I was hoping that copying these folders would save my addons and etc. after I downloaded a new firefox and re-installed it. I put the folders back and firefox is still messed up :/
    I just want it to work more Q_Q

    That issue can be caused by an extension that isn't working properly.
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.org/kb/Safe+Mode

Maybe you are looking for